KR20050084996A - 분산된 데스크탑 패키지를 이용하여 데스크탑 성분을복원하기 위한 시스템 및 방법 - Google Patents

분산된 데스크탑 패키지를 이용하여 데스크탑 성분을복원하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20050084996A
KR20050084996A KR1020057008743A KR20057008743A KR20050084996A KR 20050084996 A KR20050084996 A KR 20050084996A KR 1020057008743 A KR1020057008743 A KR 1020057008743A KR 20057008743 A KR20057008743 A KR 20057008743A KR 20050084996 A KR20050084996 A KR 20050084996A
Authority
KR
South Korea
Prior art keywords
file
self
desktop
component
contained
Prior art date
Application number
KR1020057008743A
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 KR20050084996A publication Critical patent/KR20050084996A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

관리자가 조직 전체에 걸쳐서 위치된 서버에 미리 보내진 성분 파일들을 복구할 수 있도록 데스크탑 패키지를 중앙에서 관리하는 시스템 및 방법이 제공된다. 애플리케이션은 사용자 및 워크스테이션에 할당된다. 자급식 데스크탑 패키지는 서버에 전송된다. 서버는 그 다음에 데스크탑 패키지를 클라이언트에 제공한다. 패키지 및 이 패키지에 포함된 성분들은 패키지 및 성분들을 식별하기 위해 사용되는 고유한 식별자를 포함한다. 각각의 자급식 데스크탑 파일에 포함된 개별 성분들을 구체화하는 적하 목록이 유지된다. 관리자의 컴퓨터 시스템에서 재난 사건이 발생할 때, 관리자는 패키지가 미리 전송되어 있는 서버로부터 자급식 데스크탑 파일을 회수한다. 관리자는 자급식 데스크탑 파일로부터 성분들을 언패킹함으로써 성분 라이브러리를 재상주시킨다. 관리자는 적하 목록을 이용하여 추가의 자급식 패키지 파일들이 다른 서버로부터 회수될 필요가 있는지를 결정한다.

Description

분산된 데스크탑 패키지를 이용하여 데스크탑 성분을 복원하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR RESTORING DESKTOP COMPONENTS USING DISTRIBUTED DESKTOP PACKAGES}
본 발명은 데스크탑 성분을 복원하기 위한 시스템 및 방법에 관한 것이다. 특히, 본 발명은 자급식(self-contained) 패키지 데이터를 이용하여 분산 컴퓨터로부터 데스크탑 성분을 복구하기 위한 시스템 및 방법에 관한 것이다.
오늘날의 컴퓨터 소프트웨어 시스템은 가끔 조직(organization) 전체에 걸쳐 분산형으로 편성되는 기획 시스템(enterprise system)이다. 조직 내의 각각의 사람들은 사용자의 직업 종목에 따라 컴퓨터 시스템을 사용하여 상이한 임무를 수행한다. 은행 거래(banking)의 예에서, 한 사람의 사용자는 금전출납원(teller)일 수 있고, 따라서 고객에게 은행 거래 서비스를 제공하기 위해 금전출납원 애플리케이션을 필요로 한다. 다른 사용자는 대부 관계자(loan officer)일 수 있고 대부를 신청하는 고객에게 서비스하기 위해 대부 관계자 애플리케이션에 액세스할 필요가 있다. 제3의 사용자는 지점 매니저(branch manager)일 수 있고 은행 지점을 관리하기 위해 사용하는 컴퓨터 기능에 액세스할 필요가 있다. 조직은 가끔 그들의 분산된 공유 시스템을 중앙에서 관리할 능력을 필요로 한다.
전통적인 컴퓨터 시스템은 전형적으로, 예컨대 필요로 하는 기능에 액세스하기 위해 컴퓨터 네트워크를 사용함으로써 각 컴퓨터를 통하여 모든 필요한 기능을 제공하도록 설계되거나, 또는 개별적인 워크스테이션이 특수한 임무를 수행하고 그에 따라서 특수한 사용자 또는 일군의 사용자가 사용하도록 설계된다. 이것은 다중 사용자가 동일한 클라이언트 컴퓨터 시스템을 사용하는 조직 내에서 챌린지(challenge)를 나타낸다. 은행 거래 예에서, 근무 교대(shift), 요일, 또는 어떤 금전출납원이 특수한 워크스테이션에 할당되어야 하는지에 따라서 여러명의 금전출납원이 동일한 클라이언트 컴퓨터 시스템을 공유하게 될 수 있다.
모든 조직 기능이 동일한 워크스테이션으로부터 제공되면, 특수한 기능을 수행하도록 인증되지 않은 사용자가 그들에게 인증되지 않은 기능을 우연히 또는 의도적으로 수행할 수 있다. 예를 들어서, 금전출납원은 대부 관계자 또는 지점 매니저 기능이 금전출납원 워크스테이션으로부터 이용 가능하면 그 기능을 우연히 또는 의도적으로 수행할 수 있다. 전통적인 시스템에서 인증을 취급하는 하나의 방법은 각 워크스테이션에서 각각의 직업 임무를 취급하도록 소프트웨어 성분을 인스톨하는 것이지만, 사용자 로그인에 기초하여 액세스를 제한한다. 그러나, 이 방법의 챌린지는 각 워크스테이션이 임의의 주어진 워크스테이션으로부터 그러한 기능을 필요로 하는 임의의 사용자에 대하여 이용 가능하게 하기 위하여 임의의 새로운 또는 수정된 소프트웨어 성분을 수신할 필요가 있다는 것이다. 이 방법의 다른 하나의 챌린지는 모든 워크스테이션이 수정되어야 한다는 것이다.
사용자에 의해 수행된 기능들 중 일부는 클라이언트-서버 기능일 수 있고, 다른 기능들은 사용자 워크스테이션에 인스톨된 소프트웨어 시스템을 사용하는 것을 수반할 수 있다. 사용자 워크스테이션에 인스톨된 소프트웨어 시스템은 레가시(legacy) 소프트웨어 애플리케이션 및 특수한 운영체계 환경용으로 작성된 다른 소프트웨어를 포함할 수 있다.
특수한 기능을 수행하기 위해 필요한 성분들을 포함하는 자급식 데스크탑 패키지의 중앙화 관리를 제공하는 시스템 및 방법은 조직 전체에 걸쳐서 수행되는 연산 기능을 편성 및 관리하는데 있어서 유용하다. 중앙에서 생성되고 관리된 성분을 이용함에 있어서의 챌린지는 중앙 관리자(central administrator)에 의해 생성된 임무의 증가된 가치 및 중앙 관리자에 의해 유지되는 파일들이 파괴된 경우 조직에 대한 잠재적인 손실에 있다.
그러므로, 필요한 것은 조직 전체에 걸쳐 위치된 서버 및 클라이언트에게 미리 보내진 성분 파일들을 중앙 관리자가 복구할 수 있게 하는 시스템 및 방법이다. 또한, 필요한 것은 각종 성분 및 성분들의 다중 릴리즈(release)를 식별하기 위하여 성분 파일들을 고유하게 식별하는 시스템 및 방법이다.
본 발명은 첨부 도면을 참조함으로써 더 잘 이해할 수 있고, 그 많은 목적, 특징 및 장점들이 당업자에게는 명백하게 될 것이다. 서로 다른 도면에서 동일한 참조 기호로 표시된 것은 유사하거나 동일한 항목을 나타낸다.
도 1은 자급식 데스크탑을 이용하는 컴퓨터 시스템의 네트워크 도면이다.
도 2는 자급식 데스크탑에 포함된 성분들의 블록도이다.
도 3은 자급식 데스크탑을 제공하기 위해 취하는 관리자 단계들을 나타내는 고레벨 흐름도이다.
도 4는 특수 사이트를 셋업하기 위해 취하는 관리자 단계들을 나타내는 흐름도이다.
도 5는 사용자를 셋업하기 위해 취하는 관리자 단계들을 나타내는 흐름도이다.
도 6은 워크스테이션을 셋업하기 위해 취하는 단계들을 나타내는 흐름도이다.
도 7은 애플리케이션 확장자를 셋업하기 위해 취하는 관리자 단계들을 나타내는 흐름도이다.
도 8은 애플리케이션 기준을 셋업하기 위해 취하는 관리자 단계들을 나타내는 흐름도이다.
도 9는 자급식 데스크탑을 생성하기 위해 취하는 관리자 단계들을 나타내는 흐름도이다.
도 10은 자급식 데스크탑을 클라이언트에게 전달하기 위해 서버에 의해 취해지는 단계들을 나타내는 흐름도이다.
도 11은 새로운 사이트를 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다.
도 12는 주어진 사이트에 대하여 데스크탑 및 머신들을 관리하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다.
도 13은 새로운 사용자를 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다.
도 14는 하나 이상의 자급식 데스크탑 내의 성분으로서 이용 가능한 애플리케이션을 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다.
도 15는 원시 애플리케이션을 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다.
도 16은 워크스테이션을 관리하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다.
도 17은 자급식 데스크탑을 서버에 분배하기 위해 취해지는 단계들을 나타내는 흐름도이다.
도 18은 자급식 데스크탑을 서버로부터 클라이언트에 분배하기 위해 취해지는 단계들을 나타내는 흐름도이다.
도 19는 고객 애플리케이션 확장자를 생성하기 위해 취해지는 단계들을 나타내는 흐름도이다.
도 20은 애플리케이션 확장자 라이프사이클을 나타내는 흐름도이다.
도 21a는 관리자로부터 다수의 클라이언트에게 분배되는 성분 및 리소스를 나타내는 블록도이다.
도 21b는 관리자에 의한 데이터 손실 후에 관리자에 의해 서버로부터 복구되는 성분 및 리소스들을 나타내는 블록도이다.
도 22는 자급식 데스크탑을 분배하고 후속적으로 재난 사건 후에 자급식 데스크탑을 서버로부터 복구할 때 관리자에 의해 취해지는 단계들을 나타내는 흐름도이다.
도 23은 데스크탑을 수신 및 디스플레이하기 위해 클라이언트에 의해 취해지는 단계들을 나타내는 흐름도이다.
도 24는 사용자 임무 및 워크스테이션의 임무에 기초하여 데스크탑 정보를 클라이언트에 제공하기 위해 서버에 의해 취해지는 단계들을 나타내는 흐름도이다.
도 25는 서버에 의해 수행되는 처리 및 서버, 클라이언트 및 관리자간의 상호작용을 나타내는 블록도이다.
도 26은 자급식 데스크탑을 초기화 및 디스플레이할 때 클라이언트에 의해 취해지는 단계들을 나타내는 흐름도이다.
도 27은 클라이언트에 이용 가능한 다른 자급식 데스크탑의 팝업 메뉴와 함께 클라이언트 워크스테이션에 디스플레이되는 샘플 데스크탑의 스크린 배치도이다.
도 28a는 데스크탑을 디스플레이 및 관리할 때 클라이언트 셀에 의해 사용되는 디렉토리의 계층도이다.
도 28b는 셀 구성 파일에 포함된 섹션들의 계층도이다.
도 28c는 자급식 데스크탑 파일에 포함된 객체(object)들의 계층도이다.
도 29는 자급식 데스크탑을 사용하기 위해 클라이언트를 초기화하기 위해 취해지는 단계들을 나타내는 흐름도이다.
도 30은 클라이언트 초기화중에 취해지는 단계들을 나타내는 흐름도이다.
도 31은 원시 운영체계 로그인 중에 취해지는 단계들을 나타내는 흐름도이다.
도 32는 자바 셀 론처(launcher)를 호출할 때 취해지는 단계들을 나타내는 흐름도이다.
도 33a는 스마트 그래픽 성분의 예를 나타내는 스크린 배치도이다.
도 33b는 스마트 그래픽 성분의 제2 예를 나타내는 스크린 배치도이다.
도 34는 각종 데스크탑 객체를 나타내는 계층도이다.
도 35는 스마트 그래픽 성분들을 초기화할 때 취해지는 단계들을 나타내는 흐름도이다.
도 36은 스마트 그래픽 성분에 대하여 디스플레이 속성을 처리할 때 취해지는 단계들을 나타내는 흐름도이다.
도 37은 스마트 그래픽 성분에 대한 행동 속성(behavior attribute)을 처리할 때 취해지는 단계들을 나타내는 흐름도이다.
도 38은 본 발명을 구현할 수 있는 정보 취급 시스템의 블록도이다.
전술한 챌린지들은 데스크탑 패키지를 중앙에서 관리하는 시스템 및 방법을 이용하여 해결된다는 것을 알았다. 시스템은 중앙 관리자가 조직 전체에 걸쳐 위치된 서버 및 클라이언트에 미리 보내진 성분 파일들을 복구할 수 있게 한다.
관리자는 사용자 및 워크스테이션에 애플리케이션을 할당한다. 관리자는 특수한 직업 임무에 필요한 데스크탑 성분들을 선택하고 그 성분들을 자급식 데스크탑 패키지 파일에 패키징한다. 자급식 데스크탑 패키지는 특수한 워크스테이션을 이용하는 사용자에게 보내진다. 시스템은 사용자에게 할당된 하나 이상의 임무들을 식별하고, 상기 하나 이상의 임무들을 워크스테이션에 할당된 하나 이상의 임무들과 매칭시킨다. 워크스테이션 및 사용자 둘 다에 허용된 임무들은 워크스테이션을 이용하는 사용자에 의해 사용되도록 허용된다.
일 실시예에서, 성분들은 자급식 데스크탑 패키지의 다른 세트에 패키징되고, 각 패키지는 다른 임무에 대응한다. 은행 거래 예에서, 다른 데스크탑 패키지는 금전출납원, 대부 관계자 및 지점 매니저와 같이 사용자에 의해 수행되는 각각의 은행 거래 임무를 위하여 생성된다. 상기 자급식 데스크탑 패키지는 각각 대응하는 기능을 수행하기 위해 필요한 성분들을 포함한다. 예를 들면, 캐시 드로어(cash drawer)를 동작시키기 위해 사용되는 데스크탑 성분은 금전출납원 패키지와 함께 포함되고, 은행의 대부 애플리케이션 소프트웨어에 액세스하기 위해 사용되는 데스크탑 성분은 대부 관계자 패키지와 함께 포함된다. 다중 임무에 공통인 성분들은 그들을 필요로 하는 각 패키지에 포함된다. 예를 들면, 클라이언트 계좌에 액세스하기 위해 사용되는 성분은 금전출납원 및 대부 관계자 패키지 둘 다에 포함될 것이다.
자급식 데스크탑 패키지는 서버에 전송 또는 "공개"(publish)된다. 그 다음에, 서버는 자급식 데스크탑 패키지를 클라이언트에 제공한다. 패키지 및 이 패키지에 포함된 성분들은 패키지 및 성분들을 식별하기 위해 사용되는 고유한 식별자를 포함한다. 또한, 각각의 자급식 데스크탑 파일에 포함된 개별 성분들을 상세히 나타내는 적하 목록(manifest)이 유지된다.
관리자 컴퓨터 시스템에서 화재 또는 구동 실패와 같은 재난 사건이 발생한 때, 관리자는 패키지가 미리 전송되어 있는 서버로부터 자급식 데스크탑 파일들을 회수(retrieve)한다. 관리자는 자급식 데스크탑 파일들로부터 성분들을 언패킹(unpacking)함으로써 성분 라이브러리를 재상주(repopulate)시킨다. 관리자는 적하 목록을 이용하여 추가의 자급식 패키지 파일이 다른 서버로부터 회수될 필요가 있는지 여부를 결정한다.
전술한 설명은 발명을 요약한 것이므로 필요에 따라 상세한 내용을 단순화, 일반화 및 생략한 것이고, 따라서 당업자라면 상기 요약이 단순히 설명을 위한 것이지 어떠한 방식으로든 제한하려는 의도가 없다는 것을 알 것이다. 청구범위에 의해서만 한정되는 본 발명의 다른 태양, 발명적 특징 및 장점들은 이하에 기술하는 비제한적인 상세한 설명에서 명백해질 것이다.
이하에서는 본 발명의 예를 상세히 설명할 것이며, 이 상세한 설명은 발명 자체를 제한하기 위한 것은 아니다. 오히려, 이 명세서의 뒤에 첨부된 청구범위에서 정의하는 본 발명의 범위 내에 포함되는 몇가지의 변형예가 있을 수 있다.
도 1은 자급식 데스크탑을 사용하는 네트워크 컴퓨터 시스템의 네트워크 도면이다. 관리자(100)는 이미지(115), 애플리케이션 확장자(120), 국어 번역(125), 클라이언트 구성 파일(130), 서버 구성 파일(135) 및 데스크탑 프로파일 정보(140)를 결합하여 자급식 데스크탑(110)을 생성한다. 자급식 데스크탑(110)은 클라이언트가 클라이언트의 특수한 임무가 주어진 클라이언트 워크스테이션의 성분들을 사용하는 데 필요한 모든 정보를 포함한다.
자급식 데스크탑(110)은 클라이언트에 대한 유포(dissemination)를 위해 하나 이상의 서버(150)에 전송된다. 서버(150)는 사용자 임무(155)를 워크스테이션 임무(160)와 결합하여 어떤 자급식 데스크탑이 클라이언트에 보내져야 하는지를 판정한다. 클라이언트(165)는 로그인 기능(170)을 수행하고, 그 동안에 사용자 ID 및 패스워드가 수집되어 로그인을 수행하기 위해 서버(150)에 전송된다. 클라이언트(165)는 로그인 기능(170)을 수행하고, 그 동안에 사용자 ID 및 머신 ID가 수집되어 허용된 데스크탑의 리스트를 수신하기 위해 서버에 전송된다.
서버(150)는 클라이언트로부터 사용자 ID, 패스워드 및 머신 ID를 수신하고, 어떤 자급식 데스크탑이 클라이언트에 전송되는지를 클라이언트가 사용하는 특수한 사용자 ID 및 특수한 워크스테이션에 대응하는 사용자 임무(155) 및 워크스테이션 임무(160)에 기초하여 판정한다. 식별된 자급식 데스크탑은 응답 형식으로 서버(150)로부터 클라이언트(165)에 전송된다.
클라이언트(165)는 셀 애플리케이션(180)을 클라이언트 워크스테이션에 로드하기 위한 셀 로딩 처리(175)를 수행한다. 셀 처리는 자바 가상 머신(JVM)과 같은 미들웨어 애플리케이션에 로드되는 애플리케이션이다. 이 방법으로, 셀 애플리케이션은 클라이언트 워크스테이션에 의해 사용되는 운영체계 플랫폼에 관계없이 일관되고 실질적으로 유사하게 나타난다. 셀 애플리케이션(180)은 자급식 데스크탑(190)을 검색 및 디스플레이하도록 구성된다. 클라이언트(165)는 사용자 및 워크스테이션 식별자의 상호작용에 기초하여 자급식 데스크탑을 수신한다. 자급식 데스크탑은 처리(185)를 이용하여 수신 및 디스플레이된다. 그러므로, 주어진 클라이언트는 다수의 자급식 데스크탑을 활용할 수 있다. 상기 자급식 데스크탑은 툴바, 메뉴, 및 사용자와 통신하기 위해 사용되는 다른 그래픽 사용자 인터페이스 항목을 포함한다. 이들 사용자 인터페이스 중 일부는 서버(150)에 의해 호스트되는 서버 애플리케이션과 통신하는 기능을 포함한다. 다른 사용자 인터페이스는 클라이언트 기반 애플리케이션(195)에 대하여 맵하는 확장자(extension)를 포함한다. 사용자가 클라이언트 기반 애플리케이션에 대하여 맵하는 데스크탑 성분을 클릭할 때, 클라이언트 기반 애플리케이션을 호출하기 위한, 또는 다른 방식으로 사용하기 위한 기능이 자급식 데스크탑 내에 존재한다. 클라이언트가 그 마음대로 복수의 자급식 데스크탑을 가지면, 사용자는 셀 애플리케이션(180)에 의해 제공된 메뉴를 사용하여 각종 자급식 데스크탑 사이에서 절환할 수 있다. 예를 들어 은행 거래 환경에서, 사용자가 대부 관계자 및 지점 매니저이면, 이 임무를 위한 2개의 대응하는 자급식 데스크탑은 워크스테이션이 이 임무를 둘 다 수행할 수 있는 경우 셀(180)에 로드될 것이다. 대부 관계자 기능을 수행하기 위하여, 사용자는 셀 애플리케이션(180)으로부터 대부 관계자 데스크탑을 선택한다. 그렇지 않고, 지점 매니저 기능을 수행하기 위하여, 사용자는 셀 애플리케이션(180)으로부터 지점 매니저 데스크탑을 선택한다. 또한, 초기에 디스플레이된 데스크탑이 사용자의 프라이머리 또는 디폴트 임무에 대응하도록 디폴트 임무가 제공될 수 있다.
도 2는 자급식 데스크탑을 제공할 때 포함되는 성분들의 블록도이다. 관리자(200)는 토폴로지, 사용자 정의, 사이트 정의, 데스크탑 정의를 규정한다. 관리자(200)는 워크스테이션 정의(205)을 제공함으로써 토폴로지를 규정한다. 워크스테이션 정의(205)는 어떤 임무, 또는 데스크탑이 각종 워크스테이션에서 사용되도록 허용되는지를 규정하는 워크스테이션 어드레스(210) 및 허용된 데스크탑(215)을 포함한다. 예를 들면, 은행 거래 환경에서, 금전출납원 윈도우에 위치된 워크스테이션은 워크스테이션이 금전출납원 기능을 수행할 수 있도록, 또는 수행을 허용하도록 금전출납원 박스(teller box)와 같은 특수한 설비를 가질 수 있다. 아마도 금전출납원 영역으로부터 멀리있는 데스크에 있는 다른 워크스테이션은 금전출납원 기능을 수행하지 못할 수 있다.
사용자 정의(220)는 시스템의 사용자 및 그 사용자가 수행하는 임무를 정의한다. 사용자 정의(220)는 사용자 데이터(225) 및 할당된 그룹 데이터(230)를 포함한다. 할당된 그룹 데이터(230)는 특수한 사용자가 수행하도록 허용된 임무를 포함한다. 예를 들어서, 지점 매니저는 지점 매니저, 대부 관계자 및 금전출납원 기능을 수행하도록 허용될 수 있고, 금전출납원은 금전출납원 기능만을 수행하도록 허용될 수 있다.
사이트 정의(235)는 특수한 사이트에 대한 정보를 포함한다. 은행 거래 환경에서, 사이트는 은행의 지점 사무실일 수 있다. 사이트 정의(235)는 특수한 사이트에서 사용자에게 공통 데스크탑을 제공하는 그룹 데스크탑 맵(240)과 사이트에 대한 상세를 제공하는 사이트 정보(245)를 포함한다.
데스크탑 정의(250)는 클라이언트에 의해 사용된 자급식 데스크탑을 생성하기 위해 사용된 성분들을 포함한다. 데스크탑 정의(250)는 자급식 데스크탑에서 디스플레이되는 이미지(252)와, 자급식 데스크탑으로부터 액세스 가능한 클라이언트 기반 애플리케이션에 대한 상세를 제공하는 애플리케이션 확장자(254)를 포함한다. 데스크탑 정의(250)는 또한 국어 번역(256)과 같은 리소스를 포함하고, 따라서 사용자는 그들의 필요에 가장 잘 적합하는, 언어 선취권(language preference)과 같은 리소스를 선택할 수 있다. 데스크탑 정의(250)는 또한 클라이언트 구성(258) 및 서버 구성(260)을 포함한다. 이 구성들은 특수한 자급식 데스크탑을 포함하는 성분들에 대한 정보를 포함한다.
관리자(200)는 자급식 데스크탑을 생성하고 클라이언트가 액세스할 수 있는 하나 이상의 서버에서 자급식 데스크탑을 공개한다. 서버(265)는 영구 기억 장치(270) 및 인증 기능을 포함한다. 영구 기억 장치(270)는 사용자 데이터(272), 토폴로지 정보(274) 및 자급식 데스크탑(276)을 포함한다. 사용자 데이터 및 토폴로지 데이터는 자급식 데스크탑(276)이 주어진 워크스테이션을 이용하는 주어진 클라이언트에 의해 사용되도록 허용되었는지를 판정하기 위해 사용된다. 서버(265)는 특수한 사용자/워크스테이션을 클라이언트(290)에 대하여 인증한 데스크탑을 제공한다. 자급식 데스크탑은 클라이언트에 의해 수신되고 플랫폼 독립 셀(295)에서 디스플레이된다. 이 방법으로, 서버(265)는 클라이언트에 의해 사용되는 특수한 운영체계 플랫폼에 관계없이 식별된 데스크탑을 클라이언트에게 보낸다.
도 3은 자급식 데스크탑을 제공하기 위해 관리자에 의해 취해지는 단계들을 나타내는 고레벨 흐름도이다. 관리자 처리는 단계 300에서 시작하고 관리자가 사용자를 정의한다(미리 정해진 처리 310, 상세한 내용은 도 5 참조). 관리자는 또한 시스템 사용자가 사용하는 워크스테이션을 또한 정의한다(미리 정해진 처리 320, 상세한 내용은 도 6 참조).
국어 번역과 같이, 클라이언트에게 필요한 리소스는 리소스가 자급식 데스크탑에 포함될 수 있도록 셋업된다(미리 정해진 처리 330). 워크스테이션으로부터 이용 가능한 애플리케이션에 대응하는 애플리케이션 확장자가 정의된다(미리 정해진 처리 340, 상세한 내용은 도 7 참조). 자급식 데스크탑은 특수한 직업 임무을 수행하는데 필요한 모든 성분들을 포함해서 패키지된다(미리 정해진 처리 350, 처리의 상세에 대해서는 도 8 참조).
새로운 사이트가 추가되었는지에 대한 판정이 행하여진다(판정 단계 360). 새로운 사이트가 추가되었으면, 판정 단계(360)는 "예" 분지(365)로 분기되고 새로운 사이트가 정의된다(미리 정해진 처리 370, 처리의 상세에 대해서는 도 4 참조). 반면에, 새로운 사이트가 추가되지 않았으면, 판정 단계(360)는 단계 370을 바이패스하는 "아니오" 분지(375)로 분기한다.
정의된 데스크탑은 하나 이상의 사이트 및 하나 이상의 임무에 맵된다(미리 정해진 처리 380). 이 방법으로, 단일 데스크탑은 다중 사이트에서 다중 임무용으로 사용될 수 있다. 반대로, 상이한 데스크탑은 각 사이트에서 각각의 임무용으로 정의되고 사용될 수 있다. 데스크탑 성분은 자급식 데스크탑에 패키지되고, 자급식 데스크탑은 각종 클라이언트에 대한 유포를 위해 하나 이상의 서버에 공개된다(미리 정해진 처리 390, 처리의 상세는 도 9 참조). 관리자 처리는 단계 395에서 종료된다.
도 4는 특수한 사이트를 셋업하기 위해 취해지는 관리자 단계들을 나타내는 흐름도이다. 처리는 400에서 시작하고, 고유한 식별자가 사이트에 할당된다(단계 405). 부모 사이트(parent site)가 사이트에 대하여 식별된다(단계 410). 예를 들면, 지점 사무실은 부모 사이트용의 지방 사무실을 가질 수 있다. 이 방법으로, 새로운 사이트는 특성 및 속성이 일관되고 각 사이트에 재입력될 필요가 없도록 부모 사이트로부터 특성 및 속성을 이어받을 수 있다. 부모 사이트가 식별되었는지에 대한 판정이 행하여진다(판정 단계 415). 만일 부모 사이트가 식별되었으면, 판정 단계(415)는 "예" 분지(418)로 분기하고 부모 사이트에 대한 폴리시(policy) 및 데스크탑이 검색된다(단계 420). 반면에, 만일 부모 사이트가 식별되지 않았으면, 판정 단계(415)는 "아니오" 분지로 분기되고 관리자는 그 사이트에 대하여 폴리시 및 데스크탑을 디폴트 값으로 설정한다(단계 425).
특수한 사이트에 대하여 검색 또는 설정된 폴리시는 특수한 사이트의 필요성에 따라서 수정될 수 있다(단계 430). 이 방법에서, 사이트는 부모 사이트의 폴리시와 약간 다른 폴리시를 가질 수 있다. 사이트들은 사이트에서 작업하는 사용자에 의해 수행되는 하나 이상의 임무를 갖는다. 은행 거래 환경에서, 지점 사무실 사이트는 금전출납원, 대부 관계자 및 지점 매니저와 같은 임무를 가질 수 있다. 사이트에 대한 제1 임무가 선택된다(단계 435). 임무가 수정될 필요가 있는지에 대한 판정이 행하여진다(판정 단계 440). 임무가 수정될 필요가 있으면, 판정 단계(440)는 "예" 분지(445)로 분기하고 그 임무에 대한 자급식 데스크탑이 선택된다(단계 450). 반면에, 데스크탑이 그 임무에 대하여 수정될 필요가 없으면, 판정 단계(440)는 단계 450을 바이패스하는 "아니오" 분지로 분기한다. 이 방법으로, 자손 사이트(child site)는 특수한 임무에 대하여 부모 사이트와 동일한 데스크탑을 사용하고, 관리자는 주어진 임무용으로 자손 사이트에 다른 데스크탑을 할당하는 융통성을 갖는다.
사이트에 대한 추가의 임무가 있는지에 대한 판정이 행하여진다(단계 460). 만일 추가의 임무가 있으면 판정 단계(460)는 "예" 분지(465)로 분기하고 사이트에 대한 다음 임무가 선택되며(단계 470), 처리 루프는 다음 임무를 처리하기 위해 되돌아간다. 이 루핑은 사이트에 대한 추가의 임무가 더 이상 없을 때까지 계속되고, 이 때 판정 단계(460)는 "아니오" 분지(475)로 분기하며, 사이트에 대하여 선택된 데스크탑 및 다른 데이터가 저장된다(단계 480). 그 다음에 처리는 복귀한다(단계 495).
도 5는 새로운 사용자를 정의하기 위해 관리자에 의해 취해지는 단계들을 나타내는 흐름도이다. 처리는 단계 500에서 시작하고, 고유한 사용자 식별자, 예를 들면 사용자 ID가 사용자에게 할당된다(단계 505). 초기 패스워드가 또한 사용자에게 할당된다(단계 510). 사용자 성명 및/또는 설명이 또한 사용자에 대하여 입력된다(단계 515). 국어 선취권은 그 사용자에 대하여 선택된다(단계 520).
사용자에 대한 임무는 관리자에 의해 생성되어 데이터 기억부(530)에 저장된 임무의 리스트로부터 선택된다(단계 525). 선택된 임무가 사용자에 대한 디폴트 임무인지에 대한 판정이 행하여진다(단계 540). 만일 선택된 임무가 사용자에 대한 디폴트 임무이면, 판정 단계(540)는 "예" 분지(545)로 분기하고, 선택된 임무가 사용자에 대한 디폴트 임무로서 할당된다(단계 550). 반면에, 만일 선택된 임무가 디폴트 임무가 아니면, 판정 단계(540)는 단계 550을 바이패스하는 "아니오" 분지(555)로 분기한다.
사용자에게 할당할 임무가 더 있는지에 대한 판정이 행하여진다(판정 단계 560). 만일 사용자에게 할당할 임무가 더 있으면, 판정 단계(560)는 "예" 분지(565)로 분기하고 루프는 사용자에 대한 다음 임무를 선택 및 처리하기 위해 되돌아간다. 이 루핑은 사용자에게 할당할 임무가 더 이상 없을 때까지 계속되고, 이 때 판정 단계(560)는 "아니오" 분지(570)로 분기하며, 사용자에게 할당된 임무가 저장된다(단계 580). 그 다음에 처리는 단계 595에서 복귀한다.
도 6은 워크스테이션을 셋업하기 위하여 관리자에 의해 취해지는 단계들을 나타내는 흐름도이다. 처리는 단계 600에서 시작하고, 식별자, 예를 들면 MAC 어드레스가 워크스테이션에 대하여 입력된다(단계 610). MAC 어드레스는 컴퓨터 네트워크의 각 노드를 고유하게 식별하는 하드웨어 어드레스인 매체 접근 제어 어드레스이다. 호스트 또는 서버가 워크스테이션에 할당된다(단계 620). 워크스테이션에 대하여 IP 어드레스가 할당 또는 검색된다(단계 630). 워크스테이션에 대하여 워크스테이션 설명이 또한 입력된다(단계 640). 워크스테이션 설명은 워크스테이션이 은행 금전출납원 드로어(bank teller drawer)를 포함하는지와 같은 워크스테이션 능력의 설명을 포함할 수 있다.
워크스테이션의 제1 임무는 관리자에 의해 생성되어 데이터 기억부(660)에 저장된 임무 리스트로부터 선택된다(단계 650). 예를 들면, 은행 거래 환경에서, 임무는 금전출납원, 대부 관계자 및 지점 매니저를 포함할 수 있다. 하나의 워크스테이션은 3가지 임무를 모두 수행할 수 있고, 다른 워크스테이션은 한가지 또는 두가지 임무만을 수행할 수 있다. 더욱이, 은밀한 또는 민감한 기능들은 다른 워크스테이션이 그러한 기능들을 물리적으로 수행할 수 있다 하더라도 특수한 워크스테이션에 대하여 제한될 수 있다. 워크스테이션에 할달할 임무가 더 있는지에 대한 판정이 행하여진다(판정 단계 670). 워크스테이션에 할당할 임무가 더 있으면, 판정 단계(670)는 "예" 분지(675)로 분기하고, 워크스테이션에 대한 다음 임무가 선택된다(단계 680). 이 루핑은 워크스테이션에 할당할 임무가 더 이상 없을 때까지 계속되고, 이 때 판정 단계(670)는 "아니오" 분지(685)로 분기한다. 할당된 임무 및 워크스테이션 데이터는 비휘발성 기억 영역에 저장된다(단계 690). 그 다음에 처리는 단계 695에서 복귀한다.
도 7은 애플리케이션 확장자를 셋업하기 위해 관리자에 의해 취해지는 단계들을 나타내는 흐름도이다. 애플리케이션 확장자는 클라이언트 기반 레가시 애플리케이션과 같은 응용 프로그램에 대한 액세스를 제공하는 데스크탑 성분이다. 처리는 단계 700에서 시작하고, 확장자 식별자가 특수한 애플리케이션 확장자에 할당된다(단계 705). 대응하는 애플리케이션을 설명하는 애플리케이션 설명이 입력된다(단계 710). 애플리케이션 확장자의 클라이언트 클래스가 또한 입력된다(단계 715).
확장자가 시스템에 의해 제공되는지 사용자에 의해 제공되는지에 대한 판정이 행하여진다(판정 단계 720). 확장자가 사용자에 의해 제공되면, 판정 단계(720)는 사용자 분지(725)로 분기하고, 확장자에 대응하는 자바 아치브(JAR) 파일명이 입력된다(단계 730). 반면에, 확장자가 시스템에 의해 제공되면, 판정 단계(720)는 단계 730을 바이패스하는 시스템 분지(735)로 분기한다.
관리자 객체 지향 클래스가 필요한지에 대한 판정이 행하여진다(단계 740). 만일 관리자 클래스가 필요하면, 판정 단계(740)는 "예" 분지(745)로 분기하고, 관리자 클래스명이 입력된다(단계 750). 반면에, 만일 관리자 클래스가 필요하지 않으면, 판정 단계(740)는 단계 750을 바이패스하는 "아니오" 분지(755)로 분기한다.
애플리케이션 확장자는 공급된 정보를 이용하여 생성된다(단계 760). 애플리케이션 확장자에 대한 임의의 디폴트 특성이 있는지 여부에 대한 판정이 행하여진다(단계 770). 만일 디폴트 특성이 있으면, 판정 단계(770)는 "예" 분지(775)로 분기하고, 애플리케이션 확장자에 대한 디폴트 특성이 입력된다(단계 780). 반면에, 만일 애플리케이션 확장자에 대한 디폴트 특성이 없으면, 판정 단계(770)는 단계 780을 바이패스하는 "아니오" 분지(785)로 분기한다.
애플리케이션 확장자는 임의의 디폴트 특성과 함께 비휘발성 기억 영역에 저장된다(단계 790). 그 다음에, 처리는 단계 795에서 복귀한다.
도 8은 애플리케이션 기준을 셋업하기 위하여 취해지는 관리자 단계들을 나타내는 흐름도이다. 처리는 단계 800에서 시작하고, 애플리케이션 기준에 대응하는 기준의 유형(즉, 확장자 유형)이 선택된다(단계 810). 고유한 애플리케이션 기준 식별자가 애플리케이션 기준에 할당된다(단계 820). 애플리케이션 설명이 애플리케이션 기준에 또한 제공된다(단계 830). 아이콘 타이틀 및 아이콘 파일명과 같은 아이콘 속성이 또한 제공된다(단계 840). 애플리케이션 확장자의 유형에 특정된 특성들이 또한 입력된다(단계 850). 애플리케이션 기준은 그 다음에 비휘발성 기억 영역에 저장되고(단계 860), 처리는 단계 895에서 복귀한다.
도 9는 자급식 데스크탑을 생성하기 위해 관리자에 의해 취해지는 단계들을 나타내는 흐름도이다. 처리는 단계 900에서 시작하고, 고유한 식별자가 자급식 데스크탑에 할당된다(단계 905). 데스크탑에 대한 데스크탑 타이틀 및/또는 설명이 입력된다(단계 910). 데스크탑에 대하여 스크린 및 아이콘 모양(appearance)이 입력된다(단계 915). 그 다음에, 데스크탑에 나타내기 위해 아이콘, 배경 등과 같은 이미지를 선택한다. 이 이미지는 데스크탑 성분 라이브러리(925)로부터 선택된다. 데스크탑 성분 라이브러리(925)는 배경 및 기타 이미지(930), 아이콘(935), 애플리케이션 기준(945) 및 리소스(955)를 포함한다.
데스크탑으로부터 이용 가능한 애플리케이션 기준은 데스크탑 성분 라이브러리(925)에 포함된 애플리케이션 기준(945)으로부터 선택된다(단계 940). 은행 거래 환경에 있어서, 금전출납원의 데스크탑은 클라이언트의 은행 잔고를 조사하고 금전출납원의 캐쉬 드로어를 동작시키기 위한 애플리케이션 기준을 포함할 수 있고, 대부 관계자의 데스크탑은 은행의 대부 승인 소프트웨어 애플리케이션에 대한 액세스를 제공하는 애플리케이션 기준을 포함할 수 있다. 텍스트 및 리소스와 같은 국어 데이터는 각각의 지원된 장소에 제공된다(단계 950). 이 리소스들은 데스크탑 성분 라이브러리(925)에 포함된 리소스(955)로부터 선택된다.
데스크탑 구성은 데스크탑에 포함된 파일 및 리소스의 상세로서 저장된다(단계 960). 데스크탑을 설명하는 클라이언트 구성 파일이 생성되고 데스크탑 데이터가 패키지화되어(970) 자급식 데스크탑(975)을 구성한다. 결과적인 자급식 데스크탑은 데스크탑을 서버(990)에 전송함으로써 클라이언트 액세스 가능 서버에 공개된다(단계 980). 그 다음에, 처리는 단계 995에서 복귀한다.
도 10은 자급식 데스크탑을 클라이언트에 전달하기 위해 서버에 의해 취해지는 단계들을 나타내는 흐름도이다. 처리는 단계 1000에서 시작하고, 서버는 사용자 로그인 및 워크스테이션 식별자를 수신한다(단계 1005). 사용자 로그인은 사용자를 인증하기 위해 사용되는 사용자 식별자 및 사용자 패스워드를 포함한다. 사용자에게 할당된 임무는 사용자 디렉토리 데이터 기억 장치(1015)로부터 검색된다(단계 1010). 워크스테이션에 할당된 임무는 토폴로지 디렉토리(1025)로부터 검색된다(단계 1020).
사용자에 할당된 임의의 임무가 워크스테이션에 할당된 임의의 임무와 일치하는지에 대한 판정이 행하여진다(판정 단계 1030). 공통인 임무가 없으면, 판정 단계(1030)는 "아니오" 분지(1035)로 분기하고, 그 다음에 에러가 클라이언트에게 반환되고(단계 1038) 처리는 단계 1095에서 복귀한다. 반면에, 하나 이상의 임무가 공통이면, 판정 단계(1030)는 "예" 분지(1040)로 분기하고, 그 다음에 선택된 임무용의 제1 데스크탑이 데스크탑/임무 맵(1050)으로부터 검색되며, 대응하는 자급식 데스크탑이 데이터 기억부(1055)로부터 검색된다. 사용자와 워크스테이션 사이에 공통인 임무가 더 있는지에 대한 판정이 행하여진다(단계 1060). 공통인 임무가 더 있으면, 판정 단계(1060)는 "예" 분지(1070)로 분기하고, 다음 공통 임무가 선택되며(단계 1080), 처리 루프는 대응하는 자급식 데스크탑을 검색하기 위해 되돌아간다. 이 루핑은 사용자와 워크스테이션 사이에 공통인 임무가 더 이상 없을 때까지 계속되고, 이 때 판정 단계(1060)는 "아니오" 분지(1065)로 분기하며, 검색된 데스크탑 식별자(즉, 사용자와 워크스테이션 둘 다에 공통인 식별자)가 클라이언트에 보내진다(단계 1090). 그 다음에 처리는 단계 1095에서 복귀한다.
도 11은 새로운 사이트를 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다. 관리자는 새로운 사이트를 규정하기 위해 스크린 배치(1100)를 사용한다. 관리자는 텍스트 박스(1150)에 고유한 사이트 식별자를 입력한다. 만일 새로운 사이트가 이미 생성된 사이트의 자손이면, 부모 사이트가 리스트 박스(1105)로부터 선택된다. 리스트 박스(1105)는 이전에 정의된 사이트 식별자의 리스트를 포함한다. 프레임(1110)은 사이트에 대하여 사용되는 폴리시 정보를 포함한다. 폴리시 정보는 폴리시 이름(1115), 폴리시 값(1120) 및 계승 데이터(1125)를 포함한다. 계승 데이터(1125)는 계승 값(1130)과 계승 선조(ancestor)(1135)를 포함한다. 도시된 예에서, 폴리시 이름은 "newbDC"이고, 폴리시의 값은 부모 사이트로부터 계승된다. 계승 값은 "허용"(allow)이고 계승 선조는 "루트"(root) 즉 사이트 계층에서 최상위 사이트이다.
데스크탑 프레임(1140)은 사이트에서 이용 가능한 임무 및 데스크탑에 대한 정보를 포함한다. 데스크탑 프레임(1140)은 임무 데이터(1155), 데스크탑 데이터(1160) 및 계승 데이터(1170)를 포함한다. 계승 데이터는 계승되는 데스크탑(1175)의 이름 및 데스크탑을 계승시키는 선조(1180)의 이름을 포함한다. 도시된 예에서, 사이트에 포함된 임무들은 관리자, 지점 매니저, 손님, 대부 관계자 및 금전출납원을 포함한다. 각각의 데스크탑은 테스크탑 필드에 대하여 "[계승됨]"이라고 표시된 바와 같이 부모 사이트로부터 계승된다. 관리자, 지점 매니저 및 대부 관계자 데스크탑은 "지점A" 사이트로부터 계승되고, 손님과 금전출납원 데스크탑은 "루트" 사이트로부터 계승된다. 이 방법으로 자급식 데스크탑은 부모 사이트의 변체(variety)로부터 선택되거나 자손 사이트용으로 특수하게 구성될 수 있다.
새로운 사이트 데이터가 입력되었을 때, 관리자는 새로운 사이트를 생성하기 위해 "사이트 생성" 명령 버튼(1190)을 선택한다. 관리자가 실수를 하여 값들을 리셋하기 원하면, 관리자는 "값 리셋" 명령 버튼(1195)을 선택할 수 있다.
도 12는 주어진 사이트의 데스크탑 및 머신들을 관리하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다. 관리자는 주어진 사이트의 데스크탑을 관리하고 그 사이트에 대응하는 워크스테이션을 추가 및 관리하기 위하여 스크린 배치(1200)를 사용한다. 스크린 배치(1200)의 상반부는 도 11에 도시한 새로운 사이트 배치와 유사하다. 리스트 박스(1205)는 사이트에 할당되는 부모 사이트를 선택하기 위해 사용된다. 부모 사이트는 조직 내에서 변화를 수용하도록 변화될 수 있다. 폴리시 프레임(1210)은 폴리시의 이름(1212), 폴리시 값(1214) 및 계승 데이터(1216)를 포함한다. 계승 데이터는 계승 값(1218)과 선조 값(1220)을 포함한다. 도시된 예에서, 폴리시 이름은 "newbDC"이고, 이것은 "루트" 선조로부터 계승된다.
데스크탑 프레임(1225)은 임무 데이터(1230), 데스크탑 데이터(1235) 및 데스크탑 계승 데이터(1240)를 포함한다. 도 12에 도시된 은행 거래 예에서, 사이트용으로 포함된 임무들은 관리자, 지점 매니저, 손님, 대부 관계자 및 금전출납원으로 구성된다. 데스크탑은 관리자, 지점 매니저, 손님, 대부 관계자 및 금전출납원에 의해 사용된다. 이 임무들은 각각 데스크탑 데이터(1235)에 도시되어 있다. 일부 값들은 부모 사이트로부터 계승되고, 다른 값들은 특수한 자급식 데스크탑에 대하여 특정된다. 데스크탑 계승 데이터는 데스크탑 계승(1242) 및 선조 데이터(1244)를 포함한다. 도시된 예에서, 관리자, 지점 매니저 및 대부 관계자는 각각 "지점A"로부터 데스크탑 데이터를 계승하고, 손님 및 금전출납원은 각각 "루트" 부모로부터 데스크탑 데이터를 계승한다.
관리자가 사이트 데이터를 변화시키고 변화된 사이트 정보를 저장하기 원하면, 관리자는 "변화 실행" 명령 버튼(1245)을 선택한다. 만일 관리자가 사이트 값들을 리셋하기 원하면, 관리자는 "값 리셋" 명령 버튼(1250)을 선택한다. 만일 관리자가 사이트를 삭제하기 원하면, 관리자는 "사이트 삭제" 명령 버튼(1255)을 선택한다.
관리자가 사이트를 서버에 공개할 준비가 되었을 때, 관리자는 "공개" 명령 버튼(1260)을 선택한다. 만일 관리자가 사이트의 자손인 임의의 사이트와 함께 사이트를 공개하기 원하면, 관리자는 "자손과 함께 공개" 명령 버튼(1265)을 선택한다.
자손 사이트 프레임(1270)은 사이트의 자손인 임의의 사이트에 관한 데이터를 포함한다. 자손 사이트 데이터는 사이트 이름(1272)과 사이트 폴리시(1278)를 포함한다. 새로운 자손 사이트를 생성하기 위해, 관리자는 관리자가 새로운 자손 사이트를 식별할 수 있게 하는 "<새로운 사이트>" 하이퍼링크(1275)를 선택할 수 있다.
머신 프레임(1280)은 사이트에 포함된 워크스테이션에 대한 데이터를 포함한다. 워크스테이션 데이터는 워크스테이션 식별자(1282), 워크스테이션의 호스트명(1284), 워크스테이션 유형(1286), 워크스테이션에 의해 제공된 임무(1288), 워크스테이션의 IP 어드레스(1290) 및 워크스테이션 설명(1292)을 포함한다. 사이트에 새로운 머신(워크스테이션)을 추가하기 위해, 관리자는 "<새로운 머신>" 하이퍼링크(1295)를 선택한다.
도 13은 새로운 사용자를 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다. 스크린 배치(1300)는 새로운 사용자의 고유한 식별자를 입력하기 위한 텍스트 박스(1305)를 포함한다. 사용자 성명은 텍스트 박스(1310)에서 입력된다. 또한 사용자의 설명이 텍스트 박스(1315)에서 입력될 수 있다. 예를 들면, 사용자 ID는 드문 또는 파트타임 사용자용으로 새로운 사용자 식별자를 생성할 필요없이 누구나 사용할 수 있는 손님 또는 금전출납원과 같은 일반 식별자로서 셋업될 수 있다. 상기 일반 목적으로 사용되는 사용자 식별자는 설명 텍스트 박스 필드(1315)를 이용하여 더 설명될 수 있다.
새로운 초기 패스워드는 텍스트 박스(1320)에서 사용자가 입력한다. 이 새로운 초기 패스워드는 텍스트 박스(1325)에서 패스워드를 재입력함으로써 관리자에 의해 확인된다. 디폴트 장소는 리스트 박스(1330)를 이용하여 사용자의 관리자에 의해 선택된다. 도시된 예에서, 장소는 미국 영어를 말하는 사용자에 대하여 미국 장소가 되도록 선택된다. 그러나, 사용자의 1차 언어가 스페인어 또는 어떤 다른 언어이면, 리스트 박스(1330)에 제공된 리스트로부터 적당한 장소가 선택된다.
프레임(1332)은 사용자에 대응한 임무를 선택하기 위해 관리자에 의해 사용된다. 디폴트 임무(1335)는 각각의 이용 가능한 임무에 대응하는 다수의 라디오 버튼을 포함한다. 라디오 버튼은 관리자만이 사용자에 대하여 하나의 디폴트 임무를 선택하도록 사용된다. 선택 칼럼(1340)은 각각의 이용 가능한 임무에 대응하는 다수의 체크 박스를 포함한다. 관리자는 사용자가 수행하는 각 임무에 대응하는 각각의 체크박스를 선택한다. 이름 칼럼(1345)은 각각의 이용 가능한 임무의 이름을 포함한다. 도시된 예에서, 이용 가능한 임무는 관리자, 지점 매니저, 손님, 대부 관계자 및 금전출납원을 포함한다. 관리자는 칼럼(1340)에서 대응하는 체크박스를 선택함으로써 상기 임무들 중 한 개 또는 그 이상을 선택할 수 있다. 또한, 관리자는 "<새로운 임무>" 하이퍼링크(1350)를 선택함으로써 새로운 임무를 설정할 수 있다.
관리자가 사용자 데이터의 입력 및 사용자에 대한 임무 할당을 종료한 때, 관리자는 사용자 데이터 및 할당된 임무를 생성하고 저장하기 위해 "사용자 생성" 명령 버튼(1355)을 선택한다. 만일 관리자가 실수를 하여 값들을 리셋하기 원하면, "값 리셋" 명령 버튼(1360)이 선택된다.
도 14는 하나 이상의 자급식 데스크탑 내의 성분으로서 이용 가능한 애플리케이션을 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다. 스크린 배치(1400)는 자급식 데스크탑에 포함될 수 있는 새로운 애플리케이션을 규정하기 위해 사용된다. 애플리케이션 식별자 텍스트 박스(1405)는 규정된 애플리케이션에 대응하는 고유한 애플리케이션 식별자를 입력하기 위해 관리자가 사용한다. 도 14에 도시된 예에서, 규정되는 애플리케이션의 유형은 "원시"(native) 애플리케이션, 다시 말하면, 실행가능한 애플리케이션의 적어도 일부가 클라이언트 워크스테이션에 존재하는 애플리케이션이다.
규정되는 애플리케이션의 설명은 설명 텍스트 박스(1410)에서 입력된다. 아이콘 속성 프레임(1415)은 데스크탑에 나타나고 애플리케이션을 선택하기 위해 사용자가 사용하는 아이콘에 대응하는 속성들을 규정하기 위해 사용된다. 아이콘 속성은 텍스트 박스(1420)에서 입력되는 타이틀과, 텍스트 박스(1425)에서 입력되는 아이콘 파일명을 포함한다.
플랫폼 특성 프레임(1430)은 애플리케이션이 호출될 수 있는 지원된 운영체계 플랫폼 각각에 대한 데이터를 포함한다. Win32 프레임(1435)은 마이크로소프트 윈도즈 운영체계 플랫폼으로부터 애플리케이션을 호출 및 실행하기 위해 사용되는 데이터를 포함한다. Win32 데이터는 Win32 환경에서 애플리케이션의 실행가능한 형태를 식별하는 경로 및 파일명을 포함한다. 경로 및 파일명은 텍스트 박스(1440)에서 입력된다. 애플리케이션에 필요한 임의의 파라메터들은 파라메터 텍스트 박스(1445)에서 공급된다. 만일 필요하다면, 애플리케이션에 대응하는 작업 디렉토리가 텍스트 박스(1455)에서 입력된다.
플랫폼 특성 프레임(1430)은 프레임(1460)에 위치된 필드인 OS/2 운영체계 플랫폼용의 데이터를 또한 포함한다. OS/2 필드는 전술한 Win32 필드에 대응한다. 이들은 경로 및 파일명 텍스트 박스(1465), 파라메터 텍스트 박스(1470), 및 작업 디렉토리 텍스트 박스(1475)를 포함한다. 마찬가지로, 필드의 리눅스 세트가 프레임(1480)에 제공되는데, 이 프레임은 경로 및 파일명 텍스트 박스(1482), 파라메터 텍스트 박스(1484), 및 작업 디렉토리 텍스트 박스(1486)를 포함한다.
애플리케이션 정보가 관리자에 의해 입력될 때, 관리자는 "애플리케이션 생성" 명령 버튼(1490)을 선택함으로써 애플리케이션을 생성할 수 있다. 만일 관리자가 실수를 하면, "값 리셋" 명령 버튼(1495)을 선택함으로써 새로운 애플리케이션 값이 리셋될 수 있다.
도 15는 자급식 데스크탑을 셋업하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다. 스크린 배치(1500)는 자급식 데스크탑의 모양 및 기능을 규정하기 위해 사용하는 각종 필드를 포함한다. 이전에 규정된 데스크탑 식별자는 스크린상에 디스플레이된다. 도시된 예에서, 데스크탑 식별자는 "bda-관리자"이다. 자급식 데스크탑의 타이틀은 텍스트 박스(1505)에서 관리자가 입력한다. 도시된 예에서, 타이틀은 "관리자"이다. 자급식 데스크탑의 설명은 텍스트 박스(1510)에서 입력된다. 도시된 예에서, 입력된 설명은 "BDA 관리자용 데스크탑"이다.
자급식 데스크탑의 발진 모드(launch mode)는 리스트 박스(1515)를 이용하여 관리자가 선택한다. 발진 모드는 데스크탑으로부터 성분을 호출하기 위해 필요한 마우스 클릭의 수를 표시한다. 도시된 예에서, 선택된 발진 모드는 "2"(즉, 더블 클릭)이다. 아이콘 속성은 프레임(1520)에서 입력된다. 최대 허용가능하고 디스플레이가능한 아이콘 타이틀의 길이는 적당한 텍스트 박스에서 관리자가 입력한다.
배경 모양 정보는 프레임(1525)에서 관리자가 입력한다. 컬러, 이미지 파일 및 이미지 디스플레이 모드는 자급식 데스크탑의 배경용으로 관리자가 제공한다. 예를 들면, 데스크탑 배경 데이터는 조직의 이름 및 로고를 포함할 수 있다. 아이콘 모양 정보는 프레임(1530)에서 관리자가 입력한다. 아이콘 모양 데이터는 아이콘의 텍스트 컬러, 아이콘과 함께 사용되는 폰트, 아이콘과 함께 사용되는 폰트 크기, 아이콘에 사용되는 폰트 스타일, 아이콘 흐름, 아이콘 흐름의 개시점 및 아이콘 텍스트의 텍스트 위치를 포함한다.
관리자가 자급식 데스크탑의 셋업을 완료할 때, 관리자는 데스크탑 세팅을 저장하기 위해 "변경 실행" 명령 버튼(1540)을 선택한다. 만일 관리자가 실수를 하여 값들을 리셋하고자 하면, 관리자는 "값 리셋" 명령 버튼(1545)을 선택한다. 만일 관리자가 자급식 데스크탑 정의를 삭제하고자 하면, 관리자는 "데스크탑 삭제" 명령 버튼(1550)을 선택한다.
하이퍼링크(1560)는 자급식 데스크탑으로부터 이용 가능한 기준들을 추가, 수정 또는 삭제하기 위해 사용된다. 이용 가능한 기준들의 예로는 애플리케이션(1570), 폴더(1580) 및 툴바(1590)가 있다. 도시된 예에서, 포함되어 있는 애플리케이션들은 "아크로리드"(acroread), "계산기" 및 "브라우저"로 구성된다. 포함되어 있는 폴더들은 하나의 애플리케이션 폴더와 2개의 관리자 폴더(badmin, ladmin)로 구성된다. 하나의 툴바인 관리자 툴바가 또한 포함된다.
도 16은 워크스테이션을 관리하기 위해 관리자가 사용하는 스크린의 스크린 배치도이다. 스크린 배치(1600)는 네트워크 전체에 걸쳐서 워크스테이션 또는 컴퓨터 시스템을 관리하기 위해 관리자가 사용한다. 각각의 워크스테이션에 대해 유지된 데이터는 칼럼 1610에 리스트된 워크스테이션 식별자, 칼럼 1620에 리스트되고 워크스테이션이 속하는 사이트, 칼럼 1630에 리스트된 워크스테이션에 할당된 호스트(서버), 칼럼 1640에 리스트된 워크스테이션에 의해 수행되는 기능들의 유형, 칼럼 1650에 리스트된 워크스테이션이 수행하도록 허용된 임무, 칼럼 1660에 리스트된 워크스테이션의 IP 어드레스 및 칼럼 1670에 리스트된 워크스테이션의 설명을 포함한다.
칼럼 1610에 도시된 식별자는 각 워크스테이션에 대하여 유일한 것이다. 도 16에 도시된 예에서, 식별자는 워크스테이션에 대응하는 MAC 어드레스이다. 도 16에 도시된 사이트는 "루트" 사이트, 지점 "A" 또는 지점 "B"이다. 이 사이트들은 조직 내의 물리적 또는 논리적 영역을 나타낼 수 있다. 호스트명은 워크스테이션에 의해 사용되는 서버의 이름이다. 워크스테이션에 의해 수행되는 기능의 유형은 관리 기능, 서버 기능 및 클라이언트 기능을 포함한다. "A"로 끝나는 유형은 관리 기능용으로 사용되고, "S"로 끝나는 유형은 서버 기능용으로 사용되며, "C"로 끝나는 유형은 클라이언트 기능용으로 사용된다. 도 16에서 알 수 있는 바와 같이, 일부 워크스테이션은 복수 유형의 기능을 수행한다. 예를 들어서, 리스트된 제1 워크스테이션은 관리자 및 서버 기능을 둘 다 서비스한다. 임무는 워크스테이션에서 수행되도록 허용된 기능들을 표시한다. 임무는 전형적으로 클라이언트 기능에 관련이 있고, 따라서 클라이언트 유형을 갖지 않은 워크스테이션은 할당된 임무가 없다. 할당된 임무를 가진 워크스테이션은 가끔 다중 임무를 갖는다. 예를 들면, 리스트된 제3 워크스테이션은 워크스테이션에서 수행되도록 허용된 4개의 임무(금전출납원, 대부 관계자, 지점 매니저, 손님)를 갖는다. 그러나, 도시된 제4 및 제5 워크스테이션은 각 워크스테이션에서 수행되도록 허용된 하나의 임무만을 갖는다. IP 어드레스는 워크스테이션에 할당된 네트워크 어드레스이다. 일부 환경에서, IP 어드레스는 정적 어드레스이고, 다른 환경에서 IP 어드레스는 동적으로 할당된다. 각 워크스테이션의 설명은 선택 항목이지만, 관리자가 특수한 워크스테이션 및 그 워크스테이션이 운용하는 임무를 더 잘 식별할 수 있게 한다.
도 17은 자급식 데스크탑을 서버에 분배하기 위해 취해지는 단계들을 나타내는 흐름도이다. 관리자 데스크탑 분배 처리는 단계 1700에서 시작하고, 분배를 위한 제1 데스크탑이 선택된다(단계 1705). 요구는 CRC 값과 같은 데스크탑 이름 및 고유한 기호로 생성된다(단계 1710). 생성된 데스크탑 요구는 하나 이상의 서버에 보내진다(단계 1715). 분배할 데스크탑이 더 있는지에 대한 판정이 행하여진다(판정 단계 1720). 분배할 데스크탑이 더 있으면 판정 단계(1720)는 "예" 분지(1722)로 분기하고, 그 다음에 처리는 분배할 다음 데스크탑을 선택하며, 루프가 되돌아가서 요구를 생성하고 그 요구를 서버에 보낸다. 이 루핑은 분배할 데스크탑이 더 이상 없을 때까지 계속되고, 이 시점에서 판정 단계(1720)는 "아니오" 분지(1728)로 분기한다.
이전에 보내진 데스크탑 요구로부터 발생된 서버 응답은 관리자에 의해 수신된다(단계 1730). 이 응답에 기초해서, 데스크탑이 이미 서버에 있는지에 대한 판정이 행하여진다(판정 단계 1735). 데스크탑이 이미 서버에 존재하지 않으면, 판정 단계(1735)는 "아니오" 분지(1738)로 분기하여 식별된 데스크탑이 데이터 스트림의 서버에 보내진다(단계 1740). 반면에, 데스크탑이 이미 서버에 존재하면, 판정 단계(1735)는 단계 1740을 바이패스하는 "예" 분지(1742)로 분기한다.
데스크탑 요구와 관련하여 서버로부터 수신한 응답이 더 있는지에 대한 판정이 행하여진다(판정 단계 1745). 응답이 더 있으면, 판정 단계(1745)는 "예" 분지(1746)로 분기하고 루프가 되돌아가서 응답을 처리한다. 이 루핑은 처리에 대한 응답이 더 이상 없을 때까지 계속되고, 이 때 판정 단계(1745)는 "아니오" 분지(1748)로 분기하여 관리자 데스크탑 분배 처리가 단계 1750에서 종료한다.
서버 데스크탑 수집 처리는 단계 1755에서 시작하고, 그 다음에 서버는 관리자에 의해 보내진 데스크탑 분배 요구를 수신한다(단계 1760). 관리자의 요구에 포함된 데스크탑의 고유한 식별자는 서버에 현재 있는 데스크탑 데이터(1768)와 비교된다(단계 1765). 그 비교에 기초해서, 데스크탑이 서버에서 필요로 하는지에 대한 판정이 행하여진다(판정 단계 1770). 데스크탑을 필요로 하지 않으면(즉, 데스크탑이 이미 서버에 있으면), 판정 단계(1770)는 "아니오" 분지(1772)로 분기하고, 그 다음에 서버가 이미 데스크탑을 갖고 있음을 표시하는 메시지가 관리자에게 보내지고(단계 1775), 서버 처리는 단계 1795에서 종료한다.
반면에, 서버가 아직 데스크탑을 갖고 있지 않으면, 판정 단계(1770)는 "예" 분지(1778)로 분기하고, 서버가 데스크탑을 요구한다.(단계 1780). 서버는 이 요구에 응답하여 데스크탑 데이터 스트림을 수신한다(단계 1785). 그 다음에, 서버는 수신된 데이터 스트림으로부터 자급식 데스크탑 파일을 생성하고, 그 데스크탑 파일을 데스크탑 데이터 기억 영역(1768)에 저장한다(단계 1790). 그 다음에, 서버 데스크탑 수집 처리는 단계 1798에서 종료한다.
도 18은 자급식 데스크탑을 서버로부터 클라이언트에게 분배하기 위해 취해지는 단계들을 나타내는 흐름도이다. 클라이언트 데스크탑 수신은 단계 1800에서 시작하고, 클라이언트는 데스크탑 리스트 요구를 서버에 보낸다(단계 1805). 데스크탑 리스트 요구는 클라이언트의 머신(워크스테이션) 식별자 및 클라이언트의 사용자 식별자를 포함한다.
서버 데스크탑 분배 처리는 단계 1840에서 시작하고, 그 다음에 서버는 클라이언트로부터 데스크탑 리스트 요구를 수신한다(단계 1845). 서버는 사용자 임무 데이터 기억부(1852)를 조사함으로써 사용자에 할당된 임무들을 조사한다(단계 1850). 서버는 또한 머신 임무 데이터 기억부(1858)를 조사함으로써 사용자가 사용하는 워크스테이션에 할당된 임무들을 조사한다(단계 1855).
서버는 사용자 임무와 머신 임무 사이의 교차점, 즉 중복(overlap)에 기초하여 데스크탑 정보를 검색하고 중복 임무에 대응하는 데스크탑을 데스크탑 데이터 기억부(1862)에 위치시킨다. 검색된 데스크탑 정보는 데스크탑을 유일하게 식별하기 위해 사용되는, CRC와 같은 데스크탑 식별자 및 데스크탑 기호를 포함한다. 사용자는 디폴트 임무 및 이 임무에 대응하는 디폴트 데스크탑을 가질 수 있다. 만일 사용자가 디폴트 임무를 가지면, 서버는 그 디폴트 임무를 결정한다(단계 1865).
서버는 유효 임무, 데스크탑 기호, 디폴트 데스크탑 식별자(적용가능할 때) 및 디폴트 임무(적용가능할 때)의 응답 스트링을 생성한다(단계 1870). 그 다음에, 서버는 응답 스트링을 클라이언트에게 반환한다(단계 1875).
클라이언트는 서버로부터 임의의 디폴트 임무 및 디폴트 데스크탑 정보와 함께 사용자와 워크스테이션 둘 다에 할당된 임무들을 포함하는 데스크탑 리스트를 수신한다(단계 1810). 클라이언트는 클라이언트 워크스테이션에 이미 저장된 데스크탑과 데스크탑 리스트에 포함된 데스크탑을 비교한다(단계 1815). 이것은 클라이언트가 클라이언트 워크스테이션에 아직 전송되지 않고 휘발성 또는 비휘발성 기억 영역에 저장된 데스크탑을 요구할 필요만 있도록 하여진다.
클라이언트는 추가적인 성분 또는 데스크탑이 클라이언트 워크스테이션에 아직 저장되지 않은 데스크탑 또는 성분을 식별함으로써 서버로부터 필요로 하는지 여부를 판정한다(판정 단계 1820). 만일 클라이언트가 추가적인 데스크탑 성분이 필요하지 않다고 판정하면, 판정 단계(1820)는 (추가적인 데스크탑 정보를 요구하고 검색하기 위해 사용되는 단계를 바이패스하는) "아니오" 분지(1832)로 분기하고, 클라이언트 처리는 단계 1835에서 종료한다.
반면에, 만일 클라이언트가 추가적인 성분 또는 데스크탑을 필요로 하면, 판정 단계(1820)는 "예" 분지(1822)로 분기하고, 그 다음에 소요 데스크탑이 서버로부터 요구된다(단계 1825). 이 요구는 서버 단계(1885)에서 서버에 의해 수신된다. 서버는 데스크탑 데이터 기억부(1862)로부터 요구 데스크탑 정보를 검색하고 그 정보를 클라이언트 워크스테이션에 반환함으로써 응답한다(단계 1890). 그 다음에 서버 데스크탑 분배 처리는 단계 1895에서 종료한다.
클라이언트 처리로 돌아가서, 클라이언트는 단계 1830에서 요구된 데스크탑 정보를 수신 및 저장하고, 클라이언트 데스크탑 수신 처리는 단계 1835에서 종료한다.
도 19는 고객(custom) 애플리케이션 확장자를 생성하기 위해 취해지는 단계들을 나타내는 흐름도이다. 고객 애플리케이션 확장자는 제3자가 기존에 존재하는 객체 지향 분류를 연장하여 특수한 조직의 필요에 더 잘 서비스하도록 서버 분류 객체의 행동(behavior) 또는 속성을 수정할 수 있게 한다. 고객 애플리케이션 확장자 생성 처리는 단계 1900에서 시작하고, 특수한 성분 인터페이스를 구현하는 클라이언트 객체 지향 분류가 제공된다(단계 1910). 서버 요약(abstract) 분류를 확장시켜야 하는지에 대한 판정이 행하여진다(판정 단계 1920). 만일 요약 분류가 확장되지 않으면, 판정 단계(1920)는 "아니오" 분지(1925)로 분기하고, 디폴트 서버 성분이 성분 인터페이스용으로 사용된다(단계 1930). 반면에, 요약 분류가 확장되면, 판정 단계(1920)는 "예" 분지(1935)로 분기하고, 서버 성분 요약 분류를 확장하는 서버 분류가 제공된다(단계 1940).
고객 애플리케이션 확장자에 대하여 추가의 리소스가 필요한지에 대한 판정이 행하여진다(판정 단계 1950). 만일 추가의 리소스가 필요하면, 판정 단계(1950)는 "예" 분지(1955)로 분기하고, 애플리케이션 확장자에 의해 사용되는 추가의 리소스가 제공된다(단계 1960). 추가의 리소스는 이미지, 특성 파일 및 애플리케이션 확장자에 의해 사용되는 기타 분류 파일을 포함할 수 있다. 반면에, 만일 추가의 리소스가 필요하지 않으면, 판정 단계(1950)는 단계 1960을 바이패스하는 "아니오" 분지(1965)로 분기한다.
클라이언트 분류, 서버 분류 및 임의의 추가 리소스는 자바 아치브(JAR) 파일에 패키지된다(단계 1970). 패키지된 고객 확장자는 고객 확장자 라이브러리(1980)에 저장된다. 고객 애플리케이션 확장자 처리의 생성은 단계 1995에서 종료한다.
도 20은 애플리케이션 확장자 라이프사이클을 나타내는 흐름도이다. 애플리케이션 확장자 라이프사이클은 단계 2000에서 시작한다. 애플리케이션 확장자 라이프사이클의 제1 단계 중에, 애플리케이션 확장자는 노-아그 구성자(no-arg constructor)를 이용한다(단계 2025). 노-아그 구성자는 그 자바 구현 분류를 로딩하고 노-아그 구성자를 호출함으로써 애플리케이션 확장자를 생성하기 위해 사용된다. 이 시점에서, 애플리케이션 확장자 성분은 클라이언트 데스크탑에 대한 기준을 갖지 않고 데스크탑 환경과 상호작용할 수 없다. 이 단계 중에, 인스턴스 변수 및 디폴트 세팅은 초기화된다.
애플리케이션 확장자 라이프사이클의 다음 단계 중에, 애플리케이션 확장자가 초기화된다(단계 2050). 초기화 단계 중에, 애플리케이션 확장자에 대응하는 초기화된 방법은 성분 인터페이스에서 정의된다. 성분 구성 항목에 대한 기준, 초기 위치 정보 및 데스크탑 기준이 또한 제공된다. 데스크탑 기준은 이 단계 중에 인스턴스 변수로서 저장되는 것이 바람직하다.
애플리케이션 확장자 라이프사이클의 최종 단계 중에, 애플리케이션 확장자에 대응하는 시작 방법이 호출된다(단계 2075). 시작 방법은 데스크탑에 의해 호출된다. 예를 들어서, 시작 방법은 애플리케이션 확장자에 대응하는 아이콘이 사용자에 의해 선택될 때 호출될 수 있다. 이 단계 중에, 애플리케이션 확장자는 데스크탑 기준 및 다른 데스크탑 성분에 대한 기준을 사용할 수 있다. 또한, 애플리케이션 확장자는 이 시점에서 스레드(thread)를 시작하고 I/O 동작을 수행할 수 있다.
도 21a는 관리자로부터 다수의 클라이언트에게 분배되는 성분 및 리소스를 나타내는 블록도이다. 관리자(2100)는 이 패키지를 각종 서버에 전송함으로써 각종 데스크탑 패키지(2110)에 패키지된 성분 및 리소스 라이브러리(2105)를 공개한다.
도 21a에 도시된 예에서는 관리자로부터 데스크탑 패키지를 수신하는 3개의 서버가 있다. 서버들은 서버(2120, 2140, 2160)를 포함한다. 각 서버는 관리자로부터 수신한 데스크탑 패키지를 저장하기 위한 비휘발성 기억 영역을 포함한다. 서버(2120)는 데스크탑 패키지를 저장하기 위해 비휘발성 기억 영역(2125)을 사용하고, 서버(2140)는 비휘발성 기억 영역(2145)을 사용하며, 서버(2160)는 비휘발성 기억 영역(2165)을 사용한다. 데스크탑 패키지는 도 17에 도시한 처리에 따라 관리자로부터 서버에 분배된다. 서버들은 데스크탑 패키지를 각종 클라이언트에게 제공하기 위해 사용된다.
도 21a에 도시된 예에서는 각 서버로부터 데스크탑 패키지를 수신하는 2개의 클라이언트가 있다. 클라이언트(2130, 2135)는 서버(2120)로부터 데스크탑을 수신하고, 클라이언트(2150, 2155)는 서버(2140)로부터 데스크탑을 수신하며, 클라이언트(2170, 2175)는 서버(2160)로부터 데스크탑을 수신한다. 데스크탑은 도 18에 도시한 처리에 따라 서버로부터 클라이언트에게 분배된다. 이 방법으로, 각종 자급식 데스크탑에서 사용되는 성분 및 리소스가 시스템 전체에 걸쳐서 관리자로부터 서보로 및 종국적으로 클라이언트에게 분배된다.
도 21b는 관리자에 의한 데이터 손실 후에 관리자가 서버로부터 복구하는 성분 및 리소스를 나타내는 블록도이다. 컴퓨터 고장, 화재 또는 홍수와 같은 재난 사건이 발생할 때, 관리자는 각종 자급식 데스크탑을 생성하기 위해 사용되는 성분 및 리소스가 없는 채로 있을 수 있다. 이 파일들을 복구하기 위해, 관리자(2100)는 데스크탑 패키지를 포함하는 성분들을 비롯한 데스크탑 패키지들을 각종 서버로부터 요구한다. 도 21a에 도시한 토포그래피를 이용해서, 관리자는 서버(2120, 2140, 2160)로부터 패키지들을 요구한다. 서버는 데스크탑 성분들을 포함하는 자급식 데스크탑 패키지들을 기억 영역(2125, 2145, 2165)으로부터 각각 회수한다. 데스크탑 정보는 각종 서버로부터 관리자에게 역으로 전송된다. 관리자는 수신한 자급식 데스크탑 패키지를 복구된 패키지 라이브러리(2180)에 저장한다. 자급식 데스크탑에 포함되어 있는 성분 및 리소스들은 데스크탑 파일들로부터 추출되고, 복구된 성분 및 리소스 라이브러리(2190)에 저장된다. 이 방법으로, 관리자는 각종 서버에 이전에 공개된 성분 및 리소스를 복구 및 회복시킬 수 있다. 이 복구는 관리자가 성분 및 리소스의 백업 카피를 분리할 필요없이 수행된다. 성분 및 리소스는 고유한 식별자를 포함하기 때문에, 성분 및 리소스의 다중 버젼 또는 레벨이 또한 복구될 수 있다. 데스크탑 데이터를 복구하기 위해 관리자가 취하는 단계들을 나타내는 흐름도는 도 22에 도시되어 있다.
도 22는 재난 사건 후에 자급식 데스크탑을 분배하고 이어서 자급식 데스크탑을 복구하기 위해 관리자가 취하는 단계들을 나타내는 흐름도이다. 관리자 처리는 단계 2200에서 시작하고, 관리자는 자급식 데스크탑에서 사용되는 성분 및 리소스를 생성한다(단계 2205). 이 성분 및 리소스는 비휘발성 기억 영역(2210)에 저장된 라이브러리에 저장된다.
성분 및 리소스는 사용자 임무에 기초하여 각종 사용자가 사용하도록 각종 자급식 데스크탑에 패키지된다(단계 2215). 자급식 데스크탑은 자급식 데스크탑 라이브러리(2225)에 저장된다. 자급식 데스크탑은 각종 서버에 분배된다(단계 2220). 관리자 분배 처리는 단계 2230에서 종료한다. 자급식 데스크탑의 분배에 관한 추가적인 상세는 도 17에서 알 수 있다.
자급식 데스크탑의 서버 수신은 단계 2235에서 시작하고, 서버는 자급식 데스크탑 패키지를 수신하여(단계 2240) 그 수신된 패키지를 비휘발성 기억 영역(2245)에 저장한다. 그 다음에, 서버는 자급식 데스크탑을 필요에 따라 클라이언트에 분배한다(단계 2250). 클라이언트에 대한 자급식 데스크탑의 분배에 관한 추가적인 상세는 도 18에서 알 수 있다.
어떤 시점에서, 재난 사건이 발생하여 관리자가 사용하는 컴퓨터 시스템 및 기억 장치로부터 패키지, 리소스 및 성분들이 파괴될 수 있다(단계 2255). 그 다음에, 자급식 데스크탑 정보는 단계 2260에서 시작하는 복구 처리를 이용하여 관리자에 의해 복구된다. 관리자는 파괴되어 관리자의 컴퓨터 시스템에 더 이상 저장되지 않은 고유한 패키지를 식별한다(단계 2265). 식별된 패키지는 각종 서버로부터 요구된다(단계 2270).
서버는 관리자로부터 데스크탑 패키지 요구를 수신한다(단계 2275). 요구된 데스크탑 패키지는 서버의 비휘발성 기억 영역(2245)으로부터 검색되고 관리자의 컴퓨터 시스템에 전송되며(단계 2280), 서버 복구 처리는 단계 2295에서 종료한다.
관리자 컴퓨터 시스템은 서버에 의해 보내진 자급식 데스크탑 패키지를 수신하고 수신된 데스크탑 패키지를 패키지 라이브러리(2225)에 저장한다(단계 2285). 자급식 데스크탑 패키지가 언패킹되고, 자급식 데스크탑 패키지에 포함된 성분 및 리소스는 성분 및 리소스 라이브러리(2210)에 재상주시키기 위해 사용된다(단계 2290). 이 시점에서, 관리자가 이전에 분배한 모든 패키지, 성분 및 리소스는 복구되어 적당한 라이브러리에 저장된다. 관리자 복구 처리는 그 다음에 단계 2298에서 종료한다.
도 23은 조직 내의 클라이언트의 임무(또는 임무들)에 기초하여 데스크탑을 수신 및 디스플레이하기 위해 클라이언트가 취하는 단계들을 나타내는 흐름도이다. 처리는 단계 2300에서 시작하고, 클라이언트 머신은 서버로부터 제1 데스크탑을 수신한다(단계 2305). 수신된 데스크탑은 휘발성 또는 비휘발성 기억 영역 내의 클라이언트 로컬 기억부(2315)에 저장된다(단계 2310).
수신된 데스크탑이 클라이언트용의 디폴트 데스크탑인지 여부에 대하여 판정된다(판정 단계 2320). 만일 수신된 데스크탑이 디폴트 데스크탑이면, 판정 단계(2320)는 "예" 분지(2325)로 분기하고, 수신된 데스크탑은 클라이언트의 디스플레이 장치에 디스플레이된다(단계 2330). 반면에, 만일 수신된 데스크탑이 디폴트 데스크탑이 아니면, 판정 단계(2320)는 단계 2330을 바이패스하는 "아니오" 분지(2335)로 분기한다.
서버로부터 수신할 클라이언트 머신용의 데스크탑이 더 있는지에 대한 판정이 행하여진다(단계 2340). 만일 수신할 데스크탑이 더 있으면, 판정 단계(2340)는 "예" 분지(2345)로 분기하고, 처리는 다음 데스크탑 수신 단계(2350)로 되돌아가서 다음 데스크탑이 디폴트 데스크탑인지 여부를 판정한다. 이 루핑은 모든 필요한 데스크탑이 서버로부터 수신될 때까지 계속되고, 그 다음에 판정 단계(2340)는 "아니오" 분지(2355)로 분기한다.
하나 이상의 데스크탑이 클라이언트에 의해 액세스 가능한 지에 대한 판정이 행하여진다(판정 단계 2380). 만일 하나 이상의 데스크탑이 액세스 가능하면, 판정 단계(2380)는 "예" 분지(2385)로 분기하고, 이용 가능한 데스크탑 설명이 클라이언트에 의해 액세스 가능한 팝업 선택창 내의 항목으로서 삽입된다(단계 2390). 예를 들면, 사용자는 마우스 등의 포인팅 장치를 이용해서 데스크탑의 "우측"을 클릭하여 팝업 메뉴가 디스플레이되게 할 수 있다. 그 다음에, 사용자는 팝업 메뉴에 제공된 리스트로부터 원하는 데스크탑을 선택할 수 있다(예시적인 데스크탑 스크린과 팝업 메뉴에 대해서는 도 27 참조). 예를 들어서, 지점 매니저가 대부 관계자의 할당된 임무를 또한 가지면, 지점 매니저는 팝업 메뉴로부터 대부 관계자 데스크탑을 선택할 수 있다. 대부 관계자 데스크탑을 선택한 후에, 대부 관계자 기능을 위해 사용되는 데스크탑이 디스플레이되고 데스크탑 영역으로부터 액세스될 수 있다. 반면에, 클라이언트에 의해 액세스 가능한 하나 이상의 데스크탑이 있으면, 판정 단계(2380)는 단계 2390을 바이패스하는 "아니오" 분지(2392)로 분기한다. 그 다음에, 데스크탑 디스플레이 처리는 단계 2395에서 종료한다.
도 24는 사용자 임무 및 워크스테이션 임무에 기초하여 클라이언트에게 데스크탑 정보를 제공하기 위해 서버가 취하는 단계들을 나타내는 흐름도이다. 처리는 단계 2400에서 시작하고, 서버는 클라이언트(2410)로부터 데스크탑 요구를 수신한다(단계 2405). 요구는 클라이언트의 사용자 ID, 패스워드 및 클라이언트 워크스테이션의 MAC 어드레스를 포함한다.
서버는 각종 워크스테이션에서 수행되도록 허용된 임무들을 포함하는 워크스테이션 테이블(2420)로부터 클라이언트의 MAC 어드레스를 조사한다(단계 2415). 도시된 예에서, "123"의 MAC 어드레스를 가진 워크스테이션은 금전출납원 및 대부 관계자 기능을 둘 다 수행할 수 있게 하고, "456"의 MAC 어드레스를 가진 워크스테이션은 지점 매니저 기능을 수행하도록 허용될 뿐이다.
클라이언트의 MAC 어드레스가 워크스테이션에서 발견되었는지 여부에 대하여 판정된다(판정 단계 2425). MAC가 발견되지 않았으면, 판정 단계(2425)는 "아니오" 분지(2428)로 분기하고, 클라이언트 워크스테이션 등록이 시스템에 의해 요구되는지 여부가 판정된다(판정 단계 2430). 만일 워크스테이션 등록이 요구되면, 판정 단계(2430)는 "예" 분지(2432)로 분기하고, 클라이언트의 워크스테이션이 등록되지 않음을 표시하는 에러가 클라이언트에게 반환되고(단계 2435), 서버 처리는 단계 2440에서 종료한다. 반면에, 만일 워크스테이션 등록이 요구되지 않으면, 판정 단계(2430)는 "아니오" 분지(2442)로 분기하고 처리가 계속된다. 판정 단계(2425)로 되돌아가서, 만일 클라이언트의 MAC 어드레스가 워크스테이션 테이블에서 발견되었으면, 판정 단계(2425)는 "예" 분지(2445)로 분기하고 처리가 계속된다.
사용자 식별자(사용자 ID)에 할당된 제1 데스크탑이 사용자 데스크탑 테이블(2455)로부터 검색된다(단계 2450). 도시된 예에서, 사용자 ID "Able"이 "금전출납원" 임무에 할당되고, 사용자 ID "Jones"이 "금전 출납원", "대부 관계자" 및 "지점 매니저" 임무에 할당된다. 사용자에게 할당된 검색된 데스크탑이 사용자가 사용하는 워크스테이션에서 사용될 수 있는지에 대한 판정이 행하여진다(판정 단계 2460). 만일 데스크탑이 워크스테이션에 사용되도록 허용되면, 판정 단계(2460)는 "예" 분지(2465)로 분기하고, 데스크탑이 클라이언트에게 보내진다(단계 2470). 반면에, 만일 검색된 데스크탑이 워크스테이션에서 사용되도록 허용되지 않으면, 판정 단계(2460)는 단계 2470을 바이패스하는 "아니오" 분지(2472)로 분기한다.
사용자에게 할당된 임무 또는 데스크탑이 더 있는지에 대한 판정이 행하여진다(판정 단계 2475). 만일 사용자에게 할당된 임무가 더 있으면, 판정 단계(2475)는 "예" 분지(2480)로 분기하고, 사용자에게 할당된 다음 데스크탑이 선택되며(단계 2485), 처리 루프는 다음 데스크탑이 클라이언트에게 설정되어야 하는지에 대한 판정을 위해 되돌아간다. 이 루핑은 사용자에게 할당된 모든 데스크탑이 처리될 때까지 계속되고, 이 때 판정 단계(2475)는 "아니오" 분지(2490)로 분기하고 서버 처리는 단계 2495에서 종료한다.
도 25는 서버에 의해 수행되는 처리 및 서버, 클라이언트 및 관리자 사이의 상호작용을 나타내는 블록도이다. 서버(2500)는 관리자(2575)로부터 임무 할당을 수신함으로써 임무 식별 기능(2570)을 수행한다. 사용자에게 할당된 임무 및 워크스테이션에 할당된 임무를 포함한 임무 할당은 네트워크 전체에 걸쳐서 위치된다. 워크스테이션 임무는 워크스테이션 임무 데이터 기억부(2560)에 저장된다. 사용자 임무는 사용자 임무 데이터 기억부(2555)에 기억된다.
서버(2500)는 관리자(2575)로부터 데스크탑 정보를 수신함으로써 데스크탑 수집 처리(2580)를 또한 수행한다. 데스크탑 정보는 데스크탑 정의 데이터 기억부(2590)에 저장된다. 데스크탑 정보는 자급식 데스크탑을 포함하고, 클라이언트(2525)가 사용하는 데스크탑 성분 및 리소스를 또한 포함한다.
서버(2500)는 클라이언트를 인증하기 위해 사용하는, 사용자 ID 및 패스워드와 같은 인증 정보를 클라이언트(2525)로부터 수신한다. 서버(2500)는 인증 데이터 기억부(2520)에 위치된 인증 데이터로 클라이언트의 인증 정보를 체크함으로써 인증 처리(2510)를 수행한다. 일단 클라이언트가 인증되면, 클라이언트는 서버(2500)에 저장된 클라이언트의 데이터 기억 영역에 대한 액세스를 수신한다. 서버는 홈 디렉토리 액세스 처리(2530)를 수행함으로써 클라이언트의 데이터 기억부에 대한 액세스를 제공한다. 이 방법으로, 사용자는 사용자가 어떤 워크스테이션을 사용하는지에 관계없이 자신의 데이터를 액세스할 수 있다.
서버(2500)는 어떤 자급식 데스크탑을 클라이언트(2525)에게 보내야 하는지를 판정하기 위해 데스크탑 분배 처리(2550)를 수행한다. 데스크탑 분배 처리(2550)는 사용자 임무 데이터 기억부(2555)에 저장된 사용자 임무를 워크스테이션 임무 데이터 기억부(2560)에 저장된 워크스테이션 임무와 비교함으로써 수행된다. 사용자 및 워크스테이션 둘 다에 할당된 데스크탑 또는 임무는 클라이언트에게 분배된다. 서버(2500)는 데스크탑 데이터 기억부(2590)로부터 데스크탑 정보를 검색하고 그 데스크탑 정보를 클라이언트(2525)에게 전송한다.
도 26은 자급식 데스크탑을 초기화 및 디스플레이하기 위해 클라이언트가 취하는 단계들을 나타내는 흐름도이다. 클라이언트(2600)는 대응하는 정보를 서버에 보냄으로써 인증 요구, 홈 디렉토리 요구 및 패스워드 갱신을 수행한다. 클라이언트(2600)는 원시 동작을 수행하기 위해 기본(underlying) 운영체계 플랫폼(2610)을 사용한다. JSLLIB(2680)은 원시 동작을 수행하기 위해 사용되는 원시 명령어 및 프로그램을 포함하는 원시 라이브러리이다.
셀(2605)은 시스템에서 사용되는 임의의 운영체계 플랫폼에서 구동하도록 구성된 자바 기반 애플리케이션이다(예를 들면, 윈도즈 XPTM, OS/2TM, 또는 리눅스TM). 셀은 클라이언트 로그인이 서버를 통해서 원격으로 수행되는지 또는 로컬 방식으로 수행되는지에 대한 판정을 행한다(판정 단계 2620). 만일 로그인이 원격으로 수행되면, 판정 단계(2620)는 "예" 분지(2622)로 분기하고, 클라이언트는 서버로부터 데스크탑을 수신한다(단계 2625). 일 실시예에서, 데스크탑은 데스크탑을 먼저 수신하고 그 다음에 리스트로부터 개별 데스크탑을 검색함으로써 수신된다.
데스크탑의 리스트 또는 맵은 클라이언트 머신에 위치된 로컬 기억 장치에 저장된다(단계 2630). 수신된 데스크탑도 또한 로컬 기억 장치에 저장된다(단계 2635). 판정 단계(2620)로 되돌아가서, 만일 데스크탑이 원격으로 검색되지 않으면, 판정 단계(2620)는 단계 2625, 2630 및 2635를 바이패스하는 "아니오" 분지(2638)로 분기한다.
사용자 및 워크스테이션 둘 다에 할당된 데스크탑은 로컬 기억부로부터 검색된다(단계 2640). 로컬 기억부는 사용자 데스크탑 맵(2660)과 데스크탑(2670)을 저장하기 위해 사용된다. 데스크탑은 데스크탑을 디스플레이하고 실행하기 위해 필요한 데스크탑 성분 및 리소스를 포함하는 자급식 패키지이다. 검색된 데스크탑 정보는 데스크탑 객체를 생성하기 위해 사용된다(단계 2645). 데스크탑 분류 로더(2650)는 데스크탑 객체를 생성하기 위해 사용된다. 국어 번역과 같은 리소스는 데스크탑 정보로부터 로드된다(단계 2655). 데스크탑 분류 로더(2650)는 또한 필요한 리소스를 로드하기 위해 사용된다.
이 시점에서, 워크스테이션의 사용자에게 할당된 데스크탑이 검색되고 셀(2605) 내의 사용자에게 이용 가능하게 된다. 데스크탑 객체 및 리소스는 자급식 데스크탑으로부터 추출되고 셀(2605)을 통하여 사용자에게 이용 가능하게 된다.
도 27은 클라이언트에게 이용 가능한 다른 자급식 데스크탑의 팝업 메뉴와 함께 클라이언트 워크스테이션에서 디스플레이되는 샘플 데스크탑의 스크린 배치도이다. 데스크탑 스크린 배치(2700)는 다수의 객체(2750)를 포함한다. 객체(2750)는 데스크탑으로부터 액세스 가능한 데스크탑 성분을 포함한다. 각각의 데스크탑 성분은 마우스와 같은 포인팅 장치를 이용하여 사용자가 선택할 수 있는 아이콘과 같은 그래픽 이미지에 대응한다.
팝업 메뉴(2710)는 사용자가 데스크탑을 변경하거나 셀 버젼을 디스플레이할 수 있게 하는 2개의 항목을 포함한다. "데스크탑 변경" 항목을 선택하면 데스크탑 선택 메뉴(2720)가 디스플레이된다. 사용자는 원하는 데스크탑 외에 박스 내에 체크 마크를 위치시킴으로써 원하는 데스크탑을 선택한다. 도시된 예에서, "관리자" 데스크탑은 데스크탑 선택 메뉴(2720)에 도시된 체크 마크에 의해 표시된 대로 클라이언트 디스플레이에 디스플레이된다. 만일, 사용자가 데스크탑을 예컨대 지점 매니저 데스크탑으로 변경하기 원하면, 사용자는 단순히 마우스와 같은 포인팅 장치를 사용하여 박스 내의 체크 마크를 "지점 매니저" 메뉴 항목 다음에 위치시킨다.
성분(2750)들은 선택된 데스크탑에 따라서 변화할 것이다. 예를 들면, "지점 데스크탑 관리자" 데스크탑 성분은 "관리자" 데스크탑이 선택되기 때문에 디스플레이된다. 그러나, 만일 "금전출납원" 데스크탑과 같은 다른 데스크탑이 선택되면, "지점 데스크탑 관리자"는 더 이상 나타나지 않고 디스플레이로부터 액세스될 수 없다. 이 방법으로, 선택된 임무에 대한 성분들이 디스플레이 및 액세스 가능하고, 다른 임무에 의해 사용된 성분들은 디스플레이되지 않고 액세스 가능하지도 않다. 더욱이 다중 임무에 의해 사용되는 성분들은 그 임무에 대응하는 각종 데스크탑으로부터 각각 이용 가능하다.
도 28a는 데스크탑을 디스플레이하고 관리할 때 클라이언트 셀에 의해 사용되는 디렉토리의 계층도이다. 셀 홈 디렉토리(2800)는 데스크탑 기능을 수행하기 위해 클라이언트에 의해 사용되는 다수의 서브디렉토리를 포함한다. 일 실시예에서, 셀 홈 디렉토리 및 그 서브디렉토리는 클라이언트에 의해 액세스 가능한 서버에 저장된다. 다른 실시예에서, 셀 홈 디렉토리 및 그 서브디렉토리는 클라이언트 머신에 대하여 로컬인 비휘발성 기억 장치에 저장된다. 원시 라이브러리(2805)는 클라이언트의 운영체계 플랫폼과 인터페이스하기 위해 사용되는 프로그램을 저장하기 위해 사용하는 서브디렉토리이다. 일 실시예에서, 원시 라이브러리 정보는 자바 아치브(JAR) 파일에 저장된다. 특성 서브디렉토리(2810)는 셀 프로그램에 의해 사용되는 특성들을 저장하기 위해 사용하는 서브디렉토리이다. 이 특성들은 셀 프로그램에 의해 사용되는 디스플레이 속성 및 다른 구성 항목을 포함할 수 있다.
데스크탑 서브디렉토리(2815)는 자급식 데스크 파일이 저장되는 디렉토리이다. 일 실시예에서, 자급식 데스크탑 파일은 자바 아치브(JAR) 파일에 패키지된다. 이 방법으로, 특수한 데스크탑에서 사용하는 모든 성분 및 리소스가 패키지되어 자급식 데스크탑 JAR 파일에 포함된다. 로그 서브디렉토리(2820)는 클라이언트가 취하는 동작들을 구체화하는 클라이언트 기반 로그들을 저장하기 위해 사용된다. "구성" 서브디렉토리(2825)는 셀 애플리케이션이 사용하는 초기화 정보를 저장하기 위해 사용된다. "빈" 서브디렉토리(2830)는 셀 애플리케이션을 발진시키기 위해 사용하는 프로그램 파일 등의 실행가능(executables)을 저장하기 위해 사용된다.
도 28b는 셀 구성 파일에 포함되는 섹션들의 계층도이다. 셀 구성 파일은 다수의 섹션을 포함한다. 이 섹션들은 각각 셀의 특수한 양상에 대한 정보를 포함한다. 일 실시예에서, 셀 구성 파일은 다수의 섹션을 포함하는 XML 파일이다. 섹션들은 셀 애플리케이션에 의해 사용되는 국어 번역과 같은 장소에 대한 정보를 포함하는 장소 섹션(2840)을 포함한다. 성분 섹션(2845)은 자급식 데스크탑에 포함되는 성분들에 대한 정보를 포함한다. 성분들은 사용자가 적당한 아이콘 또는 다른 코맨드를 선택할 때 데스크탑으로부터 액세스 가능한 애플리케이션 및 다른 프로그램을 포함한다. 폴더 섹션(2850)은 데스크탑으로부터 액세스 가능한 각종 폴더에 대한 정보를 포함한다. 툴바 섹션(2855)은 디스플레이되어 데스크탑으로부터 액세스 가능한 각종 툴바에 대한 정보를 포함한다. 데스크탑 섹션(2860)은 모양 데이터 및 폴리시 정보와 같은 데스크탑에 대한 정보를 포함한다.
도 28c는 자급식 데스크탑 파일에 포함되는 객체들의 계층도이다. 일 실시예에서, 자급식 데스크탑은 자바 아치브 (JAR) 파일이다. 자급식 데스크탑 파일(2865)은 다수의 성분들을 포함한다. 성분들은 자급식 데스크탑 파일에 포함된 객체들을 구체화하는 적하 목록(2870)을 포함한다. 성분들은 또한 셀 문서 유형 정의(DTD) 객체(2875)를 포함한다. 셀 DTD 객체는 어떤 종류의 속성이 셀 XML 문서에서 컨텐츠를 설명하기 위해 사용되고, 각 태그가 어디에서 허용되며, 어떤 태그가 다른 태그 내에 나타나는지를 설명한다. 분류 객체(2880)는 데스크탑에 의해 사용되는 자바 분류를 포함한다. 리소스(2885)는 데스크탑에 의해 사용되는 국어 번역 정보와 같은 리소스 정보를 포함한다. JAR 객체(2890)는 추가의 JAR 파일에 패키지된 데스크탑에서 필요로 하는 추가적인 객체들을 포함한다. XML 객체(2895)는 자급식 데스크탑을 설명하기 위해 사용되는 XML 문서를 포함한다.
도 29는 자급식 데스크탑을 사용하기 위해 클라이언트 워크스테이션을 초기화하기 위해 취하는 단계들을 나타내는 흐름도이다. 처리는 단계 2900에서 시작하고, 사용자(2920)는 사용자 ID 및 패스워드로 호출된다(단계 2910). 사용자 ID 및 패스워드는 사용자로부터 수신된다(단계 2925). 인증되었을 때, 자바 가상 머신(JVM)과 같은 가상 머신은 JSL에 의해 클라이언트 운영체계 플랫폼에 로드된다(단계 2930). 가상 머신은 자바 애플리케이션과 같은 플랫폼 중간 코드(platform-neutral code)를 실행하도록 설계된다. 이 방법으로, 동일한 데스크탑은 자바와 같은 플랫폼 독립 언어로 기록되고 필요한 가상 머신을 구현하는 다양한 플랫폼에서 실행될 수 있다.
자바 기반 록다운 셀이 호출되어(단계 2940) 데스크탑 환경을 제공하고 클라이언트 머신에 의해 사용되는 기본 운영체계를 사용자가 액세스하는 것을 금지한다. 워크스테이션 및 사용자 둘 다에 할당된 데스크탑은 서버로부터 요구된다(단계 2945). 서버(2950)는 요구를 수신하고, 자급식 데스크탑을 클라이언트에 보냄으로써 응답한다. 클라이언트는 서버로부터 응답을 수신한다(단계 2955). 응답은 에러 또는 데스크탑의 리스트일 수 있다.
에러가 서버로부터 수신되었는지에 대한 판정이 행하여진다(판정 단계 2960). 만일 에러가 수신되었으면, 판정 단계(2960)는 "예" 분지(2962)로 분기하여 에러 메시지가 클라이언트의 디스플레이 장치에 디스플레이되고(단계 2965), 처리는 단계 2995에서 종료한다. 반면에, 에러가 수신되지 않았으면, 판정 단계(2960)는 "아니오" 분지(2968)로 분기하고, 클라이언트의 디스플레이 장치에 디스플레이할 임의의 데스크탑이 있는지에 대한 판정이 행하여진다(판정 단계 2970). 클라이언트의 디스플레이 장치에 디스플레이할 데스크탑이 없으면, 판정 단계(2970)는 "예" 분지(2972)로 분기하고, 사용자에게는 디스플레이할 데스크탑이 없다고 통보되고(단계 2975), 처리는 단계 2995에서 종료한다. 반면에, 사용자 및 워크스테이션에 할당된 데스크탑이 있으면, 판정 단계(2970)는 "아니오" 분지(2978)로 분기하고, 데스크탑은 클라이언트의 디스플레이 장치에서 디스플레이되며(미리 정해진 처리 2980), 처리는 단계 2995에서 종료한다.
도 30은 클라이언트 초기화 중에 취해지는 단계들을 나타내는 흐름도이다. 처리는 단계 3000에서 시작하여 원시 로그인 코드가 실행된다(단계 3005). 로그인 데이터는 사용자로부터 수집되고 처리를 위해 서버에 보내진다(단계 3010). 서버는 단계 3015에서 수신한 응답을 클라이언트에게 다시 보낸다.
사용자가 인증되었는지에 대한 판정이 행하여진다(판정 단계 3020). 만일 사용자가 인증되지 않았으면, 판정 단계(3020)는 "아니오" 분지(3025)로 분기하고 처리는 단계 3030에서 종료한다. 반면에, 만일 사용자가 인증되었으면, 판정 단계(3020)는 "예" 분지(3035)로 분기하여 초기화를 계속한다.
자바 가상 머신과 같은 가상 머신 애플리케이션은 클라이언트 워크스테이션에서 호출된다(단계 3040). 록다운 처리는 셀을 록하고 사용자가 셀 환경을 이용함이 없이 기본 운영체계를 이용하는 것을 금지하기 위하여 자바 환경에서 발진된다(단계 3045). 서버는 사용자/워크스테이션에 할당된 데스크탑에 대하여 질의한다(단계 3050). 클라이언트는 이용 가능한 데스크탑의 리스트를 수신하고, 리스트된 데스크탑 정보를 클라이언트 워크스테이션에 이미 저장된 데스크탑 데이터와 비교한다(단계 3060). 리스트에 포함되어 있지만 클라이언트 워크스테이션에 아직 저장되지 않은 데스크탑은 서버로부터 검색되고 클라이언트 워크스테이션에 저장된다(단계 3070). 수신된 데스크탑은 클라이언트가 액세스 가능한 캐시(3075)에 저장된다. 초기 또는 디폴트 데스크탑은 이용 가능한 데스크탑의 리스트로부터 선택된다(단계 3080). 디폴트 데스크탑을 포함하는 성분들은 그 다음에 팝업창을 통하여 사용자에게 이용 가능한 다른 이용 가능한 데스크탑과 함께 클라이언트 디스플레이 장치에서 디스플레이된다(미리 정해진 처리 3090, 예로서 데스크탑 디스플레이에 관한 도 27 참조). 그 다음에 클라이언트 초기화 처리는 단계 3095에서 종료한다.
도 31은 원시 운영체계 로그인 중에 취해지는 단계들을 나타내는 흐름도이다. 원시 운영체계 로그인 처리는 단계 3100에서 시작하고, 이용 가능한 네트워크 도메인의 리스트가 사용자에게 디스플레이된다(단계 3110). 도메인은 사용자에 의해 리스트로부터 선택된다(단계 3120). 클라이언트가 로컬 방식으로 인증되는지 또는 원격 방식으로 인증되는지에 대한 판정이 행하여진다(판정 단계 3130). 만일 클라이언트가 로컬 방식으로 인증되면, 판정 단계(3130)는 "예" 분지(3135)로 분기하여 사용자가 로컬 머신에서 인증된다(단계 3140). 반면에, 사용자가 로컬 방식으로 인증되지 않으면, 판정 단계(3130)는 "아니오" 분지(3145)로 분기하여 클라이언트가 접속되는 서버에서 사용자가 인증된다(단계 3150).
클라이언트가 인증되었는지에 대한 판정이 행하여진다(판정 단계 3160). 만일 사용자가 인증되지 않았으면, 판정 단계(3160)는 "아니오" 분지(3165)로 분기하여 에러가 클라이언트의 디스플레이 장치에서 디스플레이되고(단계 3170), 처리는 단계 3195에서 종료한다. 반면에, 만일 사용자가 인증되었으면, 판정 단계(3160)는 "예" 분지(3175)로 분기하여 자바 셀 론처가 호출되고(미리 정해진 처리 3180, 처리의 상세에 대해서는 도 32 참조), 처리는 단계 3195에서 종료한다.
도 32는 자바 셀 론처(JSL)가 호출될 때 취해지는 단계들을 나타내는 흐름도이다. 자바 셀 론처 실행은 단계 3200에서 시작하고, 분류 경로(class path) 또는 디렉토리가 설정된다(단계 3210). 자바 가상 머신(JVM)은 클라이언트 연산 장치에 로드된다(단계 3220).
J셀 애플리케이션이 원격 방식으로 발진되는지 또는 로컬 방식으로 발진되는지에 대한 판정이 행하여진다(판정 단계 3230). 만일 J셀 애플리케이션이 로컬 방식으로 발진되면, 판정 단계(3230)는 "로컬" 분지(3235)로 분기하여 J셀 애플리케이션이 파라메터로서 사용자의 사용자 ID와 함께 발진된다(단계 3240). 반면에, 만일 J셀 애플리케이션이 원격 방식으로 발진되면, 판정 단계(3230)는 "원격" 분지(3245)로 분기하여 J셀 애플리케이션이 파라메터로서 서버 호스트명, 사용자 ID 및 플랫폼 ID를 제공함으로써 원격 방식으로 발진된다(단계 3250).
J셀 애플리케이션이 발진된 후, JSL은 자바 셀에 대응하는 윈도우를 찾기 위해 OS 윈도우 리스트를 열거한다(단계 3260). 자바 셀 윈도우는 자바 셀 윈도우가 항상 전면(foreground)에서 유지되도록 운영체계 윈도즈의 Z차 리스트의 바닥에 핀(pin)된다(3270). 자바 셀 윈도우는 디스플레이 스크린에 맞도록 최대화되고, 버튼을 최소화 및 리사이즈(resize)하는 것과 같은 모든 프레임 제어는 자바 셀 윈도우로부터 제거된다(단계 3280). 이 방법으로, 셀 애플리케이션은 디스플레이에 전면 페이지로서 나타나고, 사용자는 원시 운영체계 플랫폼에 의해 제공된 셀 페이지를 이용하는 것이 금지된다. 자바 셀 발진 처리는 단계 3295에서 종료한다.
도 33a는 스마트 그래픽 성분의 예를 나타내는 스크린 배치도이다. 실제 콘테이너 유형은 C++ 및 자바의 분류 또는 C의 스트럭트(struct)와 같은 구현 구성에 대응한다. 이 구현 구성은 클래스타입(classtype)이라고 부른다. 스마트 성분은 런타임에서 그 부모 성분(예를 들면 콘테이너)의 클래스타입을 결정한다. 만일 식별된 클래스타입이 성분이 인식하는 유형의 것이면, 성분은 식별된 클래스타입에 따라 그 행동 및 모양을 수정한다. 행동과 모양 수정은 스마트 성분에 프로그램적으로 통합되거나 구성 파일로부터 판독될 수 있다. 만일 부모의 클래스타입이 인식되지 않으면, 성분은 인식된 콘테이너가 발견될 때까지 그 부모 계층으로 올라가도록 프로그램될 수 있다. 이 방법으로, 성분은 비공지 클래스타입과 함께 콘테이너의 내측에 배치될 수 있지만, 만일 부모 콘테이너가 비공지 클래스타입과 함께 다른 콘테이너의 내측에 있으면, 성분은 그 자신을 마치 공지의 콘테이너 클래스타입에 직접 배치된 것처럼 구성될 수 있다.
스마트 성분의 모양 및 행동은 그 부모 콘테이너의 클래스타입에 의해 결정된다. 예를 들면, 스마트 아이콘은 그 부모 클래스타입이 데스크탑인 경우 텍스트 설명을 디스플레이할 것이다. 그러나, 동일한 스마트 아이콘은 그 부모 클래스타입이 툴바인 경우 텍스트 설명을 디스플레이하지 않을 것이다. 더욱이, 스마트 아이콘 행동은 부모 콘테이너의 유형에 따라 달라질 수 있다. 예를 들면, 만일 아이콘이 툴바에 배치되면, 아이콘은 사용자가 마우스 포인터를 그 위에 위치시킬 때 그 자신 주변에 테두리(border)를 그리도록 프로그램될 수 있다. 그러나, 동일한 아이콘이 데스크탑 위에 배치되면, 아이콘은 포인터가 그 위를 통과할 때 테두리를 디스플레이하지 않도록 프로그램될 수 있다. 또한, 스마트 아이콘은 그것이 속하는 콘테이너의 유형에 따라 호출시 성분에 관계된 다른 코드를 실행하도록 프로그램될 수 있다.
스크린 이미지(3300)는 타임 클럭의 형태로 스마트 그래픽 성분의 2개의 예를 포함한다. 타임 클럭(3305)은 툴바 콘테이너에 배치된 성분이다. 타임 클럭(3330)은 동일한 성분이지만, 이 타임 클럭은 데스크탑 콘테이너에 배치되어 있다. 객체의 모양 및 행동은 객체가 속하는 부모 객체 또는 콘테이너의 유형에 따라 변한다. 도시된 예에서, 타임 클럭(3305)은 부모 툴바 콘테이너에서 이용 가능한 더 작은 영역때문에 디지털 타임으로서 디스플레이된다. 반대로, 타임 클럭(3330)은 데스크탑 콘테이너에서 이용 가능한 더 큰 영역때문에 아날로그 타임을 디스플레이한다. 또한, 타임 클럭(3330)은 아날로그 클럭 이미지 아래에 디지털 타임 및 날짜와 같은 추가적인 정보를 디스플레이한다. 또한, 타임 클럭(3330)은 객체의 아래에 객체(즉, "클럭")의 이름을 디스플레이한다.
사용자가 툴바에 위치된 타임 클럭(3305)을 선택할 때, 팝업 윈도우(3320)가 디스플레이된다. 팝업 윈도우(3320)는 요일 및 날짜를 디스플레이하고, 시간/날짜를 조정하고 통지를 설정하기 위한 메뉴 항목을 갖는다.
도 33b는 스마트 그래픽 성분의 제2 예를 나타내는 스크린 배치도이다. 스크린 이미지(3350)는 도 33a에 도시된 스크린 이미지와 유사하지만, 도 33b에서 타임 클럭(3330)이 선택되고 팝업 메뉴(3390)가 디스플레이된다. 도 33b의 디스플레이된 팝업 메뉴의 행동은 도 33a에 도시된 동일한 타임 클럭 성분에 대하여 도시된 것과 다르다. 특히, 도 33b에서 사용자는 디지털 타임 클럭, 요일 및 디스플레이 날짜가 아날로그 클럭과 함께 도시되어야 하는지에 대한 디스플레이 옵션을 갖는다. 이 추가적인 디스플레이 옵션은 툴바 콘테이너보다는 데스크탑 콘테이너 내의 아이콘을 도시하기 위해 이용 가능한 더 큰 크기때문에 이용 가능하다.
도 34는 각종 데스크탑 객체를 나타내는 계층도이다. 데스크탑 객체(3400)는 계층도의 최상측에 있고 성분 객체(3410)와 콘테이너 객체(3470)를 포함한다. 성분 객체(3410)는 가시 성분(3420)과 비가시 성분(3440) 둘 다를 포함한다. 가시 성분 객체는 아이콘(3425), 폴더(3430) 및 툴바(3435)를 포함한다. 비가시 성분 객체는 애플리케이션 확장자 코드(3445) 및 애플리케이션 정의(3450)를 포함한다.
이름을 수반할 때, 콘테이너 객체(3470)는 다른 객체들을 포함하거나 유지할 수 있는 객체들을 포함한다. 콘테이너 객체는 폴더(3480) 및 툴바(3490)를 포함한다. 아이콘과 같은 가시 성분은 콘테이너 객체에 포함될 수 있다.
도 35는 스마트 그래픽 성분들을 초기화할 때 취하는 단계들을 나타내는 흐름도이다. 스마트 그래픽 성분 초기화는 단계 3500에서 시작하여 객체 지향 부모 객체가 성분에 대하여 선택된다(3510). 선택된 부모 객체의 객체 지향 클래스타입이 검색된다(단계 3520). 검색된 클래스타입이 폴더 또는 툴바와 같은 인식된 클래스타입인지에 대한 판정이 행하여진다(판정 단계 3525). 검색된 클래스타입이 인식되지 않으면, 판정 단계(3525)는 "아니오" 분지(3545)로 분기하여 객체 계층에 부모가 더 있는지에 대한 판정이 행하여진다(판정 단계 3550). 객체 계층에 부모가 더 있으면, 최종 선택된 객체의 부모(즉, 최종 부모의 부모, 또는 종속 객체(subject object)의 조부모)가 선택되고(단계 3560), 처리 루프는 새로이 선택된 부모가 인식된 클래스타입인지에 대한 판정을 위해 되돌아간다. 이 루핑은 인식된 클래스타입이 발견되거나 객체 계층에 부모가 더 이상 없을 때까지 계속된다. 만일 인식된 클래스타입이 발견되면, 판정 단계(3525)는 "예" 분지(3530)로 분기하고, 인식된 클래스타입이 선택된다(단계 3540). 반면에, 만일 객체 계층에 부모가 더 있으면, 판정 단계(3550)는 "아니오" 분지(3565)로 분기하고 객체에 대하여 디폴트 클래스타입이 선택된다(단계 3570).
아이콘 크기 및 기타 디스플레이 특성과 같은 성분 모양 데이터는 선택된 클래스타입에 대응하는 객체 행동 특성과 함께 검색된다(단계 3575). 예를 들어서, 만일 검색된 클래스타입이 툴바이면, 아이콘 크기 및 디스플레이 특성은 툴바에 디스플레이되는 아이콘에 이용 가능한 더 작은 영역에 기초할 것이다. 그러나, 만일 검색된 클래스타입이 데스크탑이면, 아이콘 크기 및 디스플레이 특성은 데스크탑에 이용 가능한 더 큰 영역에 기초할 것이다.
성분은 클래스타입에 대응하는 검색된 모양 데이터를 이용하여 디스플레이된다. 시스템은 성분이 호출될 때까지(즉, 사용자에 의해 성분이 선택될 때까지) 대기한다(단계 3585). 성분이 호출될 때, 성분은 클래스타입에 대응하는 행동 속성을 이용하여 실행된다(단계 3590).
도 36은 스마트 그래픽 성분의 디스플레이 속성을 처리할 때 취하는 단계들을 나타내는 흐름도이다. 스마트 데스크탑 처리는 단계 3600에서 시작하고, 클래스타입이 툴바인지에 대한 판정이 행하여진다(판정 단계 3605). 만일 클래스타입이 툴바이면, 판정 단계(3605)는 "예" 분지(3610)로 분기하고, 성분의 툴바 아이콘이 툴바에서 검색되어 디스플레이되며(단계 3615), 툴바에서 아이콘의 주변에 테두리가 그려지고(단계 3620), 처리는 단계 3625에서 종료한다.
만일 클래스타입이 툴바가 아니면, 판정 단계(3605)는 "아니오" 분지(3630)로 분기하고, 클래스타입이 폴더인지에 대한 판정이 행하여진다(판정 단계 3635). 만일 클래스타입이 폴더이면, 판정 단계(3635)는 "예" 분지(3640)로 분기하고, 성분의 폴더 아이콘이 그 폴더에서 검색 및 디스플레이되며(단계 3645), 짧은 성분 설명이 아이콘의 아래에 디스플레이되고(단계 3650), 처리는 단계 3655에서 종료한다.
만일 클래스타입이 툴바 또는 폴더가 아니면, 판정 단계(3635)는 "아니오" 분지(3660)로 분기하고, 클래스타입이 데스크탑인지에 대한 판정이 행하여진다(판정 단계 3665). 만일 클래스타입이 데스크탑이면 판정 단계(3665)는 "예" 분지(3668)로 분기하여 큰 아이콘이 데스크탑에서 검색 및 디스플레이되고(단계 3670), 긴 성분 설명이 아이콘 아래에 디스플레이되며(3675), 처리는 단계 3680에서 종료한다.
만일 클래스타입이 툴바, 폴더 또는 데스크탑이 아니면, 판정 단계(3665)는 "아니오" 분지(3682)로 분기하고, 디폴트 아이콘이 검색 및 디스플레이되고(단계 3685), 다른 디폴트 디스플레이 특성이 검색되어 아이콘에 적용되며(단계 3690), 처리는 단계 3695에서 종료한다.
도 37은 스마트 그래픽 성분의 행동 속성을 처리할 때 취하는 단계들을 나타내는 흐름도이다. 스마트 데스크탑 처리는 단계 3700에서 시작하고, 호출된 성분이 툴바 클래스타입의 부모를 갖는지에 대한 판정이 행하여진다(판정 단계 3705). 만일 호출된 성분이 툴바 부모 클래스타입을 가지면, 판정 단계(3705)는 "예" 분지(3710)로 분기하여 성분의 툴바 행동이 검색되고(단계 3715), 검색된 툴바 행동이 실행되며(단계 3720), 처리는 단계 3725에서 종료한다.
만일 호출된 성분이 툴바 클래스타입의 부모를 갖지 않으면, 판정 단계(3705)는 "아니오" 분지(3730)로 분기하고, 호출된 성분이 폴더 클래스타입의 부모를 갖는지에 대한 판정이 행하여진다(판정 단계 3735). 만일 호출된 성분이 폴더 부모 클래스타입을 가지면, 판정 단계(3735)는 "예" 분지(3740)로 분기하여 성분의 폴더 행동이 검색되고(단계 3745) 실행되며(단계 3750), 처리는 단계 3755에서 종료한다.
만일 호출된 성분이 툴바 또는 폴더 클래스타입의 어떠한 부모도 갖지 않으면, 판정 단계(3735)는 "아니오" 분지(3760)로 분기하고, 호출된 성분이 데스크탑 클래스타입의 부모를 갖는지에 대한 판정이 행하여진다(판정 단계 3765). 만일 호출된 성분이 데스크탑 부모 클래스타입을 가지면 판정 단계(3765)는 "예" 분지(3768)로 분기하여 성분의 데스크탑 행동이 검색되고(단계 3770) 실행되며(3775), 처리는 단계 3780에서 종료한다.
만일 호출된 성분이 툴바, 폴더 또는 데스크탑 클래스타입의 부모를 갖지 않으면, 판정 단계(3765)는 "아니오" 분지(3782)로 분기하여 성분 디폴트 행동이 검색되고(단계 3785) 실행되며(단계 3790), 처리는 단계 3795에서 종료한다.
도 38은 여기에서 설명하는 동작들을 수행할 수 있는 컴퓨터 시스템의 간단한 예인 정보 취급 시스템(3801)을 도시한 것이다. 컴퓨터 시스템(3801)은 호스트 버스(3805)에 결합된 프로세서(3800)를 포함한다. 레벨 2(L2) 캐시 메모리(3810)가 또한 호스트 버스(3805)에 결합된다. 호스트-PCI 브릿지(3815)는 메인 메모리(3820)에 결합되고, 캐시 메모리 및 메인 메모리 제어 기능을 포함하며, PCI 버스(3825), 프로세서(3800), L2 캐시(3810), 메인 메모리(3820) 및 호스트 버스(3805) 간의 전송을 취급하기 위한 버스 제어를 제공한다. PCI 버스(3825)는 예컨대 LAN 카드(3830)를 포함하는 각종 장치에 대한 인터페이스를 제공한다. PCI-ISA 브릿지(3835)는 PCI 버스(3825)와 ISA 버스(3840)간의 전송, 유니버설 직렬 버스(USB) 기능(3845), IDE 장치 기능(3850), 전력 관리 기능(3855)을 취급하기 위한 버스 제어를 제공하고, 도시하지 않은 다른 기능성 엘리멘트, 예를 들면 실시간 클럭(RTC), DMA 제어, 인터럽트 지원 및 시스템 관리 버스 지원을 포함할 수 있다. 주변 장치 및 입력/출력(I/O) 장치는 각종 인터페이스(3860)(예를 들면, ISA 버스(3840)에 결합된 병렬 인터페이스(3862), 직렬 인터페이스(3864), 적외선(IR) 인터페이스(3866), 키보드 인터페이스(3868), 마우스 인터페이스(3870) 및 고정 디스크(HDD)(3872))에 부착될 수 있다. 대안적으로, 많은 I/O 장치는 ISA 버스(3840)에 부착된 슈퍼 I/O 제어기(도시 생략)에 의해 수용될 수 있다.
BIOS(3880)는 ISA 버스(3840)에 결합되고, 각종의 저레벨 시스템 기능 및 시스템 부트 기능을 위한 필요한 프로세서 실행가능 코드를 통합한다. BIOS(3880)는 명령어(예를 들면, 네트워크로부터의 신호)를 엔코딩하는 신호를 운반하는 자기 기억 매체, 광학 기억 매체, 플래시 메모리, 랜덤 액세스 메모리, 읽기 전용 메모리 및 통신 매체를 포함한 임의의 컴퓨터 판독가능 매체에 저장될 수 있다. 네트워크상에서 파일들을 복사하기 위해 컴퓨터 시스템을 다른 컴퓨터 시스템에 부착하기 위해, LAN 카드(3830)가 PCI 버스(3825) 및 PCI-ISA 브릿지(3835)에 결합된다. 유사하게, 전화선 접속을 이용한 인터넷 접속을 위하여 컴퓨터 시스템(3801)을 ISP에 접속하기 위해, 모뎀(3875)이 직렬 포트(3864) 및 PCI-ISA 브릿지(3835)에 접속된다.
도 38에 도시된 컴퓨터 시스템이 여기에서 설명한 발명을 실행할 수 있지만, 이 컴퓨터 시스템은 컴퓨터 시스템의 하나의 간단한 예에 불과하다. 당업자라면 많은 다른 컴퓨터 설계에 의해 여기에서 설명하는 본 발명을 수행할 수 있다는 것을 알 것이다.
본 발명의 양호한 구현예 중의 하나는 애플리케이션, 즉 예컨대 컴퓨터의 랜덤 액세스 메모리에 상주할 수 있는 코드 모듈 내의 한 세트의 명령어(프로그램 코드)이다. 컴퓨터에서 필요로할 때까지, 명령어 세트는 다른 컴퓨터 메모리, 예를 들면 하드 디스크 드라이브에, 또는 (CD ROM에서의 종국적 사용을 위한) 광디스크 또는 (플로피 디스크 드라이브에서의 종국적 사용을 위한) 플로피 디스크 등의 제거가능한 기억 장치에 저장될 수 있고, 또는 인터넷이나 다른 컴퓨터 네트워크를 통하여 다운로드될 수 있다. 따라서, 본 발명은 컴퓨터에서 사용하기 위한 컴퓨터 프로그램 제품으로서 구현될 수 있다. 또한, 비록 위에서 설명한 각종 방법들이 소프트웨어에 의해 선택적으로 호출되거나 재구성된 범용 컴퓨터에서 편리하게 구현되더라도, 당업자는 그러한 방법들이 하드웨어로, 펌웨어로, 또는 필요한 방법 단계들을 수행하도록 구성된 더 구체화된 장치로 실행될 수 있다는 것을 또한 알 것이다.
지금까지 본 발명의 특수한 실시예들을 도시하고 설명하였지만, 당업자에게는 여기에서 설명한 내용에 기초하여 본 발명 및 그 넓은 태양으로부터 벗어나지 않고 여러가지로 변경 및 수정이 가능하다는 것이 명백할 것이다. 그러므로, 첨부된 청구범위는 본 발명의 진정한 정신 및 범위에 포함되는 그러한 모든 변경 및 수정을 발명의 범위에 포함시키는 것으로 한다. 더욱이, 본 발명은 오로지 첨부된 청구범위에 의해서만 한정된다는 것을 이해하여야 한다. 당업자라면 소개된 청구범위 엘리멘트의 특정 개수가 의도될 경우 그러한 의도는 청구범위에서 명백하게 한정될 것이며, 그러한 한정이 없는 경우 엘리멘트의 특정 개수에 대한 제한이 없는 것임을 이해할 것이다. 이해를 돕기 위한 비제한적인 예로서, 이하의 청구범위는 청구범위 엘리멘트를 소개하기 위하여 "적어도 하나" 및 "하나 이상의"라는 구문을 사용한다. 그러나, 그러한 구문의 사용은 부정관사 "a" 또는 "an"에 의한 청구범위 엘리멘트의 소개가, 그 청구범위가 "하나 이상의" 또는 "적어도 하나의"의 구문과 "a" 또는 "an"의 부정관사를 포함하는 경우에도, 소개된 청구범위 엘리멘트를 포함하는 임의의 특수한 청구범위를 그러한 엘리멘트만을 포함하는 발명으로 제한하는 의미로 해석되어서는 안되고, 이 점은 청구범위에서 정관사를 사용하는 경우에도 동일하다.

Claims (22)

  1. 제1 컴퓨터 시스템에서 성분 파일을 복구하기 위한 방법에 있어서,
    하나 이상의 성분 파일을 하나 이상의 자급식 패키지 파일로 패키징하는 단계와;
    상기 자급식 패키지 파일을 컴퓨터 네트워크를 통해 하나 이상의 제2 컴퓨터 시스템에 전송하는 단계와;
    하나 이상의 성분 파일이 상기 제1 컴퓨터 시스템으로부터 더 이상 이용 가능하지 않는 동안에 재난 사건을 식별하는 단계와;
    식별한 재난 사건에 응답하여 상기 하나 이상의 제2 컴퓨터 시스템으로부터 하나 이상의 자급식 패키지 파일을 요구하는 단계와;
    상기 요구에 응답하여 상기 하나 이상의 제2 컴퓨터 시스템으로부터 자급식 패키지 파일을 수신하는 단계와;
    수신한 자급식 패키지 파일로부터 성분들을 언패킹하는 단계와;
    상기 성분들을 제1 컴퓨터 시스템으로부터 액세스 가능한 비휘발성 기억 장치에 저장하는 단계를 포함하는 성분 파일 복구 방법.
  2. 제1항에 있어서,
    각각의 상기 자급식 패키지 파일에 포함된 성분 파일을 구체화하는 적하 목록 파일을 생성하는 단계와;
    상기 적하 목록 파일에 포함된 성분 파일을 재난 사건 다음에 존재하는 성분 파일과 비교하는 단계와;
    상기 비교에 기초해서 제2 컴퓨터 시스템으로부터 요구하기 위한 자급식 패키지 파일을 식별하는 단계를 더 포함하는 성분 파일 복구 방법.
  3. 제1항에 있어서,
    각각의 상기 자급식 패키지 파일에 대하여 자급식 패키지 파일에 포함된 성분 파일들을 구체화하는 적하 목록 파일을 생성하는 단계와;
    상기 적하 목록 파일을 성분 파일들과 함께 자급식 패키지 파일에 패키징하는 단계를 더 포함하는 성분 파일 복구 방법.
  4. 제1항에 있어서,
    고유한 식별자를 각각의 성분 파일 및 각각의 자급식 패키지 파일에 할당하는 단계를 더 포함하는 성분 파일 복구 방법.
  5. 제4항에 있어서,
    상기 제2 컴퓨터 시스템으로부터 고유한 식별자 리스트를 수신하는 단계와;
    수신한 고유한 식별자 리스트를 재난 사건 다음에 제1 컴퓨터 시스템에 존재하는 자급식 패키지 파일과 비교하는 단계와;
    상기 비교에 기초해서 상기 제2 컴퓨터 시스템으로부터 요구하기 위한 자급식 패키지 파일을 식별하는 단계를 더 포함하는 성분 파일 복구 방법.
  6. 제1항에 있어서, 상기 제1 컴퓨터 시스템은 자급식 패키지 파일을 생성하기 위해 관리자가 사용하는 것이고, 각각의 상기 자급식 패키지 파일은 조직 내의 사용자가 수행하는 임무에 대응하는 것인 성분 파일 복구 방법.
  7. 제1항에 있어서, 상기 제2 컴퓨터 시스템은 클라이언트 컴퓨터 시스템의 사용자가 수행하는 임무에 기초해서 상기 자급식 패키지 파일을 하나 이상의 클라이언트 컴퓨터 시스템에 제공하는 서버 컴퓨터 시스템인 것인 성분 파일 복구 방법.
  8. 제1항에 있어서,
    상기 자급식 패키지 파일에 포함될 성분 파일 - 상기 성분 파일의 적어도 하나는 복수의 운영체계에서 동작하도록 구성된 데스크탑 쉘로부터 발진되도록 구성된 프로그래밍 코드를 포함하는 것임 - 을 선택하는 단계와;
    상기 자급식 패키지 파일을 패키지 파일들 -각각의 상기 패키지 파일은 클라이언트 컴퓨터 시스템에 전송되도록 구성된 것임- 의 라이브러리에 저장하는 단계를 더 포함하는 성분 파일 복구 방법.
  9. 제1항에 있어서, 상기 성분 파일의 적어도 하나는 아이콘 파일, 이미지 파일, 애플리케이션 확장자 파일, 스크린 모양 파일, 국어 번역 파일, 클라이언트 구성 파일 및 서버 구성 파일로 구성된 그룹으로부터 선택되는 것인 성분 파일 복구 방법.
  10. 제1항에 있어서, 상기 재난 사건은 비휘발성 기억 장치 고장, 하나 이상의 성분 파일의 삭제, 하나 이상의 자급식 패키지 파일의 삭제, 컴퓨터 시스템 고장, 자연 재난, 화재 및 홍수로 구성된 그룹으로부터 선택되는 것인 성분 파일 복구 방법.
  11. 정보 취급 시스템에 있어서,
    하나 이상의 프로세서와;
    상기 프로세서에 의해 액세스 가능한 메모리 영역과;
    상기 프로세서에 의해 액세스 가능한 비휘발성 기억 장치와;
    상기 정보 취급 시스템을 관리하기 위해 상기 프로세서에 의해 실행되는 운영체계와;
    상기 정보 취급 시스템을 컴퓨터 네트워크에 접속하기 위해 상기 프로세서에 의해 액세스 가능한 네트워크 인터페이스와;
    상기 성분 파일들을 복구하기 위한 복구 툴을 포함하고, 상기 복구 툴은,
    하나 이상의 성분 파일들을 비휘발성 기억 장치에 저장된 하나 이상의 자급식 패키지 파일로 패키징하기 위한 수단과;
    상기 컴퓨터 네트워크를 통해 상기 자급식 패키지 파일을 하나 이상의 컴퓨터 시스템에 전송하기 위한 수단과;
    식별된 재난 사건에 응답하여 상기 하나 이상의 컴퓨터 시스템으로부터 하나 이상의 자급식 패키지 파일을 요구하기 위한 수단과;
    상기 요구에 응답하여 상기 하나 이상의 컴퓨터 시스템으로부터 자급식 패키지 파일을 수신하기 위한 수단과;
    수신한 자급식 패키지 파일로부터 성분들을 언패킹하기 위한 수단과;
    상기 성분들을 비휘발성 기억 장치에 저장하기 위한 수단을 포함하는 것인 정보 취급 시스템.
  12. 제11항에 있어서,
    각각의 상기 자급식 패키지 파일에 포함된 성분 파일을 구체화하는 적하 목록 파일을 생성하기 위한 수단과;
    상기 적하 목록 파일에 포함된 성분 파일을 재난 사건 다음에 존재하는 성분 파일과 비교하기 위한 수단과;
    상기 비교에 기초해서 제2 컴퓨터 시스템으로부터 요구하기 위한 자급식 패키지 파일을 식별하기 위한 수단을 더 포함하는 정보 취급 시스템.
  13. 제11항에 있어서,
    각각의 상기 자급식 패키지 파일에 대하여 자급식 패키지 파일에 포함된 성분 파일들을 구체화하는 적하 목록 파일을 생성하기 위한 수단과;
    상기 적하 목록 파일을 성분 파일들과 함께 자급식 패키지 파일에 패키징하기 위한 수단을 더 포함하는 정보 취급 시스템.
  14. 제11항에 있어서, 고유한 식별자를 각각의 성분 파일 및 각각의 자급식 패키지 파일에 할당하기 위한 수단을 더 포함하는 정보 취급 시스템.
  15. 제14항에 있어서,
    상기 제2 컴퓨터 시스템으로부터 고유한 식별자 리스트를 수신하기 위한 수단과;
    수신한 고유한 식별자 리스트를 재난 사건 다음에 제1 컴퓨터 시스템에 존재하는 자급식 패키지 파일과 비교하기 위한 수단과;
    상기 비교에 기초해서 상기 제2 컴퓨터 시스템으로부터 요구하기 위한 자급식 패키지 파일을 식별하는 수단을 더 포함하는 정보 취급 시스템.
  16. 제11항에 있어서, 상기 제1 컴퓨터 시스템은 자급식 패키지 파일을 생성하기 위해 관리자가 사용하는 것이고, 각각의 상기 자급식 패키지 파일은 조직 내의 사용자가 수행하는 임무에 대응하는 것인 정보 취급 시스템.
  17. 제11항에 있어서, 상기 제2 컴퓨터 시스템은 클라이언트 컴퓨터 시스템의 사용자가 수행하는 임무에 기초해서 자급식 패키지 파일을 하나 이상의 클라이언트 컴퓨터 시스템에 제공하는 서버 컴퓨터 시스템인 것인 정보 취급 시스템.
  18. 제11항에 있어서,
    상기 자급식 패키지 파일에 포함될 성분 파일 - 상기 성분 파일의 적어도 하나는 복수의 운영체계에서 동작하도록 구성된 데스크탑 쉘로부터 발진되도록 구성된 프로그래밍 코드를 포함하는 것임- 을 선택하기 위한 수단과;
    상기 자급식 패키지 파일을 비휘발성 기억 장치에 저장된 패키지 파일들 - 각각의 상기 패키지 파일은 클라이언트 컴퓨터 시스템에 전송되도록 구성된 것임 - 의 라이브러리에 저장하기 위한 수단을 더 포함하는 정보 취급 시스템.
  19. 제11항에 있어서, 상기 성분 파일의 적어도 하나는 아이콘 파일, 이미지 파일, 애플리케이션 확장자 파일, 스크린 모양 파일, 국어 번역 파일, 클라이언트 구성 파일 및 서버 구성 파일로 구성된 그룹으로부터 선택되는 것인 정보 취급 시스템.
  20. 제11항에 있어서, 상기 재난 사건은 비휘발성 기억 장치 고장, 하나 이상의 성분 파일의 삭제, 하나 이상의 자급식 패키지 파일의 삭제, 컴퓨터 시스템 고장, 자연 재난, 화재 및 홍수로 구성된 그룹으로부터 선택되는 것인 정보 취급 시스템.
  21. 컴퓨터 시스템에서 실행될 때, 청구항 제1항 내지 제20항 중 어느 한 항에 따른 방법의 단계들을 수행하는 프로그램 코드 수단을 가진 컴퓨터 프로그램.
  22. 제21항에 있어서, 컴퓨터 판독가능 매체에 저장되어 있는 컴퓨터 프로그램.
KR1020057008743A 2002-12-17 2003-12-10 분산된 데스크탑 패키지를 이용하여 데스크탑 성분을복원하기 위한 시스템 및 방법 KR20050084996A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/322,095 2002-12-17
US10/322,095 US20040113950A1 (en) 2002-12-17 2002-12-17 System and method for centrally managed self-contained desktops

Publications (1)

Publication Number Publication Date
KR20050084996A true KR20050084996A (ko) 2005-08-29

Family

ID=32507216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057008743A KR20050084996A (ko) 2002-12-17 2003-12-10 분산된 데스크탑 패키지를 이용하여 데스크탑 성분을복원하기 위한 시스템 및 방법

Country Status (9)

Country Link
US (1) US20040113950A1 (ko)
EP (1) EP1573523A2 (ko)
JP (1) JP2006510098A (ko)
KR (1) KR20050084996A (ko)
CN (1) CN1726462A (ko)
AU (1) AU2003293814A1 (ko)
CA (1) CA2506561A1 (ko)
IL (1) IL169275A0 (ko)
WO (1) WO2004055669A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136526A1 (en) * 2004-12-16 2006-06-22 Childress Rhonda L Rapid provisioning of a computer into a homogenized resource pool
CN100454243C (zh) * 2006-11-28 2009-01-21 北京龙阁创意数码科技有限公司 基于海量数据的多元动漫产品开发系统和开发方法
US8146080B2 (en) * 2007-03-30 2012-03-27 Novell, Inc. Tessellated virtual machines conditionally linked for common computing goals
US20080256535A1 (en) * 2007-04-10 2008-10-16 Novell, Inc. Tessellated virtual machines for common computing goals
US20080256538A1 (en) * 2007-04-10 2008-10-16 Novell, Inc. Storage configurations for tessellated virtual machines
US20080307415A1 (en) * 2007-06-11 2008-12-11 Novell, Inc. Tessellated applications for user computing environments
US8930945B2 (en) * 2007-11-15 2015-01-06 Novell, Inc. Environment managers via virtual machines
CN102033781B (zh) * 2011-01-27 2012-07-18 中标软件有限公司 虚拟机桌面系统切换方法
US9361454B2 (en) 2014-05-30 2016-06-07 Apple Inc. Methods for restricting resources used by an application based on a base profile and an application specific profile
CN107092477B (zh) * 2017-01-03 2020-07-03 北京安云世纪科技有限公司 一种桌面布局的修正方法、装置和移动终端
CN107092476B (zh) * 2017-01-03 2021-06-29 北京安云世纪科技有限公司 一种桌面布局的检测方法、装置和移动终端

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2191918B (en) * 1986-06-16 1990-09-05 Ibm Data display system
CA1326563C (en) * 1989-03-15 1994-01-25 Anthony Hoeber Method and apparatus for selecting and executing defaults in a window based display system
US5243697A (en) * 1989-03-15 1993-09-07 Sun Microsystems, Inc. Method and apparatus for selecting button functions and retaining selected options on a display
US5317733A (en) * 1990-01-26 1994-05-31 Cisgem Technologies, Inc. Office automation system for data base management and forms generation
DE69126391T2 (de) * 1990-09-12 1997-10-30 Toshiba Kawasaki Kk Verfahren zur Funktionenerzeugung durch Bildsymbolanwendung
US5425140A (en) * 1992-03-20 1995-06-13 International Business Machines Corporation Method and apparatus for providing conditional cascading in a computer system graphical user interface
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5564002A (en) * 1994-08-01 1996-10-08 International Business Machines Corporation Method and apparatus for implementing a virtual desktop through window positioning
JP3946275B2 (ja) * 1995-01-10 2007-07-18 富士通株式会社 リモートインストールシステムおよび方法
AU712491B2 (en) * 1995-04-07 1999-11-11 Sony Electronics Inc. Method and apparatus for improved graphical user interface with function icons
US5706456A (en) * 1995-04-18 1998-01-06 Unisys Corporation Application specific graphical user interface (GUI) that is window programmable and capable of operating above a windows operating system GUI
US6061795A (en) * 1995-07-31 2000-05-09 Pinnacle Technology Inc. Network desktop management security system and method
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5867163A (en) * 1995-12-01 1999-02-02 Silicon Graphics, Inc. Graphical user interface for defining and invoking user-customized tool shelf execution sequence
US5765153A (en) * 1996-01-03 1998-06-09 International Business Machines Corporation Information handling system, method, and article of manufacture including object system authorization and registration
US5930824A (en) * 1997-02-04 1999-07-27 International Business Machines Corporation System and method for demand-base data recovery
US6123737A (en) * 1997-05-21 2000-09-26 Symantec Corporation Push deployment of software packages using notification transports
US6044465A (en) * 1997-07-07 2000-03-28 International Business Machines Corporation User profile storage on and retrieval from a non-native server domain for use in a client running a native operating system
US5926631A (en) * 1997-08-15 1999-07-20 International Business Machines Corporation Network computer emulator systems, methods and computer program products for personal computers
US6108332A (en) * 1997-09-12 2000-08-22 Ericsson Inc. Local number portability for interexchange carriers
US5846090A (en) * 1997-10-09 1998-12-08 Lu; Ching-Shui Rotational jack socket assembly
US6330010B1 (en) * 1997-11-21 2001-12-11 Xsides Corporation Secondary user interface
US6018332A (en) * 1997-11-21 2000-01-25 Ark Interface Ii, Inc. Overscan user interface
US6337717B1 (en) * 1997-11-21 2002-01-08 Xsides Corporation Alternate display content controller
GB2333215B (en) * 1998-01-13 2002-05-08 Sony Electronics Inc Systems and methods for enabling manipulation of a plurality of graphic images on a display screen
EP1051694A1 (en) * 1998-01-26 2000-11-15 UNIF/X Inc. A transaction execution system interface and enterprise system architecture thereof
US6344859B1 (en) * 1998-03-31 2002-02-05 International Business Machines Corporation Data processor controlled display system with a plurality of selectable basic function interfaces for the control of varying types of customer requirements and with additional customized functions
US6417869B1 (en) * 1998-04-15 2002-07-09 Citicorp Development Center, Inc. Method and system of user interface for a computer
US6108712A (en) * 1998-05-05 2000-08-22 International Business Machines Corp. Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system
US6105066A (en) * 1998-05-05 2000-08-15 International Business Machines Corp. 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
US6237092B1 (en) * 1998-05-05 2001-05-22 International Business Machines Corp. Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application
US6205476B1 (en) * 1998-05-05 2001-03-20 International Business Machines Corporation 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
US6105063A (en) * 1998-05-05 2000-08-15 International Business Machines Corp. Client-server system for maintaining application preferences in a hierarchical data structure according to user and user group or terminal and terminal group contexts
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
US6249883B1 (en) * 1998-06-29 2001-06-19 Netpro Computing, Inc. System and method for monitoring domain controllers
US6212564B1 (en) * 1998-07-01 2001-04-03 International Business Machines Corporation Distributed application launcher for optimizing desktops based on client characteristics information
US6426762B1 (en) * 1998-07-17 2002-07-30 Xsides Corporation Secondary user interface
US6389589B1 (en) * 1998-09-21 2002-05-14 Microsoft Corporation Class store schema
US6282568B1 (en) * 1998-12-04 2001-08-28 Sun Microsystems, Inc. Platform independent distributed management system for manipulating managed objects in a network
US6476833B1 (en) * 1999-03-30 2002-11-05 Koninklijke Philips Electronics N.V. Method and apparatus for controlling browser functionality in the context of an application
US6446071B1 (en) * 1999-04-26 2002-09-03 International Business Machines Corporation Method and system for user-specific management of applications in a heterogeneous server environment
EP1050813A3 (en) * 1999-05-06 2007-02-28 Sun Microsystems, Inc. Method and apparatus for implementing deployment descriptions in an enterprise environment
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
KR100496056B1 (ko) * 2000-02-26 2005-06-17 주식회사 하우리 인터넷 기반의 원격 데이터 및 파일 복구 서비스 시스템및 그 방법
US6901403B1 (en) * 2000-03-02 2005-05-31 Quovadx, Inc. XML presentation of general-purpose data sources
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US6636250B1 (en) * 2000-04-12 2003-10-21 Emc Corp Methods and apparatus for presenting information to a user of a computer system
CA2317211A1 (en) * 2000-09-01 2002-03-01 Dew Engineering And Development Limited Flexible method of security data backup
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
US6829732B2 (en) * 2001-01-22 2004-12-07 Hewlett-Packard Development Company, L.P. Network-based software recovery for computing devices
US7051288B2 (en) * 2001-02-15 2006-05-23 International Business Machines Corporation Method, system, and product for a java-based desktop to provide window manager services on UNIX
US7062718B2 (en) * 2001-08-14 2006-06-13 National Instruments Corporation Configuration diagram which graphically displays program relationship
CA2357087C (en) * 2001-09-06 2009-07-21 Cognos Incorporated Deployment manager for organizing and deploying an application in a distributed computing environment
AU2002365257A1 (en) * 2001-10-26 2003-07-24 Zeosoft Corporation Development, management of distributed clients and servers
US7272377B2 (en) * 2002-02-07 2007-09-18 At&T Corp. System and method of ubiquitous language translation for wireless devices
US6850255B2 (en) * 2002-02-28 2005-02-01 James Edward Muschetto Method and apparatus for accessing information, computer programs and electronic communications across multiple computing devices using a graphical user interface

Also Published As

Publication number Publication date
AU2003293814A1 (en) 2004-07-09
JP2006510098A (ja) 2006-03-23
CN1726462A (zh) 2006-01-25
IL169275A0 (en) 2007-07-04
US20040113950A1 (en) 2004-06-17
WO2004055669A3 (en) 2004-10-21
CA2506561A1 (en) 2004-07-01
EP1573523A2 (en) 2005-09-14
WO2004055669A2 (en) 2004-07-01

Similar Documents

Publication Publication Date Title
US7243336B2 (en) System and method of extending application types in a centrally managed desktop environment
US7478335B2 (en) Smart graphical components
US7117448B2 (en) System and method for determining desktop functionality based on workstation and user roles
US7203905B2 (en) System and method for platform independent desktop lockdown
US7310775B2 (en) System and method for restoring desktop components using distributed desktop packages
US8539481B2 (en) Using virtual hierarchies to build alternative namespaces
US8042151B2 (en) Application context based access control
US6513158B1 (en) Method and apparatus for running multiple java applications simultaneously
US8312459B2 (en) Use of rules engine to build namespaces
US20080005472A1 (en) Running applications from removable media
US7788701B1 (en) Content transfer restriction system for personal internet communicator
US20080127220A1 (en) Methods, systems, and computer program products for creating an input-value-specific loadable instance of an application
KR20050084996A (ko) 분산된 데스크탑 패키지를 이용하여 데스크탑 성분을복원하기 위한 시스템 및 방법
US7373594B1 (en) Managing the release of electronic content using a template without version logic
US20070134070A1 (en) Building alternative views of name spaces
WO2000058873A1 (en) Workflow design engine
Both Preparation
US6886172B2 (en) Method for mapping procedural C++ code to java object-oriented classes
Robichaux Managing the windows 2000 registry
WO2005114453A2 (en) Console personalization
Freeman et al. Using Roles and Claims
Sanayev et al. FAMILIARITY WITH THE BASIC CONCEPTS AND FEATURES OF THE WINDOWS OPERATING SYSTEM
Cafferky et al. Customizing the PowerShell Environment
Matotek et al. Linux Basics: By James Turnbull and Dennis Matotek
Moemeka et al. Leveraging Existing Code

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application