KR19990087924A - 중앙애플리케이션매니저먼트를가지고존재하는하드웨어및애플리케이션을시스템으로개장하기위하여익스포트에이전트능력을제공하는클라이언트-서버시스템 - Google Patents

중앙애플리케이션매니저먼트를가지고존재하는하드웨어및애플리케이션을시스템으로개장하기위하여익스포트에이전트능력을제공하는클라이언트-서버시스템 Download PDF

Info

Publication number
KR19990087924A
KR19990087924A KR1019990013243A KR19990013243A KR19990087924A KR 19990087924 A KR19990087924 A KR 19990087924A KR 1019990013243 A KR1019990013243 A KR 1019990013243A KR 19990013243 A KR19990013243 A KR 19990013243A KR 19990087924 A KR19990087924 A KR 19990087924A
Authority
KR
South Korea
Prior art keywords
user
applet
group
server
administrator
Prior art date
Application number
KR1019990013243A
Other languages
English (en)
Other versions
KR100296362B1 (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 KR19990087924A publication Critical patent/KR19990087924A/ko
Application granted granted Critical
Publication of KR100296362B1 publication Critical patent/KR100296362B1/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
    • 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

Abstract

본 발명은 서버(server)와 복수의 유저 스테이션(user station)을 상호 연결하는 네트워크(network)를 가진 시스템에 관한 것이다. 시스템은, 하드웨어를 새로운 펌웨어(firmware)를 가지고 개장(retrofit)할 필요 없이 또는 존재하는 소프트웨어를 재설계할 필요 없이, 존재하는 하드웨어 및 소프트웨어의 벤더(vendor)가 하드웨어 또는 소프트웨어를 중앙 관리 네트워크 컴퓨팅 시스템의 환경으로 집적할(integrate) 수 있는 수단을 제공한다. 익스포트 서비스(export service)는, 시스템 관리자(system administrator)가 존재하는 하드웨어 또는 소프트웨어가 예측하는 포맷(format) 안에서 구성 파일(configuration)을 발생하고 그리고 그것이 설계된 방법에서 존재하는 하드웨어 또는 소프트웨어가 파일을 접속할 수 있는 방법에서 파일을 서버에 저장하는 것을 허용한다.

Description

중앙 애플리케이션 매니저먼트를 가지고 존재하는 하드웨어 및 애플리케이션을 시스템으로 개장하기 위하여 익스포트 에이전트 능력을 제공하는 클라이언트-서버 시스템{CLIENT-SERVER SYSTEM WITH CENTRAL APPLICATION MANAGEMENT AND PROVIDING EXPORT AGENT CAPABILITY FOR RETROFITTING EXISTING HARDWARE AND APPLICATION INTO THE SYSTEM}
본 발명은 일반적으로 퍼스날 컴퓨팅(personal computing) 및 네트워킹(networking)의 분야에 관한 것이다. 특히, 네트워크 컴퓨팅의 새롭고 진화하는 분야에 관한 것으로, 여기서 데스크탑 컴퓨터 유저(desktop computer user)는, 통합 인트라넷(intranet), 인터넷(internet)과 같은 네트워크에, 또는 네트워크나 인터넷 서비스 프로바이더(ISP)에 연결된, 가능한 디스크 없는(diskless), 퍼스날 컴퓨터를 나중에 데스크탑 컴퓨터 상에서 실행될 애플리케이션으로의 접속을 얻기 위해서 사용한다. 더욱이, 본 발명은 서버로부터 검색되고 데스크탑 컴퓨터에서 실행하는 위한 소프트웨어 프레퍼런스(preference)(구성 데이터(configuration data))의 서버-기반(server-based) 저장에 관한 것이다.
네트워크 컴퓨터의 분야는 현재 그것의 초기 단계에 있다. 그러나, 다수의 이유로, 특히 통합 환경에서, 급속히 진화하는 것이 예측된다. 예측 사항은, 회사 그리고 개인 유저들이 하드웨어 및 소프트웨어 업그레이드(upgrade) 시점에 도달하므로, 디스크 장착 컴퓨터 그리고 지역적으로 저장된 그리고 관리되는 소프트웨어 애플리케이션을 가진 종래 방법에서의 업그레이드보다 이 새로운 분야로 이행하는 것이 더욱 효과적이고 비용이 적게든다. 예를 들면, 통합 환경에서 유저는, 예를 들면, 인터넷의 TCP/IP 그리고 HTTP 프로토콜(protocol)을 사용하여, 통합 인트라넷에서 연결될 수 있고, 소프트웨어 애플리케이션이 네트워크 서버로부터 데스크탑 컴퓨터로 직접적으로 요구될 때 소프트웨어 애플리케이션을 다운로드할 수 있다. 애플리케이션이 유용한 작업을 수행하기 위하여 유저에 의해서 종래의 방법으로 데스크탑 상에서 실행된다. 이 구성(configuration)의 장점은 네트워크 컴퓨터가 본질적으로 종래의 디스크 장착 컴퓨터보다 비싸지 않다는 것이다. 각 유저를 위해 소프트웨어의 개별적 카피(copy)를 구입하는 것보다, 유저들을 위해 요구되는 다수의 소프트웨어 라이센스(liscence)를 구매하는 것이 비용이 적게 든다. 확실히, 대다수의 통합 유저들을 수용하는 소프트웨어 관리 문제는 본질적으로 감소될 것이다. 현재, 디스크 장착 컴퓨터 또는 워크스테이션(workstation)의 각 유저는, 전문 기술의 부족으로 과도한 자원을 종종 소모하는 배역, 즉 실질적으로 그/그녀 자신의 시스템 관리자이다. 많은 유저들이 소프트웨어 설치, 업그레이드, 그리고 컴퓨터 관리의 문제와 싸우게 하는 것보다, 문제를 소수의 서버 관리 전문가에게로 효과적으로 떠넘김(offload)으로써 이 문제를 제거하는 것이 큰 장점이 될 것으로 예측된다.
전술된 바와 같이, 퍼스날 컴퓨터의 미래의 비전은 현재 그것의 초기 단계에 있다. 결과적으로, 존재하는 시스템에 많은 문제와 결점들이 있다.
전형적으로, 네트워크 컴퓨터 시스템에서, 관리자는 네트워크 서버 상에 저장된 유저 프로필(user profile)을 생성한다. 프로필은, 가령 유저 데스크탑 프레퍼런스 그리고 서버 상에 상주할 수 있는 다른 소프트웨어 애플리케이션으로의 접속을 위한 유저 허가와 같은 다른 형식의 정보를 포함할 수 있다. 유저가 시스템 상으로 로그 할 때, 유저는 서버로 그/그녀를 확인하고, 서버는 유저를 위해 프로필을 위치시키고, 그리고 서버가 컴퓨터를 구성하고 데스크탑을 발생하기 위해 사용되는 유저 컴퓨터로 프로필을 전송한다. 데스크탑은, 유저가 아마도 접속할 권한을 가지는 애플리케이션을 나타내는 다수의 아이콘(icon)을 포함할 수 있다. 프로필은 컴퓨터 및 데스크탑의 다른 애트리뷰트(attribute), 가령, 유저에 독특한 것인 데스크탑의 배경색, 또는 데스크탑 상에서 사용되는 캐릭터 폰트 그리고 포인트 크기, 또는 데이터 파일 검색 경로 등을 포함한다. 프로필은 유저 변경 가능 또는 비-변경 가능일 수 있다.
유저가 그들 자신의 프로필을 변경할 수 있는 환경에서, 변경된 프로필은 로그-오프(log-off) 시간에 서버로 다시 업로드되고(uploaded), 여기서 그것은 유저가 로그-온(log-on)하는 다음 시간에 검색하기 위해 저장된다. 어떤 종래의 기술에서, 우리가 가진 최상의 지식으로, 유저들이 서버 상에 존재하든지 않든지, 유저가 서버 상에서 애플리케이션으로 실제적으로 접속 허가를 가지든지 않든지 간에, 유저는 그들의 데스크탑 상에서 그들이 원하는 애플리케이션 아이콘의 어떠한 구성을 발생할 수 있다. 로터스 워크플레이스 데스크탑(Lotus Workplace Desktop)(이전에는 Kona Desktop으로 불리었음) 시스템은 이 형식의 동작의 예이다. 다른 시스템에서, 서버는, 서버가 가지고 유저가 취할 수 있는 모든 애플리케이션의 유저로 리스트를 제출한다. 이 경우에, 유저가, 데스크탑 상에의 산입(inclusion)을 위한 리스트로부터 선택되는 애플리케이션으로의 접속 허가를 가지는 것이 보장되지 않는다. 선 핫 자바 뷰 시스템(Sun Hot Java Views system)이 이 시스템 형식의 예이다. 다시 말해서, 종래 기술의 시스템은 유저가 데스크탑 애플리케이션 아이콘의 셋트를 위해 구성할 수 있는 것과 유저가 실제적으로 접속 허가를 가지는 애플리케이션 사이에 상호 작용하지 않는다. 그러한 경우에, 유저가 애플리케이션을 수행하기 위해 아이콘을 클릭할 때, 접속허가가 존재하지 않는다면, 에러 메시지는 발생할 수 있고(가령 비인가된 접속 메시지), 또는 더욱 나쁜 경우에는, 유저의 컴퓨터는 일시 중단될 수 있다.
종래의 기술이 가지는 다른 한계는 플랫 데이터 구조(flat data structure)가 모델 유저, 유저 그룹, 터미널, 그리고 터미널의 그룹으로 사용되는 것이다. 컴퓨터 자원으로의 유저 접속을 관리하기 위한 일반 계획 이후의 모델화된, 알려진 네트워크 컴퓨터 실시들(예를 들면, 데스크탑을 위한 로터스 관리 장비(Lotus Administration Facility for Desktops), 마이크로 소프트 윈도우즈 NT 프로필즈 앤드 폴리시즈(MIcrosoft Windows NT Profiles and Policies), 선 핫 자바 뷰즈(Sun Hot Java Views))은 여러 상황(context) 안에서 소프트웨어 프레퍼런스(또는 속성)를 관리하기 위해 서버 상의 플랫 "그룹" 구조(flat "group" structure)를 실시한다. 여기서 사용되는 바와 같이, "상황"("context")는 개별적 유저, 유저 그룹, 터미널, 또는 터미널 그룹을 말한다. 서버 상의 소프트웨어 프레퍼런스를 관리하기 위한 그룹핑 구조(grouping structure)는 관리자가 개별 유저들을 위하는 것뿐만 아니라 유저들의 다른 그룹을 위한 프레퍼런스 속성을 정의하는 것을 허용한다. 그러나, 플랫 시스템(flat system)은 많은 환경에서, 특히 다수의 유저를 가지는 환경에서 유연하지 않다. 프레퍼런스 정보의 조직을 지원하는 관리 도구(administrative tool)를 계층적 구조(hierarchical structure)로 제공하는 것이 요구되고 있다.
종래의 시스템이 가지는 다른 한계는 그들이, 관리자 또는 유저가 워크스테이션 데스크탑의 유저 구성을 수행해야 하는 방법에서 제한된다는 것이다. 예를 들면, 관리자들이 유저 애플리케이션과 떨어져 있으나, 연관이 있는 구성 프로그램을 사용하여 유저 프레퍼런스를 구성하도록 현재 요구된다. 공급자(vendor)가 오직 단일 애플리케이션을 제공하는 것을 허용하는 것이 요구되고 있다. 공급자로부터 오직 엔드 유저 애플리케이션(end user application)을 요구하는 것은 중앙 매니저먼트 시설이 유저 또는 유저 그룹의 관계에서 엔드 유저 애플리케이션을 실행할 수 있는 것을 필요로 한다. 종래의 기술은 동작의 이 관리 유연성을 허용하지 않는다. 다시 말해서, 종래의 기술에서, 우리가 가진 최상의 지식으로, 관리자는 그 유저 및 애플리케이션을 위한 프레퍼런스를 셋트하기 위하여 유저의 관계에서 유저 애플리케이션을 작동시킬 능력을 가지고 있지 않다. 더욱이, 종래의 기술에서, 관리자는 유저들의 그룹의 관계에서 프레퍼런스를 셋트하기 위하여 유저 애플리케이션을 작동시킬 수 없다.
발명자들에게 알려진 종래 기술의 또다른 한계는 종래 기술이, 서버 상의 다른 애플리케이션과 관련된 유저 프레퍼런스를 저장하기 위해 독특한 공간이 확보되는 것을 보장하기 위하여 서버 영구 저장 공간(server permanent storage space)을 분할하는 방법이다. 발명자들의 지식으로는, 객체가 그것을 다른 클래스들로부터 독특하게 확인하고 구별하게 하는 그것의 완전히 자격이 주어진 클래스 이름에 대해 질의될 수 있는 객체 지향 시스템에서 다른 애플리케이션을 위한 프레퍼런스 정보의 저장소 안에서 충돌을 방지하는 문제는, 제 1 중앙 권한이 공급자에 적용하는 독특한 지정을 할당하게 하고 그리고 공급자에 있는 제 2 권한이 각 공급자 애플리케이션을 위한 제 1 지정에 관련된 제 2 지정을 할당하게 함으로써 해결된다. 예를 들면, 공급자 A는 제 1 권한에 의하여 지정 공급자 A로 할당되고, 그 지정은 제 1 권한이 작동하는 구조 내에서 독특한 것으로 보장된다. 그리고, 공급자 A에서의 제 2 권한은 그 구조 내에서 그것의 각 애플리케이션을 위해 제 2 지정을 할당한다. 예를 들면, 공급자 A의 애플리케이션들의 하나는 지정-공급자 A.App1로 지정될 수 있고; 다른 것은 공급자 A.App2로 지정될 수 있다. 종래 기술은, 다른 애플리케이션을 위한 프레퍼런스 데이터가 저장소 안에서 충돌하지 않는 것을 보장하기 위하여 시스템 안의 각 애플리케이션을 위한 독특한 지정을 시스템의 영구 저장소 안의 위치로 맵(map)한다. 애플리케이션은, 실행중일 때, 네트워크 컴퓨터 서버에게 그것의 독특한 저장 위치를 통보하고 그리고 다른 상황 안에서 프레퍼런스 정보와 충돌하지 않도록 프레퍼런스 정보를 저장하기 위한 상황(유저, 유저 그룹, 터미널 또는 터미널 그룹)에 따라 시작 위치에서 구역을 분할하는 것은 서버의 책임이다. 명백히, 저장 공간을 관리하는 이 방법은 부적절하고 바람직하지 않다. 프레퍼런스 정보의 저장소 안에서 충돌을 방지할 목적으로 중앙 권한이 독특한 지정을 할당하게 하는 요구를 청하지 않고서, 그리고 저장 위치 정보를 애플리케이션으로 코딩하지 않고서, 전술된 객체 지향 애플리케이션을 위한 프레퍼런스 정보를 저장하기 위한 독특한 저장 위치를 자동적으로 발생하기 위한 방법을 고안하는 것이 요구된다.
종래 기술의 또다른 제한은, 존재하는 하드웨어 및 애플리케이션으로의 변화를 요구하지 않고서 존재하는 애플리케이션 및 하드웨어를 중앙 관리 네트워크 컴퓨팅 세계의 새로운 환경으로 이주하는(migrate) 준비의 부족에 있다. 네트워크 화된(networked) 환경 안에서 예를 들면 터미널과 같은 존재하는 하드웨어는 서버 상에 위치한 특정 포맷 안의 파일로부터 부트-업(boot-up) 시간에 그것의 구성 정보를 취한다. 터미널은 그것의 구성 파일을 접속하기 위한 방법을 알기 위해 프로그램 된다. 터미널은 서버로부터 파일을 접속하기 위해 독특한 확인자(identifier)를 사용한다. 독특한 확인자는 종종 터미널 의 매체 접속 제어(media access control:MAC) 어드레스이다. 그러나, 프로토콜 및 터미널이 지정되는 것과는 다른 API's를 포함하는 새로운 중앙 관리 환경 안에서, 터미널은 새로운 환경 안에서 프레퍼런스 정보를 접속할 수 없고, 터미널은 그것이 지정되는 방법에서 오직 그것의 구성 파일을 접속할 수 있다. 사용되고 있는 그러한 존재하는 디바이스가 많기 때문에, 이것은 심각한 문제이다. 새로운 시스템에서 그것들을 사용하는 무능력은 유저들이 새로운 시스템으로 이주하는 자극을 본질적으로 저해한다.
종래 기술의 또다른 제한은 관리자 및 구성 매니저먼트 시스템 사이에서 인터페이스와 관련이 있다. 여러 유저 그리고 유저 그룹들, 그리고 터미널들 그리고 터미널 그룹들을 위한 프레퍼런스 정보를 구성하기 위한 관리 시설 내에서 소프트웨어를 구성할 때, 관리 소프트웨어는 시설을 작동시키고 있는 관리자에 의하여 셋트된 상황(유저, 유저 그룹, 터미널 또는 터미널 그룹)에서 시작한다. 관리자가 아래에서 애플리케이션이 움직이는 상황을 변경할 때, 애플리케이션은 새로운 상황을 위해 구성 정보를 로드하기 위해 재 시작될 필요가 있다. 상황이 변경될 때마다 소프트웨어를 재 시작하는 프로세스는 특히 많은 유저를 가진 시스템에서 시간을 소모하고 관리자를 위해서 편리하지 않다. 그러한 시스템에서, 애플리케이션을 구성하는 동안 관리자가 여러 번 상황을 변경할 것이 예측된다.
본 발명은, 새로운 펌웨어(firmware)를 가지는 하드웨어를 개장(retrofit)할 필요 없이 또는 존재하는 소프트웨어를 재설계할 필요 없이, 하드웨어 및 소프트웨어의 벤더(vendor)가 하드웨어 또는 소프트웨어를 중앙 관리되는 네트워크 컴퓨팅 시스템의 환경으로 집적(integrate)할 수 있는 수단을 제공한다. 시스템은, 시스템 관리자가 존재하는 하드웨어 또는 소프트웨어가 예상하는 포맷(format)으로 구성 파일(configuration file)을 발생하고 그리고 그것이 설계된 방법에서 존재하는 하드웨어 또는 소프트웨어가 파일을 접속할 수 있는 방법에서 파일을 서버에 저장하는 것을 허용하는 익스포트 서비스(export service)를 제공한다. 익스포트 서비스의 장점을 이용하기 위해, 예를 들면 존재하는 터미널(terminal)의 벤더(vendor)인 하드웨어 벤더는 특별한 구성 애플렛과 익스포트 에이전트 모듈(export agent module)을 생성한다. 특별한 구성 애플리케이션(application)은 시스템 관리자 스테이션(system administrator station)에서 실행되고 관리자가 하드웨어를 위해 구성 정보를 생성하는 것을 허용한다. 익스포프 에이전트 모듈은 서버상에 상주한다. 벤더가 공급했을 때, 구성 애플리케이션은 관리자에 의해 실행되고 요구가 서버 상에서 구성 애플리케이션에 의해 발생되는 구성 정보를 세이브(save)하기 위해 이루어지고, 서버로의 세이브 콜(save call)은, 서버가 특정화된 익스포트 에이전트(export agent)를 부르는 것을 지시하는 익스포트 태그 파라미터(export tag parameter)를 포함한다. 익스포트 에이전트는 구성 애플리케이션으로부터 구성 정보를 취하고 그것의 포맷을 하드웨어에 의해 요구되는 것으로 변경한다. 덧붙여, 구성되는 상황(context)은 익스포트 에이전트로 넘겨진다. 상황은, 구성되는 하드웨어의 특별한 예에 독특한 정보, 그것이 하드웨어의 다른 예를 위한 유사한 정보와 충돌하지 않고 그리고 그것이 그렇게 하도록 설계된 방법에서 서버로부터 하드웨어의 피스(piece)에 의해 직접적으로 접속될 수 있도록 변경된 구성을 포함하는 파일 또는 파일들을 어디에 저장할 것인가를 지시하는 정보를 익스포트 에이전트로 제공하는, 전형적으로 그러나 필수적이지는 않는 하드웨어의 매체 접속 제어 어드레스를 포함한다. 존재하는 소프트웨어 애플리케이션은, 요구된다면, 동일 방법에서 재설계 없이 시스템으로 또한 개장(retrofit)될 수 있다.
도 1은 본 발명이 실행되는, 관리자의 스테이션(station)을 포함하는 네트워크(network) 및 유저 스테이션을 나타내는 도면.
도 2는 서버(server)와 통신하는 관리자 스테이션, 그리고 중앙 프로필 매니저먼트(profile management) 및 프레퍼런스 관리를 제공하는 관리자의 스테이션 및 서버의 콤포넌트(component)의 블록 다이아그램.
도 3은 시스템의 유저 그룹 및 유저의 계층적 조직을 나타내는 도면. 이 설명적인 계층적 조직은 개별적 터미널(terminal) 및 터미널 그룹(terminal group)을 포함할 수 있으나; 그러나, 이것들은 단순성을 위하여 생략되었다.
도 4는 유저 그리고 유저에 의해 실행되는 특정 애플리케이션(application)에 적용하는 도 3의 계층적 조직으로부터 프레퍼런스의 셋트(set)를 결정하기 위해 사용되는 개별 유저 및 그룹 우선 순위의 리스팅(listing)을 나타내는 도면.
도 5는 도 2의 관리자의 스테이션 및 서버의 더욱 상세한 도면.
도 6은 유저의 터미널로서 애플리케이션의 실행 동안 유저 프레퍼런스를 형성하기 위해 협동하는, 애플리케이션과 다른 콤포넌트 사이의 유저 애플리케이션 그리고 API를 포함하는 유저의 터미널에서의 소프트웨어 객체의 설명적 도면.
도 7 내지 8은 유저 터미널에서, 데스크탑(desktop) 프레퍼런스를 포함하는, 유저 로그-온(log-on) 그리고 유저의 데스크탑을 처음으로 형성함을 위한 두 유저의 터미널 및 서버에서의 설명적 동작을 나타내는 도면.
도 9 내지 11은 두 관리자의 터미널 그리고 관리자 유저 로그-온을 위한 서버에서, 관리자의 데스크탑의 형성, 그리고, 예로서, 애플리케이션의 프레퍼런스 그리고 구성(configuration)을 위한 상황(context)을 위한 설명적 동작을 나타내는 도면; 이 예는 또한 구성 동안 상황 변경, 유저의 데스크탑 그리고 결과 동작을 나타낸다.
도 12 내지 24는 일 예의 표현인 도 3의 계층적 구조, 유저의 생성 및 삭제, 애플리케이션을 위한 애플리케이션 프레퍼런스의 형성, 그리고 프레퍼런스 형성 동안 상황 변경을 포함하는 애플리케이션 관리의 여러 국면에서 여러 형태의 실제 관리자 화면 스냅샷(snapshot)을 나타내는 도면.
* 도면의 주요 부분에 대한 설명
506 프로필 매니저(profile manager)
510 프로필 매니지먼트 프로퍼티즈 P(profile management properties P)
512 이벤트 리스너(event listener)
514 프로필 매니저 서블렛(profile manager servlet)
518 웹 서버(Web server)
520 익스포트 에이전트(Export Agent)
108 관리자(Administrator)
여기서 설명되는 시스템은 클라이언트-서버(client-server) 환경에서 유저 및 애플렛스(appplets)를 위해 구성(configuration) 정보를 위한 일반 저장소를 제공한다. 이것은 클라이언트 프로필 매니저먼트(profile management)로서 언급된다. 시스템이, 유저가 돌아다니는 것(roam), 즉 어떠한 컴퓨터로부터 시스템에서 어떠한 시간에 로그-인(log-in)하는 것 그리고 서버에서 유저를 위해 저장된 프레퍼런스에 따라 그것을 작동 시간에 자동적으로 구성되게 하는 것을 허용한다. 바람직한 실시예는 자바(JAVA는 Sun Inc.의 상표) 기반 시스템이고, 클라이언트 컴퓨터는 자바 애플리케이션(application)을 수행하기 위해 준비된 웹 브라우저 인터페이스(Web browser interface)를 사용한다. 따라서, 바람직한 실시예에서, 유저 애플렛스 및 데스크탑 애플렛은 자바 애플렛스인 것으로 추정된다. 그러나, 본 발명을 자바 환경으로 제한하는 것으로 의도되는 것은 아니다. 서버-기반 애플렛스를 위한 프레퍼런스가 여기서 설명되는 방법에서 다루어질 수 있는 반면에, 지역적으로 저장된 애플리케이션을 위한 프레퍼런스가 종래의 방법에서 지역적으로 저장될 수 있다.
바람직한 실시예에서, 시스템은 상호 연결중인 서버와 복수의 유저 스테이션을 상호 연결하는 네트워크를 포함한다. 서버는 유저 스테이션으로 다운로드하기 위해 복수의 엔드 유저 애플리케이션을 저장하고 유저의 다른 그룹 및 서브 그룹의 관계에서 엔드 유저 애플리케이션을 위한 구성 프레퍼런스일 더 저장한다. 프로필 매니저는 관리자 스테이션에서 제공된다. 프로필 매니저는 비-네이티브(non-native) 스테이션 또는 애플리케이션을 위한 구성 애플리케이션을 실행하기 위해 배열되고, 그럼으로써 관리자는 시스템 유저의 다른 그룹과 서브 그룹의 관계에서 비-네이티브 스테이션 또는 애플리케이션을 위한 구성 프레퍼런스를 특정할 수 있다. 구성 애플리케이션에 대응하는 익스포트 에이전트는 서버에서 또한 제공된다. 익스포트 에이전트는, 요구가 비-네이티브 터미널 또는 애플리케이션을 위해 서버 상에서 프레퍼런스(preference) 정보를 저장하기 위하여 프로필 매니저에 의하여 이루어질 때, 불리어진다. 익스포트 에이전트는 비-네이티브 터미널 또는 애플리케이션과 호환성이 있는 포맷으로 프레퍼런스 정보를 재포맷(reformat)하고, 그것은 비-네이티브 터미널 또는 애플리케이션에 의해 직접 접속을 위한 비-네이티브 터미널 또는 애플리케이션으로 알려진 서버 상의 위치에 재포맷된 정보를 저장한다.
따라서, 본 발명은, 유저 또는 유저 그룹으로 행동하는 동안 효과적으로 엔드 유저 애플리케이션을 직접적으로 작동함으로써 관리자가 엔드 유저 애플리케이션을 구성하는 것을 허용한다. 본 발명의 부가된 장점은, 관리자가 유저 애플리케이션을 작동할 수 있고 그리고 유저가 보는 것과 동일한 화면을 본다는 것이다. 이것은, 관리자의 구성보다, 장소에서 유저 구성을 가진 유저의 관계에서 유저 애플리케이션을 작동함으로써 유저 문제를 진단하는데 있어서 관리자를 지원한다.
여기서 설명되는 시스템은 클라이언트-서버 환경 안의 모든 유저 및 애플렛을 위한 구성 정보를 위한 일반 저장소를 제공한다. 이것은 클라이언트 프로필 매니저먼트로 언급된다. 시스템은, 유저가 돌아다니는 것, 즉 어떠한 시간에 시스템에서 어떠한 컴퓨터로부터 로그-인(log-in)하는 것 그리고 서버에서 저장된 프레퍼런스를 따라 작동 시간에 그것을 자동적으로 구성되게 하는 것을 허용한다. 바람직한 실시예는 자바(Java는 Sun Inc.의 상표임) 기반 시스템이고 그리고 클라이언트 컴퓨터는 자바 프로그램을 수행하기 위해 준비된 웹 브라우저 인터페이스를 사용한다.
용어 "애플렛"("applet") 및 "서블렛"("servlet")은 자바 프로그램 언어 기술에서 제정된 용어이고, 그 용어들이 이 분야의 숙련자들에게는 의미가 통하므로 여기서 사용될 것이다. "애플렛"("applet")은 자바 가능 웹 브라우저 내에서 작동하는 독립적인 소프트웨어 모듈을 언급한다. 서블렛은 자바 가능 웹 서버 상에 상주하는 소프트웨어 모듈을 언급한다. 용어 "애플렛"과 "서블렛"은 여기서 어떠한 방법으로라도 본 발명을 제한하는 것으로 이해되어서는 아니된다. 명확한 설명을 위해서, 구문 "구성 애플렛"("configuration applet")은 워드 프로세서, 데이터 베이스 매니저 등과 같은 엔드 유저 소프트웨어 애플리케이션을 위한 프레퍼런스를 구성하기 위해 사용되는 소프트웨어 모듈을 언급하기 위해 여기서 사용된다. 소프트웨어 애플리케이션이 역시 자바 환경 안에서 "애플렛"이므로, 구문 "유저 애플렛"("user applet") 또는 "애플렛"은 엔드 유저 애플리케이션을 언급하기 위해 여기서 사용된다.
바람직한 실시예에서, 유저 애플렛 및 데스크탑 애플렛은 자바 애플렛으로 가정된다. 그러나, 본 발명이 자바 환경으로 제한되지 않는 것으로 이해되어야 할 것이다. 본 발명은 어떠한 클라이언트-서버 시스템 안에서도 사용될 수 있다. 예를 들면, 요구되면, 시스템은, 어떠한 요구되는 프로그램 언어 안에서 기록되고 컴파일 되는(compiled) 독점의 통신 프로토콜 및 애플리케이션을 사용하기 위하여 설계될 수 있다. 더욱이, 바람직한 자바 기반 환경에서라도, 디스크-기반(disk-based) 컴퓨터는 지역적으로 어떠한 애플리케이션을 그리고 서버로부터 다른 애플렛을 접속할 수 있다. 서버-기반(server-based) 애플렛을 위한 프레퍼런스가 여기서 설명되는 방법에서 다루어질 수 있는 반면에, 지역적으로 저장된 애플리케이션을 위한 프레퍼런스가 종래의 방법에서 지역적으로 저장될 수 있다. 그러나, 바람직하게, 지역적으로 저장된 애플리케이션을 위한 프레퍼런스가 여기서 설명된 서버 기반 애플렛을 위한 프레퍼런스에 덧붙여 프로필 매니저먼트 프로퍼티즈 API( Profile Management Properties API)를 사용하는 서버 상에 저장된다.
단순한 애플리케이션 프로그램 인터페이스(Application Program Interface: API)는, 애플렛이 유저 또는 관리자에 의하여 실행될 때, API로 기록된 애플렛이 프레퍼런스 데이터를 용이하게 저장 및 검색하는 것을 허용한다. 애플렛 허가 및 유저 프레퍼런스는 그룹 멤버쉽(group membership) 및 개별 신원(individual identity) 상에 기반 하여 정의될 수 있다.
클라이언트 프로필 관리는 아래의 서비스를 포함한다;
로그-온 지원 - 유저 프로필로 맵핑(mapping);
유저 지원 - 유저 신분을 생성하고 유저로 서비스 및 프레퍼런스를 직접 제공하는 관리 능력;
유저 그룹 지원 - 유저의 계층적 그룹을 생성하고 그룹 멤버쉽에 기반한 서비스 및 프레퍼런스를 제공하는 관리 능력;
유저 애플렛 상황 투명성 - 유저 애플렛 실행의 상황의 자동적 결정. 즉, 유저 애플렛 실행 및 프로필 환경의 자동 설정에 적용하는 유저 및/또는 그룹 프로필의 결정;
유저 애플렛 프레퍼런스 저장소 - 유저 애플렛 구성 데이터를 위한 상황에 민감한(context-sensitive) 서버 저장소;
동적 유저 애플렛 프레퍼런스 인헤리탄스(inheritance) - 인헤리탄스의 객체 지향 원리를 통하여 유저 애플렛 프레퍼런스의 계층적 로드-타임(load-time) 합체; 및
유저 애플렛 접속 제어 - 그룹 디폴트 멤버쉽 특권에 기반한 유저 애플렛 실행의 제어. 관리자는 디폴트 그룹 특권을 무효화(override) 할 수 있고 개별 유저를 위한 부가의 접속 특권을 허가하거나 또는 거절할 수 있다.
프로필 매니저먼트는 이 일들이 수행되는 프레임워크(framework)를 제공한다. 어떤 일들은 프로필 매니저먼트, 예를 들면 유저/그룹 매니저먼트, 애플렛 리스트, 상황 스위칭(context switching), 프레퍼런스 인헤리탄스 등에 의하여 직접적으로 지원되고, 반면에 유저 애플렛에 특정적인 구성 서비스는 클라이언트 프로필 매니저먼트 환경 내의 시스템 관리자에 의하여 불리어진 분리된 구성 애플렛에 의하여 일반적으로 지원된다. 어떤 엔드 유저 애플렛은 엔드 유저 애플렛의 부분으로서 구성 능력을 제공할 수 있다. 이 경우라면, 관리자는 그들 유저 및 그룹을 위한 구성 프레퍼런스를 정하기 위해 개별 유저 및 그룹에 관련하여 엔드 유저 애플렛(분리된 구성 애플렛에 반대하여)을 작동시킬 수 있다.
도 1은 본 발명을 실행하기 위하여 고안된 환경의 하나의 상위 조감도를 나타낸다. 네트워크(100)는 가령, 데스크탑 퍼스날 컴퓨터(102), 모바일 랩탑 컴퓨터(mobile laptop computer)(102), 워크스테이션(106)(예를 들면, RISC 컴퓨터), 관리자의 스테이션(108), 그리고 서버(110)와 같은 복수의 유저 스테이션을 상호 연결하기 위해 제공된다. 일 실시예에서, 네트워크(100)는 근거리 지역 통신망(local area network:LAN)일 수 도 있다. 다른 실시예에서, 네트워크(100)는 시스템 내에서 여전히 포함되는 사이트를 지리학적으로 대신하는 회사와 같은 엔티티(entity)를 위한 광역 통신망(wide area network:WAN)을 포함할 수 있다. 본 발명이 실시되는 환경을 제한할 의도는 없으며; 실제로, 많은 형식의 스테이션을 상호 연결하는 어떠한 형식의 네트워크도 실현될 수 있다.
프로필 매니지먼트 관리 오퍼레이팅 환경의 상위 다이어그램이 도 2에 나타내어진다. 관리자 클라이언트 네트워크 컴퓨터(200)는 도 2의 왼편에 그리고 시스템을 위한 서버(202)는 도 2의 오른편에 나타내어진다. 클라이언트 및 서버는 (203)으로 나타내진 네트워크(203)를 통해 통신한다. 도 2의 특별한 예는 클라이언트 컴퓨터가 시스템 관리자의 컴퓨터임을 가정한다.
클라이언트 상의 프로필 매니저(206)는, 관리자가 유저 및 그룹 레벨 둘 다에서 유저 애플렛 프레퍼런스를 구성하는 것을 허용한다. 관리자는 새로운 유저 및 그룹 계층을 생성할 수 있고, 유저를 다른 그룹으로 더할 수 있고, 각 그룹을 위하여 그리고 개별 유저를 위하여 애플렛 허가를 특정할 수 있다. 그리고, 관리자는 개별 유저 또는 그룹의 관계에서 애플렛을 구성할 수 있다. 관리자는 유저를 위한 패스워드를 더할 수 있고, 삭제할 수 있고, 리셋트할 수 있다. 프로필 관리 지원은 일반 유저에게 투명하다. 관리자는 어떠한 유저 또는 그룹의 관계에서 프로필 매니저(206)를 부를 수 있다. 오직 관리자만이 클라이언트(유저) 및 그룹을 관리하기 위하여 그의/그녀의 상황으로부터 변경할 수 있다. 서버는 관리 권한이 없는 유저가 상황을 스위치 하는 것을 허용하지 않을 것이다. 요구가 서버로 올 때, 그것은 이 기능을 접속하기 위해 시도하는 유저의 인증된 ID를 질의할 것이다. 유저가 관리 권한을 소유하지 않는다면(즉, AllUsers.Administrator group의 멤버가 아니면), 프로필 매니저 서블렛(214)은 요구를 거절할 것이다.
프로필 매니저(206)는 도 2에서 나타낸 바와 같은 애플렛1(208)과 같은 다른 애플렛을 부른다. 이 예에서, 애플렛1은 유저 데스크탑과 관련된 프레퍼런스를 구성하기 위하여 관리 애플렛일 수 있다. 또는, 애플렛1은 편집기, 워드 프로세서, 데이터베이스 등과 같은 엔드 유저 애플렛과 관련된 구성 유틸리티일 수 있다. (208)와 같은 구성 애플렛들이 그들의 상응하는 유저 애플렛으로부터 분리된 모듈로 존재하는 것이 요구되는 것은 아니지만, 바람직한 것이다. 도 2의 관계에서, 애플렛1은 전형적으로 유저 애플렛을 위한 구성 애플렛이고; 그룹 프레퍼런스 및 허가 디폴트를 정하기 위해 관리자는 그룹 상황하에서 또는 유저 상황에서 개별을 위한 유저 애플렛 구성을 주문 제작하기 위하여 구성 애플렛 애플렛1을 작동시킨다. 애플렛1을 그것의 유저 애플렛으로부터 분리된 모듈로서 실시함으로써, 구성 애플렛1이 유저 애플렛과 비교되어 작을 수 있을 것이므로, 성능은 향상될 수 있다. 또한, 분리된 구성 애플렛은, 관리자가 유저 애플렛을 구성하기 위해 엔드 유저 능력을 제어하는 것을 허용한다.
전형적인 단독 운영(stand-alone) 컴퓨터는 그것의 유저 애플렛과 지역적으로 결합된 유저 애플렛 구성 정보를 저장한다. 전형적인 단독 운영 자바 기반 컴퓨터는 java.util.Properties 클래스에 의해 제공되는 포맷을 사용하는 유저 애플렛 구성 정보를 저장한다. 둘 다의 배열은, 유저 애플렛이 유저 애플렛과 관련된 구성 정보를 저장하는 로칼 파일의 이름을 특정하는 것을 요구한다. 다시 말해서, 컴퓨터 및 그 위에 장착된 유저 애플렛 사이에 관계가 요구된다. 여기서 설명되는 프로필 관리는 실제 java.util.Properties 객체의 익숙한 가능성을 제공하고, 이에 더하여 부가의 시설은 유저를 찾는(user-roaming) 가능성과 그리고 흠 없는(seamless) 플러그빌리티(pluggability)를 강력한 프레임워크(프로필 매니저)로 더 제공한다.
프로필 매니저먼트 프로퍼티즈 P(210)는 애플렛1을 위한 프로퍼티즈 객체이고, 서버가 유저 및 그룹의 관계에서 애플렛1을 위한 구성 정보를 어디에 저장할 것인가를 결정하는 것을 허용하는 서버 및 애플렛1 사이에서의 API를 제공한다. 프로필 매니저먼트 프로퍼티즈 객체 클래스는 영구 저장으로부터 소프트웨어를 위한 구성 정보를 생성, 세이브, 그리고 검색을 제공하는 능력을 더 가지는 java.util.properties. 클래스의 모든 기능성을 제공할 수 있다. 그러한 정보를 중앙 위치에 저장함은 가능한 유저 및 그룹 구성의 매니저먼트를 만든다. 유저가 관리자의 역할을 할 때, 프로필 매니저먼트 프로퍼티즈(210)는, 관리자가 구성 애플렛1에 대응하는 유저 애플렛을 구성하고, 또는 애플렛1이 엔드 유저 애플렛이면 애플렛1을 구성하고, 그리고 적절한 상황 안의 서버 상에서 적절한 위치 안에 구성 정보를 저장하는 것을 허용한다. 이것은 종래의 시스템에서처럼 유저 애플렛 및 컴퓨터 사이에서보다, 유저 애플렛 및 유저 사이에서 관계의 설립을 허용한다. 프로필 매니저먼트 프로퍼티즈(210)는 java.util.Properties 클래스의 확장이다. 이 확장은, 프로퍼티즈 객체 프레퍼런스 정보의 키/값(key/value)의 쌍이, 스트림에 반대되고, java.util.Properties를 가진 키와 연관되는 것을 허용한다. 이것은, 교대로, 애플리케이션 디벨로퍼(developer)가 파일 이름과 경로보다도 프레퍼런스 정보를 위한 상황과 관련된 독특한 위치를 특정하기 위해 키를 사용하는 것을 허용한다. 프로필 매니저먼트 프로퍼티즈(210)는 키를 자동적으로 결정한다. 키의 발생은 도 8 및 9와 연관되어 상술된다. java.util.Properties 클래스 다음에 프로필 매니저먼트 프로퍼티즈(210)를 모델링함으로써, 시스템은 순환적인 클래스-디폴트 평가를 통해 프레퍼런스 인헤리턴스를 활용할 수 있다. 따라서, 이 확장된 클래스는, 도 3에 관련하여 논의된 바와 같이, 현재 상황에서 시작하는 프레퍼런스를 축적함으로써 그리고 디폴트를 위한 전후 관계상의 계층을 트래버싱 업(traversing up)함으로써 "그룹 디폴트"("group default") 능력을 제공한다.
서버(202)는, 유저 및 그룹 프레퍼런스 그리고 유저 애플렛 접속 허가와 같은 유저 데이터 및 그룹 데이터를 저장하는 데이터베이스(212)를 포함한다. 웹 서버(218)는 자바 애플렛을 위한 지원을 가진 전형적인 웹 서버를 나타낸다. 프로필 매니저 서블렛(214)은 유저 및 그룹 신원을 프레퍼런스 데이터로 맵(map)한다. 그것은 서버 상에서 애플리케이션으로 유저 접속을 관리하기 위해 접속 제어 리스트를 또한 유지한다.
유저 및 그룹 프레퍼런스는 도 3에서 나타낸 바와 같이 트리 구조(tree hierarchy)로 저장된다. 시스템의 모든 유저는 자동적으로 탑 그룹 AllUsers에 속한다. 모든 유저는 AllUsers 그룹에 속하고; 이 그룹은 서버 상에서 일부 또는 모든 유저 애플렛을 위하여 디폴트 프레퍼런스를 포함한다. 도 3에서, 서버는 App3, App4, App5로 신원 확인된 적어도 세 가지 유저 애플렛을 포함한다. AllUsers 그룹 안에서 지시된 바와 같이, App3을 위한 디폴트 백그라운드(default background: BG)는 BG= 파란색(blue)이다. x, y 그리고 z로 명시된 다른 설명적인 프레퍼런스이 상대적으로 1,2, 그리고 3의 디폴트값을 가진 것이 나타내어진다. 용어 x, y, 그리고 z는 어떠한 요구되는 프레퍼런스를 나타내기로 의도되고, 그리고 값 1,2, 그리고 3은 임의적이고 그리고 단지 그 점을 설명하기 위해 사용된다. x 프레퍼런스는 예를 들면 데스크탑을 위한 스크린 폰트(screen font)일 수 있고; 값 x=1은 타임스-로만(Times-Roman)의 디폴트 폰트를 요구할 수 있다. 유사하게, 모든 유저를 위한 App4를 위한 디폴트 프레퍼런스는 BG= 회색(gray), x=2, y=2, 그리고 z=2이다.
AllUsers 그룹 안의 디폴트 값은 다른 유저 그룹 및 개별 유저를 위하는 것과 같은 다른 상황을 위한 어떠한 요구되는 방법으로 변경될 수 있다. 예의 방법에 의해, 도 3에서 AllUsers의 상황에 덧붙여, 네 개의 그룹(그룹 X, 그룹 Y, 그룹 Y1, 그리고 그룹 Y2)이 나타내어진다. 덧붙여, 두 개별 유저1, 유저N이 나타내어진다. 유저는 한 개 그룹 이상의 멤버일 수 있다. 도 3에서, 유저1은 AllUsers, 그룹 X, 그룹 Y1의 멤버이고; 유저N은 AllUsers 및 그룹 Y2의 멤버이다. 유저가 한 그룹 이상의 멤버라면(AllUsers에 덧붙인 다른 그룹), 그룹은 그 유저를 위한 주어진 애플렛을 위해 프레퍼런스를 고를 목적으로 우선 순위가 주어진다. 관리자는 유저를 위해 그룹 우선 순위를 구성한다. 그룹 우선 순위는 도 4에 설명된다. 도 4에서, 유저1은 그의/그녀의 가장 높은 우선 순위 그룹을 위해 그룹X(AllUsers.그룹X의 완전히 자격 있는 이름으로 신원 확인된)를 가진다. 유저1의 다음의 가장 높은 우선 순위 그룹은 그룹 Y1(AllUsers. 그룹 Y. 그룹 Y1)이다. 유저1의 가장 낮은 우선 순위 그룹은 AllUsers 그룹이다. 유저1이라고 하는 유저가 App3라고 하는 애플렛을 작동할 것을 요구할 때, 프레퍼런스은 유저가 속하고 유저 애플렛이 유저 데스크탑 상에서 따라서 구성되는 그룹 또는 그룹들에 따라 도 3의 트리로부터 합체된다.
어떠한 상황을 위한 프레퍼런스를 합체하는데 있어서의 제 1 스텝은 디폴트를 취하는 것이다. 유저를 위한 디폴트는, 만약 어떠한 것들이 있다면, 애플렛을 위한 프레퍼런스 정보가 획득될 수 있는 가장 높은 우선 순위 그룹으로부터 애플렛을 위한 프레퍼런스의 합체된 셋트이다. 그룹을 위한 디폴트는, 만약 어떠한 것들이 있다면, 그룹 패어런트(즉, AllUsers 그룹은 AllUsers.그룹X의 패어런트(parent)이다)로부터 애플렛을 위한 프레퍼런스의 합체된 셋트이다. 그룹이 패어런트를 가지고 있지 않다면(즉, 탑 레벨 AllUsers 그룹), 그 그룹을 위한 디폴트는 없다. 상황에서 애플렛을 위한 프레퍼런스를 합체하기 위해, 상황에 명백하게 저장된 애플렛을 위한 프레퍼런스는 상황을 위한 애플렛을 위하여 디폴트 프레퍼런스를 오버라이트(overwrite)한다. 따라서, 그룹 상황 안의 애플렛을 위한 디폴트 셋트로 프레퍼런스를 합체하기 위해, 순환하는 콜(recursive call)은 각 그룹 노드로부터 애플렛을 위한 프레퍼런스의 각 패어런트 셋트를 요구하는 AllUsers 그룹으로 만들어진다. 다음의 예를 설명하기 위해 도 3을 참조하기 바란다. 예를 들면, 상황이 All.Users. 그룹 Y. 그룹 Y1이면, 콜은 애플렛을 위한 그것의 디폴트 프레퍼런스를 요구하는 그룹 Y인, 그룹 Y1의 패어런트로 만들어진다. 그룹 Y1은 순환적인 콜을, AllUsers인, 그것의 패어런트로 만든다. AllUsers는 패어런트를 가지지 않는다, 따라서 AllUsers는, 애플렛을 위해 그룹 Y로부터의 콜로 프레퍼런스의 셋트를 리턴 한다. 이 프레퍼런스의 셋트는, 어떤 경우에, 애플렛을 위해 그룹Y에 저장된 프레퍼런스에 의해 변경된다. 이것은 그룹Y1의 상황을 위해 애플렛을 위한 프레퍼런스의 디폴트 셋트이다. 디폴트 프레퍼런스의 이 셋트는 그룹 Y1으로부터 그룹Y로의 순환적인 콜의 결과로서 그룹Y1로 리턴 된다, 그리고, 어떤 경우에, 이 예에서 사용되는 프레퍼런스의 실제 셋트가 되기 위해 애플렛을 위한 그룹 Y1에서 프레퍼런스에 의해 변경된다. 프레퍼런스 정보가 유저를 위해서 획득될 수 있는 최상위 우선 순위 그룹이 디폴트가 획득될 그룹 상황을 먼저 설립하기 위해 사용되는 것을 제외하고, 유저의 상황을 위한 프레퍼런스의 셋트가 동일한 방법 안에서 세워진다. 전술된 순환적인 프로시저는 유저 그리고 유저에 의해 요구되는 애플렛을 위하여 프레퍼런스의 실제적인 셋트를 세우기 위해 사용된다.
뒤따르는 예가 위의 프레퍼런스 합체를 설명하므로 도 3과 결합되어 읽혀져야 한다.
예 1 : 관리자는 그룹 AllUsers. 그룹 X를 위해 프레퍼런스를 셋트하기 위해 App3을 위한 구성 애플렛을 작동한다.
AllUsers. 그룹X의 관계에서 App3을 위한 프레퍼런스를 셋트하기 위하여, 프레퍼런스의 현재 셋트가 결정되어야 한다. AllUsers. 그룹 X는 그것의 패어런트 AllUsers를 위해 디폴트를 요구한다. AllUsers가 탑 레벨 그룹이기 때문에, 그것은 그것의 프레퍼런스를 App3을 위해 Group X로 리턴 한다. 이것들은 Group X의 관계에서 App3을 위한 디폴트 프레퍼런스이다. Group X가 App3을 위해 프레퍼런스를 가지고 있지 않기 때문에, AllUsers로부터의 디폴트 셋트는 사용되어지는 프레퍼런스의 실제 셋트이다. 이 예에서, AllUsers 그룹으로부터의 이들 프레퍼런스는 : BG = 파란색(blue), x = 1, y = 2, z = 3. 관리자는, 어떠한 요구되는 방법에서 합체 프레퍼런스를 변경하기 위하여 구성 애플렛 사용을 지금 변경할 수 있다.
예 2 : 유저1은 com.ibm.App3의 실행을 요구한다. 프레퍼런스는, 유저1의 관계에서 com.ibm.App3을 위해 합체되어야 한다.
도 4는 유저1을 위한 최상의 우선 순위 그룹이 AllUsers.그룹X임을 나타내고; 그룹 계층의 이 브랜치가 App3에 속하는 프레퍼런스 정보를 위해 먼저 검사될 것이다. 여기서부터, 프레퍼런스의 합체된 셋트가 유저의 워크스테이션 상에서 App3을 구성하기 위해 사용되는 것을 제외하고는, 이 예가 위 예1과 본질적으로 동일하다. App3을 위한 User1의 상황 안에서 저장된 BG= 녹색(Green) 프레퍼런스가 프레퍼런스 트리의 브랜치 AllUsers.그룹X로부터 획득된 디폴트 BG= 파란색(Blue) 프레퍼런스를 무시하기 때문에, 유저1을 위한 App3을 위한 프레퍼런스들이: BG= 녹색(Green),x=1,y=2,z=3이다.
예3 : User1의 관계에서 com.ibm.App6을 위한 합체 프레퍼런스.
이 예는 User1의 상황을 위한 합체되지 않은 프레퍼런스를 포함하는 최상위 우선 순위 그룹의 상태를 설명한다. 다시, 유저1을 위한 최상위 우선 순위는 그룹X이다. 이 그룹 및 그것의 페어런트 AllUsers는 App6을 위한 프레퍼런스를 포함하지 않는다. User1을 위한 다음의 최상위 우선 순위 그룹은 그룹Y1이다. 프레퍼런스의 셋트가 Apps6을 위한 이 그룹으로부터 획득될 수 있다. 프레퍼런스의 합체가 예1에서 설명된 바와 같이 진행한다. 순환하는 콜들은 그룹 Y1위의 트리로부터 루트(root) AllUsers 그룹으로 만들어지고, 프레퍼런스 셋트는 순환하는 콜 아래로 리턴 되고, 디폴트 셋트를 구성하기 위한 방법을 따라 변경된다. 디폴트 셋트는, 이 상황에 적용하는 프레퍼런스의 합체 셋트를 구성하기 위해 그룹 Y1 안에 저장된 프레퍼런스와 함께 변경된다. 간단히 설명되면, 그것이 App6을 위한 프레퍼런스를 가지고 있지 않기 때문에, AllUsers는 프레퍼런스의 널(null)셋트를 리턴 한다. 그룹 Y는 값 a=1 및 b=2 와 함께 이 널 셋트를 변경하고, 이 셋트를 디폴트 셋트로서 그룹Y1로 리턴 한다. 그룹 Y1은 a=33과 함께 디폴트 셋트를 변경한다. 이 셋트는 그것의 디폴트 셋트로서 사용을 위해 User1의 상황으로 리턴 된다. User1 상황에서 App6을 위한 프레퍼런스가 없기 때문에, 프레퍼런스 트리의 그룹 Y1 브랜치로부터 획득되는 디폴트는 Apps6를위한 완전히 합체된 프레퍼런스 셋트를 나타낸다. 프레퍼런스의 실제 셋트는 이 상황을 위해 a=33, b=2가 된다.
위의 세가지 예는 소프트웨어 의 특정 부분을 위한 로드(load)()에 응답하여 프레퍼런스의 수집을 설명했다. 프레퍼런스 정보가 소프트웨어 부분을 위해 세이브될 때, 상황에서 명백히 기록된 세이브되는 프레퍼런스는 프레퍼런스가 저장된 소프트웨어를 위한 키이고 그리고 작동되는 상황 소프트웨어의 결합에 의해 지정되는 위치에서 데이터 저장(212)으로 기록될 것이다.
허가는 유사하게 동작한다: 새로운 그룹은 그것의 슈퍼 그룹에 의해 허가되는 모든 애플렛뿐만 아니라 그룹 그자신에 의해 허가되는 모든 애플렛 이름으로의 접속을 가진다. 그러나, 자바는 프로그래머가 슈퍼 클래스 방법을 무시하는 것을 허용하는 것처럼, 프로필 매니저먼트는 시스템 관리자 능력이 인헤리트(inherited)된 허가를 무시하는 것을 허용한다. 이것은 허가를 무시하는 것(overriding)으로 불리운다.
인헤리턴스의 자바의 형태를 가지고서, 프레퍼런스 및 허가 인헤리턴스의 프로필 매니저먼트 형태는 단일 인헤리턴스로 불리운다. 단일 인헤리턴스는 각 프로필매니지먼트 그룹이 오직 하나의 슈퍼 그룹을 가질 수 있는 것을 (어떠한 주어진 슈퍼그룹이 복수의 서브그룹을 가질 수 있다하더라도)의미한다.
프로필 매니저먼트 유저(leaf node)는 복수의 그룹에서 멤버쉽을 필요로 할 수 있다. 그럼으로써 시설은, 크로스 그룹 브랜치 합체에 의해서 소개되는 양립할 수 없는 변하는 서브 셋트의 소개 때문에 변질된 구성의 변화를 최소화하기 위하여 프레퍼런스 인헤리턴스를 단일 계층 그룹으로 제한하는 것이 요구된다. 유저의 그룹 멤버쉽이 우선 순위로 지정되는 것을 허용함으로써, 특정의 애플렛과 관련된 프레퍼런스를 찾을 때 프로필 메니지먼트는 검색 순서를 뒤따를 수 있다. 다시 말해서, 최상위 우선 순위를 가진 그룹과 함께 시작할 때 검색은 그것의 프레퍼런스를 로드 하려는 애플렛을 위해 구성 데이터를 포함하는 것으로 발견된 제1그룹에서 멈출 것이다.
유저는 그룹 멤버쉽으로부터 소프트웨어 허가를 물려받는다. 조심스러운 기업 모델링과 함께, 관리자는, 패널을 통하여 항해(navigate)하여야 할 필요 없이, 한번에 하나의 유저씩, 많은 유저로의 소프트웨어 접속을 지정할 수 있다. 프로필 메니저먼트는, 웹 서버가 애플렛으로의 접속을 허가/거절 하도록 프로그램밍함으로써 접속을 제어한다. 웹 서버는 접속제어를 실시한다. 프로필 매니저 서블렛은, 인증 목적으로 웹 서버로 경유되는 유저 ID(ID's) 및 패스워드를 요구하는 웹 서버에 의하여 보호된다. 요구 되는대로 유저 패스워드를 일러주는 것은 표준 브라우저(browser)기능이다.
도 5는 도 2의 시스템을 더욱 상세하게 나타낸다. 구성 애플렛 애플렛1은 프로필 매니저먼트 프레임워크 내의 관리자에 의해 불리어진다. 애플렛1은, 프로필 매니저먼트 프레임워크 내에서 밀접하게 집적하기 위해 그것의 동작환경(예를 들면, 질의 상황, 상황이 변경된 이벤트, 이 상황를 위한 질의 접속 제어 리스트)에 관한 정보를 질의하기 위해 애플리케이션 프로그램 인터페이스(API)(515)를 실시하고, 이것은 구성 애플렛을 위한 요구가 아니다. 어떠한 이벤트에서 애플렛1의 설계자는 오직 기본적 API 방법 : java.util.Properties객체로 그리고 객체로부터 프레퍼런스정보를 얻기 위해 사용되는 java.util.Properties객체의 기본적 방법에 부가하여 인에이블 퍼시스턴스(enable Persistence)(),로드(),그리고 세이브()를 이해할 필요가 있다. API(515)는 부가적으로 리스트() 그리고 getContext() 방법을 제공한다. 애플렛1은 오직 프로필 매니지먼트 프로퍼티즈 클래스와 함께 등록할 필요만 있고, 이 방법들을 적절한 것으로 호출한다. 로드() 방법은, 관리자에 의해 프레퍼런스되는 유저 또는 그룹의 관계에서 구성되는 유저 애플렛을 위해 프레퍼런스의 현재 상태를 검색하기 위해 호출될 수 있다. 관리자는, 요구되는 대로 프레퍼런스를 변경할 수 있고 그것의 프로필 매니지먼트 프로퍼티즈 객체의 세이브() 방법을 사용하여 애플렛에 의해 제공되는 구성 세이브 기능성을 사용하는 그들을 저장할 수 있다. 유사하게, 애플렛1이 접속을 위해 유저에 의해 승인되는 유저 애플렛의 리스트를 필요로 한다면, 그것은 서버로부터 리스트를 획득하기 위하여 리스트() 방법을 사용할 수 있다. getContext() 방법은, 그것이 작동하고 있는 상황의 이름을 나타내기 위하여 또는 그것이 오직 어떠한 상황에서 작동하는 것을 보장하기 위하여 애플렛에 의하여 사용될 수 있다(즉, 애플렛이 익스포트 에이전트를 사용하는 서버 상에서 서비스를 구성하기를 원한다면, 익스포트 되는 구성이 특정의 유저에 반대되는 바와 같은 특정의 서버이기 때문에, 그것은 그 자신이 AllUsers에서 작동되는 것을 오로지 허용할 수만 있다). 프로필 매니지먼트 프로퍼티즈(410) 안에서 작동하는 애플렛1에 대해, 요구되는 모든 것은 애플렛이 프로필 매니지먼트 프로퍼티즈(410)와 함께 등록하고 프로필 매니지먼트 프로퍼티즈 클래스의 실시 즉,jsva,util.Proerrties class의 확장이다.
프로필 매니저 (506)는 또한 구성 애플렛을 위한 상황 변화 (API)(516)를 제공한다. 애플렛1은 상황 변화 이벤트 리스너(listener)(512)를 실시할 수 있다. API(516) 및 이벤트 리스너(512)는, 관리자가 구성 애플렛 작동 동안 멈추거나 그것을 재 시작해야 할 필요 없이 상황을 변경하는 것을 허용한다. 예를 들면, 애플렛 유저 프레퍼런스를 구성할 때, 관리자는 구성동안 여러 번 상황을 변경할 것이다. 구성 애플렛이 그러한 이벤트로 리스너로서 등록된다면, 프로필 매니저 (506)는 그것에게 API(516)을 통해 상황 변화를 통지할 것이다. 이것은, 애플렛1이 각 새로운 상황을 위해 서버로부터 그것의 프레퍼런스를 재생(refresh)하는 것을 허용한다. 이벤트 리스너(API)없이, 새로운 상황을 위해 존재하는 프레퍼런스 정보를 참조하고, 그리고 프로필 매니지먼트 애플렛에 의해 멈추어지고 재 시작하는 것을 방지하기 위해 선택되어진 후에, 애플렛1은 관리자에 의해 종료되고 재 시작되어야 할 것이다. 등록하기 위해, 애플렛1은 그것의 프로퍼티즈 객체 프로필 매니지먼트 프로퍼티즈(510), 즉 그 자신을 등록할 addContexChangeListner(API516) 상에서 방법을 호출한다. 관리자가 새로운 상황을 정할 때, 프로필 매니저(506)는 객체(510)로 셋트 상황(API516)을 수행하고, 그것은 응답하여 이벤트 리스너(512)상에서 리로드(reload)방법(API516)을 호출한다. 이벤트 리스너(512)는 새로운 상황을 위해 서버로부터 새로운 프레퍼런스 데이터를 얻기 위해 그것의 프로퍼티즈 객체(510)로 로드 프로퍼티를 수행하고, 그리고 애플렛1이 새로운 프레퍼런스 정보를 반영하기 위해 그것의 GUI 및 내부 변수를 갱신하게 한다.
새로운 상황 안에서 구성 변화를 만들기 전에 로드()를 하려고 의도할 때, 위의 기능은 한 상황으로부터 네트워크 관리자 판독 데이터, 상황 변경, 그리고 세이브()와 함께 오버라이팅(overwriting)의 가능성을 피한다.
관리자가 상황 변경을 강제할 때, 프로필 매니저 애플렛에 의해 리스너가 정지되고, 파괴되고, 리로드되고, 그리고 재 시작될 것이기 때문에 애플렛은 등록하지 않는다.
프로필 매니저먼트는 또한 이 프로필 매니지먼트 환경으로 존재하는 하드웨어 및 소프트웨어의 용이한 리트로피팅(retrofitting)을 허용하기 위해 "프로퍼티즈 익스포트"서비스를 제공한다. 프로퍼티즈 익스포트 서비스는 프로필 매니저 (514)가 유저, 그룹, 그리고 유저 애플리케이션뿐만 아니라 유저 워크스테이션(물리적 하드웨어)을 지원하도록 허용한다. 존재하는 워크스테이션이 프로필 매니지먼트 프로퍼티즈(510)에 대해서 알지 못하기 때문에, 익스포트 서비스는, 워크스테이션 벤더가 프레퍼런스 정보를 세이브할 때 서버 상에서 특정 익스포트 에이전트(520)가 불리어지도록 특정하는 워크스테이션-구성 애플렛을 생성하는 것을 허용한다. 익스포트 태그(export tag)는, 워크스테이션이 구성됨에 의해 요구되는 어떠한 프로프리타리(proprietary)파일 포맷/파일 위치에서도 워크스테이션 구성 정보가 세이브되는 것을 지정하기 위하여 벤더-공급 클래스 (익스포트 에이전트(520)객체)의 예가 생성되고 익스포트 방법이 객체 상에서 불리어지는 것을 야기시킨다.
애플렛1이, 현재의 프로필 매니지먼트 시스템과 양립할 수 없는 존재하는 터미널을 위한 벤더에 의해 제공되는 구성 애플렛임을 가정하자. 벤더 또한 익스포트 에이전트(520)를 제공한다. 관리자는 프로필 매니저(506)를 작동시킴으로써 이 시스템에서 동작을 위한 터미널을 구성할 수 있고, 터미널이 구성되도록 상황을 정할 수 있고, 벤더 공급 구성 애플렛 1을 작동할 수 있고, 그리고 애플렛을 구성할 수 있다. 관리자가 구성을 세이브할 때, 서버로 전송되는 정보의 부분은 터미널이 구성되는 것을 확인하는 독특한 확인자이다. 전형적으로, 이것은 터미널의 MAC(Media Access Control)어드레스이다. 프로필 매니저 서블렛(514)은 세이브 상에서 익스포트 에이전트가 저장되는 것을 검출한다. 프로필 매니저 서블렛(514)은 익스포트 에이전트를 위한 요구를 지정하는 세이브된 프레퍼런스의 하나로부터 이것을 검출한다. 프레퍼런스는 아래의 키 값 쌍의 형태로 익스포트 태그를 지정한다.
xxxxEXPORT-AGENTxxxx={fully }
익스포트 에이전트의 익스포트 (Context context, config properties) 방법은 세이브 프레퍼런스 정보로부터 서버 상에서 하나 또는 그 이상의 파일 (522)을 생성하기 위해 프로필 매니저 서블렛 (514)에 의하여 호출된다. 특정의 파일 또는 파일들이 애플렛1으로부터 프로퍼티즈 정보에 부수되는 터미널의 독특한 확인자에 의하여 확인된다. 터미널이 나중에 부트 업(boot up)할 때, 터미날은, 프로필 매니저먼트 시스템에 대해 독립적으로, 그것이 항상해왔던 동일한 방법으로 서버 상에서 파일(522)로부터 그것의 구성 정보를 위치하고 검색하기 위해 그것의 독특한 확인자를 사용한다.
도6은 클라이언트 컴퓨터 상에 작동하는 애플렛2를 설명한다. 애플렛2는 워드프로세서와 같은 엔드-유저 애플렛일 수 있다. 어떠한 이벤트에서, 애플렛2는, 그것이 요구하면, 도5의 (515)에 나타내어진 동일한 API 방법의 일부로 접속을 가진다. 애플렛2는 프레퍼런스를 검색하기 위해 로드 방법을 사용하고, 엔드 유저에 의해 변경될 수 있는 어떠한 프레퍼런스를 세이브하기 위해 세이브 방법을 사용한다. 관리자와 관련되어 전술된 바와 같이, 인에이블퍼시스턴스(EnablePersistence)는 유저와의 동일한 관계에서 애플렛2를 위한 프로필 매니지먼트 프로퍼티즈를 초기화하고, 서버 상에서 프레퍼런스 정보 저장을 확인하기 위한 독특한 키를 발생한다.
도7은 그의/그녀의 데스크탑을 설명하는 유저의 상황을 나타낸다. 클라이언트(700)상의 유저는 서버 상에서 데스크탑 애플렛의 URL에서 그의/그녀의 웹 브라우저를 지시하고, 스텝(704)에서 메시지 (http//server/Desktop.html)를 보낸다. Desktop.html은 서버가 보호하는 파일이므로, 회답(challenge)은 클라이언트(706) 상에서 웹 브라우저로 재송신 된다. 클라이언트 상의 웹브라우저는 유저 ID 및 패스워드를 위한 유저를 프롬프팅(prompting)함으로써 응답한다. 클라이언트는 유저 ID 및 패스워드 정보를 서버(708)로 송신한다. 유저 ID 및 패스워드는, 이 정보가 웹브라우저 자신에 의해 통과됨을 설명하기 위하여 도3의 (708)에 나타내어진다. 이 형식의 명칭은 동일한 것을 나타내기 위하여 다른 장소에서 사용된다. 아마, 유저가 데스크탑 애플렛을 작동하기 위한 허가를 가지기 때문에, 요구는 승낙될 것이다(honored).
데스크탑 애플렛을 위한 코드가 서버로부터 클라이언트로 로드되는 곳에 클라이언트와 서버사이에 일련의 상호작용(나타내어지지 않음)이 있다. 데스크탑 객체는 생성되고 (712)에서 실행하기 시작한다. 데스크탑 객체는 그것의 프레퍼런스 정보를(즉, 구성 정보를) 필요로 하고, 따라서 그것은, 그것을 부르는 엔드 유저를 위한 데스크탑을 맞추어 만들 수 있다(tailor). 결국, 데스크탑 객체의 초기화 프로세스의 부분으로서, 데스크탑은 (714)에서 프로필 매니지먼트 프로퍼티즈 객체 P를 생성하고, 이 객체는 데스크탑 애플렛을 위해 서버로부터 유저의 프레퍼런스 정보의 복사를 로드하고, 가지고, 캐쉬하고, 셋트하고, 그리고 세이브하기 위해 사용된다. 그리고, 데스크탑 객체는 API 콜(call) P.인에이블(enable) 퍼시스턴스(데스크탑 객체(애플렛))를 수행하고(716), 프로필 매니저 서블렛(214)의 URL와 함께 프로필 매니지먼트 프로퍼티즈 객체 P를 초기화한다. 이 URL은, 이전에 서버로부터 로드된 데스크탑 애플렛의 URL로부터 유도된다. 프로필 매니지먼트 프로퍼티즈 객체 P는, 데스크탑 애플렛을 작동하는 유저를 위한 상황을 가지기 위해 요구(718)를 프로필 매니저 서블렛(214)으로 송신한다. 이 경우에, 상황은 두 요소로 구성되며, 유저의 ID인 상황 이름, 그리고 이 경우에 유저인 상황 형식이다. 프로필 매니저 서블렛은 요구(718)로부터 유저 ID를 취하고, 유저 상황을 리턴 한다(719). (716)의 스텝(2)에서 프로필 매니지먼트 프로퍼티즈 객체 P는 데스크탑을 작동하는 유저의 상황과 함께 초기화된다. (716)의 스텝(3)에서, 프로필 매니지먼트 프로퍼티즈 객체 P는 그것의 완전히 자격 있는 클래스 이름을 위해 자바 데스크탑 객체 P를 질의함으로써 데스크탑 소프트웨어를 위한 독특한 키를 발생한다. 모든 자바 객체는 그들의 클래스 이름을 안다. 이 독특한 키는, 데스크탑 애플리케이션을 위한 유저 특정 프레퍼런스 정보를 저장하기 위해 데이터 베이스(212)안에 독특한 위치를 특정하는 파라미터를 제공하기 위해 유저의 상황 정보와 결합된다. 어떠한 요구되는 방법이 완전히 자격 있는 클래스 이름 그리고 유저 상황 정보로 구성되어 있는 스트링을 데이터 저장 위치로 맵핑하기 위해 사용될 수 있다. 다음으로, 요구(720)는 데스크탑 애플렛을 위해, 유저를 위해 맞추어진 프레퍼런스 정보를 취하기 위해 프로필 매니저 서블렛(214)으로 송신된다. 상황 및 키는 요구된 프레퍼런스 정보를 확인하기 위해 요구(720)의 부분으로서 통과된다. 프로필 매니저 서블렛(214)은 요구된 프레퍼런스 정보(722)에 응답하고, 이 정보는 프로필 매니저먼트 프로퍼티즈 객체 P(604) 안에서 캐쉬(cache)된다.
도8에서 계속하여, 데스크탑 객체(800)는 그것의 프로필 매니저먼트 프로퍼티즈 객체 P로부터 그것의 프레퍼런스 정보를 판독하고, 따라서 데스크탑을 갱신함을 시작한다(즉, 그것은 화면색을 푸른색으로 정할 수 있고, 아이콘의 위치에 관한 정보 등을 취할 수 있다). 데스크탑 객체는, 유저가 접속 허가를 가지는 소프트웨어의 리스트를 취하기 위해 그것의 프로필 매니저먼트 프로퍼티즈 객체 P 상에서 방법을 호출한다. 프로필 매니저먼트 프로퍼티즈 객체 P는 프로필 매니저 서블렛(214)으로부터 정보를 요구하고(802), 이 서블렛은 요구된 정보(804)와 함께 응답을 발생한다. 유저가 접속을 가지는 각 그러한 애플렛에 대해, 정보는 유저의 친근한 이름, 애플렛의 URL, 애플렛을 위한 아이콘의 URL(데스크탑이 데스크탑 상에서 애플렛을 나타내기 위하여 그리고 그것을 로드하고 착수하기 위해 요구되는 정보) 그리고 본 발명에 관련이 없는 다른 프레퍼런스적 요소(material)를 포함한다. 이 정보는 프로필 매니저먼트 프로퍼티즈 객체 P 안에 저장되고, 데스크탑 객체로 리턴 된다. (806)에서, 데스크탑 객체는 애플렛을 위한 폴더(folder)를 구축하기 위해, 그리고 유저가 접속을 가지는 각 애플렛을 위한 윈도우가 아이콘 및 유저의 친근한 이름을 디스플레이 하는 것을 발생하기 위해 애플렛 정보를 사용한다.
유저에 의한 데스크탑의 이전의 작동에서, 유저는 설명된 폴더에서 디스플레이된 어떤 소프트웨어의 일부분을 위한 아이콘을 드래그(drag)하고 드롭(drop)한다. 유저가, 이때에 폴더로부터 데스크탑으로 드래그되고 드롭된 애플렛으로 더 이상 접속을 가지지 않는 것이 가능하다. 그러나, 이 데스크탑 객체는 일반적으로 마지막 작동 동안 세이브된 유저 프레퍼런스의 부분일 수 있고, 데스크탑 상에서 여전히 디스플레이될 수 있다. 이 상태를 피하기 위해, 데스크탑은 유저가 접속을 가지는 모든 애플렛을 디스플레이하기 위해 발생되는 윈도우(window)로부터 벗어나 나타나기 위해 구성된 애플렛을 위해 점검하기 위하여 그것의 프로필 매니저먼트 프로퍼티즈 객체 P로부터 그것의 프레퍼런스를 검사한다. 도 8은 발생되는 애플렛 윈도우로부터 벗어난 오직 하나의 애플렛이 있다는 것을 가정한다. 애플렛 윈도우의 바깥에 그러한 애플렛이 하나이상 있다면, 뒤따르는 프로시저는 각각의 그러한 애플렛을 위해 루프(loop)될 것이다. 스텝(810)에서, 데스크탑은, 유저가 접속을 가지는 서버로부터 애플렛의 리스트에 대하여 애플렛 윈도우의 바깥에 나타나는 이러한 각각의 애플렛을 점검한다. 리스트 안에서 애플렛이 나타나면, 애플렛을 위한 아이콘이 이전과 같이 동일한 위치 안에서 데스크탑(810)상에 위치한다. 유저가 애플렛으로 접속을 더 이상 가지지 않는다면, 애플렛은 스텝(814)에서의 데스크탑 프레퍼런스으로부터 제거되고, 프로필 매니저먼트 프로퍼티즈 객체 P로부터 제거된다. 어떤 애플렛이 이 프로세스의 부분으로 제거되면, 데스크탑은 프로필 매니저먼트 프로퍼티즈 객체 P가 스텝(816)에서 프레퍼런스를 세이브하도록 말한다. 프로필 매니저먼트 프로퍼티즈 객체 P는 데이터베이스(212)안에서 새로운 프레퍼런스정보를 세이브하기 위하여 프레퍼런스, 키, 그리고 프로필 매니저 서블렛(214)으로 상황 정보를 가진 요구(818)를 송신한다. 서버는, 프로필 매니저먼트 프로퍼티즈 객체 P에 요구가 성공적으로 완성되었음을 통지하는 프로필 매니저먼트 프로퍼티즈 객체 P로 응답(820)을 송신한다.
도 9는 다른 유저 또는 유저의 그룹을 위한 애플렛을 위해 프레퍼런스를 구성하기 위해 구성 애플렛을 작동하는 관리자의 상태를 설명한다. 여기서 논의된 원리가 터미널 또는 터미널의 그룹의 구성에 일반적으로 적용되는 것이 이해되어진다. 클라이언트(900)상의 관리자는 서버 상에서 프로필 매니저 애플렛(214)으로 그의/그녀의 웹 브라우저를 지시한다. URL은 서버로 송신된다(904). ProfileManager.html이 서버가 보호하는 파일이므로, 회답은 클라이언트 상에서 웹 브라우저로 재송신된다(906). 웹 브라우저는, 유저 ID 및 패스워드를 위한 관리자를 프롬프팅 함으로써 응답한다. Profile Manager.html을 얻기 위한 요구는 메시지 안에서 포함되는 유저 ID 및 패스워드와 함께 서버로 (908)에서 반복된다. 아마도, 관리자가 프로필 매니저를 작동할 허가를 가진다면, 요구는 승낙되고 프로필 매니저 애플렛은 관리자 터미널(910)로 다운로드된다. 프로필 매니저 애플렛을 위한 코드가 서버로부터 클라이언트로 로드되는 클라이언트와 서버 사이에 (여기에서는 나타내어지지 않음)일련의 상호작용이 있다. 프로필 매니저 객체는 생성되고 스텝(912)에서 실행하기 시작한다.
프로필 매니지먼트 프로퍼티즈_비 상황 플로팅(non Context Floating)은 일반적인 프로필 매니저먼트 프로퍼티즈 객체 대신에 프로필 매니저에 의해 사용된다. 그것은 하나의 예외와 함께 프로필 매니저먼트 프로퍼티즈 객체로서 동일한 행동을 가진다: 프레퍼런스들이 로드되고 세이브될 때 그들은, 관리자가 구성하는 상황(즉 유저 또는 유저그룹)으로 그리고 상황으로부터 로딩하고 세이빙하는 것에 반대하여, 프로필 매니저를 작동하는 관리자의 상황으로 그리고 상황로부터 로드되고 세이브된다.
프로필 매니저 객체는 그것의 프레퍼런스 정보(즉, 구성 정보)를 필요로 하고, 따라서 관리자가 그것을 부르는 프로필 매니저를 맞춤 제작(tailor)할 수 있다. 결국, 프로필 매니저 객체의 초기와 프로세스의 부분으로써, 프로필 매니저는 스텝(914)에서 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 P_NCF를 생성하고, 이 객체는 프로필 매니저 애플렛을 위해 서버로부터 관리자의 프레퍼런스 정보의 카피를 로드하고, 취하고, 캐쉬하고, 정하고, 그리고 세이브하기 위해 사용된다. 프로필 매니저 객체는 P_NCF.enablePersistence(프로필 매니저 객체 (애플렛))를 호출하고, 이 객체는 스텝 (916의1)에서 프로필 매니저 서블렛(214)의 URL과 함께 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 P_NCF를 초기화 한다. 이 URL은 프로필 매니저 애플렛의 URL로부터 유도된다. 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 P_NCF는 관리자 및 상황 형식(USER)의 상황 이름(ID)을 얻기 위해 요구(918)를 프로필 매니저 서블렛(214)으로 송신한다. 프로필 매니저 서블렛은 요구(918)로부터 관리자의 ID를 얻는다. 웹 브라우저는 메시지 안의 관리자 ID 및 패스워드를 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 P_NCF에 의해 송신된 정보를 따라 통과시킨다. 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 P_NCF는 스텝(916의 2)에서 애플렛을 작동하는 관리자의 상황과 함께 초기화된다. 스텝(916의 3)에서, 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 P_NCF는, 그것의 완전히 자격이 주어진 클래스 이름(즉, Profile ManagerObject .getClass0.getName0)을 위하여 자바 프로필 매니저 오브젝트 객체(JavaProfile ManagerObject)(enablePersistence call 안에서 파라미터로 통과됨)를 질의함으로써 프로필 매니저 애플렛을 위해 독특한 키를 발생한다. 관리자의 상황 정보와 결합된 독특한 키는, 프로필 매니저 애플렛을 위한 관리자의 특정 프레퍼런스 정보를 위한 데이터베이스(212) 안에서 독특한 위치를 특정하기 위하여 맵핑된다.
요구(922)는, 관리자를 위해 구성된 바와 같이 프로필 매니저를 위해 맞춤 제작된 프레퍼런스 정보를 얻기 위하여 프로필 매니저 서블렛(214)으로 송신된다. 요구(922)는 적절한 프레퍼런스 정보를 확인하기 위하여 적절한 상황 이름 그리고 형식 그리고 키 정보를 포함한다. 프로필 매니저 서블렛(214)은 요구된 프레퍼런스 정보(924)에 응답하고, 이 정보 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 P_NCF 안에 캐쉬(cashe)된다. 프로필 매니저는 프로필 매니저먼트 프로퍼티즈_비 상황 플로팅으로부터 그것의 프레퍼런스 정보를 판독하고, 따라서 그 자신을 갱신한다(즉, 예를 들면, 바탕색을 푸른색으로 정함).
동작은 도 10에서 계속된다. 프로필 매니저는 프로필 매니저 서블렛(214)으로부터 존재하는 유저들, 유저 그룹들, 그리고 소프트웨어에 대한 정보를 요구하고, 스텝(1002)에서 프로필 매니저 구성 윈도우의 왼쪽 패널 안의 트리를 짓는다. 관리자의 왼쪽 패널의 예를 위해 도 13에서 24까지 참조 바란다. 이 시점(1004)에서, 관리자는 왼쪽 패널 트리로부터 유저 또는 그룹을 클릭함으로써 구조를 위한 요구되는 상황을 프레퍼런스한다. 프로필 매니저는 P_NCF.setContext(선택된 상황)를 호출함으로써 프로필 매니저먼트 프로퍼티즈 객체를 위한 상황을 정한다. "유저 그룹"의 선택된 상황을 위해 도 13을 참조하면, 이것은 모든 시스템 유저들의 그룹을 언급하며, 또는 도 18을 참조하면, 여기서는 "발명"("Develpoment")의 그룹 상황이 선택되고, 또는 도 21을 참조하면, 여기서는 유저 상황 "콜렌드"("collend")가 선택된다. 다음에, 프레퍼런스(1006)에서, 관리자는 서버 상에서 모든 애플렛의 리스트로부터 구성되기 위해 애플렛을 선택한다. 애플렛 프레퍼런스의 예를 위해 도 17을 참조 바란다. 스텝(1008)에서, 관리자는 구성을 위하여 선택된 애플렛을 작동하기 위하여 작동/맞춤 제작(Run/Customize) 버튼(buton)을 클릭한다. 이 애플렛은 엔드 유저 애플렛을 위해 분리된 구성 애플렛일 수 있고, 또는 그것은 엔드 유저 애플렛 그 자신 일 수 있다. 선택된 애플렛은 서버(1009 및1011)로부터 요구되고 로드된다. 스텝(1010)에서, 구성 애플렛 객체는 생성되고 그리고 실행하여 그것의 프로필 매니저먼트 프로퍼티즈 객체 P를 발생하기 시작한다.
애플렛이 엔드유저 애플렛을 위한 분리된 구성 애플렛임이 가정되면, 스텝(1012)에서, 애플렛은 p.enablePersistence( ConfigApplet Object, fullyQualified ClassNameOfAppletBeingConfigured)를 호출한다. 반면에, 애플렛이 분리된 구성 애플렛보다도 유저 애플렛이라면, 콜이, 다른 애플렛을 위한 프레퍼런스정보에 반대되어 그것 자신의 프레퍼런스 정보를 구성하기 원하기 때문에, 콜은 p.enablePersistence(엔드 유저 애플렛 객체)일 수 있다. 현재의 상황은 관리자의 "프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 PM_NCF"를 경유하여 관리자에 의하여 이전에 셋트 되었기 때문에, 현재의 상황은 프로필 매니저먼트 프로퍼티즈 객체 P에 의하여 이미 알려졌다. 가능(enable) 퍼시스턴스가 프로필 매니저즈 "프로필 매니저먼트 프로퍼티즈_비 상황 플로팅 객체 PM_NCF" 상에서 호출될 때, 프로필 매니저 서블렛(214)의 위치는 이전에 발생되었다. 구성 애플렛의 경우에, 애플렛을 위한 독특한 키는 가능 퍼시스턴스 콜 안에서 프로필 매니저먼트 프로퍼티즈 객체 P로 구성 애플렛에 의하여 통과되기 때문에, 애플렛을 위한 독특한 키는 발생될 필요가 없다.
스텝(1014)에서, 구성 애플렛은 상황 변경 리스너로서 그것의 프로필 매니저먼트 프로퍼티즈 객체와 함께 그 자신을 등록한다. 전술된 바와 같이, 이것은, 애플렛의 프로필 매니저먼트 프로퍼티 객체가, 애플렛이 새로운 상황 안에서 종료되고 재착수되는 것을 요구하지 않고, 애플렛이 새로운 상황을 위해 프레퍼런스 정보를 로드할 수 있고 그리고 새로운 구성 정보를 반영하기 위해 그것의 그래픽 유저 인터페이스를 갱신할 수 있도록 하기 위해, 관리자가 상황
변경을 만드는지를 통지하는 것을 허용한다.
동작은 도 11에서 계속된다. 스텝(1104)에서, 구성 애플렛은, 프로필 매니저먼트 프로퍼티즈 객체 P가 애플렛이 구성되는 것을 위한 현재의 상황로부터 프레퍼런스를 로드하도록 말한다. 요구(1105)는 애플렛이 구성되는 것을 위하여 관리자에 의해 이전에 선택된 상황을 위해 맞춤 제작된 프레퍼런스 정보를 얻기 위하여 프로필 매니저 서블렛(214)으로 송신된다. 요구(1105)는 적절한 프레퍼런스 정보의 위치를 지정하기 위하여 적절한 상황 이름(상황 관리자가 선택한) 그리고 상황 형식(적절한 것으로 USER, USER_GROUP, 또는 ALL_USERS_GROUP), 그리고 키 정보를 포함한다. 프로필 매니저 서블렛(214)은 프로필 매니저먼트 프로퍼티즈 객체 P 안에 캐쉬된 스텝(1106)에서의 요구된 프레퍼런스 정보에 응답한다. 구성은 프로필 매니저먼트 프로퍼티즈 객체 P로부터 프레퍼런스를 얻고, 따라서 그것의 그래픽 유저 인터페이스를 갱신한다.
관리자는, 스텝(1107)에서, 예를 들면, 애플렛에 의해 제공되는 SAVE 버튼을 클릭함으로써, 애플렛을 구성하고 변경된 프레퍼런스를 세이브한다. 이 동작의 결과로써, 구성 애플렛은 그것의 프로필 매니저먼트 객체 P 상에서 SAVE0 방법을 호출한다. 프로필 매니저먼트 프로퍼티즈 객체 P는 애플렛이 구성되는 것을 위한 프레퍼런스 그리고 독특한 키를 그리고 현재의 상황을 지정하는 정보를 프로필 매니저 서블렛(214)으로 송신한다. 프로필 매니저 서블렛은 상황 및 키에 의해 특정되는 위치 안의 데이터베이스(212) 안에서 프레퍼런스 정보를 저장한다
구성 애플렛이 여전히 작동하는 동안, 스텝(1108)은 관리자가 지금 상황을 변경하는 예이다. 관리자는 유저 또는 유저 그룹을 클릭함으로써 새로운 상황을 선택한다(왼편 화면 패널의 관리자 안에서 새로운 상황를 위한 예를 위해 도 18을 참조). 상황 변경의 결과로써, 프로필 매니저(506)는 P_NCF.setContext(selected NEW context)를 호출함으로써 셋트 상황 메시지를 프로필 매니저먼트 프로퍼티즈 객체 P(510)로 송신하고, P_NCF.setContext는 객체 P가 이벤트 리스너(512)에게 리로드(reload) 프로퍼티즈 API(515)를 경유하여 상황 변경을 통지하도록 야기시킨다. 이것은 스텝(1110)에서 발생한다. 스텝(1112)에서, 이벤트 리스너(512)는 새로운 상황를 위한 프레퍼런스를 검색하기 위해 로드0을 수행하고, 객체 P는 스텝(1118)에서 새로운 프레퍼런스와 함께 갱신된다. 관리자는, 요구되면, 새로운 상황을 위한 새로운 프레퍼런스를 갱신하고, 요구되면, 그것들을 세이브하도록 진행하고, 다음으로 전술한 바와 같이 필요하면, 새로운 상황 변경을 하면서 계속 진행한다.
나머지 도 12에서 24는, 프로필 매니저(206)의 포션을 작동시키는 동안 관리자 워크스테이션의 실제 화면 스냅샷(snapshot)을 나타낸다.
주요 구성 윈도우(1200)가 도 12에 나타내어진다. 윈도우의 왼편에 있는 트리 뷰 패널(1202)은 프로필 매니저먼트(1204)를 서버 상에서 활용 가능한 몇몇 서비스 중의 하나로 설명한다. 이 아이템(1204)이 도 12에 나타낸 바와 같이 선택될 때, 주요 윈도우의 오른 쪽 패널(1205)은 프로필 매니저먼트 서비스를 위한 환영(welcome) 메시지를 디스플레이한다. 익스팬드(expand) 및 콘트랙트(contract) 아이콘(1208)은, 어떠한 것이 존재하면, 왼쪽 패널 안의 아이템하의 출현(appearance)을 제어하기 위해 사용된다. "+" (1208)은 "익스팬드 아이콘"으로 불리고, "프로필 매니저먼트"("Profile Management") 아래에 서브 아이템이 있음을 지시한다. 관리자는 익스팬드 아이콘(1208)을 클릭함으로써 이 서브 아이템을 디스플레이할 수 있고, 이것은 "콘트랙트 아이콘"("contract icon")("-")이 될 것이다.
도 13은 도 12에서 프로필 매니저먼트 아이템(1208)의 확장을 설명하고, 이 아이템은 도 13에서 세가지 디폴트 서브 아이템, 즉 "애플렛스"(1300), "유저 그룹"(1302), 그리고 유저(1304)의 디스플레이의 결과를 낳는다. 익스팬젼 아이콘은 이러한 아이템이 또한 확장될 수 있음을 지시한다. "애플렛"(1300)은 관리자가 서버(202) 상에서 활용 가능한 유저 애플렛을 정의하는 것을 허용하고, "유저 그룹"(1302)은 관리자가 도 3의 유저 그룹 트리를 생성하고 상주시키고, 그리고 그룹 프레퍼런스를 정하는 것을 허용한다. "유저"(1304)는 관리자가 새로운 유저들을 생성하고 그들의 프레퍼런스를 정하고 또는 존재하는 유저들을 위한 프레퍼런스를 변경하는 것을 허용한다. 도 13의 예에서, "애플렛"(1300)은 선택된다. 이 아이템이 선택될 때, 윈도우의 오른편에 있는 패널(1305)은 시스템으로 이미 정의된 유저 애플렛의 리스트(1306)를 디스플레이한다. (1306)에서 선택된 애플리케이션의 애트리뷰트가 (1308)에서 나타내어진다. 관리자는 (1306)에서 <NEW>를 선택하고 (1308)에서 요구되는 이름 및 위치 정보를 입력하므로써 새로운 애플렛을 정의한다. 존재하는 애플렛 "데이타베이스 익스플로러"("Database Exploer")는 (1306)안에서 선택되어 나타내어진다. (1308)에서, "애플렛 이름"("Applet name") 필드는 이 애플렛 이름을 디스플레이한다. "URL"(Universal Resoueces Locator) 필드는 서버(202) 상에서 이 애플렛의 인트라넷 또는 인터넷 웹 어드레스를 디스플레이한다. 필드 "html 파일의 완전한 경로"("Complete path of html file)는 서버(202)의 디스크 디렉토리 구조 안에서 애플렛의 디렉토리 경로 및 파일 이름을 디스플레이한다. 필드 "완전히 자격 있는 클래스 이름"("Fully qualified class name")은 애플렛의 완전히 자격 있는 클래스 이름을 디스플레이한다. 필드 "아이콘 URL"("Icon URL")은 유저 데스크탑 상에서 애플렛을 위해 아이콘을 발생하기 위해 사용되는 이미지 파일의 웹 어드레스를 디스플레이한다. 남아 있는 필드는 호출 즉시 소프트웨어에 의해 요구될 수 있는 선택적 정보를 위한 것이다. 코맨드 버튼(1310)은, "파일로부터 임포트 애플렛 리스트"("Import Applet List from File")은 관리자가 존재하는 텍스트 파일로부터 존재하는 리스트(1306)로 애플렛의 정의를 덧붙이는 것을 허용한다. 버튼(1310)이 클릭될 때, 도 14에서 나타내진 윈도우는 팝-업(pop-up)하고, 관리자가 부가되는 애플렛 정의를 포함하는 텍스트 파일의 경로 및 파일 이름을 입력하는 것을 허용한다. 모든 보류 변화를 세이브하기 위하여, 관리자는 파일(1312)에서 클릭하고 세이브한다(나타내어지지 않음).
왼쪽 패널에서, 유저 그룹 아이템(1302)은 도 3의 AllUsers의 그룹에 응답한다("유저 그룹" 및 "AllUsers"는 여기서 호환되어 사용됨). "유저 그룹 " 아이템(1302)이 선택될 때, 도 15는 관리자 스테이션의 오른쪽 패널을 나타낸다. 도 15에서, 노트북 패널은, 세가지 탭, 즉 멤버 탭(1514), 서브 그룹 탭(1516), 그리고 애플렛 허가 탭(1518)을 포함하는 오른 편에 디스플레이된다. 멤버 탭은 도 15에서 선택된다. 멤버 패널은 시스템으로 정의된 모든 멤버의 로그-온 확인의 리스트(1520)를 포함한다. 새로운 유저를 생성하기 위해(현재 선택된 그룹 상황으로 멤버쉽을 자동적으로 얻는 "유저 그룹"), 관리자는 리스트(1520)로부터 <NEW>를 선택하고, 엔트리 필드(1522) 안에서 리스트의 오른쪽으로 적절한 정보를 입력하고, 생성 버튼(1522) 상에서 클릭한다. 존재하는 멤버가 리스트(1520)로부터 선택될 때, 그 유저를 위해 이전에 세이브된 애트리뷰트가 (1522)에서 디스플레이된다. 이 애트리뷰트는 선택된 멤버의 완전한 이름, 멤버의 시스템 ID, 패스워드 그리고 어떠한 요구된 코멘트를 포함한다. ID를 제외한 애트리뷰트는 변경 버튼(1524)을 클릭함으로써 편집되고 변화가 실행되며, 또는 삭제 버튼(1526)을 클릭함으로써 유저는 시스템으로부터 완전히 제거된다. 어떠한 보류 변화도, 리스트(1520)안의 엔트리를 선택하고 Undo 버튼(1528)을 클릭함으로써 제거될 수 있다.
도 16은, 서브 그룹 탭(1516)이 선택될 때, 디스플레이되는 관리자의 오른쪽 패널을 나타낸다. 서브 그룹 리스트(1620)는 왼쪽 패널에서 선택되는 아이템의 서브 그룹인 존재하는 그룹을 나타내고, 이 그룹은 이 예에서 "유저 그룹"("User Group")이다. 그러므로, 리스트(1620)는 "AllUsers" 그룹의 즉각적인 서브 그룹을 디스플레이한다. 왼편 패널에서, "유저 그룹"은 확장된다. 리스트(1620) 안에 보여진 서브 그룹은 또한 왼편 패널 안의 "유저 그룹" 하의 확장된 아이템이다. 리스트(1620)에서, 상태 필드는 "삭제"("!delete"), "변경"("!Modify"), 그리고 "생성"("!Create")과 같은 각 서브 그룹의 현재의 상태를 나타낸다. 리스트(1620) 안에서의 빈 상태 필드는 서브 그룹이 존재하고 행동이 세이브되기 위해 보류되지 않음을 지시한다. 기호 "!"는 상태가 보류임(아직 세이브되지 않음)을 지시한다. 리스트(1620) 안에서 선택된 서브 그룹을 위한 애트리뷰트는 (1622) 안에서 나타난다. 이들 애트리뷰트는 서브 그룹 이름 및 서브 그룹에 관한 요구되는 코멘트를 포함한다. 새로운 서브 그룹을 생성하기 위해, 관리자는 리스트(1620)로부터 <NEW>를 선택하고, (1622)에서 서브 그룹 이름 및 요구되는 코멘트를 입력하고, 생성 버튼(1628)을 클릭한다. "!생성<서브 그룹 이름>"("!create<subgroupname>)의 엔트리는 보류 행위로서 리스트(1620) 안에 나타난다. 모든 보류 변경을 세이브하기 위해, 탑 메뉴 바(top menu bar) 그리고 SAVE(나타내어지지 않음)에서 파일 버튼을 클릭한다.
도 17은, 애플렛 허가 탭(1518)이 선택될 때, 디스플레이되는 오른쪽 패널을 보여준다. 리스트(1720)는 시스템에 정의된 모든 애플렛의 모든 이름을 나타내고, 그리고 왼쪽 패널에서 선택된 그룹 또는 서브 그룹(현재의 "상황")을 위한 각 애플렛에 지정된 허가 상태(허가 또는 접속 거절)를 나타낸다. 다른 노트북 페이지가 설명된 바와 같이, 감탄 부호는 도시된 상태가 SAVE를 보류하는 변화임을 지시한다. 도 17에서, 그룹 "유저 그룹"은 왼편 패널 안에서 보여진 트리 안에서 선택되고, 이것은 도 3 안에서 보여진 "AllUsers" 그룹과 대응한다. 시스템의 모든 유저가 "유저 그룹" 그룹 안에서 멤버쉽을 가지고 있기 때문에, 리스트(1720)는 시스템으로 정의된 각각의 애플렛을 위한 모든 시스템 유저를 위해 전체적인 디폴트 허가를 보여준다. 예를 들면, 애플렛 "데이타베이스 익스플로러"를 위한 디폴트 허가 상태는 "AllUsers" 그룹을 위한 "허가"("permit")이고(접속이 허가됨을 의미); 유사하게, 애플렛 TFTP로의 모든 유저를 위한 디폴트 허가 상태는 "거절"("deny")이다(접속이 거절됨). 관리자는 리스트(1720)에서 그것을 선택함으로써 그리고 "허가 접속 그룹"("Permit group access") 버튼(1730) 또는 "거절 그룹 접속"("Deny group access") 버튼(1732)을 클릭함으로써 애플렛의 허가 상태를 변경할 수 있다. 더욱이, 선택된 상황를 위한 애플렛의 허가 상태와 관계없이, 관리자는 선택된 상황하에서 유저 애플렛을 수행하기 위하여 (1720)으로부터 애플렛을 선택하고 "작동/맞춤 제작" 버튼(1734)을 클릭할 수 있다. 현재의 상황을 위해 이전에 노트북을 보여주는 패널 구역은 실행하는 유저 애플렛에 의하여 점유된다. 유저 애플렛이 다른 소프트웨어를 위한 구성 애플렛이라면, 관리자는, 선택된 상황을 위해 소프트웨어의 디폴트 프레퍼런스로서 세이브될 소프트웨어 프레퍼런스(이 기능을 위해 제공되는 구성 애플렛을 통해 독특한 시설)를 세이브할 수 있다. 애플렛이 엔드 유저 애플렛이라면, 엔드 유저 애플렛이 소프트웨어의 분리된 부분을 위한 프레퍼런스보다도 그자신의 프레퍼런스를 로드하고 세이브하는 것을 제외하고는, 기능들은 동일하다.
도 18은 "유저 그룹" 아래에 관리자 왼쪽 패널 서브 그룹 트리의 완전한 확장을 보여준다. "유저 그룹" 바로 아래에, 2개의 서브 그룹 이 있으며, 제거될 수 없는 디폴트 서브 그룹인 "관리자"("Administrators"), 관리자에 의해 정의되는 서브 그룹인 "IBM"이다. "IBM" 서브 그룹은 또한 확장되고 그리고 세 개의 서브 그룹, "하드웨어", "서비스", 그리고 "소프트웨어"를 포함한다. "소프트웨어" 서브 그룹은 확장되고, 적어도 한 개의 서브 그룹, "디벨로프먼트"("Development")를 포함한다. "디벨로프먼트" 서브 그룹은 적어도 한 개의 서브 그룹, NCoD를 포함한다. 서브 그룹 "NCoD"는 칠드런(children)이 없는 ConfigFW58과 같은 다수의 서브 그룹을 포함한다. 또한 이 예에서, 서브 그룹 "디벨로프먼트"는 확장 트리에서 선택된다. "디벨로프먼트"가 트리 계층 구조의 최상부에 있지 않으므로("AllUsers" 그룹), 모든 유저들이 "유저 그룹"을 가질 때, 모든 유저가 자동적으로 "디벨로프먼트"의 멤버는 아니기 때문에, "유저 그룹"이 선택될 때, 오른 쪽 패널에 보여진 노트북은 도 15의 것으로부터는 어느 정도 다르다. 리스트(1820)는 모든 시스템 멤버의 로그-온 시스템 ID를 디스플레이한다. 리스트(1820) 안에서 각 유저 ID 외의 상태는 유저가 "디벨로프먼트" 서브 그룹 안에서 멤버쉽을 소유하는지를 나타낸다. "yes"의 상태는 유저가 "디벨로프먼트" 서브 그룹의 멤버임을 지시하고, "no"는 유저가 "디벨로프먼트" 서브 그룹의 멤버가 아님을 지시하고, 그리고 "inherited"는 유저가 트리 아래에 적어도 디벨로프먼트의 서브그룹의 하나에 속함으로써 "디벨로프먼트" 그룹 내에 멤버쉽을 인계 받는 것을 지시한다. 서브 그룹을 위한 유저의 멤버쉽 상태는 리스트(1820) 안에서 유저를 선택하고 "Add to Group" 버튼(1836) 또는 "Remove from Group" 버튼(1838)을 클릭함으로써 관리자에 의해 변경된다. 관리자가 시스템 유저를 생성하거나, 또는 존재하는 멤버를 변경하거나 삭제하기를 원한다면, 관리자는 "생성/변경/삭제 유저" 버튼(1840)을 클릭한다. 이 행위는 도 19 안에 보여진 노트북 페이지를 야기한다. 도 19의 오른쪽 패널은 도 15의 그것과 유사하며, 관리자가 리스트(1920) 안에서 NEW를 선택하고 "생성" 버튼을 클릭함으로써 새로운 시스템 유저를 생성하는 것을 허용한다. 유사하게, 관리자는 리스트(1920) 안에서 적절한 유저를 선택하고 적절한 버튼 "변경" 또는 "삭제"를 클릭함으로써 존재하는 시스템 유저를 변경 또는 삭제할 수 있다. 어떠한 서브 그룹 상황(예를 들면, "디벨로프먼트")에서 생성된 유저가 "유저 그룹" 안에서 요구되는 멤버쉽을 얻을 뿐 아니라, 선택된 서브 그룹의 멤버로 자동적으로 만들어진다. 시스템 유저 리스트로의 변경은 오른쪽 패널의 탑 메뉴 바 안에서 "파일"을 클릭하고 다음으로 "세이브"를 클릭함으로써(나타내어지고 있지 않음) 세이브된다.
도 20은, 도 19 안에서 보여진 그룹 및 서브 그룹을 통하기보다 편집을 위한 시스템 유저 리스트에 도달하는 직접적인 방법을 보여준다. 도 20을 착수하기 위해, 관리자는 예를 들면 도 13의 왼쪽 패널 안의 "유저"(1304)를 선택한다. 도 20 안에서 보여진 오른쪽 패널에서, 관리자는, 그룹 또는 서브 그룹에 관계없이, 이미 전술된 바와 같이, 새로운 유저를 생성하고 존재하는 유저를 변경하고 삭제할 수 있다.
도 21에서, 관리자는, ID가 "콜렌드"("collend")인 유저와 대응하는 정보 상에 직접적으로 작업하기를 원한다. 이것을 하기 위해, 관리자는, 예를 들면, 도 21의 왼편 패널 안에서 "유저"를 확장하고, 그리고 보여지는 바와 같이 "콜렌드"를 선택한다. 오른편 패널이 나타나고, 이것은 콜렌드의 시스템 정보에 충실한다. 오른쪽 패널은 세 가지 탭을 포함한다. 제 1 탭 "유저 정보"는 디폴트로 선택된다. 이 탭에서, 관리자는 콜렌드에 부속되는 이름, ID, 패스워드, 그리고 코멘트를 변경할 수 있다.
도 22는, 관리자가 제 2 탭 "그룹 멤버쉽"을 선택할 때, 오른편 패널을 보여준다. 리스트(2220)는 콜렌드가 멤버인 모든 서브 그룹을 보여준다. 서브 그룹은 콜렌드를 위해 서브 그룹 우선 순위에 따라 이 리스트 안에서 나타내어진다. 관리자는, 서브 그룹을 선택하고 리스트(2220)의 오른편에 있는 위, 아래 화살표를 사용하여 선택된 서브 그룹을 원하는 대로 리스트의 위 또는 아래로 움직이게 함으로써 콜렌드의 서브 그룹 우선 순위를 변경할 수 있다. 관리자가 도 22의 "Add/Remove Group Membership" 버튼(2242)을 클릭하면, 오른편 패널은 도 23의 콘텐트를 보여준다. 도 23의 오른편 패널은, 관리자가 콜렌드가 멤버인 서브 그룹을 변경하는 것을 허용한다. 관리자는 요구되는 서브 그룹에 해당하는 적절한 박스(box)를 클릭함으로써 이것을 수행한다. 박스가 깨끗하다면(콜렌드가 현재 멤버가 아님을 의미), 검사 표시가 서브 그룹 안의 콜렌드를 포함하기 위해 박스로 더해진다. 역으로, 서브 그룹 박스가 이미 검사되었으면, 박스를 클릭함은 검사 표시를 지우고, 서브 그룹으로부터 콜렌드를 제거한다.
도 24는, 도 22의 애플렛 허가 탭이 관리자에 의해 선택될 때, 오른편 패널을 보여준다. 이 오른편 패널에서, 리스트(2420)는 시스템 안에서 정의된 모든 애플렛을 디스플레이한다. 관리자는, 리스트(2420) 안에서 애플렛을 선택하고 "허가 유저 접속" 버튼(2430)을 클릭함으로써 콜렌드에 의해 애플렛으로 접속을 허가할 수 있고; 또는 접속이 "거절 유저 접속" 버튼(2432)을 클릭함으로써 콜렌드로 거절될 수 있다. 관리자는 "작동/맞춤 제작" 버튼(2434)을 클릭함으로써 콜렌드의 관계에서 또한 애플렛을 착수할 수 있다. 이것이 이루어질 때, 리스트(2420) 안에서 선택된 애플렛은 오른편 패널에서 착수된다. 관리자는 애플렛이 허용하는 어떠한 프레퍼런스를 변경할 수 있고 애플렛에 의해 제공되는 방법으로 프레퍼런스를 세이브할 수 있다. 여기서 전형적인 시나리오는 관리자가 여러 형태의 프레퍼런스 필드를 채우기 위해 구성 애플렛을 착수하는 것이다. 그러나, 분리된 구성이 유저 애플렛을 위해 제공되지 않는다면, 관리자가 유저와 관계하여 유저 애플렛을 착수할 수 있고 유저 애플렛으로부터 프레퍼런스를 정할 수 있다. 여기서 전형적인 시나리오는 관리자가 그룹 또는 유저 상황을 선택하고, 전술된 바와 같이 유저 애플렛을 착수하는 것이다. 관리자는 옵션 메뉴로부터 프레퍼런스를 전형적으로 변경할 수 있고, 유저 애플렛에 의해 제공되는 방법으로 그들을 저장할 수 있다. 예를 들면, 전형적으로, 유저 프레퍼런스는 옵션 다이알로그가 폐쇄될 때 저장되고, 또는 유저 애플렛은 프레퍼런스를 저장하는 다른 방법을 제공할 수 있다. 어떠한 이벤트에서, 이 예에서, 관리자가 콜렌드와 관계되어 애플렛을 작동하므로, 콜렌드가 애플렛을 작동함으로써 프레퍼런스들을 입력시킨 것처럼, 유저 애플렛을 통해 관리자에 의해 셋업되는 프레퍼런스들이 서버 상에서 세이브된다.
유저가 유저 애플렛에 속하는 일부 프레퍼런스를 변경할 수 있는 시나리오는 도면에 나타나지 않는다. 예를 들면, 유저 애플렛은 유저가 윈도우 배경색 또는 폰트 그리고 폰트 크기를 선택하는 것을 허용하고, 따라서 각 시스템은 유저 애플렛이 유저 데스크탑 상에서 실행할 때 어느 정도로 애플렛을 개별화 할 수 있다. 이 경우에, 유저 변경된 프레퍼런스는, 관리자가 유저 애플렛을 작동할 때, 그들이 세이브된 것처럼 동일 방법으로 세이브된다. 그러나, 하나의 차이점은 유저들이 그들의 개별 상황을 위해 오직 프레퍼런스들에 영향을 줄 수 있는 반면에, 관리자가 그룹 상황 안에서 프레퍼런스를 정하기 위해 유저 애플렛을 작동시킬 수 있다.
전술된 장치가 단지 본 발명의 원리의 적용을 설명적으로 나타내고, 다른 장치들이 본 발명의 사상과 범주를 벗어나지 않고 이 분야의 숙련자들에 의해 고안될 수 있음이 이해되어야 한다.
본 발명의 원리에 따르면, 시스템은 관리자(administrator)의 관계에서보다 유저(user) 또는 유저 그룹(user group)의 관계에서 직접적으로 애플리케이션(application)을 작동시킴으로써 관리자가 유저 애플리케이션을 구성하는 기능성을 제공한다. 이로써, 네트워킹(networking) 환경에서, 다수의 유저를 가지는 환경에서 관리 유연성을 제공하고, 유저 구성(configuration)의 수행 방법의 제한을 완화하고, 인터페이스(interface) 성능을 향상시키는 이점을 얻을 수 있다.

Claims (1)

  1. 서버(server)와 복수의 유저 스테이션(user station)을 상호 연결하는 네트워크(network)를 포함하는 네트워크 시스템에서, 상기 서버가 유저 스테이션(user station)으로 다운로딩(downloading)하기 위하여 복수의 엔드 유저 애플리케이션(end user application)을 저장하고 유저의 다른 그룹과 서브 그룹(sub group)의 관계에서 엔드 유저 애플리케이션을 위하여 구성(configuration) 프레퍼런스(preference)를 더 저장하고, 비-네이티브(non-native) 스테이션 또는 비-네이티브 애플리케이션을 중앙 매니저먼트를 위한 시스템으로 개장(retrofit)하는 방법에 있어서,
    관리자 스테이션에서 프로필 매니저(profile manager)를 제공하는 단계;
    상기 비-네이티브 스테이션 또는 애플리케이션을 위한 구성 애플리케이션을 실행하기 위해 상기 프로필 매니저를 배열하는 단계 - 그럼으로써 상기 관리자는 시스템 유저의 다른 그룹과 서브 그룹의 관계에서 비-네이티브 스테이션 또는 애플리케이션을 위한 구성 프레퍼런스를 특정할 수 있음 - ;
    상기 구성 애플리케이션에 상응하는 상기 서버에서 익스포트 에이전트를 제공하는 단계;
    요구가 상기 비-네이티브 터미널(terminal) 또는 애플리케이션을 위한 상기 서버 상에서 프레퍼런스정보를 저장하기 위해 상기 프로필 매니저에 의해 이루어질 때 상기 익스포트 에이전트(export agent)를 부르는 단계;
    상기 프레퍼런스 정보를 상기 비-네이티브 터미널 또는 애플리케이션과 호환성 있는 포맷(format)으로 상기 익스포트 에이전트에 의해 재포맷하는 단계; 및
    상기 비-네이티브 터미널 또는 애플리케이션에 의해 직접 접속을 위한 상기 비-네이티브 터미널 또는 애플리케이션으로 알려진 상기 서버 상의 위치 안에 상기 재포맷된 정보를 저장하는 단계
    를 포함하는
    비-네이티브(non-native) 스테이션 또는 비-네이티브 애플리케이션을 중앙 매니저먼트를 위한 시스템으로 개장(retrofit)하는 방법.
KR1019990013243A 1998-05-05 1999-04-15 중앙 애플리케이션 매니저먼트를 가지고 존재하는 하드웨어 및애플리케이션을 시스템으로 개장하기 위하여 익스포트 에이전트능력을 제공하는 클라이언트-서버 시스템 KR100296362B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9/073,166 1998-05-05
US09/073,166 US6108712A (en) 1998-05-05 1998-05-05 Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system
US09/073,166 1998-05-05

Publications (2)

Publication Number Publication Date
KR19990087924A true KR19990087924A (ko) 1999-12-27
KR100296362B1 KR100296362B1 (ko) 2001-07-12

Family

ID=22112121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990013243A KR100296362B1 (ko) 1998-05-05 1999-04-15 중앙 애플리케이션 매니저먼트를 가지고 존재하는 하드웨어 및애플리케이션을 시스템으로 개장하기 위하여 익스포트 에이전트능력을 제공하는 클라이언트-서버 시스템

Country Status (4)

Country Link
US (1) US6108712A (ko)
JP (1) JP3096457B2 (ko)
KR (1) KR100296362B1 (ko)
GB (1) GB2340274B (ko)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437803B1 (en) 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
JP3777025B2 (ja) * 1997-08-20 2006-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーション システム資源表示装置およびその方法
JP3715423B2 (ja) * 1998-01-07 2005-11-09 株式会社東芝 通信システムと、この通信システムで用いられるユーザ装置およびセンタ装置
US6339826B2 (en) * 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6430568B1 (en) * 1998-07-22 2002-08-06 Hewlett-Packard Company Methods and systems for java inter-applet communication
US7339595B2 (en) 1998-10-19 2008-03-04 Lightsurf Technologies, Inc. Method and system for improved internet color
US20020126135A1 (en) * 1998-10-19 2002-09-12 Keith Ball Image sharing for instant messaging
US6510466B1 (en) * 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network
US6324578B1 (en) 1998-12-14 2001-11-27 International Business Machines Corporation Methods, systems and computer program products for management of configurable application programs on a network
US7039673B1 (en) * 1998-12-24 2006-05-02 Computer Associates Think, Inc. Method and apparatus for dynamic command extensibility in an intelligent agent
US6928469B1 (en) 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US6978381B1 (en) * 1999-10-26 2005-12-20 International Business Machines Corporation Enhancement to a system for automated generation of file access control system commands
US6581094B1 (en) * 1999-11-02 2003-06-17 Sun Microsystems, Inc. Apparatus and method for identifying a digital device based on the device's uniform device descriptor file that specifies the attributes of the device in a XML document in a networked environment
US6725238B1 (en) * 2000-01-06 2004-04-20 International Business Machines Corporation Method, system, and program for using a remotely accessed desktop interface and network drive to access a shared file system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US7434219B2 (en) 2000-01-31 2008-10-07 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7003641B2 (en) * 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US6993565B1 (en) * 2000-03-13 2006-01-31 Fujitsu Limited Service processor control system and computer-readable recording medium recording service processor control program
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
KR20020023589A (ko) * 2000-09-23 2002-03-29 조용우 Asp 서비스 시스템 및 그 asp 서비스 방법
EP1213647A1 (en) * 2000-12-06 2002-06-12 Atos Origin Telco Services B.V. A software configuration system and the creation and use thereof
US20020105548A1 (en) 2000-12-12 2002-08-08 Richard Hayton Methods and apparatus for creating a user interface using property paths
US6961773B2 (en) 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
US6920555B1 (en) 2001-03-10 2005-07-19 Powerquest Corporation Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system
US7698433B2 (en) * 2001-03-20 2010-04-13 Verizon Business Global Llc User aliases in communication system
FR2822563A1 (fr) * 2001-03-21 2002-09-27 Sebastien Angele Procede de sauvegarde et de restauration de l'ensemble des parametres de configuration d'une plateforme informatique par l'intermediaire d'un serveur
US7051088B2 (en) * 2001-05-14 2006-05-23 Hewlett-Packard Development Company, L.P. Systems and methods for providing off-line backup of a programmable device's configuration data to users of programmable devices at a service location
US6996602B2 (en) * 2001-06-18 2006-02-07 Ford Global Technologies, Llc Server-side page table framework for client application definition and execution
JP2003076624A (ja) * 2001-09-03 2003-03-14 Nec Corp 携帯情報端末を利用したコンピュータ使用環境自動設定システムと方法
US8099342B1 (en) * 2002-01-02 2012-01-17 Sabrix, Inc. Methods and apparatus for centralized global tax computation, management, and compliance reporting
US7240326B2 (en) * 2002-01-14 2007-07-03 International Business Machines Corporation System and method for obtaining display names from management models
US7065744B2 (en) * 2002-01-14 2006-06-20 International Business Machines Corporation System and method for converting management models to specific console interfaces
US7177793B2 (en) * 2002-01-14 2007-02-13 International Business Machines Corporation System and method for managing translatable strings displayed on console interfaces
US20030135661A1 (en) * 2002-01-14 2003-07-17 International Business Machines Corporation System and method for packaging and installing management models with specific console interfaces
US7191404B2 (en) * 2002-01-14 2007-03-13 International Business Machines Corporation System and method for mapping management objects to console neutral user interface
US8135843B2 (en) * 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
CN100426287C (zh) * 2002-04-05 2008-10-15 汤姆森许可公司 具有设置保存特性的浏览器
WO2003085339A1 (de) * 2002-04-05 2003-10-16 Dometic Gmbh Kühlschrankgehäuse
US20040002958A1 (en) 2002-06-26 2004-01-01 Praveen Seshadri System and method for providing notification(s)
US7698276B2 (en) * 2002-06-26 2010-04-13 Microsoft Corporation Framework for providing a subscription based notification system
AU2003252018A1 (en) * 2002-07-19 2004-02-09 Synchrologic, Inc. System and method for utilizing profile information
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7111245B2 (en) * 2002-12-17 2006-09-19 International Business Machines Corporation System and method for smart graphical components
US7203905B2 (en) 2002-12-17 2007-04-10 International Business Machines Corporation System and method for platform independent desktop lockdown
US7310775B2 (en) * 2002-12-17 2007-12-18 International Business Machines Corporation System and method for restoring desktop components using distributed desktop packages
US20040113950A1 (en) * 2002-12-17 2004-06-17 International Business Machines Corporation System and method for centrally managed self-contained desktops
US7243336B2 (en) * 2002-12-17 2007-07-10 International Business Machines Corporation System and method of extending application types in a centrally managed desktop environment
US7117448B2 (en) * 2002-12-17 2006-10-03 International Business Machines Corporation System and method for determining desktop functionality based on workstation and user roles
US7447785B2 (en) * 2003-03-31 2008-11-04 Microsoft Corporation Dependent context trees for related network offerings
US7933803B1 (en) * 2003-06-23 2011-04-26 Sabrix, Inc Universal tax engine
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US20050033625A1 (en) 2003-08-06 2005-02-10 International Business Machines Corporation Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment
US20050091184A1 (en) * 2003-10-24 2005-04-28 Praveen Seshadri Personalized folders
US7669177B2 (en) * 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
US7137099B2 (en) * 2003-10-24 2006-11-14 Microsoft Corporation System and method for extending application preferences classes
WO2005050381A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US8171479B2 (en) 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US7748032B2 (en) * 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US7447806B2 (en) * 2005-09-22 2008-11-04 International Business Machines Corporation Method and apparatus for centralization configuration of data processing systems
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US8126128B1 (en) * 2006-11-01 2012-02-28 At&T Intellectual Property I, Lp Life cycle management of user-selected applications on wireless communications devices
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US8719809B2 (en) 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US8631064B2 (en) * 2006-12-27 2014-01-14 Lsi Corporation Unified management of a hardware interface framework
JPWO2008087729A1 (ja) * 2007-01-18 2010-05-06 三菱電機株式会社 アプリケーション設定端末、アプリケーション実行端末及び設定情報管理サーバ
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US20090051654A1 (en) * 2007-08-20 2009-02-26 Sysgration Ltd. Computer-mouse apparatus with voice-output-switch function
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US8725647B2 (en) * 2008-03-27 2014-05-13 Ca, Inc. Method and system for determining software license compliance
US20090249493A1 (en) * 2008-03-27 2009-10-01 Computer Associates Think, Inc. Method and System for Determining Software License Compliance
US8149431B2 (en) * 2008-11-07 2012-04-03 Citrix Systems, Inc. Systems and methods for managing printer settings in a networked computing environment
US8667483B2 (en) * 2009-03-25 2014-03-04 Microsoft Corporation Device dependent on-demand compiling and deployment of mobile applications
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US10332216B2 (en) 2013-05-10 2019-06-25 Intuit, Inc. Streamlined sales tax return preparation
US10572449B2 (en) * 2015-03-02 2020-02-25 Walmart Apollo, Llc Systems, devices, and methods for software discovery using application ID tags
KR101991948B1 (ko) 2017-08-04 2019-06-24 유니셈 주식회사 습식 스크러버 장치
KR20190020548A (ko) 2017-08-21 2019-03-04 신명진 클라이언트 통합 관리 서버
US10802821B2 (en) * 2018-07-24 2020-10-13 Vmware, Inc. Firmware management

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885770A (en) * 1987-09-04 1989-12-05 Digital Equipment Corporation Boot system for distributed digital data processing system
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
EP0529864B1 (en) * 1991-08-22 2001-10-31 Sun Microsystems, Inc. Network video server apparatus and method
AU3944793A (en) * 1992-03-31 1993-11-08 Aggregate Computing, Inc. An integrated remote execution system for a heterogenous computer network environment
US5588148A (en) * 1994-09-06 1996-12-24 Motorola, Inc. Method for managing data transfer between computing devices
US5754830A (en) * 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
US5867495A (en) * 1996-11-18 1999-02-02 Mci Communications Corporations System, method and article of manufacture for communications utilizing calling, plans in a hybrid network

Also Published As

Publication number Publication date
KR100296362B1 (ko) 2001-07-12
GB9909897D0 (en) 1999-06-30
JP2000040002A (ja) 2000-02-08
US6108712A (en) 2000-08-22
JP3096457B2 (ja) 2000-10-10
GB2340274B (en) 2002-12-31
GB2340274A (en) 2000-02-16

Similar Documents

Publication Publication Date Title
KR100296362B1 (ko) 중앙 애플리케이션 매니저먼트를 가지고 존재하는 하드웨어 및애플리케이션을 시스템으로 개장하기 위하여 익스포트 에이전트능력을 제공하는 클라이언트-서버 시스템
US6105063A (en) Client-server system for maintaining application preferences in a hierarchical data structure according to user and user group or terminal and terminal group contexts
US6205476B1 (en) Client—server system with central application management allowing an administrator to configure end user applications by executing them in the context of users and groups
US6105066A (en) Client-server system with central application management and using fully qualified class names of object-oriented applications for determining permanent server storage locations for application configuration information
US6339826B2 (en) Client-server system for maintaining a user desktop consistent with server application user access permissions
US6237092B1 (en) Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application
US5893107A (en) Method and system for uniformly accessing multiple directory services
US7461080B1 (en) System logging within operating system partitions using log device nodes that are access points to a log driver
JP3611297B2 (ja) セキュリティを役割ベースで割り振るデータ処理システム、方法、及びコンピュータ・プログラム製品
US7917855B1 (en) Method and apparatus for configuring a user interface
US7596611B1 (en) Method and apparatus for maintaining information for use in the configuration of a client
CA2249487A1 (en) Remote object access
KR20010041294A (ko) 분산 시스템에서 동적 룩업 서비스
US8973017B2 (en) Productivity application management
US20230315909A1 (en) Computer device and method for managing privilege delegation
US6886172B2 (en) Method for mapping procedural C++ code to java object-oriented classes
CZ20004081A3 (cs) Systém klient-server pro udržování nastavení aplikace v hierarchické datové struktuře podle kontextu uživatele a skupiny uživatelů nebo terminálu a skupiny terminálů

Legal Events

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

FPAY Annual fee payment

Payment date: 20140425

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150427

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170426

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 18

EXPY Expiration of term