KR20080033946A - 제어판 프레임워크 - Google Patents

제어판 프레임워크 Download PDF

Info

Publication number
KR20080033946A
KR20080033946A KR1020087001177A KR20087001177A KR20080033946A KR 20080033946 A KR20080033946 A KR 20080033946A KR 1020087001177 A KR1020087001177 A KR 1020087001177A KR 20087001177 A KR20087001177 A KR 20087001177A KR 20080033946 A KR20080033946 A KR 20080033946A
Authority
KR
South Korea
Prior art keywords
control panel
file
page
computer
information
Prior art date
Application number
KR1020087001177A
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 KR20080033946A publication Critical patent/KR20080033946A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Facsimiles In General (AREA)

Abstract

작업 페이지를 가지는 제어판이 기술된다. 여러 다른 작업 페이지를 조작하는 동안 상태 정보가 유지되고, 중복된 정보나 이전에 제공된 정보를 요청하는 경우를 제거하기 위하여, 상태 정보가 다른 작업 페이지로 전달된다.
제어판, 작업 기반, 프레임워크

Description

제어판 프레임워크{CONTROL PANEL FRAMEWORK}
컴퓨터 시스템은 컴퓨터 시스템의 구성, 제어, 문제 해결을 가능하게 하는 응용프로그램과 시스템 제어 방법을 제공한다. 이러한 구성, 제어, 문제의 해결 또는 진단과 관련된 인터페이스의 모음은, 집중된 인터페이스를 통하여 접근 가능한 독립된 애플릿을 실행함으로써 시작되는 정보의 모음이다. Microsoft Corporation의 Windows 운영체제가 탑재된 컴퓨터 시스템의 일반적인 인터페이스는 "제어판" 이라고 알려져 있다. Apple Corporation의 운영체제에서는 이와 같은 인터페이스를 "시스템 프리퍼런스" 라고 한다.
도 2A에 일반적인 인터페이스(201)의 예가 나타나있다. 사용자로부터 정보를 수집하거나 사용자가 여러 가지 시스템 자원 및/또는 작업을 제어 또는 구성할 수 있도록 하는 여러 가지 종류의 다른 애플릿을 여기서 시작할 수 있다. 하지만 사용성의 관점에서 볼 때, 제어판(또는 다른 수단)을 통해서 접근되는 각각의 사용자 인터페이스는 배치, 사용가능한 옵션 등에 있어서 다르기 때문에 이해하기 어려울 수 있다.
도 2B와 도 2C에는 사용자 컴퓨터의 제어를 위한 두 개의 사용자 인터페이스가 나타나있다. 도 2B에는 디스플레이 속성 인터페이스(203)이 도시되어 있다. 디스플레이 속성 인터페이스(203)의 사용을 통하여 사용자에게 디스플레이되는 정 보의 크기, 모양, 그리고 내용을 수정할 수 있다. 도 2C는 프로그램 추가/삭제 인터페이스(204)이다. 여기서 사용자는 응용프로그램 또는 운영체제 업데이트의 추가, 수정, 삭제와 관련된 여러 가지 작업을 수행할 수 있다.
도 2A의 제어판과 도 2B와 도 2C의 사용자 인터페이스는 일반적으로 정형화 되어 있다. 제어판에 있는 애플릿에 대한 사용자 인터페이스가 각각 다르기 때문에 결합력 있는 사용자 경험은 존재하지 않는다.
다음은 본 발명의 몇 가지 측면에 대한 기본적인 이해를 위한 간략한 요약이다. 이 요약은 본 발명에 대한 광범위한 개관이 아니다. 이 요약은 본 발명의 핵심 요소를 식별시키거나 발명의 범위를 특정하기 위한 것이 아니다. 다음의 요약은 단순히 실시예에 앞서서 간단한 형태로 본 발명의 개념을 제공하기 위한 것이다.
본 발명의 실시예는 하위 제어판을 지원하는 작업(task) 기반의 제어판을 위한 프레임워크를 제공한다. 일단 만들어진 제어판은 사용자의 컴퓨터에 대한 상태 정보를 획득하고 유지시킨다. 그와 같은 상태 정보는 제어판에서 그 하위 제어판으로의 이동 간에도 유지된다. 본 발명의 몇 가지 실시예에서는, 제어판과 자식 제어판 간의 이동을 위하여 공통의 브라우저 프레임이 사용될 수 있다.
첨부된 도면을 고려하여 다음의 설명을 참고한다면, 본 발명과 본 발명의 이점에 대하여 좀 더 완벽히 이해할 수 있다. 첨부된 도면에서 비슷한 도면 번호는 비슷한 특징을 나타낸다.
도 1은 본 발명의 하나 또는 그 이상의 실시예에서 사용될 수 있는 작업 환경에 대한 기능적인 블록도이다.
도 2A 내지 도 2C는 종래의 제어판과 사용자 인터페이스의 모음을 도시한다.
도 3은 본 발명의 일 실시예에서의 제어판 인터페이스의 레이아웃을 도시한다.다.
도 4A와 도 4B는 본 발명에 있어서, 컴퓨터 및 운영체제에 관한 정보와 사용자에게 전달되는 정보에 대한 화면 구성과의 관계를 도시한다. 도 4C는 페이지간 이동에 대한 실시예를 도시한다.
도 5는 본 발명에 있어서, 제어판 및 제어판과 관련하여 보존된 상태 정보를 디스플레이하는 프로세스를 도시한다.
도 6은 본 발명의 구현에 있어서의 제어판 및 정보의 상속(inheritance)을 도시한다.
도 7과 도 8은 본 발명의 구현에 있어서, 브라우저로 전달되고 있는 제어판 정보를 나타낸다.
이하의 실시예에 대한 설명에 있어서, 발명이 실체화될 수 있는 여러 가지 구현 예를 표현한, 명세서에 첨부된 도면을 참조한다. 당업자라면 알 수 있듯이, 본 발명은 발명의 사상 및 범주에 속하는 범위 안에서, 다른 형태로 구현되거나 구조나 기능상의 변형이 가해질 수 있다.
후술할 설명에서 구성 요소간에 여러 가지 연결 관계가 명시되어 있음을 유의해야 한다. 이러한 연결 관계는 특별히 지정되지 않는 한 일반적으로 직접적이거나 간접적일 수 있으며, 이와 같은 기술은 발명을 한정하기 위함이 아님에 유의해야 한다.
후술할 설명은, 예시적인 운영 환경, 제어판 사용자 인터페이스, 제어판 인터페이스 간의 네비게이션, 제어판을 위한 프레임워크의 단락으로 나뉘어져 있다.
예시적인 운영 환경
도 1은 본 발명이 구현되기에 적합한 컴퓨팅 시스템 환경(100)의 일례를 도시하고 있다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
본 발명은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 본 발명에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드, PDA, 태블릿 PC (tablet PC), 또는 랩톱 PC(laptop PC)와 같은 이동식 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
본 발명은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시되도록 설계될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치할 수 있다.
도 1과 관련하여, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함하지만 이에 제한되는 것은 아니다. 처리 장치(120)은 단수 혹은 함께 작동하는 복수의 프로세서를 포함할 수 있다. 처리 장치(120)은 중앙처리장치(CPU)라고 지칭될 수 있다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, AGP(Advanced Graphics Port) 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF(예로서 블루투스, WiFi, UWB), 광(예로서 적외선), 기타 무선 매체 를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타의 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식, 비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식, 비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM, DVD, 또는 기타 광 매체 등의 이동식, 비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 1에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 그와 다를 수 있다는 것이다. 이에 관해, 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)일 수 있다는 것을 나타내기 위한 것이다. 사용자는 키보드(162), 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 이러한 포인팅 장치들은 입력의 위치 정보뿐만 아니라, 장치를 클릭하거나 터치하는 동안에 가한 압력에 대한 정보도 제공할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus), 또는 IEEE 1394(FIREWIRE) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(184) 또는 다른 유형의 디스플레이 장치도 비디오 어댑터(183) 등의 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 비디오 어댑터(183)은 고유의 프로세서와 메모리는 물론, 향상된 2D 또는 3D 그래픽 표현력을 가질 수 있다.
컴퓨터(110)는 사용자가 스타일러스(stylus)(186)을 사용해서 입력할수 있도록 디지타이저(digitizer)(185)를 포함할 수 있다. 디지타이저(185)는 모니터(184) 혹은 기타 디스플레이 장치와 통합되거나, 디지타이저 패드(digitizer pad)처럼 독립된 장치일 수도 있다. 컴퓨터(110)은 스피커(189) 및 프린터(188) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변 장치 인터페이스(187)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 도 1에는 메모리 저장 장치(181)만이 도시되었으나, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 1에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 인터넷과 같은 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 가정, 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속된다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 저장 장치(181) 같은 원격 장치에 저장될 수 있다. 예로서, 도 1은 원격 애플리케이션 프로그램(182)이 메모리 장치(181)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
"소프트웨어" 라는 용어는, 컴퓨터가 판독가능한 매체나 메모리에 저장되어 있으며 컴퓨터에 명령어를 전달하기 위해서 사용되는, 컴퓨터에서 실행 가능한 코드를 표현하기 위하여 사용되었다. "소프트웨어" 라는 용어는 실행 가능한 응용프로그램, 동적 라이브러리, 스크립트 파일 등에 포함된 코드를 포함할 수 있다. 하나의 소프트웨어는 모든 실행가능한 코드를 담은 한 개의 파일일 수도 있고, 코드의 일부를 담고 있는 수 개의 파일의 모음일 수도 있다. 설치된 소프트웨어는 코드, 프로그램, 응용프로그램 등 컴퓨터가 실행 가능한 기타의 다른 것들을 포함한다.
제어판 사용자 인터페이스
작업 기반 제어판은, 사용자들이 제어판에서 지원하는 기능을 사용하기 위하 여 공통의 또는 단독의 제어판을 조작할 수 있도록 한다. 구체적으로, 작업 기반 제어판은 후술할 내용의 중 하나 이상을 포함한다.
a. 대화형 환경 대신, 프레임 안에서 사용 가능한 제어판
b. 브라우저 안에서 사용될 수 있는 제어판
1.브라우저 안에서 사용되는 이동 방식은 제어판을 조작함에 있어서도 사용될 수 있다. (뒤로 이동, 앞으로 이동, 링크 이동을 포함하나 이에 제한되지는 않는다.)
2. 제어판 페이지들은 상태 정보를 공유할 수 있다.
c. 제어판 페이지들이 브라우저의 네임스페이스(namespace)의 일부여서, 해당 제어판 페이지의 개발자가 특정 페이지로의 이동을 위해서 추가로 수행할 작업이 거의 없거나 전혀 없다.
d. 작업 기반 제어판은 제어판과 브라우저 간의 결합을 간략하게 하는 프레임워크를 사용할 수 있다. 또한, 이와 같은 프레임워크는 최소한 몇 개의 제어판 속성을 마크업으로 구현하는 데에 도움이 된다.
1. 이 프레임워크는 마크업 언어로 구현된 제어판 페이지를 브라우저에 연결할 수 있게 하는 기초를 제공할 수 있다. 또한,
2. 이 프레임워크는 제어판 페이지 속성(예를 들면, 페이지 목록, 각각의 페이지의 제목, 부모/자식 관계 등)중 일부를 XML 파일로 작성하는 것을 가능하게 한다.
네임스페이스는 이름 집합을 유일하게 특정하여, 다른 출처를 가졌으나 같은 이름을 가진 객체들이 함께 섞여 있어도 불명료함이 없도록 한다. 예를 들어서, 확장성 생성언어(Extensible Markup Language, XML)를 사용할 경우, XML 네임스페이스는 구성요소 타입(element type)과 속성 이름(attribute name)의 모음이다. 이와 같은 구성요소 타입과 속성 이름은 그것들이 포함된 XML 네임스페이스의 유일한 이름으로 유일하게 특정된다. 그러므로 XML 문서에서 임의의 구성요소 타입이나 속성 이름은, 네임스페이스의 이름과 그 안에서 가지는 자신의 로컬 이름(local name 혹은 functional name)의 두 부분으로 구성된 이름을 가진다.
도 3은 본 발명의 실시예에서의 제어판 인터페이스를 위한 화면 레이아웃(301)을 도시한다. 당업자라면 발명의 범위 안에서 이와 다른 레이아웃도 가능하다는 것을 이해할 수 있다. 레이아웃(301)은 컴퓨터(110)에 의하여 모니터(184) 또는 임의의 다른 디스플레이 장치에 디스플레이되는 Microsoft Windows 같은 그래픽 운영체제의 창(window)의 내용물으로서 구현될 수 있다. 사용자는 포인팅 장치(161), 키보드(162), 또는 다른 임의의 입력 장치를 통하여 레이아웃(301)의 컨텐츠와 상호 작용할 수 있다. 사용자, 네트워크, 컴퓨터(110)에서 작동하는 다른 소프트웨어, 또는 다른 출처로부터 입력을 받을 때, 컴퓨터(110)은 새로운 변화를 반영하거나 입력에 응답하기 위하여 인터페이스를 갱신할 수 있다.
레이아웃(301)은 소프트웨어 정보 뷰(information view)의 목록이나 모음을 디스플레이하는 뷰 선택 영역(302)를 포함한다. 뷰는 텍스트 형태의 뷰 이름이나, 아이콘, 또는 기타 의미를 가지는 형태로 디스플레이될 수 있다. 뷰는 리스트(list), 트리(tree), 또는 다른 임의의 나열 방식으로 디스플레이될 수 있다. 설정 뷰(configurable view) 영역(303)은 사용자의 컴퓨터에 대한 정보(예를 들자면 하드웨어, 소프트웨어, 네트워크 상태, 연결 상태, 종전 사용량 등을 포함하나 이에 제한되지는 않는다)를 리스트, 폼(form), 또는 기타 표현 방식으로 디스플레이한다. 뷰 영역(303)은 현재 디스플레이되는 뷰에 대한 설명, 해당 뷰와 상호 작용하는 방법, 그리고 그래픽이나 아이콘처럼 해당 뷰와 관련된 다른 컨텐츠를 제공할 수 있는 헤드라인(309)를 포함할 수 있다. 그 밖에 아이콘, 파일 이름, 사용자 친화적 이름(user-friendly name), 게시자(publisher), 메모리와 디스크 크기, 중요한 날짜 정보 등을 포함하는 소프트웨어 관련된 정보가 뷰 영역(303)의 나머지 내용에 포함될 수 있다. 사용자 친화적 이름(user-friendly name)이란, 코드 모음의 컨텐츠와 기능을 의미하는 소프트웨어 관련된 이름일 수 있다. 사용자 친화적 이름은, 설명적인 파일 이름(descriptive file name), 연관된 파일 모음의 배치명(deployment name), 또는 컴퓨터에 익숙하지 않은 일반인이 이해할 수 있는 다른 임의의 이름일 수 있다.
설정 뷰(configurable view) 영역(303)은 미리 보기 영역(304)을 동반할 수 있다. 미리 보기 영역(304)은 현재 디스플레이되고 있는 정보 뷰(information view)에 대한 정보를 제공할 수 있다. 이것은 해당 뷰와 관련된 설명과 사용법 등을 포함할 수 있고, 설치되었거나 실행중인 소프트웨어의 크기나 디스크 여유공간 등과 같은 요약 정보를 포함할 수 있다. 설정 뷰 영역(303) 안의 특정 항목이 선택될 경우, 선택된 항목에 대하여 더 많은 정보를 디스플레이하기 위하여 미리 보기 영역(304)의 컨텐츠는 변경될 수 있다. 이것은 응용프로그램 아이콘, 파일 이 름, 사용자 친화적 이름(user-friendly name), 게시자(publisher), 버전, 드라이브나 네트워크 위치 정보, 지원 정보, 메모리 크기, 설치일, 실행 시각, 그리고 관련된 다른 정보를 포함할 수 있다.
설정 뷰 영역(303)은 또한 커맨드(command) 영역(305)을 동반할 수 있다. 커맨드 영역(305)은 현재 디스플레이되고 있는 정보 뷰와 관련된 동작을 포함할 수 있다. 뷰 선택 영역(302)에서 특정 정보 뷰가 선택될 경우, 커맨드 영역(305)는 버튼, 링크, 또는 다른 대화형 콘트롤을 디스플레이하도록 갱신된다. 이와 같은 콘트롤은 사용자에게 현재 뷰와 관련하여 사용 가능한 명령(command)을 디스플레이한다. 이러한 명령들은 사용자가 설정 뷰 영역(304)에 디스플레이되고 있는 소프트웨어를 제어하거나 그것과 상호 작용할 수 있도록 한다. 특정 항목이 선택될 경우, 사용자는 커맨드 영역(305)안에서 명령을 클릭하여 선택된 항목이 가리키는 소프트웨어를 제어하거나 그것과 상호 작용할 수 있다.
상기에서 언급한 영역들 이외에도, 레이아웃(301)은 네비게이션 버튼(306), 로케이션 바(location bar)(307), 그리고 검색 바(search bar)(308)를 추가적으로 포함할 수 있다. 네비게이션 버튼(306)은 사용자가 이전 뷰와 다음 뷰로 빠르게 이동할 수 있게 함으로써 여러 가지 정보 뷰간의 이동을 단순화하는 데 사용될 수 있다. 로케이션 바(307)은 현재 디스플레이되고 있는 정보 뷰의 전후관계를 보여주거나 해당 정보에 대한 대체 경로를 제공하기 위하여 해당 정보 뷰의 위치를 디스플레이할 수 있다. 로케이션 바(307)은 뷰간 이동을 위하여 사용될 수도 있다. 로케이션 바(307)은 사용자에게 현재 디스플레이되고 있는 정보 뷰를 찾아가는 단 계를 보여주기 때문에 빵가루 창(breadcrumb bar)라고도 불릴 수 있는데, 이는 파일 경로와 파일 이름, 메뉴 계층, 메타 데이터 계층 등과 같은 것을 제공하는 방법으로 이루어 질 수 있다. 검색 바(308)은 특정 소프트웨어에 대한 정보를 접근하는 또 다른 수단을 제공할 수 있다. 예를 들어, 사용자가 검색 바(308)에 소프트웨어의 이름을 입력할 수 있다. 입력된 소프트웨어 이름은, 현재 설치되었거나 설치가 가능한 소프트웨어들의 목록을 검색하는 데에 사용될 수 있고, 사용자를 해당 소프트웨어에 대한 정보를 보여주는 특정한 뷰로 이동시킬 것이다.
제어판 인터페이스에서의 네비게이션
도 4A와 도 4B는, 컴퓨터 및/또는 그것의 운영체제에 대한 정보와 작업 기반 제어판의 관계를 도시한다. 도 4A는, 제어판에서 접근 가능한, 컴퓨터에 대한 정보를 보여준다.
도 4A는 401 내지 405와 같은 여러 가지 종류의 시스템 또는 컴퓨터 관련 정보를 보여준다. 여기서 프린터 정보(401), 디스플레이 정보(402), 응용프로그램 정보(403), 네트워크 구성 정보(404), 그리고 기타 접근 가능한 정보(405)가 제어판에서 이용 가능하다.
제어판(406)은 사용자에게 정보를 제공하는 방안 중 하나를 보여준다. 이 때, 각각의 정보는 각각 별도의 프레임 안에서 제공된다. (예를 들면, 프린터 제어 프레임(407), 디스플레이 프레임(408), 응용프로그램 제어 프레임(409), 네트워크 구성 프레임(410), 그리고 기타 제어 프레임(411) 등이다.) 이와 달리 이런 정보는, 401 내지 405의 정보를 수신하여 공통 브라우저 프레임 414에 이것들을 제공 하는 페이지 로직(413)을 기능적으로 포함하는 제어판(412)에 제공될 수 있다. 공통의 브라우저 프레임을 갖는 것에 대한 하나의 이점은 익숙한 위치에 공통의 인터페이스가 사용자에게 제공된다는 점이다. 즉, 새로운 제어판이 디스플레이 장치의 다른 영역이나, 다른 디스플레이 장치에 열리는 것을 지양할 수 있다.
도 4B는 제어판과 하위 제어판 간의 허브 앤드 스포크(hub and spoke) 배열의 일례를 도시한다. 우선, 주 제어판 페이지(414)는 다른 제어판의 부모이다. 다른 제어판들은 주 제어판 페이지(414)와 함께 저장된 정보로부터 모양, 색상, 이동 방법, 그리고 큐(cue)를 가져오거나, 주 제어판 페이지(414)의 레이아웃과 기능을 제어하는 공통의 데이터 소스(data source)에 접근할 수 있다.
도 4B는 네 개의 제어판을 도시한다: 사용자 및 그룹 제어판(415), 이용 제한(Parental Controls) 제어판(420), 프린터 제어판(425), 기타 제어판(430). 다른 제어판 페이지도 사용될 수 있음은 물론이다. 각각의 이들 제어판 415, 420, 425, 430(이들은 주 제어판(414)와의 관계를 언급할 때에는 하위 제어판이라고 호칭될 수도 있다.)은 한 개 이상의 작업이 연관되어 있다. 예를 들어, 사용자 및 그룹 제어판(415)는 작업 1 내지 4(416 내지 419)가 연관되어 있고, 이용 제한 제어판(420)은 작업 5 내지 8(421 내지 424)가 연관되어 있으며, 프린터 제어판(425)는 작업 9 내지 12(426 내지 429)가 연관되어 있고, 기타 제어판(430)은 작업 13 내지 N(431 내지 434)가 연관되어 있다. 각각의 작업은 주어진 제어판과 관련된 하나 이상의 작업을 사용자가 수행할 수 있도록 할 것이다.
예를 들어, 사용자는 사용자 및 그룹 제어판(또는 경우에 따라 하위 제어판 이라고 할 것이다)을 이동하는 중에, 사용자 및 그룹 제어판에서 최근 행해진 액세스를 쉽게 구성하기 위하여 이용 제한 제어판(또는 이용 제한 '하위' 제어판)으로 이동할 수 있을 것이다. 첫 번째 제어판에서 두 번째 제어판으로의 링크(link)를 제공함으로써 이와 같은 것이 가능하다. 또 다른 방법으로는, 주어진 제어판의 네비게이션 영역에, 관련된 모든 제어판으로의 링크를 디스플레이할 수도 있을 것이다.
좀더 구체적으로, 도 4B는 사용자 및 그룹 제어판 페이지(415)의 작업 3(418)과 이용 제한 제어판 페이지(420)의 작업 5(421)간의 양방향 링크를 도시하고 있는데, 이와 같은 링크를 통해 사용자는 하나의 작업(작업 3)으로부터 그와 관련된 다른 작업(작업 5)으로 빨리 이동할 수 있다. 도 4B는 또한 사용자가 관련된 제어판 사이를 쉽게 이동할 수 있도록 하는 제어판 간의 양방향 링크를 도시하고 있다.
경우에 따라, 개발자는 상기 링크가 작동하는 방법을 제한하거나 제어하기를 원할 수 있다. 예를 들자면, 링크가 단방향 링크일 수 있다. 작업 4(419)는 같은 부모 제어판 페이지(415) 밑에 있는 작업 3(418)으로의 단방향 링크와, 다른 부모 제어판 페이지(420) 밑에 있는 작업 6(422)으로의 단방향 링크를 포함할 수 있다. 사용자들이 실제 어떤 작업을 하고 있는지 혼동하지 않도록 흐름을 제어할 수 있게 하기 위하여, 여러 가지의 다른 단방향 링크들이 사용될 수 있다. 예를 들면, 어떤 개발자는 사용자의 부주의로 어떤 한 명의 사용자에 대한 설정을 다른 모든 사용자에게 적용하는 것을 원치 않는다. 좀 더 나아가서, 어떤 개발자는 사용자로 하여금 현재 자신이 하고 있는 작업이 무엇인지 잘 이해할 수 있도록, 작업 페이지가 아닌 제어판 페이지로의 링크를 갖게 할 수도 있다. 예를 들면, 이용 제한 제어판 페이지에 속한 작업인 작업 6(422)은 사용자 및 그룹 제어판(415)로의 단방향 링크를 포함하고 있다. 물론, 전술된 여러 가지 종류의 단방향과 양방향 링크는, 제어판 페이지의 종류와 개발자의 희망에 따라 적절하게 여러 가지로 조합되어 사용될 수 있다.
작업 페이지의 허브(hub) 페이지와 하위 페이지(down spoke)를 이동하는 동안에, 상태 정보를 유지시킬 수 있다. 상태 정보는, 사용자가 즉시 이용 가능한 몇 가지 정보를 유지시키거나, 이미 알려진 정보를 사용하여 제어판 페이지 및/또는 작업을 생성(populate)함으로써 사용자에게 도움이 된다. 몇 가지 이동 시나리오는 다음과 같다.
1. 주 제어판 페이지를 통해 다른 제어판에 접근하는 것.
2. 시작/실행 메뉴 또는 도움말 페이지로부터 제어판 페이지로 직접 이동하는 것.
3. 하나의 제어판 안의 다른 페이지로 링크하는 것.
4. 다른 제어판으로 링크하는 것.
5. 네임스페이스 안에서 임의 이동하는 것.
상태 정보(state information)는 항상 유지될 수 있다. 하지만, 어떤 상태 정보가 오래되었거나 사용자의 현재 이동 또는 작업과 더 이상 관련을 갖지 않는 경우라면 상태 정보를 폐기하는 것이 좋을 것이다.
도 4C는 페이지간 이동에 대한 일례를 도시한다. 제어판의 홈 페이지(home page)(435)는 사용자의 현재 위치를 나타내는 네비게이션 바(navigation bar)(436)을 포함한다. 제어판 홈 페이지는 주 영역(main section)(438)과 관련 링크 목록(여기서는 1 내지 M)(437)을 포함할 수 있다. 영역(438)의 사용자 인터페이스 및 관련 컨텐츠는 제어판의 홈 위치를 중심으로 하며, 1 내지 N의 다른 제어판으로의 링크를 포함할 수 있다. 예를 들어, 제어판 1을 위한 사용자 인터페이스(439)를 클릭하면, 허브 제어판 페이지 1 (hub control panel page 1)(441)로 이동할 수 있다. 제어판 홈(435)의 사용자 인터페이스를 이동하는 다른 방법은, 예를 들어 카테고리 1 내지 3과 같이 하위 제어판들의 카테고리 분류를 선택적으로 사용하는 것이다.
허브 제어판 페이지 1(441)은 네비게이션 바(443), 주 영역(442), 그리고 링크 영역(444)를 포함한다. 여기서 허브 제어판 페이지 1의 컨텐츠와 사용자 인터페이스는, 관련 옵션을 가진 제어판 1, 관련 작업 1 내지 N, 그리고 기타의 관련 사용자 인터페이스에 관계된다. 네비게이션은 브라우저 안에서와 유사할 수 있다. 예를 들면, 작업 1(445)를 클릭하면 작업 1 제어판 페이지(446)으로 이동한다.
작업 1 제어판 페이지(446)는 네비게이션 바(448), 주 영역(447), 그리고 한 개 이상의 링크(449)를 포함할 수 있다. 여기서 페이지(446)의 사용자 인터페이스는 작업 1에 관련된 것이다. 작업 1 제어판 페이지(446)은 텍스트 수신 영역(단지 예를 들기 위함이며, 텍스트 수신 영역과 함께 또는 이를 대신하여 다른 UI 요소가 사용될 수도 있다), 옵션 1 내지 2 (451 내지 452), 그리고 변경 사항을 수락하거 나 폐기하기 위한 영역 (버튼 453과 454)를 포함할 수 있다.
도 5는 제어판 간을 이동하기 위한 프로세스를 도시한다. 이때, 주어진 제어판에서의 현재 작업에 관한 상태 정보나 주어진 제어판에 대한 조작은, 다음 제어판에까지 유지될 수 있다. 이와 달리, 사용자가 (예를 들어 제어판과 관련된 구체적인 작업을 하기 위하여)하위 제어판으로 이동할 경우, 해당 하위 제어판 및 부모(parent) 제어판과 관계된 다른 하위 제어판으로의 이동할 때 상태 정보가 함께 이동될 수 있다. 하지만, 유지되는 정보는 현재의 관심사와 관련이 있을 수도 있고 없을 수도 있다. 예를 들어, 제어판 프레임으로부터 벗어나서 이동할 경우 상태 정보는 삭제되거나 유실될 수도 있다. 예를 들어, 상태 정보는 사용자가 제어판과 상호 작용한 내용을 포함할 수 있다. 첫 번째 제어판 작업 페이지가 사용자 이름과 암호를 요구했다면(그리고 사용자가 입력했다면), 사용자 이름과 암호 또는 다른 인증 정보는 상태 정보로서 저장되고 다음 제어판 작업 페이지로 전달된다. 다음 과정으로 진행하거나 정보를 수정하는데 필요한 인증 정보를 이미 넘겨 받은 두 번째 제어판 페이지는 사용자 이름과 암호를 물어보기 위한 UI(user interface)를 디스플레이하지 않을 수 있다. 그 결과 사용자들이 이미 입력한 정보에 대해여 다시 묻지 않으므로 페이지간의 흐름이 향상된다. 이와 유사하게, 정해진 사용자가 있을 때, 관리자가 새로운 페이지마다 해당 사용자를 조회할 필요 없이 다수의 제어판 페이지들에 걸쳐 사용자에 관한 속성을 구성할 수 있도록, 상태 데이터에 해당 사용자의 신원(identity)을 유지할 수 있다.
단계 501에서 시스템은 제어판을 디스플레이하라는 입력을 받는다. 이 입력 은 사용자로부터 받거나, 또는 제어판이 디스플레이되기를 요청하는 응용프로그램에서부터 받을 수도 있다. 이와 같은 요청은 메인 허브 제어판(예를 들어 페이지 414 또는 페이지 415)을 보여달라는 것일 수 있다. 또는 이와 같은 요청은 제어판 안의 임의의 하위 페이지(하위 허브 페이지 또는 spoke/작업 페이지)를 보여달라는 요청일 수도 있다. 다음으로, 단계 502에서는 시스템이 브라우저 프레임 안에 현재 상태 데이터가 반영된 제어판을 디스플레이한다. 여기서 사용자는 여러 가지 선택 사항을 갖게 된다. 예를 들어서, 사용자는 단계 503에서 볼 수 있듯이 제어판 안에 있는 정보를 수정할 수 있다. 또한 사용자는 단계 505에서 보이듯이 해당 제어판의 자식(child) 제어판으로 이동하기 원함을 표현할 수도 있다. 이와 달리, 단계 505는 하위 제어판을 디스플레이하게 하는, 시스템의 다른 부분으로부터의 입력일 수도 있다. 따라서, 단계 505는 좀 더 일반화된 표현으로 "자식 제어판 선택의 수신" 이라고 도시되어 있다. 더 나아가서, 사용자는 단계 510에서 제어판으로부터 벗어나는 "포커스(focus)"변경을 할 수 있다. "포커스"란 사용자가 키를 입력할 때 키 입력이 들어가는 윈도우 또는 하위 윈도우를 포함할 수 있다. 몇몇 윈도우는 최상위 레벨 자격(top level status)를 부여 받기 때문에 "포커스"는 최상위 레벨 윈도우(top level window)일 수도 있고 아닐 수도 있다. 포커스의 변경이란 다른 곳으로의 이동일 수도 있고, 브라우저 프레임이 닫힌 것일 수도 있으며, 다른 응용프로그램이 화면의 맨 위(또는 최상위 레벨)로 오는 것 등을 의미할 수 있다. 전술한 사항 또는 그 이외의 포커스 변경은 상태 정보의 유실을 초래할 수 있다. 되도록이면, 상태 정보의 유실은 사용자가 다른 곳으로 이동하거나, 브라우 저 프레임을 닫았을 때만 일어나는 것이 바람직하다.
단계 510은 포커스 변경을 요청하는 시스템의 다른 부분에서 기인한 것일 수도 있다. 따라서 단계 510은 좀 더 일반적으로 "제어판으로부터 포커스를 이탈시키는 선택의 수신"이라고 도시하였다.
단계 503에 관하여, 시스템이 제어판 관련 상태 데이터를 수정하는 정보를 수신하였다. 예를 들어서, 어떤 프린터를 컴퓨터 시스템의 기본 프린터로 설정하거나, 어떤 사용자에게 접근 권한을 할당하거나 변경하는 것 등이다. 단계 504에서 시스템은 상태 정보를 갱신한다. 다음으로 단계 502에서 갱신된 정보로 제어판이 다시 디스플레이된다.
단계 505와 관련하여, 자식 제어판의 선택이 수신된다. 다음으로 단계 506에서 시스템은 자식 제어판의 컨텐츠와 관련된 현재 상태 데이터를 얻는다. 다음으로 단계 507에서 자식 제어판과 관련된 상기 상태 데이터가 브라우저에 디스플레이된다. 여기서, 최소한 세 가지 작업이 일어날 수 있다. 첫째로, 사용자는 단계 505에서 도시된 바와 같이 다른 자식 제어판으로 이동할 수 있다. 또는 이 대신에 사용자는 단계 508에서, 제어판에서 보이는 정보를 수정할 수도 있다. 단계 508에서 정보가 수정되었다면, 제어판과 관련하여 상태 정보가 갱신되고, 단계 507에서 수정된 상태 정보가 반영된 갱신된 제어판이 디스플레이된다. 또한, 단계 510에서, 제어판으로부터 포커스를 이탈시키는 선택 행위가 일어났다는 것을 수신할 수도 있다.
만약 사용자가 포커스를 변경하거나 제어판으로부터 포커스를 다른 곳으로 이탈시킨다면, 시스템은 단계 511에서 상태 데이터 및 그에 대한 변경 사항을 폐기한다.
도 5에서 도시한 프로세스는, 제어판 작업 페이지들이 상태 정보를 보통 자동으로 저장하지 않는 상황에서 사용될 수 있다. 이 점에 관해서는 제어판 개발자가 자기 제어판에 대한 상태 정보를 각자 유지할 책임을 진다. 도 5는 이러한 개발자를 위하여 제어판 정보의 유지 관리를 처리한다. 도 5에 도시된 바와 같이, 상태 정보에 대한 변경이 승인/적용될 수 있고, 상태 정보는 즉시 갱신된다. 부가적으로, 허브(hub) 페이지들은 간단한 설정 변경사항을 즉시 저장할 수 있다. 작업 페이지를 포함한 스포크(spoke) 페이지들은 도 4C와 관련하여 도시된 바와 같이 "승인(accept)" 또는 "적용(commit)" 버튼을 포함할 수 있다. 이와 달리, 속성 변경 사항들이 하나의 묶음으로 저장되고 추후에 한꺼번에 적용될 수 있다. 예를 들면, 마법사 인터페이스는 수 개의 다른 설정들을 변경할 수 있다. 이러한 저장 사항은 한 페이지에서 다른 페이지로 이동할 때 즉시 효력이 발생할 수도 있고, 마법사에서 발생한 모든 변경사항이 승인된 후에 효력을 발생시키기 위하여 묶음으로 저장될 수 있다.
제어판을 위한 프레임워크
아래에서는 제어판을 위한 프레임워크에 대하여 기술한다. 이 프레임워크는 사용자에게 공통되는 인터페이스를 제공하기 위하여, 각기 다른 제어판 페이지들을 관리하는 적어도 하나의 방법을 제공한다. 예를 들어서, 제어판은 여러 개의 작업 페이지들로 분리되고, 하나의 부모 제어판 하에 그룹화될 수도 있다. 바꾸어 말하 면, 하나의 작업 페이지는 오직 하나의 제어판 밑에 속하게 된다. 각각의 페이지들은 모든 사용자가 접근 가능할 수도 있고, 관리자만이 접근 가능할 수도 있다.
본 프레임워크는 제어판 사이에서의 이동을 쉽게 하고, 다른 제어판들의 기능을 통합하거나 새로운 기능을 제공하는 새로운 제어판을 만드는 개발자들을 편하게 한다.
도 6은 각각 관련 작업 페이지를 가지는 두 개의 제어판 페이지에 대한 예를 도시한다. 예를 들어, "이용 제한" 제어판(601)은 사용자가 접근 가능한 작업 페이지(602) 및/또는 관리자만이 접근 가능한 작업 페이지(603)을 포함한다. 다음으로, "사용자 및 그룹" 제어판(604)는 사용자가 접근 가능한 작업 페이지(605) 및/또는 관리자만이 접근 가능한 작업 페이지(606)을 포함한다. 도 6에 도시한 바와 같이 작업 페이지들을 그룹으로 정리하는 것은 적어도 윈도우 재활용 및 특별 권한의 유지 기간 관리에 도움이 된다. 이때 작업 페이지들은 부모 제어판의 브라우저 프레임을 재사용할 수 있다. 또한 작업 페이지나 그에 관련된 제어판 페이지간에 상태를 유지할 수 있다.
사용자가 브라우저 안에서 제어판 내의 작업 페이지로 이동할 때, 그와 같은 페이지 이동은 같은 프레임 안에서 이루어질 수 있다. 제어판 홈페이지 안이나 다른 제어판 작업 페이지 안에 있는 링크를 클릭하거나, 네비게이션 바을 이용하여 이동하는 것이 이런 경우에 해당된다.
프레임은 별도로 제어 가능한 다수의 컨텐츠가 하나의 공통의 웹 페이지에 디스플레이될 수 있도록 한다. 본 발명의 다른 실시예에서는, 분리되었거나 분리 가능한 윈도우가 프레임과 대신 사용되거나, 프레임과 함께 사용될 수 있다.
사용자가 다른 응용프로그램으로부터 제어판 작업 페이지를 열면, 새로운 브라우저 창이 열리거나 기존의 창이 재사용될 수 있다. 해당 제어판(예를 들어 사각형 601)에 속하는 다른 페이지가 이미 열려있다면, 새로운 창을 여는 대신, 새로운 이동을 처리하기 위해 이미 열린 창이 활성화 될 수 있다. 일 실시예에서, 제어판은 항상 제어판에 속한 페이지 사이의 네비게이션을 처리할 준비가 되어있어야 하는데, 이는 현재의 사용자 인터페이스에 직접적인 링크가 없더라도 마찬가지이다.
동일한 제어판 페이지를 담은 두 개의 창이 동시에 열릴 수 있다면 좋을 것이다. 이렇게 동시에 같은 제어판 페이지를 두 개의 창에 디스플레이하면, 한 쪽의 페이지는 다른 쪽의 페이지와 비교할 때 오래된 정보를 담고 있을 가능성이 있다. 이와 관련하여, 동기화 문제를 최소화 하기 위하여, 페이지 이동 시에 갱신된 상태 정보를 저장하게 할 수 있다. 예를 들어, 두 개의 "사용자 및 그룹" 제어판 창에서 사용자 목록이 보여지고 있고, 한쪽 창에서 사용자를 한 명 추가한다. 다른 쪽 창으로 이동하거나 다른쪽 창을 새로 고침하면, 시스템은 갱신된 상태 정보를 얻어서 모든 사용자 속성에 반영할 것이다.
사용자들은 최소한 몇 가지의 시스템 설정을 변경할 수 있는 권한을 부여 받을 것이다. 이는 모든 사용자에게 해당될 수도 있고, 관리자에게만 해당될 수도 있다. 예를 들면, 사용자들이 네트워크 연결을 변경하는 행위는 제한될 것이다. 다른 상황에서, 몇몇의 사용자들이 관리자 권한을 가지고 추가적인 설정을 변경할 수 있을 것이다. 예를 들어, 처음 제어판 페이지를 열었을 때는 사용자가 변경을 가하는 일은 제한될 수 있다. 하지만 예를 들어 잠김 해제 버튼을 클릭하는 등의 방법으로 잠김 해제(unlock) 기능을 선택하면, 사용자는 제어판 창에 있는 설정 사항을 변경할 수 있게 될 것이다. 잠김 해제(unlock)기능은 제어판의 현재 디스플레이에 별도로 존재할 수도 있고, 사용자의 페이지 이동 시에 함께 다닐 수도 있다. 좀 더 높은 수준의 보안을 제공하기 위하여는, 잠김 해제 기능이 현재의 디스플레이에 귀속되고, 페이지 이동시나 제어판 창을 닫을 때는 다시 잠길 것이다.
제어판의 상태 정보는 해당 제어판 안에서만 지속될 것이다. 만약 다른 곳으로 이동했다가 돌아온다면 제어판은 이전의 상태 정보를 더 이상 갖고 있지 않을 것이다. 예를 들어, "사용자 및 그룹" 제어판에서 하나의 계정을 수정하고 있는데 "이용 제한" 제어판으로의 링크를 클릭했다가 다시 돌아온다면, 수정하고 있던 계정에 대한 정보는 유실될 것이다. 상태 정보가 설정되지 않았는데 사용자가 어떤 페이지로 직접 이동하려고 시도하면, 그 사용자는 상위 또는 최상위 레벨의 다른 페이지로 이동될 것이다.
제어판 안의 특정 작업 페이지가 아닌, 제어판 자신으로의 접근만을 허용하도록 네비게이션 바이 수정될 수 있다. 예를 들어, 어떤 사용자가 이용 제한 제어판의 "접근 시간" 작업 페이지에 있는 경우, 다른 페이지로의 직접적인 이동이 허용될 수도 있고 제한될 수도 있다. 예를 들면, 네비게이션 바에 다음과 같이 표시되고 있는 경우,
컴퓨터(Computer) > 제어판(Control Panels) > 이용 제한(Parental Controls) > 접근 시간(Access Times)
제어판(여기서는 "이용 제한" 제어판) 자체의 네비게이션 바을 클릭하면, 해당 제어판의 홈 페이지로 이동할 것이다. 이는 이용 제한 페이지 혹은 다른 페이지의 상태 정보가 설정되지 않았기 때문일 것이다. 상위 레벨의 페이지로 사용자를 돌려 보냄으로써, 그 다음의 제어판 페이지나 작업 페이지에 대한 상태 정보가 올바르게 획득되고 설정되도록 보장할 수 있다.
몇몇의 페이지에서는 고유한 내부 네비게이션 방법을 가질 수 있다. 예를 들면, 작업 링크, 명령 링크, 버튼 등과 같은 것들인데, 이에 제한되지는 않는다.
제어판의 내부로의 링크도 존재할 수 있다. 예를 들어, 사용자는 링크를 클릭하여 제어판 안의 특정 작업 페이지로 곧바로 이동할 수 있다. 사용자가 특정 페이지로 접근하기 위하여, 상기 설명한 네비게이션 바안의 참조자(reference)를 타이핑할 필요는 없다. 예를 들어 페이지 안에 결과를 생성하는 폼을 사용하는 특정 페이지로 이동한다면, 프레임워크는 새로운 정보가 이동할 페이지에 전송되도록 하기 위한 지원 방법을 제공할 수도 있고 제공하지 않을 수도 있다. 그럼에도 불구하고, 제어판은 매개변수를 입력 받을 수 있다. 이런 기능은 별도의 경로를 통하여 구현될 수 있다.
본 발명의 실시예는 브라우저를 사용하여 구현되었기 때문에, 항상 새로운 정보가 갱신되기를 기다리지 않고도 페이지간 이동이 가능하다. 간단히 말하여, 사용자는 중간 단계의 페이지를 히스토리에 남기지 않고 실시간으로 다른 페이지로 이동할 수 있다. 예를 들어, 도움말 페이지에서 "패스워드 생성" 페이지로 곧바로 이동되었는데 패스워드가 이미 생성되었다는 결론이 났다면, 히스토리에 패스워드 생성에 대한 기록을 남기지 않고 곧바로 메인 허브(hub) 페이지로 이동시킬 수 있다. 패스워드가 이미 설정 되었음에도 "패스워드 생성" 페이지에 대한 기록을 히스토리에 남기는 것은 혼동을 줄 수 있다.
도 7은 브라우저에 제어판을 제공하기 위하여 코드 모듈이 사용되는 방법의 예를 도시하고 있다. 여기서, 브라우저 코드 dll 파일 702를, 새로운 제어판을 위한 코드 703과 연결하기 위하여, glue.lib 이라고 표기된 glue 라이브러리 701을 사용할 수 있다. 여기서, 새로운 코드 703은 NewControlPanel.dll 이라고 칭한다. 이 결과 브라우저 704 안의 제어판이 만들어진다. Glue 코드인 glue.lib에는 브라우저 코드 .dll이 제어판과 소통하고, "이 페이지를 표시하라", "사용자가 이 곳을 클릭했다"와 같은 명령어를 전달할 수 있도록 하는 연관 관계(relationships) 세트가 포함될 수 있다. 여기서, 브라우저 코드 .dll은 브라우저의 전형적인 기능들을 구현하는 .dll 파일이다.
도 8은 코드가 어떻게 배치될 수 있는지에 대한 또 다른 예를 보여준다. 각각의 페이지에 대한 코드들은 하나의 파일에 저장될 수 있다. 또는 각기 다른 제어판에 대한 코드들이 각기 다른 파일에 저장될 수 있다. 여기서, 세 개의 제어판 페이지들을 제어판 A, 제어판 B, 제어판 C라고 칭한다. 이 세 개의 제어판은 관련된 제어판 파일들로부터 생성된다. (여기서는 제어판 파일 A(801), 제어판 파일 B(802), 제어판 파일 C(803)) 각각의 파일들은 제어판 페이지 객체 804 내지 806을 각각 만들어 낸다. 제어판 로직 807은 제어판 객체가 브라우저 프레임 808에 삽입 될 수 있도록 한다. 브라우저 808은 제어판 별 네임스페이스 속성 콘테이너(per control panel namespace property container) 809를 포함할 수 있는데, 이 네임스페이스 속성 콘테이너는, 동일한 제어판 안에 여러 페이지가 있어도, 특정한 시점에는 단지 하나의 페이지만 활성화 되므로 이 페이지들이 상태 정보를 공유할 수 있도록 하는 것이다. 상기 속성 콘테이너를, 두 페이지가 상태 정보를 교환하기 위하여 사용하는 우편함이라고 생각할 수도 있다.
각각의 제어판 페이지 객체(CNewCplPage)는, 마크업 언어 제어판 로직(markup language control panel logic)(807)과, 하위 페이지들(파일 A 내지 C) (801 내지 803) 사이에서 정보를 전달한다. 여기서 CNewCplPage는 브라우저(808) 안에서 구현될 수 있다.
제어판 로직 CNewControlPanelLogic 807은, 어떤 설정을 표시하고, 사용자는 그것을 어떻게 수정할지 등의 실제 제어판을 위한 로직을 담고 있다. CNewControlPanelLogic 807은 브라우저가 특정 제어판의 네임스페이스(namespace)안에서 이동하고 있는 동안에 상태 정보를 유지한다. 상태 정보가 필요하지 않을 때에는, 제어판 로직(807)을 제거하고 이와 같은 기능을 제어판 객체(804 내지 806)에 넣을 수도 있다. 제어판 페이지 객체(804 내지 806)은 모든 초기화, 특정 페이지에 대한 초기화, 사용자와 브라우저(808)간의 상호 작용에서 발생하는 이벤트 등을 처리할 수 있다. 나아가 로직(807)이 존재한다면, 제어판 페이지 객체는 이런 작업 중 일부를 로직(807)에게 맡길 수도 있다.
파일 A(801) 내지 C(803)에는 마크업 언어로 작성된 새로운 제어판 파일이 포함될 수 있다. 예를 들어, 페이지들은 문서의 표시와 기능(display and functionality)을 제어하는 데에 사용될 수 있는 XML이나 다른 임의의 마크업 언어로 작성될 수 있다. 파일 A(801) 내지 C(803)의 해석(interpretation)이 가능하도록 XML(또는 다른 마크업 언어) 정의(definition)파일 같은 추가적인 파일들이 필요할 수 있다.
현재 선호되는 실시 방식을 포함한 구체적인 실시예를 들어 본 발명을 기술하였으나, 당업자라면 첨부된 청구 범위에서 기술한 본 발명의 사상 및 범주에 속하는 범주 내에서 상기 기술한 시스템과 방법에 대한 변형과 치환이 있을 수 있음을 인식할 수 있을 것이다. 청구항 구성 요소에 "~하기 위한 수단", "~하기 위한 단계"라는 말이 포함되지 않는 한, 청구항 구성 요소가 기능식으로 해석되어서는 안된다. 또한, 방법 청구항에 숫자가 붙은 것은 분류의 목적일 뿐, 특정한 순서를 요구하는 것으로 해석되어서는 안된다.

Claims (20)

  1. 제어판을 디스플레이하기 위한 입력을 받는 단계; 및
    상태 데이터와 함께 상기 제어판을 브라우저에 디스플레이하는 단계를 포함하는 컴퓨터 구현 방법으로서,
    상기 상태 데이터는 상기 제어판을 네비게이팅(navigating)하는 동안 유지되는,
    컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 제어판에서 정보를 변경하는 단계; 및
    상기 제어판에서 사용되는 상기 상태 데이터를 갱신하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    자식 제어판의 선택을 수신하는 단계;
    상기 자식 제어판과 관련된 현재 상태 데이터를 획득하는 단계; 및
    상기 브라우저에서 상기 자식 제어판과 관련된 현재 상태 데이터를 디스플레이하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 자식 제어판의 정보를 수정하는 단계;
    상기 상태 데이터를 갱신하는 단계; 및
    상기 브라우저에 상기 갱신된 상태 데이터를 디스플레이하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 자식 제어판으로부터 이탈하여 네비게이팅(navigating)하는 단계; 및
    상기 상태 데이터를 폐기하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 제어판으로부터 이탈하여 네비게이팅(navigating)하는 단계; 및
    상기 상태 데이터를 폐기하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    제어판 브라우저 프레임이 현재 존재하는지를 판단하는 단계; 및
    새로운 제어판 컨텐츠를 디스플레이하기 위하여 상기 제어판 브라우저 프레 임을 재사용하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  8. 컴퓨터 시스템으로서,
    제어판과 관련된 제1 파일과, 상기 컴퓨터 시스템에 관한 정보를 포함하는 제2 파일을 저장하는 저장 장치;
    상기 제1 파일과 상기 제2 파일을 획득하여 상기 제1 파일의 내용에 대응하여 상기 정보를 처리하는 프로세서; 및
    상기 처리된 정보의 출력을 수신하고, 브라우저 내에 상기 제어판의 컨텐츠를 디스플레이하는 사용자 인터페이스를 사용자에게 디스플레이하는 디스플레이 장치
    를 포함하는 컴퓨터 시스템.
  9. 제8항에 있어서,
    상기 프로세서는 상기 제1 파일과 상기 제2 파일의 조합에 제어판 프레임워크를 사용하며,
    상기 제1 파일은 마크업 언어로 작성된 제어판 페이지이고, 상기 제2 파일은 상기 제1 파일을 프레임워크가 처리하는 방법에 대한 속성을 설정할 수 있는 마크업 언어 정의 파일인 컴퓨터 시스템.
  10. 제8항에 있어서,
    상기 프로세서는 제어판 브라우저 프레임이 현재 존재하는지 여부를 결정하고, 상기 제어판 브라우저 프레임을 재사용하는
    컴퓨터 시스템.
  11. 데이터 구조가 저장된, 컴퓨터에서 판독 가능한 매체로서,
    상기 데이터 구조는,
    제1 제어판 페이지를 가지는 제1 파일과 관련된 제1 부분;
    실행시 상기 제1 제어판 페이지를 객체화(instantiate)하는 제2 파일과 관련된 제2 부분; 및
    상기 제1 파일과 상기 제2 파일에 액세스한 컴퓨터 시스템의 상태와 관련된 상태 정보를 포함하는 제3 부분; 및
    상기 제1 제어판 페이지를 디스플레이하기 위하여 브라우저에 의해서 접근되는 제4 부분으로 구성되는
    컴퓨터 판독 가능 매체.
  12. 제11항에 있어서, 상기 데이터 구조는
    제2 제어판 페이지를 가지는 제3 파일과 관련된 제5 부분; 및
    실행시 상기 제2 제어판 페이지를 객체화하는 제4 파일과 관련된 제6 부분
    을 더 포함하는 컴퓨터 판독 가능 매체.
  13. 제11항에 있어서,
    실행시, 상기 제3 부분이 브라우저 프레임이 현재 존재하는지 여부를 판단하는,
    컴퓨터 판독 가능 매체.
  14. 제13항에 있어서,
    상기 제3 부분이 상기 브라우저 프레임이 현재 제어판을 디스플레이하고 있는지 여부를 판단하는,
    컴퓨터 판독 가능 매체.
  15. 제14항에 있어서,
    상기 컴퓨터 시스템이 상기 브라우저 프레임을 재사용하는,
    컴퓨터 판독 가능 매체.
  16. 제11항에 있어서,
    상기 제1 제어판 페이지로부터 포커스가 변경되면 상기 제3 부분이 삭제되는,
    컴퓨터 판독 가능 매체.
  17. 제11항에 있어서,
    상기 제1 파일은 사용자에 의해 직접 액세스되는,
    컴퓨터 판독 가능 매체.
  18. 제12항에 있어서,
    상기 제1 파일은 상기 제1 제어판에서의 이동(navigation)을 통해 액세스되는,
    컴퓨터 판독 가능 매체.
  19. 제11항에 있어서,
    상기 제1 파일은 다른 제어판의 조작을 통해서 액세스되는,
    컴퓨터 판독 가능 매체.
  20. 제12항에 있어서,
    사용자가 상기 제1 제어판과 상기 제2 제어판을 네비게이팅(navigating)하는 동안에도 상기 제3 파일이 유지되는,
    컴퓨터 판독 가능 매체.
KR1020087001177A 2005-07-15 2006-07-10 제어판 프레임워크 KR20080033946A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/182,073 US20070016870A1 (en) 2005-07-15 2005-07-15 Control panel framework
US11/182,073 2005-07-15

Publications (1)

Publication Number Publication Date
KR20080033946A true KR20080033946A (ko) 2008-04-17

Family

ID=37663016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087001177A KR20080033946A (ko) 2005-07-15 2006-07-10 제어판 프레임워크

Country Status (4)

Country Link
US (1) US20070016870A1 (ko)
KR (1) KR20080033946A (ko)
CN (2) CN101223495A (ko)
WO (1) WO2007011609A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203909B1 (en) * 2002-04-04 2007-04-10 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US7689920B2 (en) * 2005-09-06 2010-03-30 Apple Inc. Parental control graphical user interface
US20070094603A1 (en) * 2005-10-20 2007-04-26 Nokia Corporation System and method for providing for the secure management of mobile user interface customizations and personalizations
US20080313632A1 (en) * 2007-06-13 2008-12-18 Apurva Kumar Methods, devices, and products for providing access to system-administration functions of a computer or related resources
US20090064314A1 (en) * 2007-08-31 2009-03-05 Lee Michael M Method and Apparatus for Implementing Parental Controls for a Portable Media Device
US20100031185A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Web page push to new window
US8799823B2 (en) * 2009-02-26 2014-08-05 Brother Kogyo Kabushiki Kaisha Display device
CN101840695B (zh) * 2009-03-17 2012-11-21 兄弟工业株式会社 显示设备
US9454647B1 (en) * 2010-05-26 2016-09-27 Crimson Corporation Managing assets on a computing device
EP2840485A1 (en) 2013-08-21 2015-02-25 Airbus Operations GmbH Aircraft with centralized generated and unified cabin control panel displays
CN107846311A (zh) * 2017-10-27 2018-03-27 杭州迪普科技股份有限公司 一种服务器信息配置方法及装置
CN112596652A (zh) * 2020-12-11 2021-04-02 中信银行股份有限公司 菜单导航方法、装置、电子设备及介质

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222234A (en) * 1989-12-28 1993-06-22 International Business Machines Corp. Combining search criteria to form a single search and saving search results for additional searches in a document interchange system
US5237654A (en) * 1990-04-17 1993-08-17 International Business Machines Corporation Hierarchical inter-panel process flow control
US5226117A (en) * 1990-05-15 1993-07-06 International Business Machines Corporation Method for simultaneous update and change in parent and child windows
JPH0820982B2 (ja) * 1992-11-12 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・アプリケーションプログラム収納体の項目をフィルタ処理する方法
JP2505974B2 (ja) * 1992-12-08 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 複数の適用業務プログラムを統合化グラフィカル・ユ―ザ・インタフェ―ス処理環境へ統合化するための方法
US6072489A (en) * 1993-05-10 2000-06-06 Apple Computer, Inc. Method and apparatus for providing translucent images on a computer display
US6564321B2 (en) * 1995-04-28 2003-05-13 Bobo Ii Charles R Systems and methods for storing, delivering, and managing messages
US5659694A (en) * 1994-06-30 1997-08-19 Canon Kabushiki Kaisha Method and system for displaying context sensitive child windows independently of their parent window
US5715443A (en) * 1994-07-25 1998-02-03 Apple Computer, Inc. Method and apparatus for searching for information in a data processing system and for providing scheduled search reports in a summary format
US6199082B1 (en) * 1995-07-17 2001-03-06 Microsoft Corporation Method for delivering separate design and content in a multimedia publishing system
US5760788A (en) * 1995-07-28 1998-06-02 Microsoft Corporation Graphical programming system and method for enabling a person to learn text-based programming
US5877765A (en) * 1995-09-11 1999-03-02 Microsoft Corporation Method and system for displaying internet shortcut icons on the desktop
US5748499A (en) * 1995-09-19 1998-05-05 Sony Corporation Computer graphics data recording and playback system with a VCR-based graphic user interface
US5712995A (en) * 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
US5729734A (en) * 1995-11-03 1998-03-17 Apple Computer, Inc. File privilege administration apparatus and methods
US6161126A (en) * 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US6457017B2 (en) * 1996-05-17 2002-09-24 Softscape, Inc. Computing system for information management
US6026409A (en) * 1996-09-26 2000-02-15 Blumenthal; Joshua O. System and method for search and retrieval of digital information by making and scaled viewing
US6144962A (en) * 1996-10-15 2000-11-07 Mercury Interactive Corporation Visualization of web sites and hierarchical data structures
US6216141B1 (en) * 1996-12-06 2001-04-10 Microsoft Corporation System and method for integrating a document into a desktop window on a client computer
US5905492A (en) * 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US6101510A (en) * 1997-01-29 2000-08-08 Microsoft Corporation Web browser control for incorporating web browser functionality into application programs
US6678724B2 (en) * 1997-03-12 2004-01-13 Microsoft Corporation Common namespace for internet and local filesystem objects
US6025844A (en) * 1997-06-12 2000-02-15 Netscape Communications Corporation Method and system for creating dynamic link views
US5966532A (en) * 1997-07-10 1999-10-12 National Instruments Corporation Graphical code generation wizard for automatically creating graphical programs
US6166736A (en) * 1997-08-22 2000-12-26 Natrificial Llc Method and apparatus for simultaneously resizing and relocating windows within a graphical display
US6216122B1 (en) * 1997-11-19 2001-04-10 Netscape Communications Corporation Electronic mail indexing folder having a search scope and interval
US5933141A (en) * 1998-01-05 1999-08-03 Gateway 2000, Inc. Mutatably transparent displays
US6133914A (en) * 1998-01-07 2000-10-17 Rogers; David W. Interactive graphical user interface
US6421065B1 (en) * 1998-02-09 2002-07-16 Microsoft Corporation Access of online information featuring automatic hide/show function
US6239798B1 (en) * 1998-05-28 2001-05-29 Sun Microsystems, Inc. Methods and apparatus for a window access panel
US6545691B1 (en) * 1998-06-12 2003-04-08 Microsoft Corporation Client-side control of controls loaded by a browser
AR020608A1 (es) * 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
US6226630B1 (en) * 1998-07-22 2001-05-01 Compaq Computer Corporation Method and apparatus for filtering incoming information using a search engine and stored queries defining user folders
US6832355B1 (en) * 1998-07-28 2004-12-14 Microsoft Corporation Web page display system
US6223213B1 (en) * 1998-07-31 2001-04-24 Webtv Networks, Inc. Browser-based email system with user interface for audio/video capture
CN1324464A (zh) * 1998-08-26 2001-11-28 西姆泰克有限公司 映射数据文件的方法和设备
US6574791B1 (en) * 1999-01-15 2003-06-03 International Business Machines Corporation Component based designer for modifying and specializing wizards
US6604150B1 (en) * 1999-02-06 2003-08-05 International Business Machines Corporation Integration of GUI application with external application extensions
US6813746B1 (en) * 1999-03-10 2004-11-02 Adobe Systems Incorporated Hierarchical master pages
US7979382B2 (en) * 1999-05-04 2011-07-12 Accenture Global Services Limited Component based information linking during claim processing
US6792615B1 (en) * 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
US6445822B1 (en) * 1999-06-04 2002-09-03 Look Dynamics, Inc. Search method and apparatus for locating digitally stored content, such as visual images, music and sounds, text, or software, in storage devices on a computer network
US7788597B1 (en) * 1999-10-01 2010-08-31 Microsoft Corporation Windows radio toolbar
IL132929A (en) * 1999-11-14 2004-09-27 Ycd Multimedia Dynamic user interface
US6718518B1 (en) * 1999-12-20 2004-04-06 International Business Machines Corporation Non-disruptive search facility
US20010033296A1 (en) * 2000-01-21 2001-10-25 Fullerton Nathan W. Method and apparatus for delivery and presentation of data
US7240296B1 (en) * 2000-02-11 2007-07-03 Microsoft Corporation Unified navigation shell user interface
AU2001253857A1 (en) * 2000-03-14 2001-09-24 Buzzpad, Inc. Method and apparatus for forming linked multi-user groups of shared software applications
US7418440B2 (en) * 2000-04-13 2008-08-26 Ql2 Software, Inc. Method and system for extraction and organizing selected data from sources on a network
US7058944B1 (en) * 2000-04-25 2006-06-06 Microsoft Corporation Event driven system and method for retrieving and displaying information
US20060123356A1 (en) * 2000-05-05 2006-06-08 Microsoft Corporation Dynamic and updateable computing application panes
US6708162B1 (en) * 2000-05-08 2004-03-16 Microsoft Corporation Method and system for unifying search strategy and sharing search output data across multiple program modules
US6910044B2 (en) * 2000-09-20 2005-06-21 Sap Aktiengesellschaft Method and apparatus for structuring, maintaining, and using families of data
US7185044B2 (en) * 2000-11-06 2007-02-27 The Weather Channel Weather information delivery systems and methods providing planning functionality and navigational tools
US20020133604A1 (en) * 2001-03-19 2002-09-19 Alok Khanna Instruction set file generation for online account aggregation
US7216290B2 (en) * 2001-04-25 2007-05-08 Amplify, Llc System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US7406664B1 (en) * 2001-06-15 2008-07-29 Microsoft Corporation System for integrating HTML Web site views into application file dialogs
US20030014442A1 (en) * 2001-07-16 2003-01-16 Shiigi Clyde K. Web site application development method using object model for managing web-based content
US20030030664A1 (en) * 2001-08-13 2003-02-13 Parry Travis J. Customizable control panel software
US7203909B1 (en) * 2002-04-04 2007-04-10 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US7844907B2 (en) * 2002-10-16 2010-11-30 William Watler System and method for dynamic modification of web content
US7254786B2 (en) * 2002-11-05 2007-08-07 Microsoft Corporation System for transmitting and displaying icon resources group associated with remote application to a local computing system to facilitate virtualization of the remote application
US7543238B2 (en) * 2003-01-21 2009-06-02 Microsoft Corporation System and method for directly accessing functionality provided by an application
US7475408B2 (en) * 2003-02-27 2009-01-06 Microsoft Corporation Hosting an application in one of a plurality of execution environments
US20040176877A1 (en) * 2003-03-05 2004-09-09 Scott Hesse Building automation system and method
US7424671B2 (en) * 2003-05-16 2008-09-09 Justsystems Canada Inc. Methods and systems for enabling collaborative authoring of hierarchical documents
US7392249B1 (en) * 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
US7533115B2 (en) * 2003-09-16 2009-05-12 International Business Machines Corporation Method for managing persistent federated folders within a federated content management system
US20050086262A1 (en) * 2003-10-21 2005-04-21 Arto Kiiskinen Method and apparatus for WAP and XHTML site management
US20050188295A1 (en) * 2004-02-25 2005-08-25 Loren Konkus Systems and methods for an extensible administration tool
US7437358B2 (en) * 2004-06-25 2008-10-14 Apple Inc. Methods and systems for managing data
US8046712B2 (en) * 2004-06-29 2011-10-25 Acd Systems International Inc. Management of multiple window panels with a graphical user interface
US7640502B2 (en) * 2004-10-01 2009-12-29 Microsoft Corporation Presentation facilitation
US7680856B2 (en) * 2004-11-23 2010-03-16 Microsoft Corporation Storing searches in an e-mail folder
US7426697B2 (en) * 2005-01-18 2008-09-16 Microsoft Corporation Multi-application tabbing system
US7703037B2 (en) * 2005-04-20 2010-04-20 Microsoft Corporation Searchable task-based interface to control panel functionality
US20060271854A1 (en) * 2005-05-27 2006-11-30 Microsoft Corporation Computer application with integrated information management
US7831547B2 (en) * 2005-07-12 2010-11-09 Microsoft Corporation Searching and browsing URLs and URL history
US7665032B2 (en) * 2005-08-18 2010-02-16 Microsoft Corporation Sidebar engine, object model and schema
US20070061722A1 (en) * 2005-09-13 2007-03-15 International Business Machines Corporation Transparency learning aide skin for GUI-based applications
US7921375B2 (en) * 2005-12-16 2011-04-05 Microsoft Corporation Integrating user interfaces from one application into another
US7793231B2 (en) * 2006-01-19 2010-09-07 International Business Machines Corporation Method and system for providing a primary window overlay
US8074167B2 (en) * 2006-11-17 2011-12-06 Microsoft Corporation Cross domain presence of web user interface and logic
US20100058167A1 (en) * 2008-08-26 2010-03-04 Microsoft Corporation Displaying Subscribable Content

Also Published As

Publication number Publication date
CN101223495A (zh) 2008-07-16
CN102360286A (zh) 2012-02-22
WO2007011609A3 (en) 2007-12-21
US20070016870A1 (en) 2007-01-18
WO2007011609A2 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
KR20080033946A (ko) 제어판 프레임워크
KR101149993B1 (ko) 통합 개발 환경에서 디자이너로서 호스트된 애플리케이션
Paterno' et al. MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments
Florins et al. Graceful degradation of user interfaces as a design method for multiplatform systems
US8762936B2 (en) Dynamic design-time extensions support in an integrated development environment
US8713465B1 (en) Tab visibility
KR20080001706A (ko) 애플리케이션 윈도우 그룹화 및 관리를 위한 방법 및 장치
US20080066002A1 (en) Method for creation, management, and presentation of user-scoped navigation topologies for web applications
WO2015042551A2 (en) Method and system for selection of user interface rendering artifacts in enterprise web applications using a manifest mechanism
KR20150004817A (ko) 사용자 인터페이스 웹 서비스
KR20050023805A (ko) 어플리케이션 프로그램 모듈의 동적 배치 방법
CN1855096A (zh) 带有基础可扩展框架的面向任务的界面
JP7433822B2 (ja) アプリケーションビルダ
Rubel The Heart of Eclipse: A look inside an extensible plug-in architecture
US20120317171A1 (en) System and Method for Sharing Web Contents for Building Rich Internet Applications
US20060271854A1 (en) Computer application with integrated information management
US20180090027A1 (en) Interactive tutorial support for input options at computing devices
US20230409346A1 (en) Cloud Infrastructure Management
Smyth Android Studio 3.0 Development Essentials-Android 8 Edition
bin Uzayr et al. Introduction to Visual Studio Code
SPS SAP HANA Developer Guide
US20240020466A1 (en) Interactive form editor with concurrent automatic creation of schema files
Gautam Daily Operations Dashboard
Kumar et al. Windows 10 Development Recipes: A Problem-Solution Approach in HTML and JavaScript
Harris Salesforce CLI

Legal Events

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