KR20040099442A - 운영 체제 옵션 값을 관리하는 시스템 및 방법 - Google Patents

운영 체제 옵션 값을 관리하는 시스템 및 방법 Download PDF

Info

Publication number
KR20040099442A
KR20040099442A KR10-2004-7016465A KR20047016465A KR20040099442A KR 20040099442 A KR20040099442 A KR 20040099442A KR 20047016465 A KR20047016465 A KR 20047016465A KR 20040099442 A KR20040099442 A KR 20040099442A
Authority
KR
South Korea
Prior art keywords
computing device
function
instructions
option
operable
Prior art date
Application number
KR10-2004-7016465A
Other languages
English (en)
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 KR20040099442A publication Critical patent/KR20040099442A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Selective Calling Equipment (AREA)
  • Debugging And Monitoring (AREA)
  • Feedback Control In General (AREA)

Abstract

운영 체제 옵션 값을 관리하는 방법은 컴퓨팅 장치의 옵션 값과 관련된 함수를 수행하라는 요청을 수신한다. 컴퓨팅 장치는 복수의 컴퓨팅 장치 중 하나이며, 복수의 컴퓨팅 장치들 중 적어도 두 개는 다른 운영 체제와 관련되어 있다. 방법은 또한 요청된 함수와 관련된 하나 이상의 명령을 식별한다. 하나 이상의 명령은 컴퓨팅 장치가 요청된 함수를 수행하도록 동작가능하다. 방법은 또한 하나 이상의 명령을 발생시키고, 컴퓨팅 장치에서의 수행을 위해 하나 이상의 명령을 전달하고, 하나 이상의 명령과 관련된 응답을 수신하고, 적어도 응답의 일부를 사용가능하도록 만든다.

Description

운영 체제 옵션 값을 관리하는 시스템 및 방법{SYSTEM AND METHOD FOR MANAGING OPERATING SYSTEM OPTION VALUES}
컴퓨터 운영 체제는 일반적으로 레지스트리(registry)를 포함하고, 이 레지스트리는 운영 체제에서 실행되는 소프트웨어 애플리케이션과 관련된 정보를 저장한다. 예를 들어, 시스템 레지스트리는 소프트웨어 애플리케이션의 행동을 제어하는 옵션 값을 저장할 수 있다. 다른 컴퓨터 운영 체제는 시스템 레지스트리가 부족하면, 옵션 값들은 다른 데이터 구조에 저장된다. 일반적으로 운영 체제는 옵션 값들을 액세스하고 검색하는 표준되고, 단일화된 방법이 부족하다. 그 결과, 상이한 운영 체제 환경에서 수행되는 애플리케이션들은 옵션 값들을 액세스하고 검색하기 위해 다수의 인터페이스들을 포함한다.
본 개시는 일반적으로 운영 체제 분야에 관한 것으로, 보다 구체적으로는 운영 체제 옵션 값(operationg system option values)을 관리하는 시스템 및 방법에 관한 것이다.
도 1은 본 개시의 한 실시예에 따라 운영 체제 옵션 값을 관리하는 예제 시스템을 도시하는 예시적인 블록도.
도 2는 본 개시의 한 실시예에 따라 운영 체제 옵션 값을 관리하는 다른 예제 시스템을 도시하는 예시적인 블록도.
도 3은 본 개시의 한 실시예에 따라 예제 액세스 모듈을 도시하는 예시적인 블록도.
도 4는 본 개시의 한 실시예에 따라 액세스 모듈에서 운영 체제 옵션 값을 관리하는 예제 방법을 도시하는 예시적인 흐름도.
도 5는 본 개시의 한 실시예에 따라 애플리케이션에서 운영 체제 옵션 값을 액세스하는 예제 방법을 도시하는 예시적인 흐름도.
본 개시는 운영 체제 옵션 값을 관리하는 시스템 및 방법을 제공한다. 특히, 시스템의 액세스 엘리먼트(access element)는 상이한 운영 체제의 옵션 값들을저장하고, 검색하고, 수정하는 단일 엔트리 포인트를 제공할 수 있다.
한 실시예에서, 운영 체제 옵션 값을 관리하는 방법은 컴퓨팅 장치의 옵션 값과 관련된 함수를 수행하라는 요청을 수신하는 것을 포함한다. 컴퓨팅 장치는 복수의 컴퓨팅 장치 중의 하나이고, 복수의 컴퓨팅 장치 중 적어도 두 개는 상이한 운영 체제와 관련되어 있다. 이 방법은 또한 요청된 함수와 관련된 하나 이상의 명령을 식별하는 것을 포함한다. 하나 이상의 명령은 컴퓨팅 장치가 요청된 함수를 수행하도록 동작가능하다. 방법은 또한 하나 이상의 명령어를 발생시키고, 컴퓨팅 장치에서의 수행을 위해 하나 이상의 명령을 통신하고, 하나 이상의 명령과 관련된 응답을 수신하고, 적어도 응답의 일부를 사용가능하게 만드는 것을 포함한다.
특정 실시예에서, 요청은 get 함수, set 함수, 및 delete 함수 중 하나를 기동시키는 애플리케이션 프로그램 인터페이스(application program interface, 이하 "API"라고 함) 함수 호출을 포함한다. 요청은 소프트웨어 애플리케이션에 의해 발생될 수 있다. 방법은 또한 컴퓨팅 장치로부터 검색된 옵션 값을 정규화하고(normalizing) 그 정규화된 옵션 값을 출력 버퍼에 두는 것을 포함한다.
본 개시의 더 완벽한 이해를 위해, 첨부된 도면과 함께 이하의 설명을 참조한다.
도 1은 본 개시의 한 실시예에 따라 운영 체제 옵션 값을 관리하는 예제 시스템(100)을 도시하는 예시적인 블록도이다. 도시된 실시예에서, 시스템(100)은 관리자 서버(administrator server)(102), 데이터베이스(104), 네트워크(106), 하나 이상의 클라이언트(108), 및 하나 이상의 애플리케이션 서버(110)를 포함한다. 시스템(100)의 다른 실시예도 이 개시의 범위를 벗어나지 않고 사용될 수 있다.
동작의 한 측면에서, 서버(102)의 애플리케이션(112)은 서버(110)의 옵션 값을 액세스하려 한다. 서버(110)의 옵션 값은 레지스트리(114), 레지스트리 에뮬레이터(116) 또는 임의의 다른 적절한 구조체에 상주할 수 있다. 상이한 서버들(110)은 상이한 운영 체제를 사용할 수 있기 때문에, 서버(110)는 옵션 값을 액세스하는데 상이한 프로시져를 지닐 수 있다. 옵션 값을 액세스하는 데 있어 애플리케이션(112)을 돕기 위해, 애플리케이션(112)은 옵션 액세스 모듈(118)의 함수를기동시킨다. 옵션 액세스 모듈(118)은 애플리케이션(112)으로부터 정보를 수신하고, 그 정보를 기초로 하여, 적절한 함수 호출을 이용하여 적절한 서버(110)에 액세스한다. 그 후 옵션 액세스 모듈(118)은 서버(110)에서 옵션 값을 생성하고, 검색하고, 수정한다. 시스템(100)의 옵션 액세스 모듈(118)을 제공함으로써, 애플리케이션(112)은 옵션 액세스 모듈(118) 함수를 기동시킴으로써 옵션 값을 액세스하도록 쉽게 설계될 수 있다. 애플리케이션(112)은 상이한 운영 체제를 사용하는 다수의 서버(110)에 있는 옵션 값들을 액세스하는 다수의 인터페이스를 포함할 필요가 없다.
도시된 실시예에서, 서버(102)는 데이터베이스(104) 및 네트워크(106)에 결합되어 있다. 본 명세서에서, "결합(couple)"이라는 용어는, 둘 이상의 컴포넌트들이 물리적으로 서로 접촉하고 있는지 여부에 상관없이, 이들 컴포넌트간의 임의의 직접 또는 간접 통신을 의미하는 것이다. 또한, "통신(communication)"이라는 용어는 물리적으로 분리된 컴포넌트들간 또는 하나의 물리적 유닛내의 컴포넌트들간의 통신을 의미한다. 서버(102)는 서버(110)에 있는 옵션 값들로의 액세스를 용이하게 하는 하나 이상의 함수를 수행한다. 본 명세서에서, "옵션 값(option values)"이라는 구문은 시스템(100)의 하나 이상의 하드웨어, 소프트웨어, 및/또는 펌웨어(firmware)의 함수, 실행, 또는 행동에 영향을 끼치거나 또는 이를 제어하는 데 사용되는 임의의 정보를 의미한다. 특정 실례로서, 옵션 값은 소프트웨어 애플리케이션 또는 서버(110)의 애플리케이션 및 데이터로의 액세스를 제어하는 사용자 암호에 의해 사용되는 설정(settings)을 포함할 수 있다. 서버(102)는 서버(110)의 옵션 값들로의 액세스가 용이하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합을 포함한다.
데이터베이스(104)는 서버(102)에 결합되어 있다. 데이터베이스(104)는 서버(102)에 의해 사용되는 정보의 검색을 저장하고 이를 용이하게 한다. 예를 들어, 데이터베이스(104)는 액세스 정보(120)를 저장할 수 있다. 액세스 정보(120)는 액세스 제어 모듈(118)에 의해 사용되는 정보를 나타내며, 이는 서버(110)의 옵션 값을 액세스한다. 특정 실례로서, 액세스 정보(120)는 서버(110)와 그 서버(110)에서 옵션 값을 얻고(get), 설정하고(set), 삭제하는(delete) 데 사용되는 함수 호출을 식별할 수 있다. 상이한 실례로서, 액세스 정보(120)는 서버(110)와 관련된 운영 체제 유형 및 그 운영 체제 유형의 옵션 값을 얻고, 설정하고, 삭제하는 데 사용되는 함수 호출을 식별할 수 있다. 데이터베이스(104)는 정보의 검색을 저장하고 이를 용이하게 하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합을 포함한다. 또한, 데이터베이스(104)는 임의의 각종 데이터 구조, 배열 및 컴파일러를 이용하여, 정보의 검색을 저장하고 이를 용이하게 한다.
네트워크(106)는 서버(102) 및 클라이언트(108)에 결합되어 있다. 네트워크(106)는 시스템(100)의 컴포넌트들간의 통신을 용이하게 한다. 예를 들어, 네트워크(106)는 인터넷 프로토콜(Internet Protocol, IP) 패킷, 프레임 릴레이 프레임, 비동기 전송 모드(Asynchronous Transfer Mode, ATM) 셀, 또는 네트워크 어드레스들간의 기타 적합한 정보들을 통신할 수 있다. 네트워크(106)는 하나 이상의 LAN, MAN(metropolitan area network), WAN, 인터넷과 같은 글로벌 네트워크 전체 또는그 일부, 또는 하나 이상의 위치에 있는 임의의 다른 통신 시스템 및 시스템들을 포함할 수 있다.
클라이언트(108)는 네트워크(106)에 결합되어 있다. 클라이언트(108)는 시스템(100)의 임의의 각종 함수들을 수행할 수 있다. 예를 들어, 클라이언트(108)는 사용자가 서버(110)에 액세스할 수 있도록 하며, 그 서버(110)상에서 애플리케이션을 실행할 수 있도록 한다. 클라이언트(108)는 브라우저(122), 클라이언트 애플리케이션(124)을 이용하여 또는 임의의 다른 적합한 방법으로 서버(110)에 액세스할 수 있다. 클라이언트(108)는 서버(110)와 통신하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합을 포함한다.
서버(110)는 네트워크(106)에 결합되어 있다. 서버(110)는 하나 이상의 옵션 값을 저장하도록 동작가능한 임의의 적합한 서버 또는 다른 컴퓨팅 장치를 나타낼 수 있다. 예를 들어, 서버(110)는 하나 이상의 애플리케이션을 실행할 수 있고, 이 애플리케이션에서 옵션 값들은 그 애플리케이션으로의 액세스를 관리하는 사용자 계정의 암호를 나타낸다. 각 서버(110)는 운영 체제로 실행되고, 하나의 서버(110)에 의해 사용되는 운영 체제는 상이한 서버(110)에 의해 사용되는 운영 체제와 상이할 수 있다. 본 명세서에서, "각각(each)"라는 용어는 식별된 항목들의 최소 부분집합 각각을 나타낸다. 특정 실례로서, 서버(110)는 WINDOWS NT 운영 체제, UNIX 운영 체제, 또는 자바 기반 운영 체제로 실행될 수 있다.
운영 체제에 따라, 서버(110)는 레지스트리에 옵션 값을 저장하거나 또는 저장하지 않을 수 있다. 예를 들어, WINDOWS NT 운영 체제는 시스템 레지스트리(114)를 지원한다. UNIX 운영 체제는 내재된 시스템 레지스트리를 지원하지 않고, 자바 환경은 레지스트리 데이터를 위한 어떠한 지원도 포함하지 않는다. 이들 환경에서, 시스템 레지스트리의 행동을 에뮬레이트하는 에뮬레이터(116)가 제공된다. 서버(110)는 하나 이상의 옵션 값을 관리하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합을 포함할 수 있다.
도시된 예에서, 서버(102)는 프로세서(126)와 메모리(128)를 포함한다. 프로세서(126)는 명령어를 실행하고 데이터를 조작하여 서버(102)의 동작을 수행한다. 도 1이 서버(102)의 단일 프로세서(126)를 도시하고 있지만, 다수의 프로세서(126)가 특정 필요에 따라 사용될 수 있다. 메모리(128)는 프로세서(126)에 의해 사용되는 정보 검색을 저장하고 이를 용이하게 하여 서버(102)의 함수를 수행한다. 메모리(128)는 예를 들어, 프로세서(126)에 의해 수행되는 명령어 및 프로세서(126)에 의해 사용되는 데이터를 저장할 수 있다. 메모리(128)는 정보 검색을 저장하고 이를 용이하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 및 이들의 조합을 포함할 수 있다.
도시된 실시예에서, 애플리케이션(112)은 웹 서버(130), 하나 이상의 서블렛(servlet)(132), 및 매니저(134)로 세분화된다. 이 실례에서, 애플리케이션(112)은 시스템 관리자 또는 다른 사용자가 시스템(100)의 하나 이상의 측면을 관리하기 위해 사용하는 관리자 툴(administration tool)을 나타낸다. 예를 들어, 애플리케이션(112)은 최종 사용자 관리를 지원하고, 여기서 서버(110)처럼 각종 환경에서 사용자 계정이 생성되고, 수정되고, 또는 삭제된다. 이 최종 사용자 관리의 일부로서, 애플리케이션(112)은 옵션 액세스 모듈(118)을 이용하여 서버(110)에 액세스하고, 서버들(110) 각각에서 사용자의 암호를 동기화한다. 이것은 옵션 액세스 모듈(118)이 동작할 수 있는 예시적인 환경만을 나타낸다. 액세스 모듈(118)은 임의의 다른 적합한 환경에서도 사용될 수 있고, 본 개시의 범위를 벗어나지 않고 임의의 다른 옵션 값들을 액세스할 수 있다.
이 예시적인 실시예에서, 웹 서버(130)를 통해 서버(102)는 클라이언트(108)의 시스템 관리자와 같은 사용자와 통신할 수 있고, 웹 페이지에 포함된 정보를 교환할 수 있다. 예를 들어, 시스템 관리자는 새 사용자 등록을 원하며, 웹 서버(130)는 시스템 관리자가 새 사용자에 관한 정보를 입력할 수 있는 폼을 포함하는 웹 페이지를 생성할 수 있다.
서블렛(132)은 서버(102)에 의해 수행되는 애플렛을 나타내며, 이는 시스템(100)의 각종 함수를 수행한다. 예를 들어, 하나의 서블렛(132)은 IP 어드레스를 지니고 있는 시스템(100)의 임의의 컴포넌트 및 이들 컴포넌트에 포함된 임의의 애플리케이션, 디렉토리, 및 사용자 계정을 탐색할 수 있다. 각 컴포넌트, 애플리케이션, 디렉토리 및 사용자 계정에 대한 정보는 오브젝트(122)로서 저장될 수 있고, 오브젝트(122)는 데이터베이스(104) 또는 다른 오브젝트 레포지트리(repositry)에 저장될 수 있다. 이 정보를 통해, 예를 들어, 애플리케이션(112)은 시스템(110)의 다른 컴포넌트에서 각종 보안 시스템 운영을 탐색하고 제어할 수 있다. 다른 서블렛(132)은 사용자로 하여금 이들 컴포넌트에 새 사용자 계정을 생성하고, 사용자 역할을 생성하고, 사용자를 그 역할에 할당할 수 있도록 하며, 사용자 그룹을 생성및 관리하고, 시스템(100)의 토폴로지 또는 다른 측면을 보여주는 각종 맵을 생성한다.
매니저(134)는 애플리케이션(112)의 동작을 관리한다. 예를 들어, 매니저(134)는 시스템 관리자 또는 다른 사용자로부터 요청을 수신하여 특정 태스크를 수행한다. 매니저(134)는 태스크와 관련된 서블렛(132)을 식별할 수 있고, 그 서블렛(132)을 기동시키고, 그 서블렛(132)이 성공적으로 실행될 수 있도록 한다.
애플리케이션(112)이 도시된 실시예는 단지 도시를 위한 것이다. 임의의 다른 적합한 애플리케이션(112)이 시스템(100)에서 사용될 수 있다. 애플리케이션(112)은 서버(110) 또는 다른 컴퓨팅 장치의 옵션 값과 관련된 함수를 수행하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합을 포함할 수 있다. 애플리케이션(112)은 예를 들어, C, C++, 또는 자바 애플리케이션을 나타낼 수도 있다.
옵션 액세스 모듈(118)을 이용하여 애플리케이션(112)은 서버(110)의 옵션 값들과 관련된 동작을 수행할 수 있다. 실례로서, 옵션 액세스 모듈(118)은 서버(110)의 옵션 값들을 액세스하고, 검색하고, 수정하는 하나 이상의 함수를 포함할 수 있다. 애플리케이션(112)은 API 또는 다른 적합한 인터페이스를 통해 옵션 액세스 모듈(118)의 함수를 기동시킬 수 있다. 옵션 액세스 모듈(118)은 액세스 정보(120)를 사용하여 요청된 함수를 수행하는 데 사용되는 적절한 함수 호출을 식별하고 발생시킨다. 옵션 액세스 모듈(118)은 하나 이상의 운영 체제를 사용하는 컴퓨팅 장치 운영의 옵션 값들로의 액세스를 용이하도록 동작가능한 임의의 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합을 포함할 수 있다. 특정 실례로서, 옵션 액세스 모듈(118)은 프로세서(126)에 의해 수행되는 하나 이상의 소프트웨어 루틴을 나타낸다. 옵션 액세스 모듈의 한 예시적인 실시예가 도 3에 도시되어 있으며, 이하에 설명된다.
특정 실시예에서, 애플리케이션(112)은 옵션 액세스 모듈(118)에서 최소한 3가지 유형의 함수를 기동시킬 수 있다. 이 실시예에서, 함수 호출은 get, set 및 delete를 포함한다. get 함수는 하나 이상의 옵션 값을 검색하고, set 함수는 값을 옵션에 할당하고, delete 함수는 옵션 값을 삭제한다. 애플리케이션(112)으로부터의 함수 호출은 임의의 적합한 정보를 포함할 수 있다. 예를 들어, 호출은 서버(110) 또는 다른 원격 또는 로컬 컴퓨팅 장치를 식별하는 정보, 그 서버(110)에서의 컴포넌트(애플리케이션 또는 디렉토리), 옵션, 및/또는 그 옵션과 관련된 값을 포함할 수 있다. 다른 또는 추가적인 함수 및 함수 호출은 특정 필요에 따라 지원될 수 있다.
동작의 한 측면에서, 애플리케이션(112)은 서버(110)의 옵션 값에 액세스할 필요가 있다. 애플리케이션(112)은 API를 이용하여 옵션 액세스 모듈(118)의 함수를 기동시키는 것처럼 옵션 액세스 모듈(118)을 기동시킬 수 있다. 옵션 액세스 모듈(118)은 애플리케이션(112)이 액세스하고자 하는 서버(110) 또는 서버(110)의 유형을 식별할 수 있고, 적절한 액세스 정보(120)를 검색할 수 있고, 액세스 정보(120)를 이용하여 서버(110)의 옵션 값을 액세스할 수 있다. 애플리케이션(112)이 옵션 값의 검색을 요청한 경우, 옵션 액세스 모듈(118)은 옵션 값들을 검색하고,그 값들은 표준 포맷에 둠으로써 옵션 값들을 정규화하고, 그 값들을 애플리케이션(112)에 전달한다. 애플리케이션(112)이 옵션 액세스 모듈(118)을 통해 옵션 값에 액세스할 수 있도록 함으로써, 서버 운영 체제의 각 유형에서 옵션 값을 액세스하도록 애플리케이션(112)을 프로그래밍할 필요가 없다.
도 1이 운영 체제 옵션 값을 관리하는 시스템(100)의 한 실례를 도시하고 있지만, 시스템(100)에 각종 변경이 있을 수 있다. 예를 들어, 도 1은 옵션 액세스 모듈(118)이 동작할 수 있는 한 예시적인 환경을 도시하고 있지만, 임의의 다른 적합한 환경이 사용될 수 있다. 또한, 도 1에 도시된 애플리케이션(112)은 단지 도시를 위한 것이다. 임의의 다른 적합한 애플리케이션이 옵션 액세스 모듈(118)로 사용될 수 있다. 또한, 도 1은 애플리케이션(112)과 옵션 액세스 모듈(118)을 별도의 엘리먼트로 도시하고 있지만, 옵션 액세스 모듈(118)은 애플리케이션(112)의 일부를 형성할 수도 있다. 게다가, 옵션 액세스 모듈은 서버(110)의 옵션 값으로의 액세스를 용이하게 하는 것으로 설명되어왔다. 옵션 액세스 모듈(118)은 또한 네트워크(106)에 결합된 다른 컴퓨팅 장치와 같은 다른 컴포넌트에 있는 옵션 값으로의 액세스를 용이하게 하는 데 사용될 수 있다.
도 2는 본 개시의 한 실시예에 따라 운영 체제 옵션 값을 관리하는 다른 예제 시스템(200)을 도시하는 예시적인 블록도이다. 도시된 실시예에서, 시스템(200)은 애플리케이션(212)과 옵션 액세스 모듈(218)을 지니는 호스트 컴퓨터(250)를 포함한다.
도시된 실시예에서, 호스트(250)는 잘 알려진 MS-DOS, PC-DOS, OS-2, MAC-OS, WINDOWS, UNIX, LINUX, 또는 기타 적절한 운영 체제 중 임의의 것으로 실행될 수 있다. 호스트(250)는 데스크탑 컴퓨터, 랩탑 컴퓨터, 서버 컴퓨터 또는 다른 적합한 컴퓨팅 또는 통신 장치를 나타낸다. 호스트(250)는 입력 장치(252), 출력 장치(254), 하나 이상의 프로세서(256), RAM(258), ROM(260), 및 CD, DVD, 하드 드라이브 또는 기타 자기 또는 광 스토리지 장치(262)를 포함할 수 있다. 예를 들어, 입력 장치(252)로는 키보드, 마우스, 그래픽 태블렛(graphic tablet), 터치 스크린, 압력 인지 패드(pressure-sensitive pad), 조이스틱, 광펜(light pen), 마이크로폰, 또는 다른 적합한 입력장치들이 있다. 출력 장치(254)로는, 예를 들어, 비디오 디스플레이, 프린터, 디스크 드라이브, 플로터(plotter), 스피커, 또는 다른 적합한 출력장치들이 있다.
도 2의 점선내의 항목들은 시스템(200)의 관련 컴포넌트들의 예시적인 함수 동작 및 데이터 구성을 나타낸다. 도시된 실시예에서, 호스트(250)는 애플리케이션(212), 옵션 액세스 모듈(218), 하나 이상의 옵션 값(264)을 포함하는 레지스트리/에뮬레이터(215), 및 액세스 정보(220)를 포함하는 데이터베이스(204)를 포함한다.
애플리케이션(212), 옵션 액세스 모듈(218), 및 데이터베이스(204)는 도 1의 애플리케이션(112), 옵션 액세스 모듈(118), 및 데이터베이스(104)와 동일하거나 유사하다. 애플리케이션(212)은 호스트(250)의 옵션 값(264)을 액세스하고, 검색하고, 또는 수정하는 임의의 애플리케이션을 나타낸다. 예를 들어, 애플리케이션(212)은 옵션 값(264)을 이용하여 호스트(250)의 문제를 식별하는 진단 툴(diagnostic tool)을 나타낸다. 특정 실시예에서, 애플리케이션(212)은 다른 운영 체제 환경에서 수행될 수 있는 애플리케이션을 나타낼 수 있다.
레지스트리/에뮬레이터(215)는 하나 이상의 옵션 값(264)을 포함하거나 아니면 그를 지원하는 레지스트리(114), 레지스트리 에뮬레이터(116), 또는 임의의 다른 적합한 구조를 나타낸다. 옵션 액세스 모듈(218)은 애플리케이션(212)의 옵션 값(264)으로의 액세스를 용이하게 한다. 예를 들어, 애플리케이션(212)은 옵션 액세스 모듈(218)의 get, set, delete 함수를 기동시킴으로써 옵션 값(264)을 액세스하려 한다. 옵션 액세스 모듈(218)은 액세스 정보(218)를 이용하여 레지스트리/에뮬레이터(215)의 옵션 값(264)을 검색하고, 설정하고 또는 삭제하는 데 사용되는 적절한 함수 호출을 식별한다. 데이터베이스(204)의 액세스 정보(220)는 호스트(250)에 의해 사용되는 특정 운영 체제에 제한되거나 또는 제한되지 않을 수 있다. 옵션 액세스 모듈(218)은 적절한 함수 호출을 발생시켜 함수 호출을 레지스트리/에뮬레이터(215)에게 전달한다. 애플리케이션(212)이 옵션 값의 검색을 요청했을 경우, 옵션 액세스 모듈(218)은 검색된 값을 정규화하여 그 값들을 애플리케이션(212)에게 전달한다.
도 2가 운영 제체 옵션 값을 관리하는 시스템(200)의 다른 실례를 도시하지만, 시스템(200)에 대해 각종 변경이 있을 수 있다. 예를 들어, 도 2가 옵션 액세스 모듈(218)이 동작할 수 있는 다른 예제 환경을 도시하지만, 임의의 다른 적합한 환경이 사용될 수 있다. 또한, 도 2가 애플리케이션(212) 및 옵션 액세스 모듈(218)을 별도의 엘리먼트로 도시하지만, 옵션 액세스 모듈(218)은 애플리케이션(212)의 일부를 형성할 수 있다.
도 3은 본 개시의 한 실시예에 따라 예제 액세스 모듈을 도시하는 예시적인 블록도이다. 액세스 모듈(318)은 애플리케이션(312)이 상이한 운영 체제 환경(350)에서 동작하는 컴퓨팅 장치에 의해 지원되는 옵션 값으로 액세스하는 것을 용이하게 한다. 액세스 모듈(318)은, 예를 들어, 도 1의 옵션 액세스 모듈(118) 또는 도 2의 옵션 액세스 모듈(218)로서 사용될 수 있다.
도시된 실시예에서, 액세스 모듈(318)은 액세스 함수(352)를 포함한다. 액세스 함수(352)는 환경(350)의 옵션 값들을 액세스하고, 검색하고, 수정하기 위해 애플리케이션(312)에 의해 호출될 수 있는 각종 함수를 나타낸다. 예를 들어, 액세스 함수(352)는 액세스 모듈(318)이 옵션 값을 얻고, 설정하고, 또는 삭제하도록 할 수 있다. 다수의 액세스 함수(352)는 이들 3가지 동작 각각에 대해 사용될 수 있다. 특정 실례로서, 하나의 get 함수(352)를 통해 액세스 모듈(318)이 원격 컴퓨팅 장치로부터 하나의 옵션 값을 검색하도록 할 수 있다. 다른 get 함수를 통해 액세스 모듈(318)이 로컬 컴퓨팅 장치로부터 하나의 옵션 값을 검색하도록 할 수 있다. 또 다른 get 함수(352)를 통해 액세스 모듈(318)이 컴퓨팅 장치로부터 다수의 옵션 값을 재귀적으로 검색하도록 할 수 있다. 임의의 다른 적합한 액세스 함수들도 액세스 모듈(318)에 사용될 수 있다.
애플리케이션(312)이 액세스 함수(352)를 기동시킬 수 있도록 하기 위해, 액세스 모듈(318)은 애플리케이션 API(354)를 포함한다. 애플리케이션 API(354)는 다른 운영 체제 환경에서 동작하는 애플리케이션(312)이 정규화된 함수 호출을 이용하여 액세스 모듈(318)에서 함수(352)를 기동시킬 수 있도록 해 준다. 특정 실시예에서, 애플리케이션(312)이 함수(352)를 기동시키면, 애플리케이션(312)은 API 호출과 통신할 수 있고, 이 API 호출은 원격 또는 로컬 컴퓨팅 장치의 아이덴티티, 그 장치에서 동작하는 컴포넌트, 옵션, 및/또는 그 옵션과 관련된 값 등을 포함한다. 이들 입력은 입력 버퍼를 이용하여, 개별 입력 및 입력 버퍼의 조합을 이용하여, 또는 임의의 다른 적절한 방식으로, 개별적으로, 집합적으로 제공될 수 있다.
일단 애플리케이션(312)이 함수(352)를 기동시키면, 액세스 모듈(318)은 식별된 컴퓨팅 장치에서 요청된 함수를 수행하는 데 필요한 함수 호출을 식별할 수 있다. 액세스 모듈(318)은 플랫폼 데이터베이스(356)를 포함하거나 또는 그에 액세스한다. 플랫폼 데이터베이스(356)는 액세스 정보를 포함하고, 이 정보는 특정 운영 체제 환경(350)의 옵션 값을 얻고, 설정하고 또는 삭제하는 데 사용되는 하나 이상의 함수 호출을 식별한다. 예를 들어, 환경(350a)은 레지스트리 API(358)를 통해 함수 호출을 수행하는 시스템 레지스트리를 지원할 수 있다. 그 경우, 플랫폼 데이터베이스(356)는 API 함수 호출 또는 환경(350a)의 레지스트리가 옵션 값을 검색하게끔 하는 호출을 식별할 수 있다. 다른 실례에서, 환경(350b)은 시스템 레지스트리에 대한 지원이 부족할 수 있으나, 레지스트리 에뮬레이터(360)는 시스템 레지스트리의 행동을 에뮬레이트할 수 있다. 이 경우, 플랫폼 데이터베이스(356)는 에뮬레이터(360)로 하여금 특정 옵션 값을 삭제하도록 하는 API 또는 에뮬레이터 함수 호출을 식별할 수 있다. 다른 환경(350c)은 레지스트리는 있으나 레지스트리 API에 대한 지원이 없는 그러한 환경처럼, 레지스트리 API(358) 또는 에뮬레이터(360)가 부족할 수 있다. 이러한 환경들(350c)에 대해, 플랫폼 데이터베이스(356)는 옵션 값이 어떻게 액세스되고 관리되는지를 식별할 수 있다.
함수 호출 또는 요청된 함수를 수행하는데 필요한 호출을 식별한 후, 함수 호출 발생기(362)는 실제 함수 호출을 발생시킨다. 예를 들어, 발생기(362)는 특정 운영 체제 환경(350)을 위한 적절한 매개변수를 포함하는 함수 호출을 생성할 수 있다. 발생기(362)는 또한 호출하는 애플리케이션(312)로부터의 입력을 기초로 하여 함수 호출의 매개변수에 대해 적절한 값을 제공할 수 있다. 특정 실례로서, 애플리케이션(312)이 컴퓨팅 장치의 옵션 값을 설정한다면, 발생기(362)는 옵션 이름 및 옵션 값을 명령에 삽입할 수 있다. 발생된 함수 호출은 인터페이스(364)를 이용하는 특정 컴퓨팅 장치로 전달된다. 인터페이스(364)는 네트워크 인터페이스 카드 또는 무선 연결과 같이 임의의 적합한 인터페이스를 나타낼 수 있다.
함수 호출은 환경(350)에서 동작하는 컴퓨팅 장치 또는 액세스 모듈(318)로부터 응답을 발생시킬 수 있다. 예를 들어, 컴퓨팅 장치로부터의 응답은 요청된 함수가 수행되었는지 여부를 표시하는 성공 코드(success code)를 포함할 수 있다. 특정 실례로서, 컴퓨팅 장치는 그 함수가 성공적으로 완료되었고, 또는 성공적으로 완료되지 못했고, 또는 함수 호출이 무효이거나 오류 필드 매개변수라는 것을 말하는 응답을 발생시킬 수 있다. 액세스 모듈(318)은 또한 함수 호출을 원격 컴퓨팅 장치에 전달할 수 없을 때와 같이, 오류 메세지를 발생시킬 수 있다. 또한, 함수 호출이 옵션 값을 검색하고자 하면, 액세스 모듈(318)은 컴퓨팅 장치로부터 옵션값을 수신할 수 있다.
응답 정보는 애플리케이션(312)에 사용가능하도록 만들어질 수 있다. 한 실시예에서, 애플리케이션(312)이 함수(352)를 기동시키면, 애플리케이션(312)은 출력 버퍼를 식별한다. 응답 정보는 액세스 모듈(318)에 의해 출력 버퍼에 놓여지게 되고, 애플리케이션(312)은 출력 버퍼로부터 응답 정보를 검색할 수 있다.
옵션 값 및 다른 응답들의 포맷이 환경(350)들간에 다를 수 있기 때문에, 정규화 모듈(366)이 응답을 정규화한다. 예를 들어, 정규화 모듈(366)은 환경(350)으로부터 옵션 값을 수신할 수 있고, 이 옵션 값을 표준 포맷에 둔다. 임의의 적합한 포맷이 옵션 값을 정규화하는 데 사용될 수 있다.
도 3이 액세스 모듈(318)의 한 실례를 도시하지만, 액세스 모듈(318)에 대해 각종 변경이 있을 수 있다. 예를 들어, 도 3은 액세스 모듈(318)내의 한 예제 기능 분할을 도시하고 있다. 액세스 모듈(318)의 각종 컴포넌트가 결합되거나 생략될 수 있고, 부가의 컴포넌트가 특정 필요에 따라 추가될 수 있다. 또한 플랫폼 데이터베이스(356)는 컴퓨팅 장치와 관련된 운영 체제 환경(350)의 유형에 기초하여 정보를 저장하는 것으로 설명되어져 왔다. 플랫폼 데이터베이스(356)는 임의의 다른 적합한 방식으로 정보를 저장할 수 있다. 특정 실례로서, 플랫폼 데이터베이스(356)는 다수의 컴퓨팅 장치가 동일한 함수 호출을 사용한다 하더라도, 각 개별의 컴퓨팅 장치에 의해 사용되는 함수 호출을 식별할 수 있다.
도 4는 본 개시의 한 실시예에 따라 액세스 모듈에서 운영 체제 옵션 값을 관리하는 예제 방법(400)을 도시하는 예시적인 흐름도이다. 방법(400)은 도 3의액세스 모듈(318)을 사용하여 도 1의 시스템(100)에 대해 설명하고 있다. 방법(400)은 임의의 다른 적합한 시스템 및 임의의 다른 적합한 액세스 모듈과 사용될 수 있다.
서버(102)는 단계(402)에서 애플리케이션(112)로부터 옵션 값으로의 액세스를 요청하는 요청을 수신한다. 이것은, 예를 들어, API 함수 호출을 사용하는 액세스 모듈(318)의 액세스 함수(352)를 기동시키는 애플리케이션(112)을 포함할 수 있다. 서버(102)는 단계(404)에서 옵션 값과 관련된 컴퓨팅 장치를 식별한다. 이것은 예를 들어, 함수 호출에 포함된 정보를 이용하여 서버(110)를 식별하는 액세스 모듈(318)을 포함할 수 있다.
서버(102)는 단계(406)에서 식별된 컴퓨팅 장치에서 요청된 함수를 수행하는데 사용되는 하나 이상의 함수 호출 또는 다른 명령들을 식별한다. 이것은, 예를 들어, 플랫폼 데이터베이스(356)를 액세스하고, 식별된 서버(110)과 관련된 운영 체제 환경(350)을 식별하고, 식별된 환경(350)에서 요청된 함수를 수행하는데 사용되는 함수 호출을 식별하는 액세스 모듈(318)을 포함할 수 있다. 요청된 함수와 관련된 함수 호출은 "명령 세트(command set)"로서 간주된다. 서버(102)는 단계(362)에서 함수 호출을 발생시킨다. 이것은 예를 들어, 플랫폼 데이터베이스(356)로부터 검색된 함수 호출의 포맷을 사용하여 적절한 매개변수를 포함하는 함수 호출을 발생시키는 함수 호출 발생기(362)를 포함한다. 서버(102)는 단계(410)에서 함수 호출을 컴퓨팅 장치로 전달한다. 이것은 예를 들어, 인터페이스(364)를 사용하여 함수 호출을 서버(110)로 전달하는 액세스 모듈(318)을 포함할 수 있다.
서버(102)는 단계(412)에서 함수 호출이 컴퓨팅 장치에서 성공적으로 실행되었는지 여부를 결정한다. 이것은 예를 들어, 원격 컴퓨팅 장치로 접촉할 수 있는지 여부를 결정하는 액세스 모듈(318)을 포함할 수 있다. 이것은 또한 컴퓨팅 장치로부터 응답을 수신하는 액세스 모듈(318)을 포함할 수 있는데, 여기서 응답은 함수 호출이 성공적으로 실행되었는지 여부를 표시한다. 함수 호출이 성공적으로 실행되지 않았을 경우, 서버(102)는 단계(414)에서 함수를 기동시켰던 애플리케이션(212)에게 오류 메세지를 전달한다. 이것은 예를 들어, 실패에 대한 이유를 식별하는 코드를 포함하는 메세지를 발생시키고, 그 메세지를 애플리케이션(112)이 액세스할 수 있는 출력 버퍼에 두는 액세스 모듈(318)을 포함할 수 있다.
함수 호출이 성공적으로 실행될 경우, 서버(102)는 단계(416)에서 요청된 함수가 검색(get) 함수인지 여부를 결정한다. 검색 함수가 아닐 경우, 요청된 함수는 set 함수 또는 delete 함수일 수도 있다. 그러면 서버(102)는 단계(418)에서 set 또는 delete 함수를 기동시켰던 애플리케이션(112)에게 성공 메세지를 전달한다. 이것은 예를 들어, 성공적인 set 또는 delete 동작을 나타내는 코드를 포함하는 메세지를 발생시켜, 그 메세지를 출력 버퍼에 두는 액세스 모듈(318)을 포함할 수 있다.
요청된 함수가 검색 함수였다면, 서버(102)는 단계(420)에서 컴퓨팅 장치로부터 요청된 옵션 값을 수신한다. 이것은 예를 들어, 인터페이스(364)를 이용하여 서버(110)로부터 요청된 옵션 값을 수신하는 액세스 모듈(318)을 포함할 수 있다. 서버(102)는 단계(422)에서 옵션 값을 정규화한다. 이것은 예를 들어, 옵션 값을표준 포맷으로 두는 정규화 모듈(366)을 포함할 수 있다. 정규화 모듈(366)에 의해 사용된 포맷은 임의의 적합한 포맷을 나타낼 수 있다. 표준 포맷으로 액세스 모듈(318)을 이용하는 다른 애플리케이션(112)들은 액세스 모듈(318)로부터 수신된 정보를 이해할 수 있다. 서버(102)는 이 정규화된 옵션 값을 단계(424)에서 get 함수를 기동시켰던 애플리케이션(112)으로 전달한다. 이것은 예를 들어, 옵션 값을 포함하는 메세지를 발생시키고, 그 메세지를 출력 버퍼에 두는 액세스 모듈(318)을 포함할 수 있다.
도 4가 액세스 모듈에서 운영 체제 옵션 값을 관리하는 방법(400)의 한 실례를 도시하고 있지만, 방법(400)에 각종 변경을 행할 수 있다. 예를 들어, 도 4는 요청과 관련된 모든 함수 호출을 식별하고, 함수 호출을 발생시키고 이를 전달하는 액세스 모듈(318)을 도시하고 있다. 액세스 모듈(318)은 또한 요청된 동작이 실패하거나 또는 성공적으로 완료할 때까지 한번에 하나의 함수 호출을 식별하고, 발생시키고 전달할 수 있다. 또한, 액세스 모듈(318)은 옵션 값을 다수의 포맷 중 하나로 정규화하도록 동작가능하고, 액세스 모듈(318)을 기동시키는 애플리케이션(112)은 원하는 포맷을 식별할 수 있다.
도 5는 본 개시의 한 실시예에 따라 애플리케이션에서 운영 체제 옵션 값을 액세스하는 예제 방법(500)을 도시하는 예시적인 흐름도이다. 방법(500)은 도 3의 액세스 모듈(318)을 사용하여 도 1의 시스템(100)에 대해 설명된다. 방법(500)은 임의의 다른 적합한 시스템 및 임의의 다른 적합한 액세스 모듈과 사용될 수 있다.
애플리케이션(112)는 단계(502)에서 컴퓨팅 장치의 옵션 값을 액세스하라는요청을 전달한다. 이것은 예를 들어, API 함수 호출을 이용하여 액세스 모듈(318)에서 액세스 함수(352)를 기동시키는 애플리케이션(112)을 포함할 수 있다. 호출된 함수는 get 단일 옵션 값 함수, get 다수 옵션 값 함수, set 함수, 또는 delete 함수를 포함할 수 있다. 특정 실시예에서, API 함수 호출은 원격 또는 로컬 컴퓨팅 장치를 식별하는 정보, 그 컴퓨팅 장치의 컴포넌트, 옵션, 및/또는 그 옵션과 관련된 값을 포함할 수 있다. 이들 입력의 일부, 전부는 개별적으로, 입력 버퍼와 함께, 또는 임의의 다른 적합한 방법으로 제공될 수 있고, 또는 그 어떤 것도 제공될 수 없을 수도 있다. API 함수 호출은 또한 액세스 모듈(318)에 의해 사용되는 출력 버퍼를 식별하여 출력 결과를 애플리케이션(112)에 제공할 수 있다.
애플리케이션(112)은 단계(504)에서 액세스 모듈(318)로부터 응답을 수신한다. 이것은 예를 들어, 식별된 출력 버퍼에 메세지를 두는 액세스 모듈(318)을 포함할 수 있다. 이것은 또한 메세지가 사용가능하다는 것을 애플리케이션(112)에 통지하는 액세스 모듈(318) 및 출력 버퍼를 액세스하는 애플리케이션(112)을 포함할 수 있다.
애플리케이션(112)은 단계(506)에서 요청된 함수가 성공적으로 수행되었는지 여부를 결정한다. 이것은 예를 들어, 액세스 모듈(318)로부터 메세지를 검사하고, 이 메세지가 성공적인 동작을 나타내는 코드를 포함하는지 여부를 결정하는 애플리케이션(112)을 포함할 수 있다. 성공적이지 못할 경우, 방법(500)은 종료된다. 애플리케이션(112)은 이 시점에서 임의의 다른 적절한 액션을 취할 수 있다. 예를 들어, 애플리케이션(112)은 오류 메세지와 함께 수행을 종료하고, 사용자에게 통지하고, 또는 옵션 값을 다시 액세스하고자 할 수 있다.
요청된 함수가 성공적인 검색 함수라면, 애플리케이션(112)은 단계(510)에서 요청된 옵션 값을 식별한다. 이것은 예를 들어, 출력 버퍼에 포함된 정보를 검사하고, 이 정보 중 어떤 것이 옵션 값과 대응하는지를 식별하는 애플리케이션(112)을 포함할 수 있다. 액세스 모듈(318)이 옵션 값을 정규 포맷에 두었기 때문에, 애플리케이션(112)은 쉽게 옵션 값을 식별할 수 있다. 또한, 옵션 값의 포맷과 옵션 값을 검색하는 방법이 운영 제체 환경(350)에 따라 다를 수 있다. 액세스 모듈(318)로 하여금 옵션 값을 검색하고 정규화 할 수 있도록 함으로써, 애플리케이션(112)은 각종 검색 방법을 수행하고 또는 다수의 포맷으로 정보를 수신하도록 프로그램될 필요가 없다.
본 개시가 바람직한 실시예 또는 일반적으로 관련된 방법 관점에서 기술된 반면, 바람직한 실시예 및 방법의 대체 또는 변경은 당업자들에게 명백할 것이다. 따라서, 바람직하고 예시적인 실시예의 상술된 설명은 본 개시를 규정하거나 제한하지 않는다. 이하의 청구범위에 규정된 대로, 본 개시의 정신 및 범위를 벗어나지 않고 다른 변경, 치환, 및 대체등이 또한 가능하다.
액세스 모듈이 옵션 값을 검색하고 정규화 할 수 있도록 함으로써, 애플리케이션은 각종 검색 방법을 수행하고 또는 다수의 포맷으로 정보를 수신하도록 프로그램될 필요가 없다.

Claims (32)

  1. 운영 체제 옵션 값을 관리하는 방법에 있어서,
    컴퓨팅 장치의 옵션 값과 관련된 함수를 수행하라는 요청을 수신하는 단계 -상기 컴퓨팅 장치는 복수의 컴퓨팅 장치 중 하나를 포함하고, 상기 복수의 컴퓨팅 장치 중 적어도 두개는 상이한 운영 체제와 관련됨- ;
    상기 요청된 함수와 관련된 하나 이상의 명령을 식별하는 단계 -상기 하나 이상의 명령은 상기 컴퓨팅 장치로 하여금 상기 요청된 함수를 수행하도록 동작가능함- ;
    상기 하나 이상의 명령을 발생시키는 단계;
    상기 컴퓨팅 장치에서의 수행을 위해 상기 하나 이상의 명령을 전달하는 단계;
    상기 하나 이상의 명령과 관련된 응답을 수신하는 단계; 및
    상기 응답 중 적어도 일부를 사용가능하게 만드는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 하나 이상의 명령을 식별하는 상기 단계는,
    상기 요청과 관련된 상기 컴퓨팅 장치를 식별하는 단계; 및
    상기 컴퓨팅 장치의 아이덴티티를 이용하여 상기 하나 이상의 명령을 식별하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서, 상기 컴퓨팅 장치의 아이덴티티를 이용하여 상기 하나 이상의 명령을 식별하는 단계는,
    상기 컴퓨팅 장치와 관련된 상기 운영 체제를 식별하는 단계; 및
    상기 식별된 운영 체제를 이용하여 상기 하나 이상의 명령을 식별하는 단계
    를 포함하는 방법.
  4. 제1항에 있어서, 상기 하나 이상의 명령을 발생시키는 단계는 상기 식별된 명령에 하나 이상의 매개변수에 대한 값을 삽입시키는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 요청을 수신하는 단계는 API 함수 호출을 수신하는 단계를 포함하는 방법.
  6. 제5항에 있어서, 상기 API 함수 호출은 get 함수, set 함수, 및 delete 함수 중 하나를 기동시키는 방법.
  7. 제5항에 있어서, 상기 하나 이상의 명령은 레지스트리 API 함수 호출 및 레지스트리 에뮬레이터 명령 중 적어도 하나를 포함하는 방법.
  8. 제1항에 있어서,
    상기 응답은 상기 옵션 값을 포함하고; 및
    상기 옵션 값을 사용가능하게 하는 단계는:
    상기 옵션 값을 정규화하는 단계; 및
    상기 정규화된 옵션 값을 출력 버퍼에 두는 단계를 포함하는 방법.
  9. 제1항에 있어서, 상기 컴퓨팅 장치는 로컬 컴퓨팅 장치 또는 원격 컴퓨팅 장치를 포함하는 방법.
  10. 제1항에 있어서, 상기 요청은 소프트웨어 애플리케이션에 의해 발생되는 방법.
  11. 제1항에 있어서, 상기 옵션 값은 사용자 암호를 포함하는 방법.
  12. 운영 체제 옵션 값을 관리하는 시스템에 있어서,
    복수의 명령 세트를 저장하도록 동작가능한 메모리 -각 명령 세트는 복수의 컴퓨팅 장치 중 적어도 하나로 하여금 옵션 값을 포함하는 함수를 수행하도록 동작가능한 하나 이상의 명령을 포함하고, 상기 명령 세트의 적어도 두 개는 상이한 운영 체제를 사용하는 컴퓨팅 장치와 관련됨- ; 및
    하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는:
    선택된 컴퓨팅 장치상에서 상기 함수를 수행하라는 요청을 수신하고;
    상기 요청된 함수와 관련된 상기 명령 세트를 식별하고 -상기 식별된 명령 세트의 상기 하나 이상의 명령은 상기 선택된 컴퓨팅 장치가 상기 요청된 함수를 수행할 수 있도록 동작가능함- ;
    상기 식별된 명령 세트의 상기 하나 이상의 명령을 발생시키고;
    상기 선택된 컴퓨팅 장치에서의 실행을 위해 상기 하나 이상의 명령을 전달하고;
    상기 하나 이상의 명령과 관련된 응답을 수신하고;
    상기 응답의 적어도 일부를 사용가능하게 만들도록 집합적으로 동작가능한 시스템.
  13. 제12항에 있어서, 상기 하나 이상의 프로세서는,
    상기 선택된 컴퓨팅 장치를 식별하고; 및
    상기 컴퓨팅 장치의 아이덴티티를 이용하여 상기 명령 세트를 식별함으로써 상기 명령 세트를 식별하도록 집합적으로 동작가능한 시스템.
  14. 제13항에 있어서, 상기 하나 이상의 프로세서는,
    상기 식별된 컴퓨팅 장치와 관련된 운영 체제를 식별하고; 및
    상기 식별된 운영 체제를 사용하여 상기 명령 세트를 식별함으로써 상기 컴퓨팅 장치의 상기 아이덴티티를 이용하여 상기 명령 세트를 식별하도록 집합적으로 동작가능한 시스템.
  15. 제12항에 있어서, 상기 하나 이상의 프로세서는 하나 이상의 매개변수에 대한 값들을 상기 식별된 명령에 삽입함으로써 상기 하나 이상의 명령을 발생시키도록 집합적으로 동작가능한 시스템.
  16. 제12항에 있어서, 상기 하나 이상의 프로세서는 API 함수 호출을 수신함으로써 상기 요청을 수신하도록 집합적으로 동작가능한 시스템.
  17. 제16항에 있어서, 상기 API 함수 호출은 get 함수, set 함수 및 delete 함수 중 하나를 기동시키는 시스템.
  18. 제16항에 있어서, 상기 하나 이상의 명령은 레지스트리 API 함수 호출 및 레지스트리 에뮬레이터 명령 중 적어도 하나를 포함하는 시스템.
  19. 제12항에 있어서,
    상기 응답은 상기 옵션 값을 포함하고; 및
    상기 하나 이상의 프로세서는,
    상기 옵션 값을 정규화하고; 및
    상기 정규화된 옵션 값을 출력 버퍼에 둠으로써 상기 옵션 값을 사용가능하게 만들도록 집합적으로 동작가능한 시스템.
  20. 운영 체제 옵션 값을 관리하는 소프트웨어에 있어서,
    상기 소프트웨어는 적어도 하나의 컴퓨터 판독가능 매체에 구현되고, 하나 이상의 프로세서에 의해 수행될 때,
    컴퓨팅 장치의 옵션 값과 관련된 함수를 수행하라는 요청을 수신하고 -상기 컴퓨팅 장치는 복수의 컴퓨팅 장치 중 하나를 포함하고, 상기 복수의 컴퓨팅 장치 중 적어도 두개는 상이한 운영 체제와 관련됨- ;
    상기 요청된 함수와 관련된 하나 이상의 명령을 식별하고 -상기 하나 이상의 명령은 상기 컴퓨팅 장치로 하여금 상기 요청된 함수를 수행하도록 동작가능함- ;
    상기 하나 이상의 명령을 발생시키고;
    상기 컴퓨팅 장치에서의 수행을 위한 상기 하나 이상의 명령을 전달하고;
    상기 하나 이상의 명령과 관련된 응답을 수신하고; 및
    상기 응답 중 적어도 일부를 사용가능하게 만들도록
    동작가능한 소프트웨어.
  21. 제20항에 있어서,
    선택된 컴퓨팅 장치를 식별하고; 및
    상기 컴퓨팅 장치의 아이덴티티를 이용하여 상기 하나 이상의 명령을 식별함으로써 상기 하나 이상의 명령을 식별하도록 동작가능한 소프트웨어.
  22. 제21항에 있어서,
    상기 식별된 컴퓨팅 장치와 관련된 운영 체제를 식별하고; 및
    상기 식별된 운영 체제를 사용하여 상기 하나 이상의 명령을 식별함으로써 상기 컴퓨팅 장치의 상기 아이덴티티를 이용하여 상기 하나 이상의 명령을 식별하도록 동작가능한 소프트웨어.
  23. 제20항에 있어서, 상기 소프트웨어는 상기 식별된 명령에 하나 이상의 매개변수에 대한 값을 삽입함으로써 상기 하나 이상의 명령을 발생시키도록 동작가능한 소프트웨어.
  24. 제20항에 있어서, 상기 소프트웨어는 API 함수 호출을 수신함으로써 상기 요청을 수신하도록 동작가능한 소프트웨어.
  25. 제24항에 있어서, 상기 API 함수 호출은 get 함수, set 함수, 및 delete 함수 중 하나를 기동시키는 소프트웨어.
  26. 제24항에 있어서, 상기 하나 이상의 명령은 레지스트리 API 함수 호출 및 레지스트리 에뮬레이터 명령 중 적어도 하나를 포함하는 소프트웨어.
  27. 제20항에 있어서,
    상기 응답은 상기 옵션 값을 포함하고; 및
    상기 소프트웨어는,
    상기 옵션 값을 정규화하고; 및
    상기 정규화된 옵션 값을 출력 버퍼에 둠으로써 상기 옵션 값을 사용가능하게 만들도록 동작가능한 소프트웨어.
  28. 운영 체제 옵션 값을 액세스하는 방법에 있어서,
    옵션 값과 관련된 함수를 수행하라는 요청을 전달하는 단계 -상기 옵션 값은 컴퓨팅 장치에 상주하는 값이며, 상기 컴퓨팅 장치는 복수의 컴퓨팅 장치 중 하나를 포함하고, 상기 복수의 컴퓨팅 장치 중 적어도 두 개는 상이한 운영 체제와 관련됨- ; 및
    응답을 수신하는 단계 -상기 응답은 상기 컴퓨팅 장치로부터의 정규화된 데이터를 포함함-
    를 포함하는 방법.
  29. 제28항에 있어서, 상기 요청은 액세스 엘리먼트에게 전달된 API 함수 호출을 포함하고, 상기 API 함수 호출은 액세스 엘리먼트의 get 함수, set 함수, 및 delete 함수 중 하나를 기동시키는 방법.
  30. 제29항에 있어서, 상기 액세스 엘리먼트는 상기 요청된 함수와 관련된 하나 이상의 명령을 식별하도록 동작가능하고, 상기 하나 이상의 명령은 상기 컴퓨팅 장치로 하여금 상기 요청된 함수를 수행하도록 동작가능하고, 상기 하나 이상의 명령은 레지스트리 API 함수 호출 및 레지스트리 에뮬레이터 명령 중 적어도 하나를 포함하는 방법.
  31. 제28항에 있어서, 상기 응답을 수신하는 단계는 상기 응답을 포함하는 출력 버퍼를 액세스하는 단계와 상기 출력 버퍼로부터의 상기 응답을 검색하는 단계를 포함하는 방법.
  32. 제28항에 있어서, 상기 응답은 정규화된 포맷의 상기 옵션 값을 포함하는 방법.
KR10-2004-7016465A 2002-04-19 2003-04-18 운영 체제 옵션 값을 관리하는 시스템 및 방법 KR20040099442A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37394602P 2002-04-19 2002-04-19
US60/373,946 2002-04-19
PCT/US2003/012033 WO2003090069A2 (en) 2002-04-19 2003-04-18 System and method for managing operating system option values

Publications (1)

Publication Number Publication Date
KR20040099442A true KR20040099442A (ko) 2004-11-26

Family

ID=29251106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7016465A KR20040099442A (ko) 2002-04-19 2003-04-18 운영 체제 옵션 값을 관리하는 시스템 및 방법

Country Status (13)

Country Link
US (1) US7278144B2 (ko)
EP (1) EP1497720B1 (ko)
JP (1) JP2005523513A (ko)
KR (1) KR20040099442A (ko)
CN (1) CN1656450A (ko)
AT (1) ATE467175T1 (ko)
AU (1) AU2003225058A1 (ko)
BR (1) BR0309334A (ko)
CA (1) CA2482800A1 (ko)
DE (1) DE60332450D1 (ko)
IL (1) IL164611A0 (ko)
WO (1) WO2003090069A2 (ko)
ZA (1) ZA200409129B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8424023B2 (en) * 2003-10-24 2013-04-16 Hewlett-Packard Development Company, L.P. Program interface architecture
US7818756B2 (en) * 2005-10-12 2010-10-19 Microsoft Corporation SKU determination mechanism and API
US20100319010A1 (en) * 2009-06-12 2010-12-16 International Business Machines Corporation Systems and Methods for Operating System Identification and Web Application Execution
KR101012872B1 (ko) * 2009-09-16 2011-02-08 주식회사 팬택 플랫폼 보안 장치 및 방법
KR20190018038A (ko) 2010-11-18 2019-02-20 구글 엘엘씨 메모리 상태에 대한 응답으로 애플리케이션 종료
KR101707552B1 (ko) * 2016-07-27 2017-02-16 주식회사 티맥스 소프트 클라우드 환경에서 사용자로 하여금 애플리케이션을 체험할 수 있도록 체험 환경을 제공하는 방법 및 이를 이용한 서버
JP6926627B2 (ja) 2017-04-21 2021-08-25 富士通株式会社 情報処理システム、情報処理装置、api制御方法及びプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249260A (en) 1988-08-12 1993-09-28 Hitachi, Ltd. Data input system
US5097533A (en) * 1988-11-29 1992-03-17 International Business Machines Corporation System and method for interfacing computer application programs written in different languages to a software system
US6199117B1 (en) * 1992-03-30 2001-03-06 International Business Machines Corporation Generalized control for starting of tasks (processes and threads)
US6664979B1 (en) 1994-12-29 2003-12-16 Microsoft Corporation Aggregation of system settings into objects
CA2145923C (en) 1995-03-30 2001-05-08 Gary W. Miller Computer operating system providing means for formatting information in accordance with specified cultural preferences
US5903753A (en) * 1995-08-18 1999-05-11 International Business Machines Corporation Name space registry with backward compatibility for older applications
US5901319A (en) * 1996-06-14 1999-05-04 The Foxboro Company System and methods for generating operating system specific kernel level code from operating system independent data structures
US5905492A (en) 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6112301A (en) 1997-01-15 2000-08-29 International Business Machines Corporation System and method for customizing an operating system
US6065116A (en) * 1997-05-07 2000-05-16 Unisys Corporation Method and apparatus for configuring a distributed application program
US6141565A (en) 1997-11-13 2000-10-31 Metawave Communications Corporation Dynamic mobile parameter optimization
US6131190A (en) 1997-12-18 2000-10-10 Sidwell; Leland P. System for modifying JCL parameters to optimize data storage allocations
US6161176A (en) * 1998-11-20 2000-12-12 Microsoft Corporation System and method for storing configuration settings for transfer from a first system to a second system
EP1031920A3 (en) * 1999-02-24 2004-04-07 International Business Machines Corporation Editable and automatically generated configuration data
US6536040B1 (en) * 1999-03-29 2003-03-18 International Business Machines Corporation Cross-platform program, system, and method having a system independent registry for use on operating systems irrespective of a registry equivalent
US6446255B1 (en) * 1999-03-29 2002-09-03 International Business Machines Corporation Global registry object for mapping registry functions and registry equivalent functions across multiple operating systems in a cross-platform program
US6615277B1 (en) * 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an operating system environment
US6615278B1 (en) * 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment
US6775789B2 (en) 1999-06-21 2004-08-10 International Business Machines Corporation Method, system and program products for generating sequence values that are unique across operating system images
FR2801705B1 (fr) * 1999-11-26 2002-01-25 Bull Sa Procede de creation de fichiers de configuration d'objets inclus dans un systeme informatique
DE10115380A1 (de) * 2000-05-03 2001-11-08 Ibm Verfahren zum Ändern eines Parameters eines Betriebssystems eines Computersystems
US6981043B2 (en) * 2001-03-27 2005-12-27 International Business Machines Corporation Apparatus and method for managing multiple user identities on a networked computer system
US20030177388A1 (en) * 2002-03-15 2003-09-18 International Business Machines Corporation Authenticated identity translation within a multiple computing unit environment

Also Published As

Publication number Publication date
US7278144B2 (en) 2007-10-02
EP1497720B1 (en) 2010-05-05
ATE467175T1 (de) 2010-05-15
US20030217188A1 (en) 2003-11-20
ZA200409129B (en) 2005-09-21
WO2003090069A3 (en) 2004-04-15
DE60332450D1 (de) 2010-06-17
EP1497720A2 (en) 2005-01-19
IL164611A0 (en) 2005-12-18
JP2005523513A (ja) 2005-08-04
WO2003090069A2 (en) 2003-10-30
AU2003225058A1 (en) 2003-11-03
CN1656450A (zh) 2005-08-17
BR0309334A (pt) 2005-03-08
CA2482800A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
US8924592B2 (en) Synchronization of server-side cookies with client-side cookies
US7325040B2 (en) Locally operated desktop environment for a remote computing system
US7278143B2 (en) System and related methods for accessing management functionality through a command line utility
US20160285852A1 (en) Remote Network Access Via Virtual Machine
US8762507B1 (en) Method and system for managing an information technology system
US7363457B1 (en) Method and system for providing virtualization data services for legacy storage devices
US20210224085A1 (en) Preloading of Application on a User Device Based on Content Received by the User Device
US20100042636A1 (en) Internet server system, method of creating virtual machine of the internet server and method of starting the same
CN107003865A (zh) 利用远程应用的文件共享
JP2000330954A (ja) 分散データ処理システム内のクライアント・コンピュータを管理するための方法及び装置
JPH0934838A (ja) 分散コンピュータ環境において、ユーザの信任状を捜し出す方法及びその装置
US8745342B2 (en) Computer system for controlling backups using wide area network
WO2011066434A2 (en) Client-server input method editor architecture
RU2237275C2 (ru) Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер
US20210112144A1 (en) Systems, methods, and computer program products to implement changes in a converged infrastructure system
WO2021169639A1 (zh) 一种bmc定制的方法、系统、设备及可读存储介质
EP1497720B1 (en) System and method for managing operating system option values
JP2021515304A (ja) システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法、コンピュータ・プログラム、および装置
EP1061445A2 (en) Web-based enterprise management with transport neutral client interface
JP6205013B1 (ja) アプリケーション利用システム
US10114666B1 (en) Loading software components
CN114389936A (zh) 一种跨云多集群部署运维方法、系统、处理器和存储介质
US11196836B2 (en) Persisting user configuration settings on write filter enabled devices
US20070214233A1 (en) System and method for implementing a hypervisor for server emulation
Stein Unix survival guide

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid