KR20030060884A - 웹 운영체제 및 웹 데스크탑 - Google Patents
웹 운영체제 및 웹 데스크탑 Download PDFInfo
- Publication number
- KR20030060884A KR20030060884A KR1020037003133A KR20037003133A KR20030060884A KR 20030060884 A KR20030060884 A KR 20030060884A KR 1020037003133 A KR1020037003133 A KR 1020037003133A KR 20037003133 A KR20037003133 A KR 20037003133A KR 20030060884 A KR20030060884 A KR 20030060884A
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- web
- server
- information
- main body
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명의 목적은 기존의 로컬 컴퓨터와 최근의 네트워크 컴퓨터 및 씬 클라리언트를 포함하는 모든 플랫폼릉 수용할 수 있는 WWW 기반의 운영 시스템을 제공하는데 있다.
이를 위해 본 발명은 웹 기반 사용자 인터페이스 제공 장치는 고정 크기의 본체 폴더 수단, 상기 본체 폴더의 특정 위치에 표시되어 프로그램 실행 링크가 위치하는 메뉴바 수단, 상기 본체 폴더상에 형성되는 하위 객체 수단, 상기 본체 폴더상에 형성되어 프로그램 실행 링크 및 URL 링크가 위치하는 아이콘 수단, 및 상기 본체 폴더 수단, 메뉴바 수단, 하위 객체 수단, 및 아이콘 수단과 통신하는 본체 프레임 수단을 포함하여 이루어지는 웹 기반 인터페이스 장치를 제공한다.
Description
인터넷 기술이 발전함에 따라서, 사용자는 인터넷을 통해 수많은 정보를 손쉽게 획득할 수 있게 되었다. 또한, 사용자 시스템에서는 실행이 어려운 다양한 애플리케이션 프로그램을 인터넷을 통해 실행하기도 한다.
컴퓨터 하드웨어 기술이 진보되고 다양화됨에 따라, 사용자가 사용하는 하드웨어의 플랫폼이 다양화되고, 동일한 플랫폼 하에서도 다양한 운영 시스템이 실행되고 있다. 이러한 하드웨어 플랫폼으로는 IBM PC 호환 플랫폼, 선(Sun) 플랫폼, 매킨토시(Macintosh) 플랫폼 등이 있다. 또한, 각각의 하드웨어 플랫폼하에서도 윈도우즈(Windows), 시스템, 도스(DOS), 오에스/2(OS/2), 유닉스(UNIX) 등의 다양한 운영 시스템이 실행되기도 한다.
이러한 다양한 하드웨어 및 운영 시스템 간의 호환성 및 연동성은 비교적 용이하지 않은 편이다. 따라서, 개발자들은 각각의 응용 프로그램에 대해서 각각의하드웨어 또는 운영 시스템에 맞는 별도의 버전을 개발해야 한다. 이러한 것을 통상적으로 포팅이라고 한다.
특정한 운영 시스템에 대하여, 개발자가 응용 프로그램의 포팅을 준비하지 않는 경우에는, 당해 운영 시스템을 사용하고 있는 사용자로서는 응용 프로그램을 활용할 수 없다는 문제점이 발생하기도 한다.
이러한 다양한 하드웨어와 운영 시스템을 모두 수용할 수 있는 네트워킹 표준으로써, 현재 HTML 기반의 WWW가 활용되고 있다. 또한, JAVA가 개발되어 어떠한 하드웨어 및 운영 시스템 하에서도 웹 상의 자원을 웹 브라우저를 이용하여 활용할 수 있게 되었다.
인터넷을 통해 WWW 및 JAVA를 활용하더라도, 사용자는 자신의 컴퓨터, 즉 로컬 컴퓨터에 희망하는 애플리케이션 프로그램을 설치하고, 자신의 중간 생성 데이터를 역시 로컬 컴퓨터에 저장하여 두는 것이 일반적이다. 따라서, 사용자는 로컬 컴퓨터를 마련하여야 하고, 이에 부가하여 로컬 컴퓨터에 애플리케이션 프로그램을 설치하기 위해서는 애플리케이션 프로그램 구입 비용을 부담하여야 한다.
또한, 최근에는 애플리케이션 프로그램을 실행하기 위해서 더욱 높은 수준의 처리 능력과 하드 디스크 스토리지가 요구되기도 한다. 이러한 처리 능력과 하드 디스크 스토리지를 모두 만족시키기 위해서, 로컬 컴퓨터의 성능과 능력을 무한정 향상시키는 것 역시 매우 힘든 것이 현실이다.
이러한 경향에 대처하기 위해서, 네트워크 컴퓨터(NC) 및 씬 클라이언트(Thin Client)와 같은 플랫폼이 개발되기도 하였다. 이러한 네트워크 컴퓨터 및 씬 클라이언트는 비교적 처리 능력이 낮은 프로세서와 최소한의 스토리지만을 구비하는 것이 통상적이다. 또한, 네트워크 컴퓨터 및 씬 클라이언트는 인터넷을 경유하여 애플리케이션 프로그램을 제공하는 서버에 접속하여 서버상에서 애플리케이션 프로그램을 구동하고, 중간 생성 데이터를 서버의 스토리지에 저장하는 방식으로 동작한다.
이에 따라, 이러한 네트워크 컴퓨터 및 씬 클라이언트로 하여금 서버에 접속하도록 하고 서버를 운용하기 위한 시스템의 개발이 최근에 다양하게 이루어지고 있다.
그러나, 최근에 개발되고 있는 시스템은 대부분 JAVA를 기반으로 하고 있으며 LAN 상에서 운용되도록 설계되고 있다. 따라서, 기존의 로컬 컴퓨터를 포함하는 모든 플랫폼에 대하여 호환성의 문제가 아직도 해결되지 못하고 있는 실정이다.
본 발명은 네트워크를 이용한 운영 시스템에 관한 것으로서, 더욱 상세하게는 플랫폼에 무관한 컴퓨터 사용자 인터페이스를 제공하는 운영 시스템, 즉 웹 OS 및 이러한 웹 OS에 의해 생성되는 사용자 인터페이스, 즉 웹 데스크탑에 관한 방법, 장치, 시스템 및 프로그램에 관한 것이다.
도 1은 본 발명의 한 실시예에 따른 네트워크를 이용한 운영 시스템을 제공하기 위한 전체적인 통신 환경을 도시한 블록도.
도 2는 본 발명의 한 실시예에 따른 네트워크를 이용한 운영 시스템, 즉 웹 OS를 실행하기 위한 클라이언트(101)의 구성을 도시한 블록도.
도 3은 본 발명에 따른 웹 OS의 네트워크 아키텍처의 일실시예를 도시한 블록도.
도 4는 웹 데스크탑 인터페이스를 관리하기 위한 네트워크 아키텍처의 바람직한 실시예를 개념적으로 도시한 블록도.
도 5 내지 도 10는 본 발명의 바람직한 실시예에 따른 웹 OS의 아키텍처 중 서버(107)측 요소를, 수용되는 가입자수에 따라 실제로 구성한 예를 도시한 블록도.
도 11은 본 발명에 따른 웹 OS의 서비스 아키텍처를 도시한 블록도.
도 13 은 본 발명의 한 실시예에 따른 웹 데스크탑 인터페이스가 표시된 것을 간략화하여 도시한 도면.
도 14는 본 발명의 한 실시예에 따른 웹 데스크탑 인터페이스의 구성을 개념적으로 도시한 개념도.
도 15는 본 발명에 따라서 웹 데스크탑 인터페이스가 실제로 표시화면에 표시된 구현예를 도시한 도면.
도 16는 본 발명의 한 실시예에 따라서 표시된 웹 데스크탑 인터페이스를 구현하기 위한 객체 및 프로시져를 개념적으로 도시한 도면.
도 17은 본 발명의 한 실시예에 따라서 웹 데스크탑 인터페이스의 각 객체 및 프로시져간의 통신을 개념적으로 도시한 도면.
도 18은 본 발명에 따른 웹 데스크탑 인터페이스에서의 메뉴바의 계층을 도시한 도면.
도 19는 본 발명에 따라서 웹 데스크탑 인터페이스상에 메뉴 바가 표시된 형태의 일례를 개념적으로 도시한 도면.
도 20은 본 발명에 따른 웹 데스크탑 인터페이스에서 생성되는 아이콘의 종류별로 당해 아이콘의 아이콘 정보, 용도, 공통 속성, 및 특징적인 속성을 정리한 도면.
도 21은 본 발명에 따른 웹 데스크탑 인터페이스의 하위 객체(1309) 중 폴더 객체(1401), A형 애플리케이션 윈도우 객체(1403), 및 G 및 O형 애플리케이션 윈도우 객체(1405)에 대하여, 각각의 스크립트렛 소스, 구성 요소, 설명, 및 관련 애플리케이션을 정리한 표.
도 22는 서버 모듈이 서버(107)로 보내기 위해 작성하는 정보의 단위 셀(cell) 구조와, 서버 모듈이 서버(107)로 실제로 전송하는 정보 단위의 구조를도시한 도면.
도 23은 서버 모듈이 셀을 작성하고 서버(107)로 전송하는 과정에서 작성되는 셀과 실제 전송되는 정보 단위의 예를 도시한 도면.도 24는 본 발명에 따른 웹 OS의 서비스 아키텍처를 도시한 블록도.
도 25는 정보 단위 셀을 중요 셀과 비-중요 셀로 구분하는 기준과 그 대상의 일예를 설명하기 위한 표.
도 26는 WDP 프로토콜에 의한 정보의 전송 제어 과정을 설명하기 위한 블록도.
도 27은 클라이언트측에서, 중요 셀과 비-중요 셀을 결합하여 정보 단위를 작성하는 과정을 더욱 구체적으로 도시한 도면.
도 28는, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스가 클라이언트에 로딩되는 때의 메뉴 바 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도.
도 29은, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스상에서 포인터가 이동하는 액션이 발생하는 때의 메뉴 바 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도.
도 30은, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스가 클라이언트에 로딩되는 때의 본체 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도.
도 31은, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스상에서 소정의 액션이 발생하는 때의 본체 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도
<도면의 주요한 부분에 대한 부호의 설명>
1301: 본체 프레임 1303: 본체 폴더 1305: 상단 메뉴
1307: 하단 메뉴 1309: 하위 객체 1311: 아이콘
1401: 폴더 객체 1403: A 형 애플리케이션 윈도우
1405: G 및 O 형 애플리케이션 윈도우
본 발명은 기존의 로컬 컴퓨터와 최근의 네트워크 컴퓨터 및 씬 클라이언트를 포함하는 모든 플랫폼을 수용할 수 있는 WWW 기반의 운영 시스템을 제공하는 것을 목적으로 한다.
본 발명의 또 다른 목적은 모든 플랫폼을 수용할 수 있는 WWW 기반의 운영 시스템에 의해 관리되는 인터페이스 환경을 제공하는 것이다.
본 발명의 또 다른 목적은 웹 데스크탑의 사용자 인터페이스를 유지하면서, 사용자가 발생시킨 액션이나 이벤트를 서버로 전달하기 위해서는, 수많은 정보가 발생되는 것을 효율적으로 처리하기 위한 데이터의 효율적인 전송, 신뢰할 수 있는처리를 제어할 수 있는 전송 제어 방법을 제공하는 것이다.
위와 같은 목적을 달성하기 위하여, 본 발명에 따르면, 인터넷 상의 웹 기반 사용자 인터페이스를 제공하기 위한 장치가 제공된다. 본 발명에 따른 웹 기반 사용자 인터페이스 제공 장치는 고정 크기의 본체 폴더 수단, 상기 본체 폴더의 특정 위치에 표시되어 프로그램 실행 링크가 위치하는 메뉴바 수단, 상기 본체 폴더상에 형성되는 하위 객체 수단, 상기 본체 폴더상에 형성되어 프로그램 실행 링크 및 URL 링크가 위치하는 아이콘 수단, 및 상기 본체 폴더 수단, 메뉴바 수단, 하위 객체 수단, 및 아이콘 수단과 통신하는 본체 프레임 수단을 포함한다.
본 발명의 또 다른 태양에 의하면, 인터넷 상의 웹 기반 사용자 인터페이스를 규정하는 아키텍처를 지원하기 위한 장치가 제공된다. 본 발명에 따른 웹 기반 사용자 인터페이슬 규정하는 아키텍처를 지원하기 위한 장치는, 상기 웹 기반 사용자 인터페이스를 구성하는 요소와 관련된 정보를 서버로 전송하기 위한 셀을 정의하는 셀 계층(2401)을 관리하는 수단과, 셀 트래픽을 처리하는 웹 데스크탑 서비스(WDS) 계층(2405)과 분산 데이터 액세스를 처리하는 분산 데이터 액세스 서비스(DDAS) 계층(2507)을 포함하는 웹 데스크탑 프로토콜(WDP) 계층(2403)을 관리하는 수단과, 클라이언트 서버 프로토콜 계층(2409)을 관리하는 수단을 포함한다.
본 발명의 또 다른 태양에 의하면, 서버 및 클라이언트가 접속된 네트워크 상의 전송을 제어하기 위한 방법이 제공된다. 본 발명에 따른 전송 제어 방법은, 상기 클라이언트에서 발생하는 액션을 처리하기 위한 데이터를 액션당 소정 개수의 단위 정보 셀로 작성하는 단계, 상기 정보 셀이 중요 셀인지 비-중요 셀인지 판단하는 단계, 상기 판단 결과, 비-중요 셀로 판단된 경우, 버퍼에 격납하는 단계, 상기 판단 결과, 중요 셀로 판단된 경우, 당해 비-중요 셀과 버퍼에 격납되어 있던 비-중요 셀을 결합하여 정보 단위를 작성하는 단계, 및 상기 작성된 정보 단위를 상기 서버로 전송하는 단계를 포함한다.
1. 용어 및 약어
이하에서는 본 명세서에서 사용되는 용어 및 약어를 설명한다.
인터넷(Internet) : 인터넷이라 함은 표준 프로토콜 (예를 들면, TCP/IP 및 HTTP) 셋에 의해 상호 접속되어 세계적 분산 네트워크를 형성하는 상호 접속 (공설 또는 사설) 네트워크의 집합을 칭한다. 본 용어는 현재 통상적으로 인터넷이라고 알려진 것을 칭할 뿐만 아니라, 현존하는 표준 프로토콜에 가해질 수 있는 변화 및 부가를 포함하여 미래에 행해질 수 있는 변형을 포괄하는 의미로 해석되어야 한다.
월드 와이드 웹(World Wide Web, WWW) (웹(Web)이라 칭할 수 있음) : WWW란 본 명세서에서는 일반적으로 1) 상호 접속되고 사용자가 볼 수 있으며, 인터넷을 통해 접근 가능한 (통상적으로 웹문서 또는 웹페이지로 불리어질 수 있는) 하이퍼텍스트 문서의 분산된 집합과, 2) 표준 인터넷 프로토콜을 이용하는 상술한 바와 같은 하이퍼텍스트 문서에의 사용자 접근을 제공하는 클라이언트 및 서버 소프트웨어의 컴포넌트의 양자를 칭한다. 현재, 어플리케이션으로 하여금 웹 문서를 로케이트하고 획득하도록 하는 주요한 표준 프로토콜은 HTTP이고, 웹 페이지는 HTML에 의해 인코딩된다. 그러나, 웹 및 월드 와이드 웹이라는 용어는 HTML 및 HTTP 대신에 또는 이와 함께 사용될 향후의 마크업 언어 및 전송 프로토콜을 포괄하는 의미로 해석되어야 한다.
클라이언트-서버(Client-Server) : 클라이언트-서버라 함은 특정 사이트의 프로그램이 타 사이트의 프로그램으로 요청을 전송하고 그에 대한 응답을 대기하는 분산 시스템에서의 상호 작용 모델을 칭한다. 요청하는 프로그램은 클라이언트라 하고, 그 요청에 응답하는 프로그램은 서버라 한다. 월드 와이드 웹 환경에 있어서는, 클라이언트는 사용자 컴퓨터에서 동작하는 웹브라우저(Web-browser) (또는 브라우저)이고, 브라우저의 요청에 응답하여 웹페이지를 제공하는 프로그램을 통상적으로 웹서버(Web-server)라고 칭한다.
TCP/IP (Transmission Control Protocol/Internet Protocol) : TCP/IP라 함은 두 개의 컴퓨터가 인터넷을 통해 정보를 교환하는 방법을 규정하는 표준 인터넷 프로토콜 (또는 프로토콜의 집합)을 칭한다. TCP/IP는 패킷화(packetization), 패킷 어드레싱(packet addressing), 핸드쉐이킹 (handshaking), 오류 정정(error correction) 등을 처리한다. TCP/IP에 관한 상세한 설명은 코머(Comer) 및 스티븐스(Stevens) 저의 프렌티스 홀 사(Prentice Hall, Inc.)에서 발행된 TCP/IP를 이용한 인터네트워킹(Internetworking with TCP/IP) 제1, 2, 및 3권 (ISBNs 0-13-468505-9(vol.I), 0-13-125527-4(vol.II), 0-13-474222-2(vol.III))을 참조하기로 한다.
HTML (Hypertext Markup Language) : HTML이라 함은 문서 내의 정보 콘텐트에 화면 구성을 첨부하고 속성을 링크시키는 표준 코딩 협약 및 코드의 집합을 말한다. HTML 3.2/4.0은 출원일 현재 웹문서를 작성하는 주요한 표준이다. 문서 작성 단계에서 HTML 코드 (태그tags라 칭함)는 문서의 정보 컨텐트 내에 삽입된다. 웹 문서 (또는 HTML 문서)가 웹서버로부터 브라우저로 전송될 때, 코드들은 브라우저에 의해 해석되어 문서를 분석하고 표시하는데 사용된다. 웹브라우저가 문서를 어떻게 표시하는지를 기술하는 것에 부가하여, HTML 태그는 타 웹문서로의 링크를 생성하는데 사용될 수 있다. 이러한 것을 통상적으로 하이퍼링크라 한다. HTML에 관한 더욱 상세한 설명은 존 윌리 앤드 산스 사(John Wiley and Sons, Inc.)에서 1995년 발행된 얀 에스. 그래햄(Ian S. Graham)의 HTML 소오스 북(The HTML source Book)(ISBN 0471-11894-4)과 1998년 4월 24일자로 개정된 W3C Recommendation, HTML 4.0 규격(REC-html40-19980424)을 참조한다.W3C Recommendation 자료는 URL이 http://www.w3.org/TR/1998/REC-html40-19980424/인 위치에서 용이하게 얻을 수 있다.
포트 또는 포트 번호(Port or Port Number): 포트 또는 포트 번호는 소켓 번호(socket number)라고도 하며, 인터넷에 있어서, TCP/IP에 의해서 수신 데이터를 특정한 애플리케이션으로 유도하는데 사용되는 (통상적으로 IP 주소와 함께 제공되는) 식별 번호를 말한다. 특정 포트들은 인터넷 번호 할당국(the Internet Assigned Number Authority, IANA)에 의해 특정 응용을 위해 지정되어 있다. 예를 들어, 포트 80은 HTTP를 위해 지정되어 있고, 웹사이트에 의해서 수신 트래픽을 웹서버로 유도하는데 사용된다.
URL(Uniform Resource Locator) : URL이라 함은 인터넷 상의 파일 또는 다른 자원의 위치를 완전하게 지정하는 유일한 주소를 말한다. URL의 일반적인 포맷은 프로토콜://장치 주소:포트/경로/파일명 이다. 포트 지정은 선택적이고, 사용자가 아무것도 입력하지 않으면 브라우저는 프로토콜로 지정되는 서비스에 상관없이 디폴트 포트로 지정된다. 예를 들어, HTTP가 프로토콜로 지정되는 경우, 브라우저는 HTTP 디폴트 포트 80을 사용할 것이다.
HTTP(Hypertext Markup Language) : HTTP라 함은 브라우저 및 웹 서버간의 (HTML 문서 및 그에 대한 클라이언트의 요청과 같은) 정보 교환에 사용되는 표준 월드 와이드 웹 클라이언트-서버 프로토콜을 말한다. HTTP는 서로 다른 유형의 서버 액션을 요구하기 위해 클라이언트로부터 서버로 전송될 수 있는 서로 다른 수개의 유형의 메시지를 포함한다. 예를 들어, GET 메시지는 포맷이 GET<URL>이며 서버로 하여금 지정된 URL에 위치하는 문서 또는 파일을 제공하도록 한다.
윈도우(Window) : 윈도우 시스템이라 함은 다양한 애플리케이션 프로그램을 실행하기 위한 것으로써 멀티 태스킹을 지원하는 그래픽 기반 인터페이스를 일관된 외형과 명령 체계를 갖도록 제공하는 시스템을 말한다. 윈도우 시스템하에서 생성되는 개개의 그래픽 기반 인터페이스를 윈도우라 한다.
데스크탑 윈도우(Desktop Window) : 데스크탑 윈도우라 함은 사용자가 접근가능한 프로그램, 파일, 및 자원을 표현하는 가장 상위 레벨의 윈도우를 말한다. 데스크탑 윈도우는 응용 프로그램을 실행하고, 문서 또는 파일을 열고, 운영 시스템을 개시하는 시작점의 기능을 수행한다. 데스크탑의 특징은 최소화 또는 폐쇄될 수 없으며, 다른 윈도우가 형성되는 전화면 배경 표시로써 항상 유지된다.
액티브 데스크탑(Active Desktop) : 액티브 데스크탑이라 함은 데스크탑 윈도우의 특성을 가짐과 동시에, 다양한 멀티미디어 문서가 내부에 집적되어 있고, 당해 멀티미디어 문서가 자동적으로 갱신 및 표시되는 데스크탑 윈도우를 말한다.
웹 데스크탑(Web Desktop) : 웹 데스크탑이라 함은 본 발명의 발명자가 창안하여 개선시킨 개념으로써, 사용자가 접근가능한 프로그램, 파일, 및 자원을 표현하는 윈도우로써 인터넷을 통해 웹 기반의 소정의 프로토콜에 의해 제어되는 윈도우를 말한다. 웹 데스크탑은 응용 프로그램을 실행하고, 문서 또는 파일을 열고, 운영 시스템을 개시하는 시작점의 기능을 수행한다. 웹 데스크탑은 데스크탑에 의해서 또는 데스크탑 없이 웹 브라우저에 의해 콘트롤되며, 마크업 언어를 매개로 생성되므로 마크업 언어가 지원되는 한 플랫폼에 상관없이 일관된 인터페이스를 갖도록 하는 것이 가능하다.
웹 OS(Web OS) : 웹 데스크탑을 매개로 하여 클라이언트의 사용자 인터페이스의 설정 및 변경, 애플리케이션 프로그램의 실행, 데이터 기록 관리 등을 행하는 시스템을 본 명세서에서는 웹 OS라 칭한다. 마이크로소프트의 윈도우즈 시스템이 본 명세서에서 칭하는 웹 OS에 대응된다면, 마이크로소프트의 윈도우 시스템에서의 데스크탑은 본 명세서에서 칭하는 웹 데스크탑에 대응된다.
웹 데스크탑 규약 : 웹 데스크탑 규약이란 웹 데스크탑의 사용자별 사용자 인터페이스과, 서버, 및 클라이언트간 프로토콜 등을 정의하는 규약을 본 명세서에서는 웹 데스크탑 규약이라 칭한다. 웹 데스크탑 규약은 웹 데스크탑 인터페이스 및 웹 데스크탑 프로토콜을 포함한다.
웹 데스크탑 프로토콜(Web Desktop Protocol, WDP) : 웹 데스크탑의 사용자별 사용자 인터페이스를 구현하기 위한 서버 및 클라이언트간 의 통신을 데스크탑 환경에 맞도록 구현한 통신 구조, 데이터 구조, 및 데이터 제어의 총칭을 본 명세서에서는 웹 데스크탑 프로토콜(WDP)이라 정의한다. 웹 데스크탑 프로토콜(WDP)는 도 24에 도시된 바와 같은 아키텍처를 통해 구현된다. 이에 관한 상세한 설명은 후술하기로 한다.
액션(Action) 및 이벤트(Event) : 웹 데스크탑이 로딩되어 실행중인 클라이언트에서 발생하는 것으로서 클라이언트의 입력 장치, 예를 들면, 키보드, 버튼, 및 마우스 등의 포인팅 장치에 의해 클라이언트에 가해진 입력 행위를 이벤트라 하고, 사용자가 웹 데스크탑 인터페이스에 가하기 위한 추상적인 행위를 액션이라 칭한다. 통상적으로 액션은 다수의 이벤트에 의해 달성된다. 예를 들면, 사용자가 웹 데스크탑 상의 소정의 아이콘을 소정의 폴더로 이동하고자 하는 경우에, 아이콘을 폴더로 이동하려는 행위는 액션이고, 당해 액션을 달성하기 위해서 사용자가 마우스를 매개로 표시 장치 상의 포인터를 아이콘으로 이동하고, 마우스상의 버튼을 클릭하며, 버튼을 클릭한 채로 마우스를 이동하여 아이콘을 폴더 위치로 이동하고, 최종적으로 버튼의 클릭을 해제하는 입력 행위는 이벤트이다. 즉, 아이콘을 폴더로 이동하는 액션은, 마우스의 이동, 마우스상의 버튼 클릭, 버튼 클릭의 해제의 이벤트로 구성된다.
2. 본 발명에 따른 웹 데스크탑이 적용되기 위한 환경
(1) 통신 환경
도 1은 본 발명의 한 실시예에 따른 네트워크를 이용한 운영 시스템, 즉 웹 OS를 제공하기 위한 전체적인 통신 환경을 도시한 블록도이다.
전체적인 통신 환경은 서버(107) 및 다수의 클라이언트(101)를 포함하는 서버 클라이언트 모델인 것이 바람직하다. 서버(107) 및 클라이언트(101)는 하나 또는 그 이상의 네트워크(103)로 상호 접속된다. 네트워크(103)의 대표적인 것으로서 하나 또는 그 이상의 통신 회사가 제공하는 광대역 네트워크(WAN)을 들 수 있다. 네트워크(103)는 각지에 분산되어 있는 클라이언트 사용자, 즉 클라이언트(101)측 사용자로 하여금 서버(107)에 접속할 수 있도록 한다. 바람직하기로는, 네트워크(103)는 X.25 선이거나, ISDN 선이거나, 프레임 릴레이 인터페이스이거나, 또는 인터넷용으로 개발된 TCP/IP 프로토콜 망일 수 있다.
(2) 서버
서버(107)는 고속의 근거리 통신망(LAN)에 접속된 다수의 하위 서버(115, 117, 119, 123)를 포함한다. 또한, 서버(107)는 클라이언트(101)로부터 입수되는 신호를 하위 서버로 링크시키기 위한 게이트웨이(113)를 포함한다. 바람직하기로는, 다수의 하위 서버(115, 117, 119, 123) 및 게이트웨이는 마이크로소프트 사에서 제공하는 윈도우(Windows) 시스템을 실행할 수 있는 프로세서를 포함한다. 본 발명의 정신은 윈도우 시스템에 국한되지 않고, 인터넷 접속 환경을 제공할 수 있는 모든 형태의 운영 시스템 (예를 들면 윈도우, 맥 시스템)에 적용될 수 있다.
서버(107)는 본 발명에 따라서 각각의 클라이언트(101)에 통신 기반의 또는 정보 기반의 운영 서비스, 즉 웹 OS를 제공한다. 본 발명의 한 실시예에 따르면, 서버(107)가 제공하는 서비스는 사용자별 클라이언트 환경 설정 및 기록 서비스, 클라이언트 성능에 따른 환경 변경 서비스, 클라이언트가 활용가능한 리소오스의 제공 서비스, 클라이언트에의 애플리케이션 프로그램 제공 서비스, 클라이언트가 실시간으로 멀티미디어 데이터를 실행할 수 있도록 하는 멀티미디어 데이터 스트리밍 서비스, 클라이언트로부터 문서를 업로드하고 수정할 수 있는 게시판(BBS) 서비스 및 클라이언트 사용자간의 실시간 메시지 교환을 가능케 하는 메신저 및 채팅 서비스 등을 포함한다.
하위 서버에는 클라이언트에 웹 서비스를 수행하는 웹서버(115), 클라이언트에 애플리케이션을 제공하기 위한 애플리케이션 서버(117), 및 클라이언트의 요청에 따라 클라이언트로부터 전송된 데이터를 저장하고 관리하기 위한 파일 서버(119), 및 외부로부터 제공되는 서비스를 관리하기 위한 외부 서비스 서버(123)가 있을 수 있다.
(3) 클라이언트
도 2는 본 발명의 한 실시예에 따른 네트워크를 이용한 운영 시스템, 즉 웹 OS를 실행하기 위한 클라이언트(101)의 구성을 도시한 블록도이다.
도 2를 참조하면, 본 발명에 따른 도시된 실시예가 적용되기 위한 클라이언트(101)는, 하나 이상의 고속처리장치(CPU)(224) 및 CPU(224)와 접속된 메모리 시스템(226)을 포함하는 컴퓨터(222), 입력장치(228), 및 출력장치(230)를 포함하는컴퓨터 시스템(101)이다. 이들 구성 요소들은 하나 이상의 버스 구조(232)에 의해 연결된다.
도시된 CPU(224)는 공지된 구성을 갖는 것으로써, 연산 수행용 ALU(234), 데이터 및 명령의 임시 기억용 레지스터 집합(236), 및 시스템(220) 동작 제어용 제어부(238)를 포함한다. CPU(224)는, 컴팩(Compaq)의 알파(Alpha)와 MIPS 테크놀로지(MIPS Technology), NEC, IDT, 지멘스(Siemens) 등의 MIPS, 인텔 및 사이릭스(Cyrix), AMD, 트랜즈메타(Transmeta) 등의 x86, IBM과 모토롤라의 파워PC(PowerPC), 및 선 마이크로시스템즈(Sun Microsystems)의 스파크(SPARC)를 포함하는 다양한 아키텍쳐 중 어느 하나를 가질 수 있다.
메모리 시스템(226)은 일반적으로 랜덤 액세스 메모리(RAM) 및 판독 전용 메모리(ROM) 반도체 장치와 같은 매체로 형성된 고속 주 메모리(240) 및 플로피 디스크, 하드 디스크, 테잎, CD-ROM, 플래시 메모리 등과, 전기적, 자기적, 광학적, 또는 다른 기록 매체를 사용하여 데이터를 저장하는 그 밖의 장치와 같은 장 기간 기억 매체인 2차 스토리지(242)를 포함한다. 주 메모리(240)는 또한 디스플레이 장치를 통해 이미지를 디스플레이하기 위한 비디오 디스플레이 메모리를 포함할 수 있다. 당업자는 다양한 저장 용량을 갖는 다양한 대체 부품이 메모리(226)에 포함될 수 있다는 것을 쉽게 이해할 수 있다.
입력장치(228) 및 출력장치(230)도 공지이다. 입력장치(228)는 키보드, 마우스, 물리적 트랜스듀서(transducer) (예를 들면, 마이크로폰) 등을 포함할 수 있다. 출력 장치(230)는 디스플레이, 프린터, 트랜스듀서 (예를 들면, 스피커) 등을포함할 수 있다. 입력 장치 또는/및 출력장치로써, 네트웍 인터페이스 또는 모뎀과 같은 소정의 장치들이 사용될 수 있다.
본 명세서에서 말하는 클라이언트는 CPU(224) 및 메모리 시스템(226)을 기본적으로 구비하는 모든 종류의 장치를 포함하는 것으로 해석된다. 본 발명이 적용 가능한 클라이언트로는 IBM 사의 컴퓨터 규격인 IBM 호환의 PC 시스템, 애플사의 컴퓨터 시스템, 팜 사(Palm, Inc.)에서 제조 판매 중인 Palm OS를 지원하는 PalmOS 기반의PDA (예를 들면, Palm 시리즈, Handspring의 Visor 시리즈, Sony의 Clie 시리즈 등), 마이크로소프트사의 Windows CE를 지원하는 PDA (예를 들면, 컴팩사의 아이팩(iPaq)과 휴랫 팩커드(HP)의 jornada), 및 씬 클라이언트(Thin Client) 시스템을 들 수 있다. 컴퓨터 시스템과 입력 장치(228) 및 출력 장치(230)가 함께 결합하여 클라이언트를 구성할 수도 있고 (예를 들면, IBM 호환 PC, 애플사의 컴퓨터 시스템, PDA 등), 컴퓨터 시스템(220)만이 클라이언트를 형성할 수도 있다 (예를 들면, 씬 클라이언트).
당업자에게 공지된 바와 같이, 컴퓨터 시스템(220)은 하나 이상의 응용 프로그램 및 오퍼레이팅 시스템을 더 포함한다. 오퍼레이팅 시스템은 컴퓨터 시스템의 동작과 자원의 할당을 제어하는 소프트웨어 집합이다.
응용 프로그램은 사용자가 희망하는 작업을 수행하는 소프트웨어 집합이고, 오퍼레이팅 시스템을 통해 접근가능한 컴퓨터 자원을 사용한다. 양자 모두 도시된 메모리 시스템(226)에 상주한다.
본 명세서는 특별한 경우를 제외하고는, 컴퓨터 프로그래밍 분야의 당업자가통상적으로 실시하고 있는 바와 같이, 컴퓨터 시스템(220)에 의해 수행되는 행위 및 동작의 상징적 표현을 참조하여 본 발명을 설명한다. 경우에 따라서는, 이러한 행위 및 동작은 컴퓨터에 의해 실행되는 것으로 설명될 수 있다. 이러한 행위와 상징적으로 표현된 동작은, 컴퓨터 시스템의 동작을 재구성 또는 변경하거나 그 밖의 신호 처리를 하기 위한, 데이터 비트를 표현하는 전기적 신호 표현의 변형 또는 축소를 야기하는 CPU(224)에 의한 전기적 신호의 조작 및 메모리 시스템(226) 내 메모리 영역상의 데이터 비트의 유지를 포함한다. 데이터 비트가 유지되는 메모리 영역은 당해 데이터 비트 에 대응하는 특정의 전기적, 자기적 또는 광학적 속성을 갖는 물리적 영역이다.
3. 본 발명에 따른 웹 OS의 아키텍처
(1) 네트워크 아키텍처
도 3은 본 발명에 따른 웹 OS의 네트워크 아키텍처의 일실시예를 도시한 블록도이다.
본 발명에 따른 웹 OS의 아키텍처는 서버(107)측 요소와 클라이언트(101)측 요소를 포함한다.
서버(107)측 요소는 다시 웹 서버 콘트롤(301), 애플리케이션 콘트롤(303), 및 파일 서버 콘트롤(305)을 포함한다. 웹 서버 콘트롤(301)과 애플리케이션 콘트롤(303)은 서버(107)에서 실행되는 프로그램의 형태로 구현될 수 있다. 도 1에 도시된 환경에서는, 각각의 서버(107) 요소는 웹 서버(115)를 포함하는 각각의 하위 서버에 의해서 분산 처리되는 것이 바람직하다.
도 5 내지 도 10는 본 발명의 바람직한 실시예에 따른 웹 OS의 아키텍처 중 서버(107)측 요소를, 수용되는 가입자수에 따라 실제로 구성한 예를 도시한 블록도이다.
클라이언트(101)측 요소는 웹 브라우저 프로그램(311), 애플리케이션 프로그램(313), 및 스토리지(315)를 포함한다. 웹 브라우저 프로그램(311) 및 애플리케이션 프로그램(313) 역시 클라이언트(101)에서 실행되는 프로그램의 형태로 구현될 수 있다.
본 발명의 바람직한 실시예에 따르면, 웹 브라우저 프로그램(311)은 서버의 웹 서버 콘트롤(301)에서 제공되는 정보에 기초하여 클라이언트의 표시 수단(230)에 윈도우를 표시한다. 표시되는 윈도우는 데스크탑의 형태를 취한다. 본 명세서에서는 이를 상술한 바와 같이 웹 데스크탑이라 칭한다. 도 13는 본 발명에 따른 웹 데스크탑이 실제로 표시 수단(230)에 표시된 형태, 즉 웹 데스크탑 인터페이스를 도시한 개념도이다.
도 13에 도시된 바와 같이 웹 데스크탑 인터페이스를 클라이언트(101)의 표시 수단(230)에 표시하고 관리하기 위한 서버-클라이언트 네트워크 아키텍처를 도 4를 참조하여 더욱 구체적으로 설명한다. 도 4는 웹 데스크탑 인터페이스를 관리하기 위한 네트워크 아키텍처의 바람직한 실시예를 개념적으로 도시한 블록도이다. 도 4에 있어서, 도 3에 도시된 구성과 동일한 것은 설명을 생략한다. 도 4에 있어서, 도 3에 도시된 네트워크와 같은 것을 도면상에서 생략하였다.
도 4에 도시된 바와 같이, 웹 데스크탑 인터페이스를 관리하기 위한 네트워크 아키텍처는 서버(107)측 요소와 클라이언트(101)측 요소를 포함한다.
서버(107) 요소는 웹 서버 콘트롤(301) 내에서 실행되는 비즈니스 오브젝트(407), IIS 모듈(409), 및 Msadc(411)를 포함한다.
클라이언트(101) 요소는 웹 브라우저(311) 내에서 실행되는 스크립을 이용하여 컴포넌트를 제어하는 기술, 예를 들면 스크립트렛(401), 웹 브라우저 콘트롤(403), 및 RDS 데이터 스페이스 오브젝트(405)를 포함한다.
스크립트렛(401)과 웹 브라우저 콘트롤(403)은 도시되지 않은 네트워크를 통해 웹 서버 콘트롤(301)과 통신한다.
RDS 데이터 스페이스 오브젝트(405)는 RDS 프로토콜에 따라서 IIS 모듈(409)과 통신한다. IIS 모듈에서는 Msadc(411)가 비즈니스 콤 오브젝트와의 통신을 처리한다.
(2) 서버 아키텍처
본 발명에 따른 웹 OS를 실행하기 위한 서버(107) 아키텍처를 더욱 상세하게 설명한다.
웹 서버 콘트롤(301)은 소정의 규칙에 기초하여 클라이언트(101)에 표시하기 위한 사용자 인터페이스 요소를 정의하는 템플레이트를 파일 서버 콘트롤(305)을 통해 기록 매체에 사용자별로 기록한다. 웹 서버 콘트롤(301)이 사용자별로 기록하는 사용자 인터페이스 요소를 정의하는 템플레이트는 크게 인터페이스 속성 요소 및 사용자 정보 요소를 포함한다.
웹 서버 콘트롤(301)은 또한 클라이언트(101)의 요청에 응답하여, 파일 서버콘트롤(305)에 의해 기록되어 있던 당해 클라이언트(101)를 통해 접속한 사용자에 대한 템플레이트를 마크업 언어, 예를 들면 HTML 포맷으로 변환하여 클라이언트로 제공한다. 본 발명의 한 실시예에 따르면, 웹 서버 콘트롤(301)은 동적으로 HTML 포맷의 데이터를 제공하는 소위 DHTML 서버의 기능을 수행한다.
(3) 클라이언트 아키텍처
이하에서는 본 발명에 따른 웹 OS를 실행하기 위한 클라이언트(101) 아키텍처를 더욱 상세하게 설명한다.
웹 브라우저 프로그램(311)은 서버(107)에 접속하여 로긴 세션을 개시한다. 로긴 세션 하에서, 웹 브라우저 프로그램(311)은 사용자의 로긴 정보를 서버(107)로 전송한다. 웹 브라우저 프로그램(311)은 서버(107)로부터 제공되는 마크업 언어, 예를 들면 HTML 포맷의 데이터를 해석하여 표시 수단(230)으로 표시한다. 웹 브라우저 프로그램(311)에 의해 표시 수단(230)에 표시되는 인터페이스는 본 발명에 따른 웹 데스크탑 프로토콜에 의해 규정되는 일관된 형태를 갖게 된다.
(4) 서비스 아키텍처
도 24는 본 발명에 따른 웹 OS의 서비스 아키텍처를 도시한 블록도이다.
본 발명에 따른 운영 시스템, 즉 웹 OS의 서비스 아키텍처는 셀 계층(2401)과 웹 데스크탑 프로토콜(WDP) 계층(2403)과, 클라이언트 서버 프로토콜 계층(2409)의 계층적 구조를 취한다.
WDP 계층(2403)은 셀 트래픽을 처리하는 웹 데스크탑 서비스(WDS) 계층(2405)과 분산 데이터 액세스를 처리하는 분산 데이터 액세스 서비스(DDAS) 계층(2507)을 포함한다.
셀 계층(2401)은 WDP에 의해서 전송되는 셀을 정의한다. 본 발명의 한 실시예에 따르면, 셀 계층(2401)은 데이터 구조로서의 정보 셀(Info Cell)과 데이터 제어로서의 전송 제어 셀(Transmit Control Cell)로 구성된다.
WDP 계층(2403)은 본 발명에 따른 웹 데스크탑 인터페이스 등을 구현하기 위한 셀 계층(2401)에 포함되는 셀들을 전송하기 위한 것이다.
분산 데이터 액세스 서비스(DDAS) 계층(2507)은 분산 데이터를 액세스하는 것을 관리하는 서비스를 말한다. 분산 데이터 액세스 서비스(DDAS) 계층은 WDP 계층의 제어로 실제로 셀을 전송하는 것을 관리한다. 본 발명의 한 실시예에 다르면, 사용자 단말기의 웹 브라우저로써 예를 들어, 마이크로소프트사의 인터넷 익스플로러(Internet Explorer)를 채용할 경우에 DAAS로서 예를 들면 마이크로소프트사의 RDS(Remote Data Service)를 채용할 수 있다.
클라이언트 서버 프로토콜 계층(2409)은 셀 전송을 제어하는 물리적 계층을 말한다. 본 발명의 한 실시예에 따르면, 클라이언트 서버 프로토콜 계층(2409)으로서 HTTP가 사용될 수 있다.
4. 본 발명에 따른 웹 데스크탑의 인터페이스
(1) 웹 데스크탑 인터페이스의 전체 구성
도 13 은 본 발명의 한 실시예에 따른 웹 데스크탑 인터페이스가 표시된 것을 간략화하여 도시한 도면이다. 도 14는 본 발명의 한 실시예에 따른 웹 데스크탑 인터페이스의 구성을 개념적으로 도시한 개념도이다. 도 15는 본 발명에 따라서 웹데스크탑 인터페이스가 실제로 표시화면에 표시된 구현예를 도시한 도면이다.
도 13 및 도 14에 도시된 바와 같이, 본 발명의 한 실시예에 따른 웹 데스크탑 인터페이스 요소는 본체 프레임(1301), 본체 폴더(1303), 메뉴바(1305, 1307), 하위 객체(1309), 및 아이콘(1311)을 포함한다.
본 발명의 다른 실시예에 따르면, 메뉴바는 상단 메뉴(1305) 및 하단 메뉴(1307)의 형태로 분할되어 구현될 수 있다. 상단 메뉴(1305) 및 하단 메뉴(1307)는 각각에서 실행될 수 있는 기능이 분할되는 것이 바람직하다.
또한, 도 14에 도시된 바와 같이, 하위 객체(1309)는 폴더 객체(1401), A 형 애플리케이션 윈도우(1403), 및 G 및 O 형 애플리케이션 윈도우(1405)의 형태가 있을 수 있다.
본 발명에 따른 웹 데스크탑 인터페이스 요소는 스크립트렛(scriptlet) 기반으로 구성되는 것이 바람직하다.
도 16는 본 발명의 한 실시예에 따라서 표시된 웹 데스크탑 인터페이스를 구현하기 위한 객체 및 프로시져를 개념적으로 도시한 도면이다. 각각의 프로시져는 웹 브라우저의 제어하에 실행되는 것이 바람직하다. 도 17은 본 발명의 한 실시예에 따라서 웹 데스크탑 인터페이스의 각 객체 및 프로시져간의 통신을 개념적으로 도시한 도면이다.
도 16 및 도 17에 도시된 바와 같이, 본 발명에 따른 웹 데스크탑 인터페이스는 본체 프레임과 타 객체 또는 프로시져간의 통신에 의해 관리된다.
본체 프레임(1301) 객체는 본체 폴더(1303)에 아이콘 관리 정보를 전달하고,본체 폴더(1303) 및 폴더 객체(1401)는 본체 프레임(1301) 객체로 아이콘 정보, 아이콘 갱신 정보 및 윈도우 호출 요청을 전달한다.
본체 프레임(1301) 객체는 메뉴바(1305, 1307) 객체로 메뉴 정보 갱신 정보를 전달하고, 메뉴바(1305, 1307) 객체는 본체 프레임(1301) 객체로 본체 프레임 생성 요청을 전달한다.
본체 프레임(1301) 객체는 하위 객체(1309) 중 A형 애플리케이션 윈도우(1403)로 희망하는 애플리케이션 프로그램의 호출을 전달하고, A형 애플리케이션 윈도우(1403)는 아이콘 갱신 정보 및 희망하는 애플리케이션 프로그램의 호출을 전달한다.
본체 프레임(1301) 객체는 하위 객체(1309) 중 O형 및 G형 애플리케이션 윈도우(1405)로 희망하는 아이콘에 해당하는 사이트로의 호출을 전달한다.
서버 모듈은 본체 프레임(1301)과 통신하면서 필요한 정보를 서버(107)로 전달하거나 수신한다.
이하에서는 본 발명에 따른 웹 데스크탑 인터페이스를 구성하는 객체 및 프로세져를 본체 프레임(1301), 본체 폴더(1303), 메뉴바(1305, 1307), 하위 객체(1309), 아이콘(1303), 및 서버 모듈의 순서로 더욱 상세하게 설명한다.
(2) 본체 프레임
본체 프레임(1301)은 타 인터페이스 요소 또는 프레임을 호출하는 가장 기본이 되는 프레임을 말한다. 본체 프레임(1301)은 인터페이스 중에서 사용자가 실제로 인식하지 못하는 개념적인 프레임이다. 웹 데스크탑 상에서 본체 프레임(1301)은 웹 데스크탑의 바탕 화면을 형성한다.
본체 프레임(1301)은 타 인터페이스 요소들이 서로 정보나 명령을 교신하는 매개체의 기능을 수행한다.
상술한 바와 같이, 각각의 인터페이스 요소는 스크립트렛을 기반으로 생성되는데, 스크립트렛은 자신을 호출한 상위 프레임을 통해서 다른 모듈과 통신할 수 있다는 특징을 갖는다. 따라서, 이들간의 통신을 매개할 수 있는 매개체가 필요한데, 이 기능을 수행하는 것이 본체 프레임이다.
본 발명의 한 실시예에 따르면, 애플리케이션 윈도우(1403, 1405), 예를 들면, A 형 애플리케이션 윈도우(1403)가 북마크를 변경시키는 액션을 발생시킴으로써, 예를 들면 상단 메뉴바(1305) 부분을 변경해야 하는 경우에, A형 애플리케이션 윈도우로부터의 북마크 변경 정보는 본체 프레임을 통해 상단 메뉴바(1305) 스크립트렛으로 전달된다.
또한, 폴더 객체(1401)가 신규 윈도우 객체를 호출하는 명령을 발생하는 경우에, 당해 호출 명령은 본체 프레임을 통해 신규 윈도우 객체로 전달된다. 더욱 구체적인 예를 들면, 폴더 객체를 열어 특정 URL, 예를 들면 yahoo 사이트의 URL로 접속하는 응용 프로그램을 실행시킨 경우, 당해 응용 프로그램의 아이콘을 더블 클릭(double click) 하는 이벤트가 발생하면, 당해 접속 정보는 본체 프레임으로 전달되고, 본체 프레임은 이 정보에 기초하여 신규 애플리케이션 윈도우를 활성화한다.
(3) 본체 폴더
본체 폴더(1303)는 본체 프레임상에 존재하는 웹 데스크탑 인터페이스의 바탕을 형성하는 폴더를 말한다. 본체 폴더(1303)는 계층적으로 본체 프레임의 하위 객체이다.
바람직하기로는, 본체 폴더(1303)는 계층적 구조상, 후술하는 폴더 객체(1401) 및 애플리케이션 윈도우(1403, 1405)와 동일한 계층을 갖는다. 도 14에는 본체 폴더(1303)가 마치 폴더 객체(1401) 및 애플리케이션 윈도우(1403, 1405)의 상위 계층상에 형성되는 것으로 도시되어 있으나, 화면상에 도시될 때 폴더 객체(1401) 및 애플리케이션 윈도우(1403, 1405)가 본체 폴더(1303) 상에 표시될 뿐 명령 호출 체계나 통신 관계에 있어서는 본체 폴더(1303), 폴더 객체(1401) 및 애플리케이션 윈도우(1403, 1405) 모두 본체 프레임(1303)의 하위에 놓이게 된다. 즉, 본체 폴더 상에 표시되는 폴더 객체(1401) 및 애플리케이션 윈도우(1403, 1405) 등의 객체들은 본체 폴더(1303)를 통하지 않고 직접 본체 프레임(1301)과 통신한다.
경우에 따라서는, 본체 폴더는 크기가 큰 폴더 객체의 한 종류로서 처리되기도 한다.
(4) 메뉴바
메뉴바는 웹 데스크탑 인터페이스에 있어서, 명령어의 입력, 애플리케이션의 호출 등의 액션을 수행하기 위한 계층적 객체 집합체를 말한다.
도 18은 본 발명에 따른 웹 데스크탑 인터페이스에서의 메뉴바의 계층을 도시한 것이다.
툴바(Toolbar) 객체는 선정된 메뉴를 모아서 하나의 개념적인 그룹을 형성한 것을 말한다. 툴바 객체는 웹 데스크탑 인터페이스에서 바 타입으로 표시된다.
최상위 메뉴(tbMenu) 객체는 툴바 객체 상에 표시되는 것으로써 최초에 인터페이스상에서 사용자가 액세스할 수 있는 메뉴 객체를 말한다.
서브 메뉴(tbSubMenu) 객체는 최상위 메뉴 객체 이외의 메뉴 객체로써, 상위 메뉴 객체로부터 호출되어 팝업 메뉴 형태로 표시되는 하위 메뉴 객체를 말한다.
메뉴 아이템(tbMenuItem) 객체는 단독으로 실행되는 형태로써 하위 메뉴 객체를 수반하지 않는 메뉴 객체를 말한다.
스테이트(tbState) 객체는 단독으로 실행되는 형태로써 하위 메뉴에 현재 실행중인 창을 표시하는 메뉴 객체를 말한다.
버튼(tbButton) 객체는 단독으로 실행되는 형태로써 하위 메뉴 객체를 수반하지 않으며 향후 실행될 명령이 버튼의 형태로 표시되는 메뉴 객체를 말한다.
도 19는 본 발명에 따라서 웹 데스크탑 인터페이스상에 메뉴 바가 표시된 형태의 일례를 개념적으로 도시한 것이다.
도 19에 도시된 예에 따르면, 4개의 툴바 객체가 표시된다. 툴바 객체(1901) 및 툴바 객체(1903)은 본체 프레임(1301)의 상단에 표시되어 상단 메뉴(1305)를 형성하고, 툴바 객체(1905) 및 툴바 객체(1907)는 본체 프레임(1301)의 하단에 표시되어 하단 메뉴(1307)를 형성한다. 툴바 객체(1901) 및 툴바 객체(1903)에는 각각 3개 및 2개의 최상위 메뉴바 객체가 존재한다. 툴바 객체(1905) 및 툴바 객체(1907)에는 각각 2개의 스테이트 객체 및 3개의 버튼 객체가 존재한다.
(5) 하위 객체
하위 객체(1309)는 본체 프레임(1301) 하에 형성되는 하위 계층의 객체 중에서 본체 폴더(1303) 및 아이콘(1311)을 제외한 것을 말한다. 넓은 의미로는 본체 폴더(1303) 및 아이콘(1311)도 하위 객체에 포함되는 것으로 정의할 수도 있다.
도 21은 본 발명에 따른 웹 데스크탑 인터페이스의 하위 객체(1309) 중 폴더 객체(1401), A형 애플리케이션 윈도우 객체(1403), 및 G 및 O형 애플리케이션 윈도우 객체(1405)에 대하여, 각각의 스크립트렛 소스, 구성 요소, 설명, 및 관련 애플리케이션을 정리한 것이다.
애플리케이션 윈도우 객체 중에서, A형 애플리케이션 윈도우 객체(1403)는 객체간 상호 통신이 가능한 애플리케이션 윈도우를 말한다. 그 밖의 애플리케이션 윈도우는 상호 통신이 되지 않고 본체 프레임(1301)으로부터 정보를 전달 받을 뿐이다.
(6) 아이콘
아이콘은 본체 폴더(1303) 또는 폴더 객체(1401) 상에 표시되는 객체로서, 애플리케이션 프로그램의 실행이나 특정 URL로의 접속을 링크하는 역할을 하는 객체를 말한다.
도 20은 본 발명에 따른 웹 데스크탑 인터페이스에서 생성되는 아이콘의 종류별로 당해 아이콘의 아이콘 정보, 용도, 공통 속성, 및 특징적인 속성을 정리한 것이다.
(7) 서버 모듈
서버 모듈은 본체 프레임(1301)으로부터의 정보를 서버(107)로 전달하거나 서버(107)로부터의 정보를 본체 프레임(1301)으로 전달한다. 서버 모듈은 웹 서버 콘트롤(301)와 DDAS 프로토콜, 예를 들면RDS 프로토콜에 의해 통신하는 서버 모듈(1501)을 포함한다.
서버 모듈을 통해 클라이언트(101)로부터 서버(107)로 전송하는 정보로는 다음과 같은 것이 있다.
1. 아이콘 추가시 : icon ID,x-y 좌표,상위 folder,image,아이콘 이름
2. 아이콘 삭제시 : icon ID
3. 아이콘 정보 변경시 : icon ID,x-y 좌표,상위 folder,image,아이콘 이름, 원패스 아이콘의 url,id,pw
4. 북마크 생성시 : bookmark ID,url,상위 폴더
5. 북마크 삭제시 : bookmark ID
6. 북마크 변경시 : 모든 북마크의 bookmark ID,상위폴더,sequence
7. 바탕화면 정보 변경시 : 바탕화면 color,text color, 바탕 image, image 반복여부,기본으로 제공되는지의 여부
서버 모듈을 통해 서버(107)로부터 클라이언트(101)로 전송하는 정보로는 다음과 같은 것이 있다
1. 원패스 애플리케이션(onepass application) 실행시 사이트 URL, 사이트 ID, 사이트 패스워드 (이 때, 이들 정보는 보안상의 이유로 클라이언트(client)에 저장하지 않는 것이 바람직하다.)
5. 본 발명에 따른 웹 데스크탑의 동작 프로세스
(1) WDP 프로토콜의 정보 단위
도 22는 서버 모듈이 서버(107)로 보내기 위해 작성하는 정보의 단위 셀(cell) 구조와, 서버 모듈이 서버(107)로 실제로 전송하는 정보 단위의 구조를 도시한 것이다.
본 명세서에 있어서, 정보의 단위 셀, 즉 정보 셀(Info Cell)이라 함은 클라이언트에서 이루어진 하나의 작업을 WDP에 대응하도록 만든 정보의 단위를 말한다. 예를 들면, 아이콘의 위치변경이나 북마크의 추가에 해당하는 액션 및 이벤트가 클라이언트에서 발생하면, 서버 모듈은 이러한 정보를 WDP를 통해 서버로 전달하기 위해 데이터를 작성하게 되는데, 이 때 작성되는 단위가 정보 셀이다. 정보 셀은 관련 액션의 종류를 나타내는 액션 종류 필드와 당해 액션을 처리하는데 필요한 데이터를 나타내는 데이터 필드를 포함하는 것이 바람직하다. 정보 셀은 매 액션에 대하여 소정의 개수, 예를 들면 1개 또는 2개씩 작성된다.
본 발명에 따라서, 분산 데이터 액세스 계층에 의해 실제로 서버 모듈로부터 서버로 전달되는 데이터의 단위는 정보 단위(Data Unit)라 한다. 정보 단위는 인증 코드(auth code) 및 하나 이상의 정보 셀의 집합의 형태를 취한다. 인증 코드는 사용자 인증을 위한 코드를 말한다.
서버 모듈이 작성하는 정보 단위 셀은 작업의 종류 정보 필드, 데이터 분리자 필드(cSep), 및 데이터 필드(data n)를 포함한다. 바람직하기로는, 작업 종류정보 필드 이후에 데이터 분리자 필드(cSep)와 데이터 필드(data n)가 서로 교차적으로 배치된다. 본 발명의 한 실시예에 따르면, 데이터 분리자 필드(cSep)는 29 캐릭터 크기의 공백 아스키 문자열이다.
서버 모듈이 서버(107)로 실제로 전송하는 정보 단위는 사용자 인증 코드 필드(Auth Code), 셀 필드(cell n), 및 셀 분리자 필드(qSep)를 포함한다. 바람직하기로는, 사용자 인증 코드 필드 이후에 셀 분리자 필드(qSep)와 셀 필드(cell n)가 서로 교차적으로 배치된다. 사용자 인증 코드는 사용자의 인증을 위한 것으로서, 사용자 아이디와, 15 캐릭터 크기의 아스키 문자열과 세션키 값으로 구성되는 것이 바람직하다. 본 발명의 한 실시예에 따르면, 셀 분리자 필드(qSep)는 18 캐릭터 크기의 공백 아스키 문자열이다.
본 발명에 따르면, 서버 모듈이 작성하는 정보 단위 셀은 중요도에 따른 전송 제어를 하는 것이 바람직하다. 본 발명의 한 실시예에 따르면, 정보 단위 셀은 당해 정보 단위 셀이 전달하고자 하는 정보의 성격에 따라서, 중요 셀(Critical Cell)과 비-중요 셀(Non-Critical Cell)로 구분된다. 이에 따라, 정보 단위 셀의 구분에 의해 전송 제어를 하게 된다. 이에 관해서는 후술하기로 한다.
도 25는 정보 단위 셀을 중요 셀과 비-중요 셀로 구분하는 기준과 그 대상의 일예를 설명하기 위한 표이다. 도 25에 도시된 바와 같이, 본 발명의 한 실시예에 따르면, 전달하고자 하는 정보의 성격에 따라서 손실시 치명도가 높은 경우는 중요 셀로, 손실시 치명도가 상대적으로 낮은 경우는 비-중요 셀로 구분한다. 또는, 전달하고자 하는 정보가 즉시성을 요하는 경우에는 중요 셀로, 즉시성을 요하지 않는경우에는 비-중요 셀로 구분한다. 이와 같은 기준에 따라서, 중요 셀에 의해 전달될 수 있는 정보로는 북마크 또는 아이콘의 생성 및 삭제, 폴더 안으로의 이동 , 예를 들면 파일 구조의 변경 등을 들 수 있다. 또한, 비-중요 셀에 의해 전달될 수 있는 정보로는 북마크 또는 아이콘의 속성 수정, 예를 들면 위치 및 명칭의 수정을 들 수 있다.
본 발명의 바람직한 실시예에 따르면, 서버 모듈은 발생된 셀을 중요 셀인지 비-중요 셀인지 구별하기 위한 수단을 구비한다. 중요 셀인지 비-중요 셀인지 구별하는 동작은, 발생될 수 있는 모든 셀에 대하여 중요 셀과 비-중요 셀 리스트가 기록된 룩업 테이블을 마련하여, 발생되는 셀이 룩업 테이블 어느 쪽에 위치하는지를 판별하는 동작에 의한다. 이 때, 발생된 셀의 액션 종류 필드를 참조하여 액션 종류에 따라 중요 셀인지 비-중요 셀인지 판별할 수 있다.
도 23은 서버 모듈이 셀을 작성하고 서버(107)로 전송하는 과정에서 작성되는 셀과 실제 전송되는 정보 단위의 예를 도시한 것이다. 도 23에 도시된 예는 사용자가 angelosicon1이라는 식별자를 갖는 아이콘의 위치를 angelosfolder의 (100, 200) 위치로 이동하고, URL이 http://www.yahoo.com인 위치로 링크하는 북마크를 추가하는 명령을 서버로 전송하기 위한 셀과 정보 단위의 예를 도시한 것이다.
(2) WDP 프로토콜의 전송 제어
도 26는 WDP 프로토콜에 의한 정보의 전송 제어 과정을 설명하기 위한 블록도이다.
본 명세서에 있어서, 전송 제어라 함은, 데이터의 처리에 관한 것으로서, 데이터의 효율적인 전송, 신뢰할 수 있는 처리를 제어하는 것을 말한다. 더욱 구체적으로는, 전송 제어라 함은 클라이언트에서 작성된 정보 셀을 언제, 그리고 어느 정도의 양으로 서버 혹은 클라이언트로 전송할 것인지를 결정하고, 처리 과정에 있어서 인증 과정의 처리와 의미있는 데이터의 결합에 있어서의 트랜잭션을 처리하는 것을 말한다.
웹 데스크탑의 사용자 인터페이스를 유지하면서, 사용자가 발생시킨 액션이나 이벤트를 서버로 전달하기 위해서는, 수많은 정보가 발생된다. 예를 들면, 사용자가 웹 데스크탑 상에서 아이콘을 이동시키거나, 북마크를 드래그 및 드랍하는 경우에도 수많은 정보 셀이 작성된다.
전송 제어의 목적은 웹 데스크탑에서 발생하는 수많은 정보 셀 혹은 정보 단위를 효과적으로 관리하여 통신의 부담을 경감시키기 위한 것이다.
본 발명에 따른 웹 데스크탑의 운용에 있어서, 생성된 정보 셀을 생성되자마자 서버로 전달하는 것은 바람직스럽지 못할 수도 있다. 그 이유는, 사용자의 작업은 대부분의 경우 클라이언트에서 이루어지기 때문에, 클라이언트에서 이루어진 작업의 대부분은 클라이언트에서 처리하는 것 만으로는 서버와의 접속이 단절되지 않는 한 웹 데스크탑의 운용에 지장을 초래하지 않기 때문이다. 다만, 클라이언트에서 이루어진 작업 중에서도, 작성된 정보 셀을 곧바로 서버로 전달해야 하는 경우가 있다. 예를 들면, 웹 데스크탑의 바탕 화면에 폴더를 생성하는 경우가 그것이다. 이 경우, 바탕 화면에 폴더를 생성하는 액션에 대한 정보 셀의 서버로의 전달 처리가 곧바로 수행되지 않으면, 생성된 폴더에 아이콘이 이동되는 등의 액션이 발생하였을 경우, 당해 이동된 아이콘을 손실하거나 바탕 화면의 폴더 구조가 복구 불가능하도록 손상을 입을 가능성이 있기 때문이다.
도 26에 도시된 바와 같이, WDP 프로토콜에 의한 정보 전송을 수행하기 위하여, 클라이언트(101) 측에는 정보 셀 발생기 및 버퍼가 마련된다. 정보 셀 발생기는 클라이언트(101) 측에서 발생하는 다양한 액션 또는 이벤트에 따라서 서버로 전송하기 위한 정보에 해당하는 셀을 작성한다.
이어서, 작성된 정보 셀이 중요 셀인지 비-중요 셀인지 판단한다. 본 발명의 한 실시예에 따르면, 액션의 종류에 따라서 중요 액션 및 비-중요 액션을 구분하는 룩업 테이블을 작성하고, 작성된 정보 셀의 작업 종류 필드를 참조하여 당해 정보 셀이 중요 셀인지 비-중요 셀인지 판단한다.
정보 셀 중 비-중요 셀에 해당하는 것은 버퍼에 격납된다. 이어서, 클라이언트(101)는 버퍼에 격납된 비-중요 셀과 버퍼에 격납되어 있지 않았던 비-중요 셀 및 전송 정보 셀을 결합하여 정보 단위를 작성한다. 작성된 정보 단위는 분산 데이터 액세스 서비스(DDAS) 계층(2507)을 구현한 분산 데이터 액세스 서비스 객체를 통해 서버로 전달된다. 이러한, 분산 데이터 액세스 서비스 객체로써, RDS 데이터스페이스 객체(Dataspace Object)가 사용될 수 있다.
도 27은 클라이언트측에서, 중요 셀과 비-중요 셀을 결합하여 정보 단위를 작성하는 과정을 더욱 구체적으로 도시한 도면이다. 본 발명의 한 실시예에 따르면, 중요 셀이 정보 셀 발생기에서 생성되면, 당해 중요 셀은 버퍼에 격납되어 있던 하나 이상의 비-중요 셀과 결합된다. 이어서, 서버는 중요 셀과 비-중요 셀을결합하여 정보 단위를 작성한다. 본 발명의 한 실시예에 따르면, 도 27에 도시된 바와 같이, 정보 단위는 인증 코드와, 중요 셀과, 하나 이상의 비-중요 셀과, 및 중요 셀 및 비-중요 셀을 분리하기 위한 분리자로 구성된다.
상술한 설명에서는 버퍼에 비-중요 셀을 격납하고 있다가, 중요 셀이 발생하는 것에 맞추어 정보 단위를 작성하고 서버로 전송하는 것으로 기술하고 있으나, 본 발명의 정신은 이러한 형태에 국한되지 않는다. 본 발명의 다른 실시예에 따르면, 정보 단위를 작성하고 서버로 전송하는 타이밍에 관해서는 다양한 태양이 가능하다. 예를 들면, 소정 개수 이상의 중요 셀이 발생하는 것에 맞추어 정보 단위 작성과 전송을 행할 수 있다. 또는, 버퍼의 용량을 고려하여 소정 개수 이상의 비-중요 셀이 격납되는 것에 맞추어 정보 단위를 작성하여 전송할 수도 있다.
또한, 서버 측에는 서버측 리스너(listener)가 마련된다. 서버측 리스너는 클라이언트로부터의 데이터 전송을 대기하고, 서버측으로 수신된 정보 단위를 해석(parse)하여 관련 작업, 액션, 또는 이벤트를 진행시킨다. 본 발명의 한 실시예에 따르면, 이러한 서버측 리스너로서 비즈니스 콤 객체(business COM object)를 사용한다. 서버는 서버측 리스너를 통해 클라이언트(101)로부터 전송된 정보 단위를 수신한다. 서버는, 수신된 정보 단위에 의해 해석된 정보에 따라서 당해 정보를 데이터베이스에 기록하거나 갱신 또는 변경한다.
(3) 웹 데스크탑 인터페이스 표시 및 운영 프로세스
이하에서는 클라이언트에 웹 데스크탑 인터페이스를 표시하고 운영하는 과정을 상세히 설명한다.
도 28는, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스가 클라이언트에 로딩되는 때의 메뉴 바 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도이다.
도 28에 도시된 바와 같이, 먼저 Menu.asp를 로딩한다. 이 때, 서버 모듈로부터 북마크 정보를 로딩한다. 이어서, 직접 실행 코드(Directly Executing Code) 과정을 수행한다. 이 때, 이벤트 핸들러(Event Handler)를 배당하고 모듈을 초기화한다. 이어서, TBScriptletReadyState 루틴이 수행된다. 이 때, 메뉴 스크립트렛을 초기화하고 이벤트 핸들러를 배당한다. 이어서, Document.onReadyStateChange() 루틴이 수행된다. 이 때, 이벤트 핸들러를 배당한다.
Document.onReadyStateChange() 루틴 이후에, TBLayoutToolbars 루틴과 TBInitToolbar 루틴이 수행된다.
TBLayoutToolbars 루틴에서는, 전체 메뉴 레이아웃이 구성된다. 이어서, TBLayoutBodyElement 루틴이 수행된다. 이 때, 본체 레이아웃이 구성되고, 본체 프레임을 로딩한다.
또한, TBInitToolbar 루틴에서는, TBToolbar를 초기화한다. 이어서, TBPopulateToolbar 루틴이 수행된다. 이 때, TBToolbar를 구성한다. 이어서, TBInitButton 루틴이 수행된다. 이 때, TBButton/TBState를 구성한다. 이어서, TBInitToolbarMenu 루틴이 수행된다 이 때, TBMenus를 구성한다. 이어서, TBBuildMenu 루틴이 수행된다.
도 29은, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스상에서 포인터가 이동하는 액션이 발생하는 때의 메뉴 바 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도이다.
먼저 스크립트렛 내부에서, TBMenu 이벤트 발생 처리를 행한다. 이어서, TBMenu Body Mouse Event 루틴이 수행된다.
이어서, 외부로의 이벤트 파이어링(Event Firing)을 행한다. 먼저, TBScriptlet Event 루틴이 수행되고, 이어서 TBHideMenus 및 TBPopupMenus 루틴이 수행되어 해당 펑션(function)을 처리하고 스타일시트(stylesheet)를 적용한다. TBPopupMenus 루틴 이후에, 스크립트렛 내부에서 Scriptlet.showMenu 루틴이 수행된다.
도 30은, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스가 클라이언트에 로딩되는 때의 본체 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도이다.
먼저 본체 코드(Body Code)를 로딩한다. 이어서, 객체를 로딩한다. 이 때, 응용 윈도우 및 폴더 객체를 로딩한다. 이어서, MM_Init 루틴이 수행된다. 이 때, 아이콘 정보 및 객체 초기화가 수행된다.
이어서, 아이콘 정보 초기화를 행한다. 이어서, tbContentElement_Folder 초기화 루틴이 수행된다. 이 때, 본체 폴더를 초기화한다. 이어서, 아이콘을 표시하는 루틴(Show Icon)이 수행된다. 이어서, 아이콘 생성 루틴(Icon_Creation)이 수행된다. 이어서, 스크립트렛 내부에서, Div_Create 루틴과 MM_Create 루틴이 수행된다.
도 31은, 본 발명의 한 실시예에 따라서, 웹 데스크탑 인터페이스상에서 소정의 액션이 발생하는 때의 본체 요소와 관련된 서브 루틴 호출 과정을 도시한 흐름도이다.
스크립트렛 내부에서, 폴더 스크립트렛과 응용 윈도우 스크립트렛이 수행된다.
폴더 스크립트렛에서는, 외부로 이벤트를 노출하여 Folder_Script Event 루틴이 수행된다. 이어서, 해당 이벤트를 처리하게 된다. 이어서 후술하는 WinObj_ScriptletEvent 루틴이 수행된다.
응용 윈도우 스크립트렛에서는, 외부로 이벤트를 노출하여 WinObj_ScriptletEvent 루틴이 수행된다. 이어서, 해당 이벤트를 처리하게 된다.
본 발명에 따른 웹 데스크탑 인터페이스 및 웹 데스크탑 운영 시스템은 인터넷 상의 웹 기반의 컴퓨터 인터페이스 및 운영 시스템을 제공한다. 따라서, 사용자는 웹이 제공되는 어떠한 하드웨어 플랫폼 및 운영 시스템에 하에서도 일관된 사용자 인터페이스 및 작업 환경을 누릴 수 있다.
Claims (11)
- 인터넷 상의 웹 기반 사용자 인터페이스를 제공하기 위한 장치에 있어서,고정 크기의 본체 폴더 수단,상기 본체 폴더의 특정 위치에 표시되어 프로그램 실행 링크가 위치하는 메뉴바 수단,상기 본체 폴더상에 형성되는 하위 객체 수단,상기 본체 폴더상에 형성되어 프로그램 실행 링크 및 URL 링크가 위치하는 아이콘 수단, 및상기 본체 폴더 수단, 메뉴바 수단, 하위 객체 수단, 및 아이콘 수단과 통신하는 본체 프레임 수단을 포함하는 웹 기반 사용자 인터페이스를 제공하기 위한 장치.
- 제1항에 있어서,상기 하위 객체는 폴더 객체, 제1 형 애플리케이션 윈도우, 및 제2형 애플리케이션 윈도우를 포함하는 웹 기반 사용자 인터페이스를 제공하기 위한 장치.
- 제1항에 있어서,상기 본체 프레임으로부터 전달된 정보를 웹 프로토콜에 맞게 변환하여 서버로 전달하고, 상기 서버로부터 전달된 정보를 본체 프레임으로 전달하는 서버 모듈수단을 더 포함하는 웹 기반 사용자 인터페이스를 제공하기 위한 장치.
- 제3항에 있어서,상기 서버 모듈 수단은 서버와 분산 데이터를 통신하는 것을 관리하는 서비스(Distributed Data Access Service, DDAS)에 의해 구현되는 웹 기반 사용자 인터페이스를 제공하기 위한 장치.
- 제1항에 있어서,상기 본체 폴더 수단, 메뉴바 수단, 하위 객체 수단, 아이콘 수단, 및 본체 프레임 수단은 스크립트렛 기반으로 형성되는 웹 기반 사용자 인터페이스를 제공하기 위한 장치.
- 인터넷 상의 웹 기반 사용자 인터페이스를 규정하는 아키텍처를 지원하기 위한 장치에 있어서,상기 웹 기반 사용자 인터페이스를 구성하는 요소와 관련된 정보를 서버로 전송하기 위한 셀을 정의하는 셀 계층(2401)을 관리하는 수단과,셀 트래픽을 처리하는 웹 데스크탑 서비스(WDS) 계층(2405)과 분산 데이터 액세스를 처리하는 분산 데이터 액세스 서비스(DDAS) 계층(2507)을 포함하는 웹 데스크탑 프로토콜(WDP) 계층(2403)을 관리하는 수단과,클라이언트 서버 프로토콜 계층(2409)을 관리하는 수단을 포함하는 웹 데스크탑 아키텍처를 지원하기 위한 장치.
- 제6항에 있어서,상기 웹 기반 사용자 인터페이스는 고정 크기의 본체 폴더 수단, 상기 본체 폴더의 특정 위치에 표시되어 프로그램 실행 링크가 위치하는 메뉴바 수단, 상기 본체 폴더상에 형성되는 하위 객체 수단, 상기 본체 폴더상에 형성되어 프로그램 실행 링크 및 URL 링크가 위치하는 아이콘 수단, 및 상기 본체 폴더 수단, 메뉴바 수단, 하위 객체 수단, 및 아이콘 수단과 통신하는 본체 프레임 수단으로 구성되는 웹 데스크탑 아키텍처를 지원하기 위한 수단.
- 서버 및 클라이언트가 접속된 네트워크 상의 전송을 제어하기 위한 방법에 있어서,상기 클라이언트에서 발생하는 액션을 처리하기 위한 데이터를 액션당 소정 개수의 단위 정보 셀로 작성하는 단계,상기 정보 셀이 중요 셀인지 비-중요 셀인지 판단하는 단계,상기 판단 결과, 비-중요 셀로 판단된 경우, 버퍼에 격납하는 단계,상기 판단 결과, 중요 셀로 판단된 경우, 당해 비-중요 셀과 버퍼에 격납되어 있던 비-중요 셀을 결합하여 정보 단위를 작성하는 단계, 및상기 작성된 정보 단위를 상기 서버로 전송하는 단계를 포함하는 방법.
- 제8항에 있어서,상기 단위 정보 셀은 상기 액션의 종류에 관한 액션 종류 필드와 당해 액션을 처리하는데 필요한 데이터 필드를 포함하는 방법.
- 제8항에 있어서,상기 중요 셀인지 비-중요 셀인지 판단하는 단계는상기 정보 셀의 액션 종류 필드를 참조하는 단계와,상기 정보 셀의 액션 종류에 따라 손실시 치명도가 높은 셀과 그렇지 않은 셀의 리스트가 기록된 룩업 테이블을 참조하여 손실시 치명도가 높은 셀인 경우에는 중요 셀로, 그렇지 않은 셀인 경우에는 비-중요 셀로 판단하는 단계로 구성되는 방법.
- 제8항에 있어서,상기 중요 셀인지 비-중요 셀인지 판단하는 단계는상기 정보 셀의 액션 종류 필드를 참조하는 단계와,상기 정보 셀의 액션 종류에 따라 즉시성을 요하는 셀과 그렇지 않은 셀의 리스트가 기록된 룩업 테이블을 참조하여 즉시성을 요하는 셀인 경우에는 중요 셀로, 그렇지 않은 셀인 경우에는 비-중요 셀로 판단하는 단계로 구성되는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20010037777 | 2001-06-28 | ||
KR1020010037777 | 2001-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030060884A true KR20030060884A (ko) | 2003-07-16 |
Family
ID=19711477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037003133A KR20030060884A (ko) | 2001-06-28 | 2001-07-27 | 웹 운영체제 및 웹 데스크탑 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20030184583A1 (ko) |
KR (1) | KR20030060884A (ko) |
WO (1) | WO2003003239A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011111926A2 (ko) * | 2010-03-12 | 2011-09-15 | 블루가 (주) | 통신 단말기의 웹 기반 사용자 인터페이스 구현 장치 및 그 방법 |
KR101148043B1 (ko) * | 2010-03-12 | 2012-05-24 | 블루가 (주) | 통신 단말기의 웹 기반 사용자 인터페이스 구현 장치 및 그 방법 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084115A1 (en) * | 2001-09-26 | 2003-05-01 | Wood Timothy E. | Facilitating contextual help in a browser environment |
US8171420B2 (en) * | 2002-08-16 | 2012-05-01 | Intervoice, Inc. | Automatic management of the visual space while performing a task |
US9268867B2 (en) | 2005-08-03 | 2016-02-23 | Aol Inc. | Enhanced favorites service for web browsers and web applications |
US7702675B1 (en) | 2005-08-03 | 2010-04-20 | Aol Inc. | Automated categorization of RSS feeds using standardized directory structures |
US8739020B2 (en) * | 2005-08-03 | 2014-05-27 | Aol Inc. | Enhanced favorites service for web browsers and web applications |
US20070033290A1 (en) * | 2005-08-03 | 2007-02-08 | Valen Joseph R V Iii | Normalization and customization of syndication feeds |
US8949154B2 (en) | 2005-10-07 | 2015-02-03 | Google Inc. | Content feed user interface with gallery display of same-type items |
US7590691B2 (en) * | 2005-10-07 | 2009-09-15 | Google Inc. | Indirect subscriptions to top N lists of content feeds |
US8190997B2 (en) * | 2005-10-07 | 2012-05-29 | Google Inc. | Personalized content feed suggestions page |
US20070083536A1 (en) * | 2005-10-07 | 2007-04-12 | Darnell Benjamin G | Indirect subscriptions to a user's selected content feed items |
US20070080475A1 (en) * | 2005-10-11 | 2007-04-12 | Wang Hui L | Manufacturing method for EVA foam body |
US8327297B2 (en) | 2005-12-16 | 2012-12-04 | Aol Inc. | User interface system for handheld devices |
WO2008002939A2 (en) * | 2006-06-26 | 2008-01-03 | Inhance Media, Inc. | Method and system for web-based operating environment |
US20080020752A1 (en) * | 2006-07-24 | 2008-01-24 | Webb Ronald J | Fault Tolerant User Interface for Wireless Device |
WO2008040016A1 (en) * | 2006-09-28 | 2008-04-03 | Google Inc. | Content feed user interface |
US8230361B2 (en) * | 2006-09-28 | 2012-07-24 | Google Inc. | Content feed user interface |
US8731610B2 (en) * | 2006-12-13 | 2014-05-20 | Samsung Electronics Co., Ltd. | Method for adaptive user interface in mobile devices |
US10025871B2 (en) | 2007-09-27 | 2018-07-17 | Google Llc | Setting and displaying a read status for items in content feeds |
WO2009043030A2 (en) * | 2007-09-28 | 2009-04-02 | Xcerion Aktiebolag | Network operating system |
US20090199133A1 (en) * | 2008-02-05 | 2009-08-06 | Microsoft Corporation | Generating a destination list utilizing usage data |
US9612847B2 (en) * | 2008-02-05 | 2017-04-04 | Microsoft Technology Licensing, Llc | Destination list associated with an application launcher |
US8463740B2 (en) * | 2009-08-05 | 2013-06-11 | Microsoft Corporation | Sharing files on a computer through use of URIs |
WO2011125362A1 (ja) * | 2010-04-09 | 2011-10-13 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
CN101867651B (zh) * | 2010-05-31 | 2013-03-06 | 中山大学 | 一种匹配用户操作进行直观控制的浏览器系统及方法 |
US8745505B2 (en) * | 2010-12-10 | 2014-06-03 | Mitel Networks Corporation | Web based desktop environment |
US20120151368A1 (en) * | 2010-12-10 | 2012-06-14 | Mitel Networks Corporation | Application operating environment for mobile computing devices |
WO2012082133A1 (en) | 2010-12-17 | 2012-06-21 | Hewlett-Packard Development Company, L.P. | Route a service |
US20130067338A1 (en) * | 2011-09-14 | 2013-03-14 | Microsoft Corporation | Dynamic navigation region based on site usage |
US20140237020A1 (en) | 2013-02-20 | 2014-08-21 | Sap Portals Israel Ltd. | Web-based operating system framework application network |
CN107484024B (zh) * | 2017-08-17 | 2019-12-24 | 四川长虹电器股份有限公司 | 基于webos智能电视系统利用热键实现全局悬浮菜单的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
KR100590181B1 (ko) * | 1999-05-08 | 2006-06-14 | 삼성전자주식회사 | 사용자 정의 메뉴를 위한 편집기능 구현방법 |
KR100606117B1 (ko) * | 1999-07-06 | 2006-07-28 | 삼성전자주식회사 | 유닉스운용체계 시스템에서의 프로세스간통신 처리장치 및 방법 |
-
2001
- 2001-07-27 US US10/363,052 patent/US20030184583A1/en not_active Abandoned
- 2001-07-27 KR KR1020037003133A patent/KR20030060884A/ko active IP Right Grant
- 2001-07-27 WO PCT/KR2001/001284 patent/WO2003003239A1/en active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011111926A2 (ko) * | 2010-03-12 | 2011-09-15 | 블루가 (주) | 통신 단말기의 웹 기반 사용자 인터페이스 구현 장치 및 그 방법 |
WO2011111926A3 (ko) * | 2010-03-12 | 2011-11-24 | 블루가 (주) | 통신 단말기의 웹 기반 사용자 인터페이스 구현 장치 및 그 방법 |
KR101148043B1 (ko) * | 2010-03-12 | 2012-05-24 | 블루가 (주) | 통신 단말기의 웹 기반 사용자 인터페이스 구현 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2003003239A1 (en) | 2003-01-09 |
US20030184583A1 (en) | 2003-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20030060884A (ko) | 웹 운영체제 및 웹 데스크탑 | |
US6323881B1 (en) | Web based GUI server and method for a telecommunications node | |
US7260777B2 (en) | Apparatus, method and system for transforming data | |
US7325053B2 (en) | Object oriented communication among platform-independent systems over networks using SOAP | |
US7526520B2 (en) | Method and apparatus for providing a client by a server with an instruction data set in a predetermined format in response to a content data request message by a client | |
US6067579A (en) | Method for reducing message translation and traffic through intermediate applications and systems in an internet application | |
US6874021B1 (en) | Techniques for configuring network devices with consistent forms for getting and setting device properties | |
US7167142B2 (en) | Multi-user display system | |
US20140040778A1 (en) | System and Method for Displaying and Operating Multiple Layered Item List In Web Browser With Support of Concurrent Users | |
US7617275B2 (en) | Method and apparatus for terminal server addressability via URL specification | |
JP2006134335A (ja) | スマートカードと協働する「web」タイプのブラウザを用いたオブジェクトへのアクセスシステム | |
JPH11328074A (ja) | ウェブリソ―スのデ―タ変更の通信方法 | |
KR20020035565A (ko) | 동적 관리자가 장치된 컴퓨터 시스템에 의한액티브티-베이스 협력 방법 및 장치 | |
US9390094B2 (en) | Method and system for displaying and operating multi-layers item list in web-browser with supporting of concurrent multi-users | |
US6205415B1 (en) | Server and terminal emulator for persistent connection to a legacy host system with file transfer | |
KR100354369B1 (ko) | 정보 처리 방법, 정보 처리 장치, 정보 처리 프로그램을 격납하는 기억 매체 | |
Knabe | An overview of mobile agent programming | |
US7974990B2 (en) | Managing program applications | |
US7426549B2 (en) | Mechanism for sharing web-based imaging information from a mainframe computing environment | |
WO2002039649A2 (en) | Transforming a source document to a desired target document | |
JP2004046810A (ja) | クライアント/サーバ環境におけるアプリケーションステップのディスパッチ方法及びサービスポータルシステム | |
González-Castaño et al. | Condor grid computing from mobile handheld devices | |
Gonzalez-Castano et al. | Condor grid computing from mobile handheld devices | |
US7007094B1 (en) | Object oriented communications system over the internet | |
Cisco | Using the Protocol Translator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
NORF | Unpaid initial registration fee |