KR100353585B1 - 표시 제어 정보 생성 방법 및 컴퓨터 - Google Patents
표시 제어 정보 생성 방법 및 컴퓨터 Download PDFInfo
- Publication number
- KR100353585B1 KR100353585B1 KR1019990021683A KR19990021683A KR100353585B1 KR 100353585 B1 KR100353585 B1 KR 100353585B1 KR 1019990021683 A KR1019990021683 A KR 1019990021683A KR 19990021683 A KR19990021683 A KR 19990021683A KR 100353585 B1 KR100353585 B1 KR 100353585B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- view object
- display
- generating
- page
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
- Digital Computer Display Output (AREA)
Abstract
본 발명은 여러가지 능력을 갖는 클라이언트 단말에 대해, 각각의 능력에 따른 사용자 인터페이스를 제공하기 위한 동적인 문서 또는 표시 제어 정보를 생성하는 것에 관한 것으로, 사용자가 사용하는 단말에 적합한 형태로 행하도록 표시 제어 정보(예를 들면 HTML)를 생성하는 방법에 있어서, 단말로부터 표시 요구를 수신하는 단계과, 표시 요구에 응답하여, 표시 내용에 관한, 단말에 독립적인 데이타 오브젝트군을 생성하는 단계과, 데이타 오브젝트군 및 단말 속성 정보를 이용하여 표시 제어 정보를 생성하기 위한 뷰 오브젝트군을 생성하는 단계과, 단말 속성 정보를 참조하여 뷰 오브젝트군에 의해 표시 제어 정보를 생성하는 단계를 포함한다.
Description
본 발명은, 사용자가 사용하는 단말에 적합한 형태로 문서 등의 표시를 행하기 위한 제어 명령을 생성하는 방법 및 기구에 관한 것으로, 보다 상세하게는, 사용자가 사용하는 여러가지 단말, 예를 들면 PDA(Personal Digital Assistance)나 통상의 퍼스널 컴퓨터(PC), 텔레비젼, 또는 정보 표시 기능을 갖는 휴대 전화 등의 표시 화면의 크기나 통신 속도 등에 적합한 형태로, HTML(Hyper Text Markup Language) 등을 출력하는 방법 및 기구에 관한 것이다.
또한, 본 발명은 상기한 동적으로 페이지를 생성하는 기구에 관련하여, 단말의 히스토리 메카니즘을 고려하여 인증이나 재실행을 미세하게 제어하는 기구에 관한 것이다.
보다 상세하게는, 데이타 베이스의 갱신 등의 트랜잭션이나 엄밀한 사용자 인증이 필요한 페이지의 표시를 행할 때에, 페이지가 동적으로 생성되는 경우에서도, 재실행의 억제나 재인증 등의 처리가 애플리케이션으로부터 간단하게 지정될 수 있도록, 동작하는 기구에 관한 것이다.
웹(Web) 베이스의 기술 침투에 따라, 사용자 인터페이스를 웹(Web) 브라우저를 이용하고, 애플리케이션 본체는 Web 서버(애플리케이션 서버)로 가동시키는, 소위 씬(thin) 클라이언트형의 시스템이 이용되어 오고 있다. 이 때, 서버로부터 클라이언트에 보내지는 정보는 폼을 포함하는 HTML 문서이고, 클라이언트의 단말로부터는, Web 브라우저만 움직이면, 실행에 앞서서 특히 애플리케이션의 배포 설치 등의 작업을 행하지 않고, 애플리케이션을 실행시킬 수 있게 된다. 또한, 일반적으로, 클라이언트측에서 애플리케이션을 실행하는 것에 비해, 클라이언트측은 보다 처리 능력이 낮은 하드웨어로 운용될 수 있다.
종래, 이러한 클라이언트 단말에는, 로우엔드(low-end)의 PC가 이용되어 왔다. 그러나, 최근에는, 처리 능력이 더 낮고 또한 저비용인, PDA, 핸드헬드형 PC, 셋 탑 박스, 그리고 카 네비게이션 시스템 등에서도 Web 브라우저가 움직이도록 되어져 있고, 또한 Web 브라우저 기능을 갖는 휴대 전화와 같은 새로운 단말 기기도 개발되고 있다. 그 때문에, 예를 들면, 넓은 표시 영역을 갖는 PC에서는 잘 표시되어 있던 Web 페이지가, 보다 좁은 표시 영역을 갖는 PDA에서는 빈번한 스크롤링 조작을 필요로 하게 되는 등, 사용성이 매우 나쁘게 된다고 하는 문제가 생겼다.
이 문제에 대처하는 방법으로서는, 특개평10-133973호에 기재되어 있는 바와 같이, 대상이 되는 모든 종류의 클라이언트 단말에 대응한 복수의 HTML 문서와 이들에 수반하는 그 밖의 자원을 미리 준비해 놓고, 클라이언트로부터의 요청마다, 단말의 종류를 판별하여 적당한 것을 돌려 준다고 하는 방법이 있다. 그러나, 이 경우, 대량의 데이타를 작성할 필요가 있고, 시스템 개발의 워크로드가 방대하게 된다고 하는 결점이 있다. 또한, 서포트하여야 할 클라이언트 단말의 종류가 증가할 때의 워크로드도 크다.
또한 다른 방법으로서는, PC용의 표준 HTML 문서만을 준비하고, 클라이언트 단말의 능력에 맞춰, 그 내용을 변경한다고 하는 방식도 제안되어 있다. 이것은, 예를 들면, 표시 영역이 좁은 단말에 대해서는, 축소한 화상을 작성하고, 클라이언트에는 그 작은 화상을 참조하도록 변경된 HTML 문서를 보내는 것이다. 앞에서 진술한 특개평10-133973호에는, 미리 준비된 HTML 문서를 여러 개의 수단으로, 복수의 단말에 적합할 수 있도록 변형한다고 하는 사항도 기재되어 있다. 그러나, 변형에 대한 구체적 방법은 기재되어 있지 않다.
또한 특개평10-2l165호에는, 서버로부터 취득한 하이퍼텍스트의 데이타 사이즈나 데이타 배치를, 그것을 수신하는 클라이언트의 물리 환경이나 사용자 생활 장면 등에 맞춰 편집하여 송신하는 통신 시스템이 개시되어 있다. 이 물리 환경에는 통신 회선 종별이나, 워크스테이션 또는 휴대 전화 등의 단말의 성능, 화상의 색수나 사이즈 등을 포함한다. 또한 사용자 생활 장면은 출근 중, 출장 중, 재적 중, 휴일 등의 데이타를 포함하는 것이다. 본 공보에서는, 송신되는 정보의 취사 선택에 물리 환경이나 사용자 생활 장면 등을 이용하는 것이 개시되어 있고, 화면 구성에 대해서는 따로 개시되어 있지 않다.
또한, 티 더블유 빅모어(T.W.Bickmore) 등의 "Digestor: Device-Independent Access To The World Wide Web," (http: //www. fxpal. xerox. com/papers/bic97)에서는, 프록시(proxy)가, HTML 문서의 요청을 수취하면, 특정된 HTTP(Hyper Text Tranport Protocol) 서버로부터 문서를 추출하고, 그 HTML 문서를 분석(parsing)하고, AST(Abstract Syntax Tree)를 작성하고, 이 AST에 소정의 변형 조작을 실시함으로써 새로운 HTML 문서를 작성하는 것을 나타내고 있다. 이 Digestor에서는, HTTP 서버는 최초에 HTML 문서를 작성하지 않으면 안되어, 당연히 AST를 만들 때에도 그 HTML 문서가 필요하게 된다. 또한, 변형 조작이 실시된 AST는 그대로 HTML 문서로 되기 때문에, AST 자체는 HTML 문서를 작성할 때의 제어를 실시하는 것은 아니다.
혹은, 페이지의 재실행에 대해서는, URL이나 HTTP 헤더 정보(소위 Cookies)에 세션의 식별 정보나 상태를 부가하는 것이 가능하다(예를 들면, Servlet의 기능 (SUN, Java Servlet API Specification Ver. 2.1), IBM WebSphere의 Session Tracking 등을 참조). 그러나, 이들은 상태의 식별과 복원을 할 뿐이며, 본 발명의 목적으로 하는 페이지의 재실행의 제어는 포함되지 않는다.
데이타 베이스의 트랜잭션 처리에 있어서의 페이지의 재실행 제어에 대해서는, URL에 번호를 붙여서, 한번 표시된 페이지의 재실행을 금지한다고 하는 테크닉은 널리 알려져 있다(예를 들면, RFC2068 HTTP1.1 Specification의 13.13 HistoryLists에 "once-only" URL로서 소개되어 있다).
그러나, 인증 상태나 재실행 제어를, 애플리케이션의 처리나 단말의 다양성에 의해서, 동적으로 바꾸고자 하면 프로그래밍이 복잡하게 된다(기본적인 기능만으로는 유연한 처리는 불가능하고, 원래는 재실행할 수 있는 부분도 전부 재실행할 수 없게 되거나 한다).
또한, 페이지가 조직화되어 있지 않으므로, 이러한 처리 프로그램의 페이지의 지정이 복잡하게 되어, 페이지의 추가나 삭제 등이 일어나면 전체를 재기록할 필요가 생기고, 소프트웨어의 생산성, 보수성이나 신뢰성이 저하한다. 단말에 의해 페이지를 자동적으로 분할하는 시스템에서는 이러한 방식으로 제어하는 것은 곤란하다.
본 발명은, 여러가지 능력을 갖는 클라이언트 단말에 대해, 각각의 능력에 따른 사용자 인터페이스를 제공하기 위한 동적인 문서 또는 표시 제어 정보를 생성하는 것이다.
또한, 서버에서 실시되는 애플리케이션을, 당해 애플리케이션의 처리 결과를 사용하는 클라이언트 단말에 의존하지 않도록 하는 기구를 제공하는 것도 목적이다.
또한, 서버에서 실시되는 애플리케이션의 처리와 상기 처리 결과를 나타내는 표시 문서의 작성을 분리하고, 여러가지 클라이언트 단말이 출현하더라도, 표시 문서의 작성 부분만을 변경하면 되도록 하는 것이다.
본 발명은, 또한, 단말 상의 이력 기능을 이용한 과거의 페이지 상으로의 조작과 요구에 대해, 그 재실행이나 재인증을 제어하는 구조와, 애플리케이션 프로그램으로부터 그 제어 내용을 간단하게 지정하는 구조를 제공하는 것을 목적으로 한다.
또한, 이 제어하는 구조는 단말에 맞추거나, 혹은, 애플리케이션에 의해 페이지가 동적으로 생성될 때에도, 동작 가능하게 하는 것을 목적으로 한다.
또한, 애플리케이션 프로그램으로부터, 페이지의 동적인 생성이나 애플리케이션에 의한 영향을 배제하여, 간단하게 상기한 제어를 지정할 수 있도록 하는 것을 목적으로 한다.
본 발명은, 사용자가 사용하는 단말에 적합한 형태로 표시를 행하도록 표시 제어 정보(예를 들면 HTML)를 생성하는 방법으로서, 단말로부터 표시 요구를 수신하는 단계과, 표시 요구에 응답하여 표시 내용에 관한, 단말에 독립인 데이타 오브젝트군을 생성하는 단계과, 데이타 오브젝트군 및 단말 속성 정보를 이용하여 표시 제어 정보를 생성하기 위한 뷰 오브젝트군을 생성하는 단계과, 단말 속성 정보를 참조하여, 뷰 오브젝트군에 의해 표시 제어 정보를 생성하는 단계를 포함한다. 이와 같이 데이타 오브젝트군은 단말과는 독립적으로 생성되는 것이기 때문에, 새로운 단말이 표시 요구를 출력하도록 되었다고 해도, 데이타 오브젝트군을 생성하는 부분 및 요구 내용이 동일하면 데이타 오브젝트군 자신도 변경은 필요 없다. 또 단말은 통상의 PC, PDA, 브라우저를 사용할 수 있는 TV나 휴대 전화 등의 기기이다.
또한, 단말로부터 단말 식별 정보를 수신하는 단계과, 단말 식별 정보로부터 단말 속성 정보를 취득하는 단계를 더 포함하도록 하는 것도 가능하다. 단말 속성 정보의 취득에는 여러가지 방법이 있다. 이와 같이 단말 식별 정보와 단말 속성 정보를 쌍으로 하여 미리 기억해 놓는 방법과, 단말 속성 정보를 최초로 억세스하였을 때에 입력하는 방법 등이 있다.
앞에서 진술한 뷰 오브젝트군을 생성하는 단계는 뷰 오브젝트군의 루트 오브젝트를 생성하는 단계과, 루트 오브젝트에 의해 자(子) 오브젝트를 생성하는 단계를 포함하도록 하는 것도 가능하다. 루트 오브젝트는 단말 속성 정보를 참조하여 자 오브젝트를 생성하는 방법을 갖는 경우도 있다. 이 자 오브젝트는, 필요에 따라서 손(孫) 오브젝트를 생성한다.
데이타 오브젝트가 대응 뷰 오브젝트의 생성 및 뷰 오브젝트에 의한 표시 제어 정보의 생성에 있어서 이용되는 지시 정보를 보유하도록 구성할 수 있다. 지시 정보는 오브젝트의 우선 순위나, 분할 가부 정보, 아웃 라인 가부 정보 등을 포함한다. 또한, 단말 속성 정보는 단말의 화면의 크기 정보나, 통신 속도, 화면의 종횡비, 또는 색수의 정보이다. 또한, 표시 제어 정보는, 실시예에서는 하이퍼 텍스트 마크업 랭귀지(HTML)이지만, 그 밖의 마크업 랭귀지여도 좋다.
앞에서 진술한 표시 제어 정보를 생성하는 단계는 뷰 오브젝트군의 루트 오브젝트로부터 순서대로 담당 부분의 표시 제어 정보를, 단말 속성 정보를 참조하여 생성하는 단계를 포함하도록 하는 것도 가능하다. 루트 오브젝트는 페이지 전체에 관한 표시 제어 정보를 생성하고, 자 오브젝트는 그 페이지의 내용에 대한 표시 제어 정보를 생성한다. 또, 뷰 오브젝트는 단말 속성 정보를 참조하므로, 이 뷰 오브젝트가 동일하더라도 다른 표시 제어 정보가 생성되는 경우도 있을 수 있다.
본 발명에서는, 동일한 단말로부터의 표시 요구로서 이전의 표시 요구에 관련하는 것인 경우에는, 단말로부터의 표시 요구에 응답하여 상기 표시 요구에 의해 데이타 오브젝트군을 생성할 필요가 있을지를 판단하는 단계과, 데이타 오브젝트군을 생성할 필요가 없는 경우에는, 뷰 오브젝트군 중의 관련된 뷰 오브젝트가 표시 요구에 대응하는 표시 제어 정보를 생성하는 단계를 더 실행하는 경우가 있다. 데이타 오브젝트로 변경이 필요 없으면, 뷰 오브젝트가 표시 제어 정보를 새롭게 작성함으로써 대처할 수 있다. 단, 데이타 오브젝트군을 새롭게 작성하지 않더라도, 필요한 뷰 오브젝트를 생성해야만 하는 경우도 있다.
이상과 같이, 데이타 오브젝트도 뷰 오브젝트도 필요에 따라서 생성되므로, 이들을 생성하기 전에 서버에 존재하는 것은, 단말로부터의 표시 요구에 응답하여, 표시 내용에 관한, 단말에 독립인 데이타 오브젝트군을 생성하는 모듈과, 데이타 오브젝트군 및 단말 속성 정보를 이용하여, 표시 제어 정보를 생성하기 위한 루트 뷰 오브젝트를 생성하는 모듈과, 루트 뷰 오브젝트에, 그 자 뷰 오브젝트를 생성하도록 명령하는 모듈과, 루트 뷰 오브젝트에 표시 제어 정보의 생성을 명령하는 모듈이다.
단말로부터 수신한 단말 식별 정보로부터 단말 속성 정보를 도출하는 모듈을 더 포함하는 경우가 있다.
상기에서 진술한 자 뷰 오브젝트가, 그 자 오브젝트를 생성하는 방법을 갖고 있고, 루트 뷰 오브젝트가 표시 제어 정보의 생성을 자 뷰 오브젝트에 명령하도록 구성하는 것도 가능하다. 또한, 루트 뷰 오브젝트 및 자 뷰 오브젝트를 포함하는 뷰 오브젝트군은, 단말 속성 정보를 참조하여 표시 제어 정보를 생성하는 방법을 갖도록 구성하는 것도 가능하다.
또, 이상 설명한 본 발명을 프로그램으로 실장한 경우에는, 상기 프로그램은 CD-ROM 또는 FD 등의 기억 매체에 저장되는 경우가 있다.
이력 상의 페이지의 재실행이나 재인증 등의 제어를 행하기 위해서, 애플리케이션의 개발 시에 페이지 정의를 그룹화한다. 이 그룹은 또 다른 서브 그룹을 포함하여도 좋고, 페이지 정의 전체는 트리 구조를 형성한다. 이 페이지 정의는, 상기 표시 제어 정보의 생성에 이용되는 지시 정보에 포함시킬 수 있다. 이 지시 정보 내의 페이지 정의에 대해 그룹화를 행한다. 이에 따라, 페이지의 임의의 그룹명을 지정하기만 해도, 후에 진술하는 재실행이 금지되는 페이지의 집합이나 인증 상태가 변경되는 페이지의 집합을 간단하게, 또한, 유연하게 지정할 수 있다.
실행 시에는, 상기한 표시 제어 정보의 생성 단계 외에, 이력 상의 페이지의 재실행이 행해졌는지의 여부를 판별하는 단계, 재실행되어 있고 처리 상태의 캐쉬가 존재하는 경우는 처리 상태를 복원하는 단계, 애플리케이션의 처리의 실행과 그 때의 처리 상태를 캐쉬에 저장하는 단계, 애플리케이션의 처리의 결과에 따라서 상기 페이지 정의의 그룹을 지정하여 해당하는 페이지에 대응하는 처리 상태를 클리어하는 단계를 통합할 수 있다.
또한, 상기한 표시 정보 생성의 단계과 이력 상의 페이지의 재실행 제어의 단계 외에, 이력 상의 페이지가 인증이 필요한지의 여부와 인증 상태를 체크하는 단계, 인증이 필요한 때에 인증을 확인하는 단계, 애플리케이션의 처리의 결과에 따라 이력 상의 페이지의 인증 상태를 변경하는 단계를 통합할 수 있다. 단, 인증 상태의 변경은, 재실행의 제어와 동일하게 페이지 정의의 그룹을 지정함으로써 간단하게 애플리케이션 개발자가 지시할 수 있다.
도 1은 본 발명의 시스템 전체를 나타낸 도면.
도 2는 HTTP 서버(100) 내의 기능 블럭도.
도 3은 도 2에 도시한 제어 기구의 기능 블럭도.
도 4는 HTTP 서버(100)의 처리 플로우를 설명하기 위한 도면.
도 5는 처리 개요의 일례를 나타낸 도면.
도 6은 도 4에 도시한 단계 1070의 처리 플로우를 설명하기 위한 도면.
도 7은 도 6에 도시한 단계 1072의 처리 플로우를 설명하기 위한 도면.
도 8은 도 6에 도시한 단계 1075의 처리 플로우를 설명하기 위한 도면.
도 9는 처리 개요의 일례를 나타낸 도면.
도 10은 처리 개요의 일례를 나타낸 도면.
도 11은 처리 개요의 일례를 나타낸 도면.
도 12는 단말 속성 정보의 내용의 일례를 나타낸 도면.
도 13은 데이타 오브젝트를 생성할 때에 이용되는 기능 블럭도.
도 14는 애플리케이션 정의 문서의 일례를 나타낸 도면.
도 15는 도 14의 애플리케이션 정의 언어에 재실행 제어를 지정하는 예를 나타낸 도면.
도 16은 도 15의 레스토랑의 예로, 특히 예약 처리 프로세스의 부분의 페이지 정의 트리를 나타낸 도면.
도 17은 데이타 베이스의 지시를 포함하는 정의 문서의 일례를 나타낸 도면.
도 18은 데이타 오브젝트군의 일례를 나타낸 도면.
도 19는 애플리케이션 오브젝트에 정의되는 속성의 일례를 나타낸 도면.
도 20은 대화면용의 뷰 오브젝트를 생성할 때의 처리를 설명한 도면.
도 21은 대화면용의 뷰 오브젝트를 생성할 때의 처리를 설명한 도면.
도 22는 대화면용의 뷰 오브젝트를 생성할 때의 처리를 설명한 도면.
도 23은 대화면용의 뷰 오브젝트군을 나타낸 도면.
도 24는 도 23의 뷰 오브젝트군이 HTML을 출력할 때의 처리를 설명하기 위한 도면.
도 25는 도 23의 뷰 오브젝트군이 HTML을 출력할 때의 처리를 설명하기 위한 도면.
도 26은 도 23의 뷰 오브젝트군이 HTML을 출력할 때의 처리를 설명하기 위한 도면.
도 27은 소화면용의 뷰 오브젝트를 생성할 때의 처리를 설명한 도면.
도 28은 소화면용의 뷰 오브젝트를 생성할 때의 처리를 설명한 도면.
도 29는 소화면용의 뷰 오브젝트군을 나타낸 도면.
도 30은 도 23의 뷰 오브젝트군이 HTML을 출력할 때의 처리를 설명하기 위한도면.
도 31은 처리에 관련하여 페이지의 재실행의 제어를 행하는 기구를 설명하기 위해, 본 발명의 동작을 시간을 따라, 레스토랑의 예약 처리를 예로 설명한 도면.
도 32는 레스토랑의 예약 처리의 예로, 재실행이 금지되는 모습을 설명한 도면.
도 33은 지금까지의 레스토랑의 예약 처리의 예로, 화면 구성이 (단말 속성에 의해) 동적으로 변화하는 경우에서도 재실행 제어의 기구가 문제 없이 동작하는 것을 설명한 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
100 : HTTP 서버
110 : 네트워크
120-150 : 클라이언트 단말
210 : 제어 기구
220 : 데이타 서비스 기구
230 : HTML 생성 기구
240 : DB
250 : 단말 DB
우선, 본 발명에 따른 시스템 전체를 도 1을 이용하여 설명한다. 도 1에는, 본 발명에 관련된 Web 서버(100)와, 통상의 PC(120), 텔레비젼(130), 휴대형 컴퓨터(140), 및 Web 브라우저를 내장하는 휴대 전화(150)가 네트워크(110)로 접속되어 있는 상태를 나타내고 있다. PC(120), 텔레비젼(130) 및 휴대형 컴퓨터(140)는 Web 브라우저를 갖고 있고, HTTP 서버(100)로부터 정보를 취득한다. 클라이언트 단말은, Web 브라우저를 갖는 다른 기기여도 좋다. 또, 휴대 전화(150)는 무선을 통해 네트워크(110)에 접속하고 있기 때문에 도 1에서는 점선으로 네트워크(110)에 접속하고 있다. 이와 같이, 네트워크(110)에 접속하는 컴퓨터는, 각각 표시 화면의 크기나, 통신 속도, 처리 능력, 조작성이 다르다. 따라서, 각각의 표시 장치에 표시되는 문서는 각각의 단말의 능력에 적합한 것이 바람직하다. 표시하는 문서를 단말에 적합시키는 방법에는, 단말측에서 대처하는 방법도 있지만, 본 발명에서는 HTTP 서버(100)를 이하에 설명하는 바와 같은 구성으로 한다.
그러면 이 HTTP 서버(100)의 기능 블럭도를 도 2에 도시한다.
또한, HTTP 서버(100) 내의 기능 블럭 내의 제어 기구(210)의 서브 기능의 상세 블럭도를 도 3에 도시한다.
도 2에 도시한 바와 같이, HTTP 서버(100)는 제어 기구(210)와, DB(240)와, 데이타 서비스 기구(220)와, HTML 생성 기구(230)와, 단말 DB(250)를 포함한다. DB(240)를 포함하지 않는 경우도 있다.
제어 기구(210)는, 클라이언트 단말(120 내지 150)로부터 각종 파라메터를 수신하여, 그것에 대응하는 적당한 HTML 문서를 보내준다. 이를 위해, 데이타 서비스 기구(220) 및 HTML 생성 기구(230)의 동작을 제어한다. Web 애플리케이션에서는, 동일한 클라이언트 단말로부터의 일련의 요청을 처리의 하나의 단위로 하는 경우가 많다. 그 때문에, 복수의 요청 중에서, 동일한 클라이언트로부터의 것을 식별하거나, HTML 문서의 생성이 종료하더라도, 바로 자원을 개방하지 않고서 상태를 보유하여 다음 억세스에 포함시킴으로써 애플리케이션으로서의 실행을 계속할 필요가 있다.
여기서는, 클라이언트 단말에 의한 일련의 억세스를 세션이라 부른다. 이 때문에 제어 기구(210)는 세션을 관리하고, 임의의 요청이 기존의 세션에 속하는 것인지, 새로운 세션을 개시하여야 하는 것인지를 판단한다. 또한, 클라이언트 단말(120 내지 150)로부터 얻어지는 식별 정보로부터 단말 속성 정보를 얻기 위해서 단말 DB(250)에 억세스하고, 그 단말 속성 정보를 HTML 생성 기구(230)에 출력하도록 하여도 좋다. 데이타 서비스 기구(220) 및 HTML 생성 기구(230)는 각각이 단말 DB(250)에 억세스하도록 하여도 좋다.
도 3에 도시한 바와 같이, 제어 기구(210)는 페이지의 재실행이나 인증 등의 제어를 하기 위해, 세션 식별 기구(211), 페이지 관리 기구(212), 페이지 관리 DB(213), 애플리케이션 실행 장치(214), 페이지 재실행 제어 장치(215)의 상세화된 기능으로 구성된다.
세션 식별 기구(211)는 단말로부터 송부되는 파라메터를 해석하여 어떤 세션이 단말로부터 요청하고 있는지를 식별하여, 세션에 고유한 데이타를 동일하게 정한다. 마찬가지로 파라메터를 해석하여, 브라우저의 이력 상의 페이지가 재실행되어 있는지의 여부나 그 페이지가 인증이 필요한지의 여부를 판단하여 페이지 관리 기구(212)가 필요한 페이지를 식별하여, 페이지 관리 DB(213)로부터 필요한 정보를 추출 인증이나 재실행에 필요한 과거 처리 상태의 복원을 행한다. 페이지 관리 기구(212)의 처리가 끝나거나, 이러한 처리가 필요없으면, 애플리케이션 실행 장치(214)로 처리가 이행된다.
애플리케이션 실행 장치(214)는 Web 애플리케이션에 고유의 처리를 실행한다. 예를 들면, 뱅킹 애플리케이션의 경우에는 실제의 은행 거래가 행해진다. 이 처리 결과를 기초로, 페이지 재실행 제어 장치(215)가 페이지 관리 DB를 갱신한다.즉, 처리가 과거의 페이지의 재실행을 금지하는 경우에는 페이지 관리 DB(213)로부터 처리의 재실행에 필요한 상태 캐쉬를 제거한다.
데이타 서비스 기구(220)는 클라이언트 단말(120 내지 150)로부터의 검색 요구 등의 처리 요구를 실시하기 위해서, 필요에 따라서 DB(240)를 억세스하여, 데이타 오브젝트군을 생성하는 부분과, DB(240)로 억세스하여 그 내용을 표현하고 또한 세션의 처리를 실행하는 데이타 오브젝트군 자체를 포함한다. 이 데이타 오브젝트군은 세션마다 생성되고, 본 실시예에서는 Web 페이지의 문서 구조에 따라서, 처리 프로세스 전체를 나타내는 오브젝트를 루트로 한 트리 구조로서 구성된다. 잎(leaves)에 해당하는 오브젝트는 문자열이나 화상 등의 데이타에 대응하게 된다. 단, 트리 구조에 한정되는 것은 아니다.
HTML 생성 기구(230)는 데이타 오브젝트군 및 단말 DB(250)로부터의 정보를 이용하여, 뷰 오브젝트군을 생성하는 부분과, 뷰 오브젝트군 자체를 포함한다. 뷰 오브젝트군은 루트 뷰 오브젝트가 제어 기구(210)로부터의 HTML 생성 명령을 수신하면, 루트 뷰 오브젝트로부터 순서대로 HTML을 출력한다. 이 HTML 출력일 때에도, 단말 DB(250)로부터 얻어진 정보는 사용된다. 데이타 오브젝트군으로부터 생성되는 뷰 오브젝트군의 구조는 단말 DB(250)로부터 얻어지는 정보에 기초하여 변화하고, 또한 뷰 오브젝트군에 의해 출력되는 HTML 문서도 마찬가지로 변화한다. 즉, 동일한 데이타 오브젝트군이 생성되어도, 뷰 오브젝트군의 구조는 변화할 수 있고, 뷰 오브젝트군이 동일하여도 출력되는 HTML 문서는 다른 경우가 있다. HTML 문서 전체가 생성되면 제어 기구(210)로부터 요구처의 클라이언트 단말(120 내지 150)에 송신된다. 또, 뷰 오브젝트군을 생성하는 부분 및 뷰 오브젝트군 자신은 후에 진술하는 다른 파라메터를 참조하도록 하는 것도 가능하다.
현재의 HTTP 서버(100)에 있어서, 동적인 HTML 문서의 생성은, CGI(Common Gateway Interface) 또는 서브렛이라는 구조(Sun, Java, JDK 1.2, "http: //jserv. javasoft.com/products/java-server/servlets/")를 이용하여 행하고 있다. 이하에서는 서브렛을 이용하여 실현하는 예를 진술한다. 이것은, Web 애플리케이션에 필요한 계속적인 데이타 보유가 용이하고, 이하에 진술하는 본 발명에 필요한 요건을 만족시키고 있기 때문이다. 단, CGI에서 실현하는 것도 가능하다. 그 경우에는 CGI에서 기동되는 프로세스와 프로세스 사이 통신을 행하는 백그라운드의 프로세스를 이용한다. 또한, 본 발명에 필요한 구성 요소를, Web 대리 서버라는 형태로 실현하는 것도 가능하다.
그러면, HTTP 서버(100)의 처리 전체를 도 4를 이용하여 설명한다. 우선, 클라이언트 단말(120 내지 150)로부터 표시 요구를 수신한다(단계 1005). 이 표시 요구에는, 예를 들면 URL(Uniform Resource Locator) 및 HTTP의 헤더에 포함되는 User-Agent 필드를 이용한다. 예를 들면, URL은, "http://aServer/servle t/RestaurantDemo"이고, HTTP의 헤더의 User-Agent 필드는 "deviceID"로 된다. 또, User-Agent 필드는 후에 이용하는 단말 속성 정보를 단말 DB(250)로부터 얻는데 이용한다. 그리고, URL로부터 새로운 세션인지의 여부를 판단한다(단계 1010). 새로운 세션인 경우에는, URL 내에 session=<세션 번호>가 들어 있지 않으므로, 단계 1020으로 이행한다. 한편, 새로운 세션이 아닌 경우에는, URL 내에는 session=<세션 번호>가 들어 있으므로, 그 세션 번호를 이용한다.
새로운 세션의 경우, 우선 데이타 억세스 기구(220)가 요구된 표시 내용에 관한 데이타 오브젝트군을 생성한다(단계 1020). 이 데이타 오브젝트의 생성 처리는 후에 진술한다.
다음에, 루트 뷰 오브젝트를 HTML 생성 기구(230)에 의해 생성한다(단계 1030). 이 뷰 오브젝트는 자 뷰 오브젝트를 작성하는 방법(또는 자 뷰 오브젝트를 생성하도록, 자 뷰 오브젝트 생성 기구에 의뢰하는 방법)과 HTML을 생성하는 방법을 갖고 있다. 그리고, 루트 뷰 오브젝트와 세션 번호의 쌍을 테이블에 등록한다. 이 테이블은, 단계 1010에 있어서 이용된다. 그리고, 루트 뷰 오브젝트 이후의 뷰 오브젝트군을, 생성된 데이타 오브젝트군 및 단말 속성 정보를 이용하여, 순차 생성해 간다. 이 처리에 대해서는 후에 예를 이용하여 설명한다. 필요한 뷰 오브젝트군이 생성되면, 루트 뷰 오브젝트에 제어 기구(210)로부터 HTML 생성 명령이 출력된다(단계 1050). 이것을 수취한 루트 뷰 오브젝트는 담당분인 HTML을 생성하고, 이하 자신의 자 뷰 오브젝트에 HTML 생성을 의뢰해 간다. 그렇게 하면, 자 뷰 오브젝트 이하의 뷰 오브젝트는 자신의 담당분인 HTML을 생성한다(단계1060). 그리고, 제어 기구(210)는 생성된 HTML 문서를 클라이언트 단말로 송신한다(단계 1065).
여기까지의 처리를 모식적으로 나타낸 것이 도 5이다. 우선, HTTP의 User-Agent 필드와 URL을 제어 기구(210)가 수신한다. 그리고, 데이타 서비스 기구(220)는 제어 기구(210)로부터 수취한 URL의 정보로부터 데이타 오브젝트군을 생성한다. 한편, User-Agent 필드는 단말 속성 정보를 취득하는데 이용된다. 그리고, 제어 기구(210)는 루트 뷰 오브젝트를 생성하도록 HTML 생성 기구(230)에 명령하고, HTML 생성 기구(230)는 데이타 오브젝트군의 루트 오브젝트 및 단말 속성 정보를 참조하면서, 루트 뷰 오브젝트를 생성한다. 루트 뷰 오브젝트 이외에도 데이타 오브젝트군 및 단말 속성 정보를 참조하면서, 모(母) 뷰 오브젝트가 자 뷰 오브젝트를 생성해 간다. 생성된 루트 뷰 오브젝트에 제어 기구(210)로부터 HTML 생성 명령이 나오면, 루트 뷰 오브젝트 이후의 각 뷰 오브젝트에 의해, 도 5에 도시된 바와 같은 HTML 문서가 생성되어, 클라이언트 단말로 출력된다.
그러면, 새로운 세션이 아닌 경우, 세션 번호가 URL에 존재하게 되므로, 세션 번호에 대응하는 루트 뷰 오브젝트에 수취한 파라메터를 출력한다 (단계 1070). 그리고, URL의 세션 번호 이외의 파라메터로부터, 필요한 뷰 오브젝트가 생성 종료인지의 여부를 판단한다(단계 1080). 이 판단은 루트 뷰 오브젝트 자신이 행하여도, 루트 뷰 오브젝트보다 아래의 뷰 오브젝트가 파라메터를 수취한 시점에서 행하여도 좋다. 만일, 필요한 뷰 오브젝트가 생성되어 있으면, 단계 1060(또는 단계 1050)으로 이행한다. 즉, 각 뷰 오브젝트가 단말 속성 정보를 이용하여 담당 부분의 HTML을 출력하고, 생성한 HTML 문서를 클라이언트 단말에 송신한다.
단계 1070을, 도 6을 참조하여 더 설명한다.
단계 1070은, 페이지의 인증이나 과거의 페이지의 재실행 제어 등의 페이지 제어를 위해, 서브 단계으로 더 나누어진다. 우선, 단말로부터 송신된 파라메터를 해석함으로써, 페이지의 제어가 필요한지의 여부를 판별(단계 l071)하고, 필요한 경우에는 페이지 관리 제어를 행한다(1072). 예를 들면, 브라우저의 이력 상의 페이지를 사용자가 재실행한 경우, 요청의 URL이나 HTTP 헤더에 페이지 식별자를 매립해 놓음으로써, 과거의 페이지가 재실행된 것을 알 수 있으므로, 그 식별자를 키에 페이지 관리 DB로부터 그 페이지가 표시될 때의 처리 상태를 복원한다. 또한, 마찬가지로 인증이 필요한 페이지에는 인증의 토큰을 URL이나 HTTP 헤더에 매립해 놓음으로써, 인증을 행할 수 있다.
단계 1072를, 도 7을 참조하여 더 설명한다.
단계 1072의 페이지 관리 제어로서, 구체적으로는, 도 7에 도시한 바와 같이, 페이지의 인증이나 과거의 페이지의 재실행 준비가 행해진다. 상기한 도면은 이들 자(子) 단계를 나타낸 것이다. 우선, 단말로부터 송신된 파라메터를 해석함으로써, 브라우저의 이력 상의 페이지가 사용되었는지를 판별한다(단계 107201). 여기서, 과거의 이력이 아닌 새로운 페이지가 사용될 수 있는 경우에는, 이 서브 플로우차트의 처리 대상 밖이므로, 그대로 다음의 처리로 이행한다. 과거의 이력 상의 페이지인 경우에는, 페이지 관리 DB(213)를 참조하여, 과거의 처리 상태의 캐쉬가 존재하는지를 조사한다(단계 107202). 캐쉬가 존재하지 않는 경우에는 재실행이 금지되어 있는 것이므로, 해당하는 에러 처리(단계 107206)로 이행한다. 캐쉬가 존재하는 경우에는, 그것을 이용하여 처리 상태를 복원한다(단계 107203). 다음에, 인증이 필요한 페이지인지의 여부를, 페이지의 트리 구조를 이용하여 판별한다(단계 107204). 이 판별은 그 페이지가 인증을 필요로 하는 페이지 그룹에 속해 있는지의 여부를 페이지의 트리 구조를 이용하여 조사함으로써 행해진다. 인증이 불필요한 경우에는, 그대로 서브 플로우차트의 다음 처리로 이행한다. 인증이 필요한 경우에는, 단말로부터 송신된 파라메터에 포함되는 인증 토큰이나 페이지 관리 DB(213)에서 그 페이지의 인증이 무효되어 있는지의 여부를 체크하여 인증이 유효한지의 여부를 판단한다(단계 107205). 인증이 유효하면, 그대로 다음 처리로 이행한다. 무효인 경우에는 단계 107206의 에러 처리로 이행한다.
다시, 도 6을 참조한다.
다음에, 애플리케이션 본래의 처리를 실행한다(1073). 예를 들면, 뱅킹의 애플리케이션이면 지정된 은행 거래를 행한다. 이 때, 브라우저의 이력 페이지의 재실행에 구비하여 페이지 관리 DB에 애플리케이션 실행 후의 상태를 캐쉬해 놓는다. 또한, 이 애플리케이션의 처리 결과를 기초로 페이지 제어가 변경되었는지의 여부를 판별(1074)하고, 필요하면 페이지 관리 DB를 갱신한다(1075). 예를 들면, 데이타 베이스의 커미트가 행해진 경우에는 데이타 베이스의 갱신 처리의 페이지의 재실행을 금지할 필요가 있다. 즉, 페이지 관리 DB의 해당하는 처리 상태 캐쉬를 클리어한다. 별도의 예로서, 처리의 결과 인증이 행해진 (혹은 그 때까지의 인증이 파기된) 경우에는, 페이지 관리 DB의 당해 부분의 갱신이 행해진다.
단계 1075를, 도 8을 참조하여 더 설명한다.
단계 1075의 페이지 관리 DB 갱신으로서, 구체적으로는 페이지의 인증의 무효화나 과거의 페이지의 재실행 금지가 행해진다. 상기한 도면은 이들의 자 단계를 나타낸 것이다. 우선, 단계 1075의 전의 단계인 애플리케이션 실행(단계1073)의 결과를 조사하여 그 실행 결과에 따라 어떤 페이지그룹의 재실행을 금지하는지의 여부를 판별한다(단계 107501). 만일, 재실행을 금지할 필요가 있으면, 애플리케이션 프로그램으로 지정된 페이지 그룹명과, 페이지 정의의 트리 구조를 기초로 페이지 그룹을 산출한다(단계 107502). 다음에, 해당하는 페이지그룹에 속하는 페이지에 대응하는 처리 상태의 캐쉬를 페이지 관리 DB(213)로부터 제거한다(단계 107503). 재실행을 금지할 필요가 없으면, 단계 107502, 107503은 스킵된다. 마찬가지로 애플리케이션의 처리 결과에 따라, 인증이 무효화되었는지의 여부를 판별한다(단계 107504). 인증을 무효할 필요가 있으면, 마찬가지로 페이지 정의의 트리 구조를 기초로 인증이 무효가 되는 페이지 그룹을 산출한다(단계 107505). 단계 107506에서는, 해당하는 페이지 그룹에 속하는 페이지의 인증을 무효화한다. 인증을 무효화할 필요가 없으면, 단계 107505, 107506은 스킵된다.
다시 도 4를 참조한다.
한편, 필요한 뷰 오브젝트가 생성되어 있지 않다고 판단된 경우에는, 새로운 데이타 오브젝트가 필요한지를 판단한다(단계 1090). 새로운 데이타를 필요로 하는 경우에는, 그 이전에 생성된 데이타 오브젝트에서는 그 데이타를 얻을 수 없는 경우도 있으므로, 필요한 경우에는 데이타 서비스 기구(220)에, 데이타 오브젝트를 생성하도록 의뢰한다(단계 1020으로의 이행). 또, 동일한 세션이지만 새로운 데이타 오브젝트가 필요하게 된 경우에는, 원래의 데이타 오브젝트의 서브 트리를 생성하게 되므로, 단계 1030에 있어서의 세션 번호를 등록하는 처리는 행하지 않는다. 이하, 새롭게 생성된 데이타 오브젝트에 대응하는 뷰 오브젝트가 생성되고, 뷰 오브젝트가 HTML 문서를 생성한다.
단계 1090에서 새로운 데이타 오브젝트를 필요로 하지 않는 경우에는, 뷰 오브젝트가 필요한 자 뷰 오브젝트를 데이타 오브젝트군 및 단말 속성 정보를 참조하여 생성하고, 단계 1060(또는 단계 1050)으로 이행한다(단계 1100). 즉, 각 뷰 오브젝트가 단말 속성 정보를 이용하여 담당 부분의 HTML을 출력하고, 클라이언트 단말에, 생성한 HTML 문서를 송신한다.
그러면 도 5의 예를 이용하여 단계 1070 이후의 처리의 일부를 기존 설치한다. 도 9는, 도 5의 HTML 문서로부터 사용자가 ABC를 선택한 경우를 나타낸다. HTTP의 useAgent 필드에 도시된 deviceID는 도 5와 동일하게 이용된다. 한편, URL은 예를 들면 "http: //aServer/servlet/RestaurantDemo?session=1ABC=selected"로 되고, session=1의 부분에 의해, 도 5와 동일 세션인 것을 인식할 수 있다. 또한, ABC=selected의 부분에서, 도 5의 ABC가 선택된 것을 알 수 있지만, 뷰 오브젝트에서는 새로운 데이타 오브젝트가 필요하다고 판단된다. 그렇게 하면, 데이타 서비스 기구(220)는 새롭게 데이타 오브젝트군을 생성한다. 그리고, 단말 속성 정보를 이용하여 뷰 오브젝트군을 생성한다. 이 예에서는, HTML 문서를 작성할 때에, 단말 속성 정보를 참조하여, 뷰 오브젝트군 중 점선으로 둘러싸인 부분만이 HTML을 출력한다. 그리고, 생성되는 HTML 문서는 가장 아래에 나타낸 것이다. 여기서는, NEXT 버튼(또는 하이퍼 링크)이 생성되어 있다.
사용자가 도 9의 NEXT를 지시한 경우가 도 10에 도시되어 있다. HTTP의 useAgent 필드의 취급은 동일하다. URL은 예를 들면"http://aServer/servlet/RestaurantDemo?session=1next=pressed"로 되고, session=1의 부분보다 도 5와 동일한 세션인 것을 인식할 수 있다. 또한, next=pressed의 부분에서, 도 9의 NEXT 버튼이 눌러진 것을 알 수 있다. 그러나, 뷰 오브젝트에서는 기존의 뷰 오브젝트로 대응 가능하다고 판단된다. 이 경우에는, 데이타 오브젝트 및 뷰 오브젝트에는 아무런 변경은 이루어지지 않고, 뷰 오브젝트군의 점선 부분이 HTML을 출력하여, 최종적인 HTML 문서를 작성한다. 이 HTML 문서에는 PREV 버튼(또는 하이퍼 링크) 및 NEXT 버튼(또는 하이퍼링크)이 포함된다.
이러한 경우에 있어서의 NEXT 버튼(혹은 전 페이지로 되돌아가기 위한 PREV 버튼)의 HTML 출력 예와 동작 예는 다음과 같이 된다.
<a href="/servlet/Restaurant?session=1next=pressed">
Next
</a>
앵커 태그의 내용은 단순한 문자열 뿐만이 아니라, 버튼의 이미지를 지정하는 것도 가능하다. 앵커 태그의 속성치로서, 파라메터가 부가된 URL을 기술한다. 사용자가 이 하이퍼 링크를 클릭한 경우에는 단말로부터 이 URL이 보내지고, 본 발명의 제어 장치에 파라메터가 건네지고, session 파라메터를 이용하여 특정된 뷰 오브젝트군에 next=pressed 파라메터가 건네진다. 이 next=pressed에 의해 NEXT 버튼이 눌러진 것을 검지하여, 뷰 오브젝트의 HTML 생성 프로그램이 다음 페이지의 HTML 명령을 출력한다.
또한 사용자가 도 10의 NEXT를 지시한 경우가 도 11에 도시되어 있다. HTTP의 User-Agent 필드의 취급은 동일하다. URL은 예를 들면 "http://aServer/servlet/RestaurantDemo?session=1next=pressed"로 되고, session=1의 부분으로부터 도 5와 동일한 세션인 것을 인식할 수 있다. 또한, next=pressed의 부분 및 뷰 오브젝트의 내부 상태로부터, 도 10의 NEXT 버튼이 눌러진 것을 알 수 있다. 여기서, 뷰 오브젝트군은 새로운 뷰 오브젝트가 필요하다고 판단한다. 그러한 경우에는, 이전에 생성한 데이타 오브젝트군 및 단말 속성 정보를 참조하여, 필요한 뷰 오브젝트를 생성한다. 여기서는, 루트 뷰 오브젝트 이외의 점선 부분이 새롭게 생성된다. 그리고, 단말 속성 정보를 참조하면서, 점선의 부분의 뷰 오브젝트군이 HTML을 생성하고, HTML 문서를 작성한다.
그러면, 위에서는 상세히 진술하지 않은 단말 속성 정보에 대해 진술한다. 도 5 내지 도 11의 예에서는, HTTP의 User-Agent 필드에 포함되는 deviceID로부터 단말 속성 정보를 취득한다고 하고 있지만, 이 대응 정보가 단말 DB(250)에 포함되어 있다. 예를 들면, deviceID로부터 그 단말 속성 정보가 얻어지는 대응 테이블을 준비한다. 또, 단말 속성 정보에는, 도 12에 도시된 바와 같은 것을 고려할 수 있다. 예를 들면, ScreenSize(화면 사이즈), ScreenRatio(종횡비), ScreenQuality(화면의 정밀도), ColorDepth(색수), ModemSpeed(통신 속도), Image(이미지의 사용 가능 여부), Table(테이블의 사용 가능 여부), Frame(프레임의 사용 가능 여부), ScrollBar(스크롤 가능 여부), PointingDevice(포인팅 디바이스의 사용 가능 여부) 등이 있다. 도 12의 우측열에는 각각의 값의 예를 나타내고 있다.또, 모든 deviceID에 대해 모든 항목이 지정되어 있을 필요는 없다. 또한, 각 행의 값은 그 밖의 값을 취하도록 하여도 좋다.
또한, 또 한단계 처리를 행하는 것도 생각할 수 있다. 즉, 단말 속성 룰 베이스를 준비하고, 도 12와 같은 단말의 특성치로부터, 표시 구조의 변환이나, 표시 명령의 생성에 사용함으로써 일반적인 단말 속성을 생성하도록 한다. 예를 들면, ModemSpeed가 14.4K보다 작은 경우에는 통신 속도가 느리고, ModemSpeed가 56K보다 크면 통신 속도가 빠르고, 그 이외를 중간 정도의 속도라고 한 것처럼, 단일 파라메터를 구체적 수치가 아니라 범위를 결정하여 분류하거나, 복수의 파라메터로부터 예를 들면 이미지는 표시 속도가 느려서, 포인팅 디바이스가 없이 통신 속도가 느리므로 일차원 표시로 하는 등의 단말 속성을 생성하는 것도 생각할 수 있다.
또한, 상기에서는 세션의 개시만을 설명하였지만, 사용자가 세션의 종료를 명시적으로 나타낸 때에는 이에 따라, 명시적인 세션의 종료가 없는 경우에는 직전의 억세스로부터 소정의 시간 경과 후에, 세션의 종료로 한다. 세션이 종료하면, 그 때까지 데이타 오브젝트군 및 뷰 오브젝트군에 의해 사용된 소스는 해방된다.
여기서 데이타 오브젝트의 생성 방법에 대해 간단히 설명해 둔다. Web 애플리케이션의 내용(content) 작성자는 애플리케이션 정의 문서(300: 도 13)를 작성한다. 애플리케이션 정의 문서(300)는 임의의 종류의 정의 언어에 따라서 기술된다. 이 언어는, 예를 들면, XML(W3C, "Extensible Markup Language(XML) 1.0", http: // www. w3. org /TR/1998/REC-xml-19980210)을 이용하여 독자의 마크업 언어로서 정의할 수 있다. 레스토랑 서비스의 예에서는 도 14와 같은 기술 예가 고려된다.
여기서는, 지금 정의하고자 하는 레스토랑 정보 서비스가, 레스토랑 검색과 레스토랑 정보 표시라는 2개의 프로세스(표시 상의 페이지에 상당한다)로 이루어지며, 또한 레스토랑 정보 표시 프로세스는, 레스토랑 정보라는 표시 항목과 레스토랑 검색의 페이지로 되돌아가기 위한 링크로 이루어진다. 마찬가지로, 레스토랑 정보 항목은 그 아래 레벨의 표시 항목으로 구성되는 것이 기술된다. 도 14에서는, 부분적으로 생략이 행해지고 있다. 이러한 정의 문서의 작성은, 텍스트 에디터를 이용하여 내용 작성자가 직접 기술하여도 좋고, 레이아웃 기능을 갖는 워드 프로세서와 같은 허가 툴을 이용하여도 좋다.
도 14의 애플리케이션 정의 언어에 재실행 제어의 지정하는 예를, 또한, 도 15를 참조하여 설명한다.
도 14의 애플리케이션 정의 언어에, 또한, 도 15에 예시한 바와 같이, 레스토랑의 예약 처리의 프로세스가 추가된다. 이 예약 처리 중에는, 크게, 예약 상황을 표시하는 표시 항목과 예약 신청을 입력시켜 예약을 접수하는 표시 항목이 있다. 이들 표시 항목은, 속성으로서 「예약 접수 후 재처리 금지」라는 페이지 그룹에 속하는 것이 기술되어 있다(pageGrp=의 키워드). 또한, 예약 처리를 실행하는 결정 버튼의 속성으로서, 예약이 접수된 경우, 이 페이지 그룹에 속하는 표시 항목은 재처리되지 않는 것이 지정되어 있다(invGrp=의 키워드).
따라서, 이 기술에 따라 생성된 표시 제어 정보가 브라우저로 처리된 화면에 대해, 사용자가 결정 버튼을 누른 후에는, 본 발명의 기구에 의해 이들 표시 항목 및 그 보다 아래 레벨의 표시 항목은, 재처리(표시나 재예약의 접수)는 금지된다.예약이 접수된 후에, 사용자가 브라우저의 백 버튼으로 「예약 상황 표시」의 표시 항목(페이지)으로 되돌아가, 재표시하고자 해도 2중 예약 방지를 위해 표시는 행해지지 않는다.
페이지의 재실행 제어는, 동적으로 생성되는 화면에도 대응하기 때문에, 페이지 정의 트리를 사용하여, 페이지 그룹을 정의한다. 상기한 도 16은 도 15의 레스토랑의 예에서, 특히 예약 처리 프로세스의 부분의 페이지 정의 트리를 나타낸 것이다. 예약 처리 프로세스는 예약 상황 표시, 예약 접수 화면, 예약 접수 결과 화면의 3개의 표시 항목을 갖는다. 또한, 예약 상황 표시는 예약 일시, 그 빈 정보의 2종류의 서브 표시 항목을 갖는다. 예약 접수 화면에 대해서도 마찬가지이다.
이들 표시 항목은, 단말의 화면 표시 능력에 의해, 동적으로 페이지로서 표시되고, 어떤 레벨의 페이지가 될지는 미리 결정되어 있지 않다. 예를 들면, PC와 같은 화면 사이즈가 큰 것은, 예약 상황 표시나 예약 접수 화면이 페이지의 단위가 되지만, 보다 작은 화면의 PDA와 같은 것이면, 개개의 서브 표시 항목인 예약 일시와 빈 정보로 1페이지가 될지도 모른다.
여기서, 「예약 접수 후 재처리 금지」라는 페이지 그룹은, 도 15의 애플리케이션 정의 언어에서는, 예약 상황 표시와 예약 접수 화면의 2개의 표시 항목의 정의에 지정되어 있을 뿐이지만, 페이지 정의 트리의 자(子)도 그 페이지 그룹에 속한다. 즉, 「예약 접수 후 재처리 금지」라는 페이지 그룹은, 상기한 도면의 점선 내의 표시 항목(즉 페이지)을 멤버로서 갖는다.
다시 도 13을 참조한다.
정의 언어 해석기(310)는, 이러한 언어로 쓰여진 문서를 해석하는 것이다. 이러한 해석기의 예로서는, IBM XML for Java (http: //www. alphaworks. ibm. com/ formula /xml)가 있다. 해석기는 해석 결과를 데이타 오브젝트 생성기로 보낸다. 해석 결과는 W3C, "Document Object Model Specification" (http: //www. w3. org/ TR/ WD-DOM-1998-0416)에 진술되어 있는 바와 같이, 태그의 구조를 하나의 오브젝트로 한 오브젝트의 트리 구조(상자의 내부에 있는 태그의 오브젝트가 자(子)로 된다)로 표현되는 데이타이다.
데이타 오브젝트 생성기는, 해석 결과의 트리 구조를 기초로 데이타 오브젝트를 생성한다. 일반적으로는 해석 결과의 오브젝트로부터 데이타 오브젝트의 클래스를 결정하여 오브젝트를 생성한다. 구조도 동일한 형태로 된다.
애플리케이션 정의 문서에 모든 정보를 기록해 놓는 대신에, 정보의 내용을 기존의 데이타 베이스로부터 가져오는 것도 가능하다. 이 경우, 정의 문서에는 데이타 베이스의 검색 방법의 지정이나 검색 결과의 참조가 기술되고, 데이타 오브젝트 생성기가 이 지시를 기초로 데이타 베이스 컨넥터라는 데이타 베이스 시스템과의 교환을 중개 기구로서 데이타 베이스에 조회를 행한다. 데이타 베이스의 검색 결과가 데이타 베이스 컨넥터를 통해서 돌려주므로, 데이타 오브젝트 생성기는 검색 결과의 참조 지시를 기초로 데이타 베이스로부터의 결과를 반영한 데이타 오브젝트를 생성한다. 이 때의 구조는 정의 문서의 데이타 베이스로의 지시가 행해지고 있는 태그에 의해서 결정된다. 이러한 데이타 베이스의 지시를 포함하는 정의 문서의 예(도 17)로서, 도 14의 레스토랑 정보를 데이타 베이스로부터 동적으로 취해지는 경우를 예로 들 수 있다.
이러한 처리를 실시함으로써 생성되는 데이타 오브젝트군의 예를 도 18에 도시한다. 여기서 출력을 요구하고 있는 「레스토랑 상세 페이지」는 「레스토랑 정보」와 검색 화면으로 되돌아가기 위한 「서치 페이지로의 링크」의 2개의 오브젝트로 구성된다. 또한, 레스토랑 정보는 사용자가 원하는 레스토랑에 관한 여러가지 정보를 보유하지만, 여기서는 「속성」 「가이드」 「메뉴」의 3개의 카테고리로 나누어진다. 각 카테고리의 아래에는 필요한 정보에 대응하는 오브젝트가 생성되어 있다.
본 발명에서는, 데이타 오브젝트에, 도 19에 도시한 바와 같은 속성이 정의되어 있다. 자 오브젝트가 존재하고 있는 경우에는 자 오브젝트를 그 집합으로 하여, 데이타의 우선도를 수치화한 것을 번호로, 그 오브젝트의 데이타를 분할하여도 항상 표시하는지의 여부를 스위치(논리치)로, 이 오브젝트의 데이타를 분할 표시할 수 있는지의 여부를 스위치로, 이미지의 경우에는 아웃 라인화할 수 있는지의 여부를 스위치로, 기타 애플리케이션에 고유의 데이타를 필요에 따라서 임의의 형태로 정의한다. 이것이, 대응 뷰 오브젝트의 생성 및 뷰 오브젝트에 의한 상기 표시 제어 정보의 생성에 있어서 이용되는 지시 정보이다.
이 데이타 오브젝트가 생성된 경우에, 어떠한 뷰 오브젝트가 생성되고, 어떠한 HTML 문서가 생성되는지에 대해, 이하에 2개의 대표적인 예를 나타낸다.
(1) PC 등의 대화면용의 표시 구성으로의 변환과 HTML 출력
앞에서 진술한 예에서는, 클라이언트 단말로부터 수신하는 HTTP의 User-Agent 필드로부터, deviceID를 추출하고, 대응하는 단말 속성 정보를 취득한다. 이하의 설명에서는, 이 단말 속성 정보를 이미 취득하고 있도록 하여 설명한다. 본 예에서는, 단말 속성 정보는, 「대화면」(보다 구체적으로는, 대화면으로 분류되는 해상도의 표시 장치를 클라이언트 단말이 갖고 있다)이라는 정보를 포함하고 있는 것으로 한다.
우선, 데이타 오브젝트의 트리 구조의 루트가 되는 오브젝트에 대응하는 뷰 오브젝트를 생성한다(도 20). 이것을 행하는 HTML 생성 기구(230)는, 루트 데이타 오브젝트의 클래스(예에서는 「페이지 클래스」)나, 애플리케이션 분야의 고유 지식(예를 들면「1개의 레스토랑은 1페이지로 표시한다 」), 그리고, 단말 속성 정보(여기서는 「대화면」)를 파라메터로 하여서, 뷰 오브젝트의 클래스(대화면용 페이지 표시 뷰 오브젝트의 클래스)와 오브젝트를 생성할 때의 초기 파라메터를 결정하고, 실제로 루트 뷰 오브젝트를 생성한다.
이와 같이 하여, 일단 루트 데이타 오브젝트에 대응하는 루트 뷰 오브젝트가 결정되면, 이 루트 뷰 오브젝트를 출발점으로 하여서, 뷰 오브젝트에 자신의 자(子)를 계속해서 생성시켜 갈 수 있다. 즉, 뷰 오브젝트는 자 오브젝트를 생성하는 방법 또는 공통의 자 뷰 오브젝트를 생성하는 방법에 자 뷰 오브젝트를 생성하도록 의뢰하는 방법을 갖고 있다.
그리고, 대화면용 페이지 표시 뷰 오브젝트는 자 뷰 오브젝트의 생성이 의뢰되면, 자기 자신에 대응하는 데이타 오브젝트인 「레스토랑 상세 표시 페이지 데이타 오브젝트」에 조회하여, 그 자(子) 데이타 오브젝트로부터 자신의 자 뷰 오브젝트를 생성한다. 이 생성에 있어서, 일반적으로는, 자기 자신의 클래스(여기서는 「대화면용 페이지 표시 뷰 클래스」), 데이타 오브젝트의 클래스, 애플리케이션 분야의 고유 지식(정의되어 있으면), 및 단말 속성 정보로부터 결정되는, 뷰 오브젝트의 클래스와, 초기 파라메터를 기초로 오브젝트의 생성이 행해진다.
예를 들면, 도 21에 도시한 바와 같이, 「레스토랑 상세 표시 페이지」 데이타 오브젝트의 자(子)인 「레스토랑 정보」의 경우에는, 「레스토랑 정보」의 클래스인 「일반적 항목」과 단말 속성 정보의 「대화면」 정보로부터, 뷰 오브젝트의 클래스로서 「항목 2차원 배치 표시」 클래스를 결정하고 있다. 이 항목 2차원 배치 표시 뷰 오브젝트는 단말 화면이 넓은 것을 이용하여 출력 대상을 2차원적으로 배치하여 표시 효과를 높이는 것을 의도한 뷰 오브젝트의 일종이다. 마찬가지로「레스토랑 상세 표시 페이지」 데이타 오브젝트의 또 하나의 자 오브젝트의 「서치 페이지에의 링크」의 경우에는, 그 클래스(「하이퍼 링크」)로부터 「링크 오브젝트」 라는 뷰 오브젝트를 생성하고 있다.
자 뷰 오브젝트가 생성되면, 모(母) 뷰 오브젝트는 모든 자(子)에 대해, 자기가 의뢰한 것과 동일한 자 뷰 오브젝트의 생성 의뢰를 행한다. 즉, 도 22에 도시한 바와 같이, 자기 자신이 2차원 배치 뷰 오브젝트인 것, 「레스토랑 정보」의 자 데이타 오브젝트의 「속성 정보 카테고리」가 속성의 일람을 표시하는 것 등을 이용하여, 「속성 일람 표시」 뷰 오브젝트를 생성한다. 마찬가지로 데이타 오브젝트인 「가이드 정보 카테고리」 데이타 오브젝트에 대해 사용자의 요구나 단말 속성 정보로부터 최적의 표시 항목을 하나 선택한다고 하는 행동을 하는 「속성 선택 표시」 뷰 오브젝트가 생성된다. 「메뉴」 데이타 오브젝트에 대해서는 레스토랑 정보와 마찬가지로 단말 속성 정보의 「대화면」을 이용하여, 다시 항목 2차원 배치 뷰 오브젝트가 생성된다. 또한, 레스토랑 정보에서는 레스토랑명이 타이틀로서 중요하다고 하는 분야 고유의 정보를 이용하여, 레스토랑명을 타이틀 표시하는 뷰 오브젝트가 자 오브젝트로서 가해지고 있다.
이들, 4개의 자 뷰 오브젝트「레스토랑명 표시」, 「속성 일람 표시」, 「속성 선택 표시」, 「메뉴의 항목 2차원 배치」에 대해, 마찬가지로 자 뷰 오브젝트의 생성을 의뢰해 간다. 예를 들면, 「속성 일람 표시」 뷰 오브젝트가 생성을 의뢰하면, 대응하는「속성 정보 카테고리」의 자 데이타 오브젝트를 주사하고, 변수명과 값의 페어의 뷰 오브젝트(속성명 값 페어 표시 뷰 오브젝트)를 생성한다. 「속성 선택 표시」 뷰 오브젝트에서는, 「가이드 정보 카테고리」 데이타 오브젝트의 자(子)로부터 가장 적절한 것을 1개 선택하고(여기서는, 지도 기능이 없는 PC에서, 데이타 오브젝트의 우선도로부터 이미지의 안내도가 선택되도록 한다), 그것에 대응하는 뷰 오브젝트를 생성한다. 메뉴에 대해서도 마찬가지로 재귀적 처리가 행해진다. 최종적으로 생성되는 뷰 오브젝트군의 구조는 도 23과 같이 된다.
여기서 데이타 오브젝트군의 구조를 나타낸 도 18과 뷰 오브젝트군의 구조를 나타낸 도 23을 비교하면, 레스토랑명 뷰 오브젝트가 추가되어 있고, 「가이드 정보 카테고리」 데이타 오브젝트의 아래에 4개의 자 데이타 오브젝트가 존재하고 있지만, 속성 선택 표시 뷰 오브젝트가 「가이드 정보 카테고리」 데이타 오브젝트에 대해 생성되어 있으므로, 속성 선택 표시 뷰 오브젝트의 자 뷰 오브젝트는 1개밖에 없다. 그리고, 메뉴명 뷰 오브젝트가 중요성때문에 추가되어 있다. 이상과 같이, 데이타 오브젝트와 뷰 오브젝트는 구조가 반드시 1대1로는 되지 않는다.
모든 뷰 오브젝트가 생성되면, HTML의 생성이 각 뷰 오브젝트에 의뢰된다. 즉, 루트 뷰 오브젝트에 HTML 생성이 지시되고, 대화면용 페이지 표시 뷰 오브젝트는 최종 출력 중의 HTML 페이지의 제어 명령을 생성하지만 페이지의 내용에 대해서는 자(子)인 「항목 2차원 배치 뷰 오브젝트」나 「하이퍼 링크」 오브젝트에 의뢰를 해 간다. 의뢰된 자 뷰 오브젝트는 또한 자기의 자 뷰 오브젝트에 의뢰를 하면서 전체의 HTML을 생성해 간다.
도 24에 도 23의 뷰 오브젝트군에 의한 HTML 생성의 개요를 나타낸다. 대화면용 페이지 표시 뷰 오브젝트의 자인 항목 2차원 배치 표시 뷰 오브젝트는 최종적으로 2차원으로 배치되도록 HTML을 생성해 간다. 이하에서 설명하는 바와 같이, 이 HTML을 생성하는 단계에서 또한 단말 속성 정보를 참조하여 HTML 출력을 바꿔갈 수 있다. 도 24에서는, 항목 2차원 배치 표시 뷰 오브젝트의 자 뷰 오브젝트는, 도시한 바와 같이, 2차원 배치하도록 HTML을 출력하고 있다. 또, 속성 일람 표시 뷰 오브젝트의 자 뷰 오브젝트, 2개의 항목 2차원 배치 표시 뷰 오브젝트의 자 뷰 오브젝트에 대해서는 도면 상에는 표시되어 있지 않지만, 각 모 뷰 오브젝트에 있어서 확보된 영역 내에 표시되도록 HTML을 출력하고 있다.
한편, 속성 선택 표시 뷰 오브젝트의 자 뷰 오브젝트인 이미지 표시 뷰 오브젝트에 대해서는, 이미지 표시 속도가 충분히 빠르다고 해석할 수 있는 단말 속성 정보가 있는 경우에는, 이미지를 그대로 출력하도록 한다(도 25 참조). 이미지 표시 속도가 충분히 빠르다고 하는 단말 속성은, 통신 속도 및 묘화 처리 능력에 의해 결정되지만, 단순히 통신 속도가 느린 것으로 이상의 처리를 실시하도록 하여도 좋다.
한편, 이미지 표시 속도가 느리다고 해석할 수 있는 단말 속성 정보가 있는 경우, 이미지 표시 뷰 오브젝트는 이미지를 그대로 출력하지 않고, 이미지로의 링크를 출력한다(도 26 참조). 사용자가 이 이미지를 지정한 경우에는, 이 이미지를 송신하도록 한다.
또한, 2차원 배치의 방법으로 하여도, 화면 사이즈나 종횡비 등을 고려하여, 클라이언트 단말마다 조정하는 것이 고려된다. 이와 같이 하여, 「단말의 화면이 크다」 「이미지의 표시 속도가 느리다」 라고 한 단말 속성 정보에 적합시켜 HTML을 생성해 갈 수 있다.
(2) PDA 등의 소화면용의 표시로의 변환과 HTML 출력
PDA 등의 소화면에서는, 일시적으로 표시되는 정보의 양에 제한이 있으므로, 뷰 오브젝트의 구성과 그 트리 구조를 그것에 알맞은 것으로 해 갈 필요가 있다. 단말 속성 정보는, 소화면으로 해석되는 데이타를 포함하고 있도록 한다.
데이타 오브젝트는 도 18인 것으로 한다. 우선, 대화면일 때와 마찬가지로 데이타 오브젝트의 루트 오브젝트의 클래스, 단말 속성 정보(이 경우에는 「화면이 작다」)를 이용하여, HTML 생성 기구(230)가 소화면용 페이지 분할 표시 뷰 오브젝트를 생성한다(도 27 참조). 루트 뷰 오브젝트가 생성되었으므로, 대화면일 때와 동일하게 자 뷰 오브젝트의 생성을 행한다.
단, 이번에는 한 화면에 표시할 수 있는 정보량이 한정되는 점, 정보가 한번에 제시되지 않아 분할되는 점 때문에, 2차원 배치를 행하는 뷰 오브젝트가 아니라, 정보의 중요도가 높은 것부터 순서대로 표시하는 뷰 오브젝트가 생성된다. 이 뷰 오브젝트가 또한 자 오브젝트를 생성할 때에는, 2차원 배치를 향한 카테고리 구조가 아니라, 표시 내용의 중요도를 고려한 열 구조가 되도록 뷰 오브젝트를 생성한다.
따라서 도 28에 도시한 바와 같이, 레스토랑 정보 데이타 오브젝트에 대응하여, 우선도를 고려한 선형 표시 뷰 오브젝트를 생성한다. 링크 오브젝트를 생성하는 것은 도 21과 동일하다.
그리고, 우선도를 고려한 선형 표시 뷰 오브젝트가 자 뷰 오브젝트를 생성할 때에는, 사용자에게 재빠르게 보여주어야 하는 것은 무엇인가 하는 점, 및 페이지 분할하기 쉽도록 열 구조로 하는 것이 중시되고, 클라이언트 단말이 대화면을 가질 때와는 전혀 다른 뷰 오브젝트의 트리 구조가 된다(도 29 참조). 본 예에서는, 그 시점에서 실제로 표시되는 뷰 오브젝트 이외에도 생성하고 있지만, 사용자에 의해 지시되었을 때에 생성하도록 하는 것도 가능하다. 도 29에서는, 우선도를 고려한 선형 표시 뷰 오브젝트에, 필요한 자 뷰 오브젝트가 병렬로 접속되는 형태로 된다. 도면에서는 우선도를 고려한 선형 표시 뷰 오브젝트에 가까울수록 우선도가 높아져 있다. 또, 임의의 방법으로 사용자의 기호를 반영하여 이 우선도를 결정하는 것도 생각할 수 있다.
뷰 오브젝트가 생성된 후에는, 대화면일 때와 마찬가지로 HTML의 생성을 루트 뷰 오브젝트로부터 순서대로 행한다. 분할된 페이지를 사용자가 용이하게 네비게이트할 수 있도록 페이지 사이의 내비게이트 버튼(NEXT나 PREV 버튼)도 자동 생성된다. 이 때, 단말 속성 정보를 사용하여, 단말의 능력에, 보다 적합시킨 출력을 생성시킬 수 있다.
도 30의 경우에는, 단말 속성 정보에 포함되는 「화면 사이즈 320×240dot」라는 정보로부터 우선도가 높은 순서대로 3개의 뷰 오브젝트의 정보를 1페이지로 표시하도록 HTML을 생성시킬 수 있다. 또한, 「화면 사이즈 240×180dot」라는 단말 속성 정보가 있으면, 더 화면이 작으므로, 2개의 뷰 오브젝트의 정보를 1페이지로 출력하도록 HTML을 생성시키는 것도 가능하다.
이상의 도면에서는, HTML을 Web 브라우저가 해석한 후의 화면을 뷰 오브젝트군의 출력으로서 나타내고 있지만, 뷰 오브젝트군은 HTML의 제어 명령을 출력하는 것이다.
이상의 예에서는 HTML을 대상으로 설명하여 왔지만, 본 발명은 이것에 한정되는 것이 아니다. 예를 들면, WML(Wireless Markup Language, Wireless Application Protocol Forum Ltd, "Wireless Application Protocol Wireless Markup Language Specification", Version 30-Apr-1998)이나 XML 등의 출력을 필요로 하면, 이들을 출력하는 방법을 포함하는 뷰 오브젝트를 생성하도록 하고, 또한 WML이나 XML의 특성에 맞는 뷰 오브젝트군의 구조를 생성하면 된다.
상기한 도 31은, 처리에 관련하여 페이지의 재실행의 제어를 행하는 기구를 설명하기 위해, 본 발명의 동작을 시간을 따라, 레스토랑의 예약 처리를 예로 설명한 도면이다. 동시에, 단말의 표시 화면, 사용자의 조작(서버로의 요구 내용), 페이지 관리 DB(213) 내의 처리 상태 캐쉬의 내용도 함께 표시하고 있다. 우선, 사용자로부터 레스토랑의 예약 상황 표시 요구가 발생한다. 이에 따라, 본 발명의 제어 기구(210)가 동작하고, 그 중의 페이지 관리 기구(212)에 의해 새로운 페이지인 것이 판별된다. 다음에 애플리케이션 처리 기구(214)가 실행된다. 여기서는, 예약 상황이 애플리케이션 프로그램에 의해 조사된다. 동시에, 재실행에 포함하여 이 때의 처리 상태가 상태 캐쉬에 저장된다. 이 처리에서는 재실행 제어는 필요 없으므로, 다음 처리인 화면 작성이 행해진다. 이 결과, 예약 처리 상황을 표시하기 위한 표시 제어 정보가 단말에 보내져서, 표시된다. 예약 접수 화면도 마찬가지로 처리되고, 상태 캐쉬에 상태가 저장된다.
다음에, 사용자가 단말 상의 이력 기능을 사용하여, 예약 상황 화면을 재표시시키려 하였다고 한다. 예를 들면, 브라우저에 통상 구비되어 있는 백 버튼으로 지난 예약 상황 화면을 불러내어, 동일하게 통상 구비하고 있는 재표시 버튼을 눌렀다고 하자. 이 경우, 페이지 관리 기구(212)가 지난 화면에 대한 처리인 것을 판별한다. 이 경우, 이력 상의 페이지이므로, 상태 캐쉬에 상태가 저장되어 있는지를 체크한다. 이 경우에는, 상기에 진술한 바와 같이 상태 캐쉬에 저장되어 있을 것이므로, 그 처리 상태를 복원하여 애플리케이션의 처리(예약 상황 조사)를 행한다. 정확하게는, 이 결과도 상태 캐쉬에 저장되지만, 도면에서는 간단화를 위해 생략하고 있다. 마지막으로 표시 제어 정보가 생성되어 단말에 보내진다.
계속해서, 레스토랑의 예약 처리의 예로, 재실행이 금지되는 모습을 상기한 도 32에 의해 설명한다. 예약 접수 화면에 사용자가 필요 사항을 입력하고, 예약 결정 버튼을 눌렀다고 하자. 이에 따라, 본 발명의 제어 기구(210)가 동작하고, 그 중의 페이지 관리 기구(212)에 의해 새로운 페이지인 것이 판별된다. 다음에 애플리케이션 처리 기구(214)가 실행된다. 여기서는, 예약 접수 처리가 애플리케이션 프로그램에 의해 실행된다. 동시에, 재실행에 포함하여 이 때의 처리 상태가 상태 캐쉬에 저장된다. 이 처리에서는 예약 접수에 의해 예약 관계의 재실행 제어가 지정되어 있으므로, 애플리케이션 정의 언어 내의 invGrp의 지정「예약 접수 후 재실행 금지」를 기초로 재실행이 금지되는 페이지가 동일하게 정해진다. 이 예의 경우, 애플리케이션 기술 언어의 표시 항목 속성 pageGrp이 지정되어 있는, 「예약 상황 표시」 「예약 접수 화면」의 페이지가 해당한다. 다음에, 이들 페이지에 상당하는 상태 캐쉬가 무효화되고, 접수 결과의 화면 작성이 행해진다.
다음에, 전과 마찬가지로, 사용자가 단말 상의 이력 기능을 사용하여, 예약 상황 화면을 재표시시키려고 하였다고 한다. 예를 들면, 브라우저에 통상 구비되어 있는 백 버튼으로 지난 예약 상황 화면을 불러 내고, 동일하게 통상 구비되어 있는 재표시 버튼을 눌렀다고 하자. 이 경우, 페이지 관리 기구(212)가 지난 화면에 대한 처리인 것을 판별한다. 이 경우, 이력 상의 페이지이므로, 상태 캐쉬에 상태가 저장되어 있는지를 체크한다. 전의 경우와 달리, 상기에 진술한 바와 같이 상태 캐쉬는 무효화되어 있으므로, 재실행이 금지되어 있는 것이 판명된다. 이 결과, 에러를 통지하는 표시 제어 정보가 생성되어 단말에 보내지고, 에러 화면이 단말에 표시된다.
또한, 지금까지의 레스토랑의 예약 처리의 예로, 화면 구성이 (단말 속성에 의해) 동적으로 변화하는 경우에서도 재실행 제어의 기구가 문제 없이 동작하는 것을, 상기한 도 33에 의해 설명한다. 지금까지의 예에서는, 화면이 큰 단말이었으므로, 예약 상황 표시는 1개의 화면으로 표시되어 있었다. 이번에는, 화면이 작은 단말을 상정하고, HTML 생성 기구(230)가 예약 상황 표시의 자 오브젝트「예약 일시」「빈 정보」의 항목마다 페이지를 분할한다. 따라서, 상태 캐쉬도 이들 자(子)의 항목마다 캐쉬되게 된다. 여기서, 전과 마찬가지로, 예약 접수 화면에 사용자가 필요 사항을 입력하고, 예약 결정 버튼을 눌렀다고 한다.
이에 따라, 본 발명의 제어 기구(210)가 동작하고, 그 중의 페이지 관리 기구(212)에 의해 새로운 페이지인 것이 판별된다. 다음에 애플리케이션 처리 기구(214)가 실행된다. 여기서는, 예약 접수 처리가 애플리케이션 프로그램에 의해 실행된다. 동시에, 재실행에 포함하여 이 때의 처리 상태가 상태 캐쉬에 저장된다. 이 처리에서는 예약 접수에 의해 예약 관계의 재실행 제어가 지정되어 있으므로, 애플리케이션 정의 언어 내의 invGrp의 지정「예약 접수 후 재실행 금지」를 기초로 재실행이 금지되는 페이지가 동일하게 정해진다. 이 예의 경우, 애플리케이션 기술 언어의 표시 항목 속성 pageGrp이 지정되어 있는, 「예약 상황 표시」 「예약 접수 화면」의 페이지가 해당한다. 그러나, 예약 상황 표시의 페이지는 직접적으로는 캐쉬 내에 존재하지 않으므로, 페이지 정의 트리에 따라서, 예약 상황 표시의 자(子)인 「예약 일시」와 「빈 정보」가 해당하는 페이지인 것을 이용하여, 이들 페이지에 상당하는 상태 캐쉬가 무효화된다.
다음에, 전과 마찬가지로, 사용자가 단말 상의 이력 기능을 사용하여, 예약 상황 화면의 하나인 예약 일시와 빈 정보의 1페이지를 재표시시키려고 하였다고 하자. 예를 들면, 브라우저에 통상 구비되어 있는 백 버튼으로 지난 예약 상황 화면을 불러 내어, 동일하게 통상 구비되어 있는 재표시 버튼을 눌렀다고 한다. 이 경우, 페이지 관리 기구(212)가 지난 화면에 대한 처리인 것을 판별한다. 이 경우, 이력 상의 페이지이므로, 상태 캐쉬에 상태가 저장되어 있는지를 체크한다. 전의 경우와 마찬가지로, 상기에 진술한 바와 같이 상태 캐쉬는 무효화되어 있으므로, 재실행이 금지되어 있는 것이 판명된다. 이 결과, 에러를 통지하는 표시 제어 정보가 생성되고 단말에 보내져서, 에러 화면이 단말에 표시된다.
실제로 표시되는 페이지를 직접 지정하는 것이 아니라, 페이지 그룹이라는 단위로 지정하기 때문에, 실제로 표시되는 페이지가 분할되더라도, 애플리케이션으로 요청되는 올바른 재실행 제어를 할 수 있었다.
여러가지 능력을 갖는 클라이언트 단말에 대해, 각각의 능력에 따른 사용자 인터페이스를 제공하기 위한 동적인 문서 또는 표시 제어 정보를 생성할 수 있었다.
또한, 서버에서 실시되는 애플리케이션을, 상기 애플리케이션의 처리 결과를 사용하는 클라이언트 단말에 의존하지 않도록 하는 기구를 제공하는 것도 가능하였다.
또한, 서버에서 실시되는 애플리케이션의 처리와 상기 처리 결과를 나타내는 표시 문서의 작성을 분리하여, 여러가지 클라이언트 단말이 새롭게 출현하여도, 표시 문서의 작성 부분만을 변경하면 되도록 할 수도 있었다.
또한, 단말의 브라우저의 화면 재표시 기능을 이용한 이력 상의 페이지의 재실행에 대해, 애플리케이션의 처리에 맞춘 유연한 재실행 제어와 인증 제어를, 애플리케이션 프로그램으로부터의 간단한 지정으로 실현할 수 있었다. 이 지정은, 애플리케이션 처리를 기술하는 데 있어서 페이지의 그룹으로서 간단하게 기술하고, 동적인 페이지 구성을 행할 때에도 유효하다는 것도 나타내었다.
Claims (20)
- 사용자가 사용하는 단말에 적합한 형태로 표시를 행하도록 표시 제어 정보를 생성하는 방법에 있어서,상기 단말로부터의 표시 요구를 수신하는 단계와,상기 표시 요구에 응답하여, 표시 내용에 관한 데이타 오브젝트군을 생성하는 단계 -상기 데이타 오브젝트군은 상기 단말에 독립적임- 와,상기 데이타 오브젝트군 및 상기 단말의 속성 정보를 이용하여, 상기 표시 제어 정보를 생성하기 위한 뷰 오브젝트군을 생성하는 단계와,상기 단말의 속성 정보를 참조하여, 상기 뷰 오브젝트군에 의해 상기 표시 제어 정보를 생성하는 단계를 포함하는 표시 제어 정보 생성 방법.
- 삭제
- 제1항에 있어서,상기 뷰 오브젝트군을 생성하는 단계는,상기 뷰 오브젝트군의 루트 오브젝트를 생성하는 단계와,상기 루트 오브젝트에 의해 자(子) 오브젝트를 생성하는 단계를 포함하는 표시 제어 정보 생성 방법.
- 제1항에 있어서,상기 데이타 오브젝트는 대응 뷰 오브젝트의 생성 및 뷰 오브젝트에 의한 상기 표시 제어 정보의 생성에 있어서 이용되는 지시 정보를 보유하고 있는 표시 제어 정보 생성 방법.
- 제1항에 있어서,상기 단말 속성 정보는 상기 단말의 화면의 크기 정보를 포함하는 표시 제어 정보 생성 방법.
- 제1항에 있어서,상기 표시 제어 정보는 하이퍼 텍스트 마크업 랭귀지(HTML)인 표시 제어 정보 생성 방법.
- 제1항에 있어서,상기 표시 제어 정보를 생성하는 단계는 상기 단말 속성 정보를 참조하여, 상기 뷰 오브젝트군의 루트 오브젝트로부터 순서대로 담당 부분의 표시 제어 정보를 생성하는 단계를 포함하는 표시 제어 정보 생성 방법.
- 삭제
- 삭제
- 삭제
- 사용자가 사용하는 단말에 적합한 형태로 표시를 행하도록 표시 제어 정보를 생성하는 서버 컴퓨터에 있어서,상기 단말로부터의 표시 요구에 응답하여, 표시 내용에 관한 데이타 오브젝트군을 생성하는 모듈 -상기 데이타 오브젝트군은 상기 단말에 독립적임- 과,상기 데이타 오브젝트군 및 상기 단말의 속성 정보를 이용하여, 상기 표시 제어 정보를 생성하기 위한 루트 뷰 오브젝트(root view object)를 생성하는 모듈과,상기 루트 뷰 오브젝트에, 자신의 자(子) 뷰 오브젝트를 생성하도록 명령하는 모듈과,상기 루트 뷰 오브젝트에, 상기 표시 제어 정보의 생성을 명령하는 모듈을 포함하는 서버 컴퓨터.
- 제11항에 있어서,상기 단말로부터 수신한 단말 식별 정보로부터 상기 단말 속성 정보를 도출하는 모듈을 더 포함하는 서버 컴퓨터.
- 제11항에 있어서,상기 자 뷰 오브젝트는 자신의 자 오브젝트를 생성할 수 있는 서버 컴퓨터.
- 제11항에 있어서,상기 루트 뷰 오브젝트는 상기 표시 제어 정보의 생성을 상기 자 뷰 오브젝트에 명령할 수 있는 서버 컴퓨터.
- 제11항에 있어서,상기 루트 뷰 오브젝트 및 상기 자 뷰 오브젝트를 포함하는 뷰 오브젝트군은, 상기 단말 속성 정보를 참조하여 상기 표시 제어 정보를 생성하는 서버 컴퓨터.
- 제11항에 있어서,상기 단말로부터의 표시 요구에 응답하여, 상기 표시 요구에 의해 상기 데이타 오브젝트군을 생성할 필요가 있는지를 판단하고, 상기 데이타 오브젝트군을 생성할 필요가 없는 경우에는, 상기 루트 뷰 오브젝트에 상기 표시 요구를 출력하는 모듈을 포함하는 서버 컴퓨터.
- 제11항에 있어서,이력(履歷) 상의 페이지(history page)의 재실행·재인증의 제어를 행하기 위해,페이지 정의를 그룹화하는 모듈과,그룹화한 페이지 정의를 상기 표시 제어 정보의 생성에 이용되는 지시 정보에 포함하는 모듈과,이력 상의 페이지의 재실행이 행해졌는지의 여부를 판별하는 모듈과,재실행되어 있고 처리 상태의 캐쉬가 존재하는 경우는 처리 상태를 복원하는 모듈과,애플리케이션 처리의 실행과 그 때의 처리 상태를 캐쉬에 저장하는 모듈과,애플리케이션의 처리 결과에 따라서 상기 페이지 정의의 그룹을 지정하여 해당하는 페이지에 대응하는 처리 상태를 클리어하는 모듈을 포함하는 서버 컴퓨터.
- 제17항에 있어서,이력 상의 페이지가 인증이 필요한지의 여부와 인증 상태를 체크하는 모듈과,인증이 필요할 때에 인증을 확인하는 모듈과,애플리케이션의 처리 결과에 따라 이력 상의 페이지의 인증 상태를 변경하는 모듈을 더 포함하는 서버 컴퓨터.
- 사용자가 사용하는 단말에 적합한 형태로 표시를 행하도록 표시 제어 정보를 서버 컴퓨터에 생성시키는 프로그램을 기억한 기억 매체에 있어서,상기 프로그램은 상기 서버 컴퓨터에,상기 단말로부터의 표시 요구에 응답하여, 표시 내용에 관한 데이타 오브젝트군을 생성하는 단계 -상기 데이타 오브젝트군은 상기 단말에 독립적임- 와,상기 데이타 오브젝트군 및 상기 단말의 속성 정보를 이용하여, 상기 표시 제어 정보를 생성하기 위한 루트 뷰 오브젝트를 생성하는 단계와,상기 루트 뷰 오브젝트에, 자신의 자 뷰 오브젝트를 생성하도록 명령하는 단계와,상기 루트 뷰 오브젝트에, 상기 표시 제어 정보의 생성을 명령하는 단계를 실행시키는 기억 매체.
- 삭제
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18439298 | 1998-06-30 | ||
JP1998-184392 | 1998-06-30 | ||
JP03842299A JP3202968B2 (ja) | 1998-06-30 | 1999-02-17 | 表示制御情報生成方法及びコンピュータ |
JP1999-038422 | 1999-02-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000006096A KR20000006096A (ko) | 2000-01-25 |
KR100353585B1 true KR100353585B1 (ko) | 2002-09-26 |
Family
ID=26377674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990021683A KR100353585B1 (ko) | 1998-06-30 | 1999-06-11 | 표시 제어 정보 생성 방법 및 컴퓨터 |
Country Status (8)
Country | Link |
---|---|
US (2) | US6973619B1 (ko) |
EP (1) | EP0969389A3 (ko) |
JP (1) | JP3202968B2 (ko) |
KR (1) | KR100353585B1 (ko) |
CN (1) | CN1120432C (ko) |
MY (1) | MY125812A (ko) |
SG (1) | SG83132A1 (ko) |
TW (1) | TW413764B (ko) |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925595B1 (en) | 1998-08-05 | 2005-08-02 | Spyglass, Inc. | Method and system for content conversion of hypertext data using data mining |
US7356482B2 (en) | 1998-12-18 | 2008-04-08 | Alternative Systems, Inc. | Integrated change management unit |
SE524391C2 (sv) * | 1998-12-28 | 2004-08-03 | Spyglass Inc | Metod och system för innehållskonvertering av elektroniska dokument för trådlösa klienter. |
FR2793636B1 (fr) * | 1999-05-14 | 2001-07-27 | Matra Nortel Communications | Procede de signalisation entre un systeme de commutation et un equipement telephonique terminal, systeme de commutation et equipement telephonique terminal pour la mise en oeuvre du procede |
FI110983B (fi) * | 1999-08-30 | 2003-04-30 | Sonera Oyj | Palvelusisällön julkaiseminen |
US9843447B1 (en) | 1999-09-09 | 2017-12-12 | Secure Axcess Llc | Authenticating electronic content |
KR20010047539A (ko) * | 1999-11-22 | 2001-06-15 | 오기호 | 다양한 플랫폼을 지원하는 정적인 마크업 언어 파일 생성시스템 및 방법 |
EP1384165A2 (en) * | 1999-11-30 | 2004-01-28 | Broadvision Inc. | Customization of output content based on device type |
KR100333676B1 (ko) * | 1999-12-24 | 2002-04-24 | 오길록 | 단일 데이터 조회 프로그램을 이용한 복수개의 데이터 뷰생성방법 |
KR100684419B1 (ko) * | 1999-12-30 | 2007-02-16 | 주식회사 케이티 | 다중 경로 접속이 허용된 개인정보 관리 시스템 및 그 방법 |
JP2001195330A (ja) * | 2000-01-11 | 2001-07-19 | Nec Mobile Commun Ltd | ゲートウェイサーバ及びコンテンツ取得方法 |
EP1117050A1 (en) | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Individual data representation |
EP1117220A1 (en) | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Method and system for protocol conversion |
JP2001273188A (ja) * | 2000-03-27 | 2001-10-05 | Five Any Inc | 異種端末のアクセスを許容するウェブサイト及びウェブサイトに異種端末のアクセスを許容する方法 |
AU4465301A (en) * | 2000-03-31 | 2001-10-08 | Kyocera Communication Systems, Co., Ltd. | Content server device |
KR20020041330A (ko) * | 2000-03-31 | 2002-06-01 | 쿄세라 커뮤니케이션 시스템 가부시키가이샤 | 컨텐츠 서버장치 |
WO2001073560A1 (fr) * | 2000-03-31 | 2001-10-04 | Kyocera Communication Systems, Co., Ltd. | Systeme fournisseur de contenus |
US20040049737A1 (en) * | 2000-04-26 | 2004-03-11 | Novarra, Inc. | System and method for displaying information content with selective horizontal scrolling |
US7500188B1 (en) | 2000-04-26 | 2009-03-03 | Novarra, Inc. | System and method for adapting information content for an electronic device |
US7072984B1 (en) | 2000-04-26 | 2006-07-04 | Novarra, Inc. | System and method for accessing customized information over the internet using a browser for a plurality of electronic devices |
US7747782B2 (en) * | 2000-04-26 | 2010-06-29 | Novarra, Inc. | System and method for providing and displaying information content |
FR2809844B1 (fr) * | 2000-05-31 | 2002-11-22 | Wokup Sa | Systeme de publication multi-terminal et procede de mise en oeuvre correspondant |
JP2002064802A (ja) * | 2000-08-21 | 2002-02-28 | Sony Corp | データ伝送システム、データ伝送装置及び方法、シーン記述処理装置及び方法 |
US7437312B2 (en) * | 2000-08-23 | 2008-10-14 | Bizrate.Com | Method for context personalized web browsing |
US7793220B1 (en) * | 2000-08-29 | 2010-09-07 | Citrix Systems, Inc. | Scalable derivative services |
FR2813416B1 (fr) * | 2000-08-31 | 2003-10-17 | Canon Kk | Procede et dispositif d'adaptation du contenu de documents sur un serveur d'informations |
GB2366633A (en) * | 2000-09-06 | 2002-03-13 | Argo Interactive Group Plc | Analysing hypertext documents |
GB0023570D0 (en) * | 2000-09-26 | 2000-11-08 | Volantis Systems Ltd | Web server |
JP2002117171A (ja) * | 2000-10-12 | 2002-04-19 | Ricoh Co Ltd | ソフトウエア格付けシステム及びその方法、ソフトウエア格付け公開システム及びその方法並びに記憶媒体 |
US20020143821A1 (en) * | 2000-12-15 | 2002-10-03 | Douglas Jakubowski | Site mining stylesheet generator |
JP2002189673A (ja) * | 2000-12-20 | 2002-07-05 | Just Syst Corp | 情報提供装置、情報提供方法、及び記録媒体 |
GB2371433B (en) * | 2001-01-12 | 2005-10-19 | Waptv Ltd | Television receiver and method of operating a server |
IL157137A0 (en) * | 2001-01-31 | 2004-02-08 | Computer Ass Think Inc | System and method for defining and presenting a composite web page |
WO2002061974A1 (fr) * | 2001-01-31 | 2002-08-08 | Net Time Corporation | Systeme de communication de donnees, procede de communication de donnees, dispositif de transmission de donnees, assistant numerique personnel et dispositif portable |
WO2002073369A2 (en) | 2001-03-14 | 2002-09-19 | United Parcel Service Of America, Inc. | Systems and methods for initiating returns over a network |
JP2002278936A (ja) * | 2001-03-15 | 2002-09-27 | Cognitive Research Laboratories Inc | 携帯情報端末におけるセキュリティ管理データの操作システム |
CN1320480C (zh) | 2001-03-23 | 2007-06-06 | 艾瑞赞公司 | 通过无线通信媒体向便携式计算装置传送内容的***与方法 |
GB2370947B (en) * | 2001-04-17 | 2003-05-07 | David Pierce Hughes | Display system |
US7565605B2 (en) * | 2001-05-08 | 2009-07-21 | Nokia, Inc. | Reorganizing content of an electronic document |
US7584418B2 (en) * | 2001-05-31 | 2009-09-01 | Oracle International Corporation | Methods, systems, and articles of manufacture for prefabricating an information page |
JP4841767B2 (ja) * | 2001-08-16 | 2011-12-21 | 株式会社アイペックス | 通信回線を用いた情報供給システム |
JP2003153254A (ja) | 2001-08-31 | 2003-05-23 | Canon Inc | データ処理装置及びデータ処理方法、並びにプログラム、記憶媒体 |
US7895522B2 (en) | 2001-09-28 | 2011-02-22 | Ntt Docomo, Inc. | Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
US7934162B2 (en) | 2001-09-28 | 2011-04-26 | Ntt Docomo, Inc. | Running state migration of platform specific graphical user interface widgets between heterogeneous device platforms |
DE10148733A1 (de) * | 2001-10-02 | 2003-04-17 | T Mobile Deutschland Gmbh | Verfahren zur Anpassung des Ausgabeformats eines WWW-Servers |
US6955298B2 (en) * | 2001-12-27 | 2005-10-18 | Samsung Electronics Co., Ltd. | Apparatus and method for rendering web page HTML data into a format suitable for display on the screen of a wireless mobile station |
US7818657B1 (en) * | 2002-04-01 | 2010-10-19 | Fannie Mae | Electronic document for mortgage transactions |
US7340521B1 (en) * | 2002-04-02 | 2008-03-04 | Blue Coat Systems, Inc. | Method for routing a request over a network to a content source that can most advantageous serve the request |
US7251697B2 (en) * | 2002-06-20 | 2007-07-31 | Koninklijke Philips Electronics N.V. | Method and apparatus for structured streaming of an XML document |
FR2842011A1 (fr) * | 2002-07-08 | 2004-01-09 | Canal Plus Technologies | Unite et procede de gestion d'affichage sur un ecran d'une portion courante de document |
JP2007310907A (ja) * | 2002-07-22 | 2007-11-29 | Ricoh Co Ltd | 情報処理装置及び情報処理方法 |
JP4988200B2 (ja) * | 2002-10-17 | 2012-08-01 | サムスン エレクトロニクス カンパニー リミテッド | 縦横比情報が記録された情報保存媒体、その装置及び方法 |
SE0203779L (sv) | 2002-12-19 | 2004-06-20 | Abb Ab | Url-baserad åtkomst till Aspect Objects |
KR20040076649A (ko) * | 2003-02-26 | 2004-09-03 | 삼성전자주식회사 | 종횡비별 브라우저 그래픽 표시 장치 및 방법 |
DE10315953A1 (de) * | 2003-04-08 | 2004-10-28 | Abb Research Ltd. | Verfahren und System zur Erzeugung von an Client-Eigenschaften angepassten Web-Seiten |
EP1639489A4 (en) * | 2003-05-17 | 2007-11-14 | Microsoft Corp | SYSTEM AND METHOD FOR CONTROLLING USER INTERFACE PROPERTIES WITH DATA |
US7146563B2 (en) * | 2003-05-29 | 2006-12-05 | International Business Machines Corporation | Maintaining screen and form state in portlets |
JP4709481B2 (ja) | 2003-07-31 | 2011-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | サーバ、情報処理方法およびプログラム |
US8196044B2 (en) * | 2004-01-05 | 2012-06-05 | Microsoft Corporation | Configuration of user interfaces |
JP4474996B2 (ja) * | 2004-04-30 | 2010-06-09 | 日本電気株式会社 | 空き情報検索システム |
US7636922B2 (en) * | 2004-05-03 | 2009-12-22 | Microsoft Corporation | Generic user interface command architecture |
US20050246665A1 (en) * | 2004-05-03 | 2005-11-03 | Microsoft Corporation | Systems and methods for an improved user interface shell for small computer devices |
JP4513509B2 (ja) * | 2004-11-05 | 2010-07-28 | ブラザー工業株式会社 | ファイル取得システムおよび端末装置 |
US7778495B2 (en) | 2004-11-05 | 2010-08-17 | Brother Kogyo Kabushiki Kaisha | System and device for image processing |
US9009582B2 (en) | 2004-11-19 | 2015-04-14 | Google Inc. | Converting spreadsheet applications to web-based applications |
US20060161672A1 (en) * | 2004-11-22 | 2006-07-20 | Bea Systems, Inc. | System and method for improved interportlet communications |
US7788340B2 (en) * | 2004-11-22 | 2010-08-31 | Bea Systems Inc. | System and method for event based interportlet communications |
US7574712B2 (en) * | 2004-11-22 | 2009-08-11 | Bea Systems, Inc. | User interface for configuring web services for remote portlets |
US7502853B2 (en) * | 2004-11-22 | 2009-03-10 | Bea Systems, Inc. | System and method for improved remote portlet communications |
KR100657324B1 (ko) * | 2005-07-04 | 2006-12-14 | 삼성전자주식회사 | XHTML-Print 데이터를 이용한 화상형성방법 및시스템 |
JP2006042374A (ja) * | 2005-08-08 | 2006-02-09 | Ipex:Kk | 通信回線を用いた情報供給システム |
US7617448B2 (en) * | 2005-09-06 | 2009-11-10 | Cisco Technology, Inc. | Method and system for validation of structured documents |
AU2006320203B2 (en) | 2005-12-02 | 2011-12-01 | Citrix Systems, Inc. | Method and apparatus for providing authentication credentials from a proxy server to a virtualized computing environment to access a remote resource |
US8010897B2 (en) * | 2006-07-25 | 2011-08-30 | Paxson Dana W | Method and apparatus for presenting electronic literary macramés on handheld computer systems |
US7810021B2 (en) * | 2006-02-24 | 2010-10-05 | Paxson Dana W | Apparatus and method for creating literary macramés |
US8091017B2 (en) | 2006-07-25 | 2012-01-03 | Paxson Dana W | Method and apparatus for electronic literary macramé component referencing |
US8689134B2 (en) | 2006-02-24 | 2014-04-01 | Dana W. Paxson | Apparatus and method for display navigation |
US20070220421A1 (en) * | 2006-03-16 | 2007-09-20 | Microsoft Corporation | Adaptive Content Service |
US8307119B2 (en) | 2006-03-31 | 2012-11-06 | Google Inc. | Collaborative online spreadsheet application |
US20110179344A1 (en) * | 2007-02-26 | 2011-07-21 | Paxson Dana W | Knowledge transfer tool: an apparatus and method for knowledge transfer |
US20080313545A1 (en) * | 2007-06-13 | 2008-12-18 | Microsoft Corporation | Systems and methods for providing desktop or application remoting to a web browser |
WO2009001355A2 (en) * | 2007-06-25 | 2008-12-31 | Yosef Salomon | Device, system, and method of protected purchasing |
CN101378561B (zh) * | 2007-08-29 | 2013-01-02 | 华为技术有限公司 | 提供终端外观内容的方法、外观定制服务器和*** |
US20090070739A1 (en) * | 2007-09-12 | 2009-03-12 | Philipp Ralf H | System and method of communicating between heterogeneous systems |
US8028225B2 (en) * | 2007-11-21 | 2011-09-27 | Microsoft Corporation | Visual system for visualizing, navigating, and editing attribute lattices within OLAP databases |
JP5243452B2 (ja) * | 2007-12-28 | 2013-07-24 | 株式会社Access | ブラウザプログラム及び端末装置 |
US20090284476A1 (en) * | 2008-05-13 | 2009-11-19 | Apple Inc. | Pushing a user interface to a remote device |
US8970647B2 (en) | 2008-05-13 | 2015-03-03 | Apple Inc. | Pushing a graphical user interface to a remote device with display rules provided by the remote device |
US9311115B2 (en) | 2008-05-13 | 2016-04-12 | Apple Inc. | Pushing a graphical user interface to a remote device with display rules provided by the remote device |
US9870130B2 (en) | 2008-05-13 | 2018-01-16 | Apple Inc. | Pushing a user interface to a remote device |
JP5123133B2 (ja) * | 2008-10-17 | 2013-01-16 | パナソニック株式会社 | 表示システム、および表示器 |
KR101574603B1 (ko) | 2008-10-31 | 2015-12-04 | 삼성전자주식회사 | 컨디셔널 프로세싱 방법 및 장치 |
WO2010056867A1 (en) | 2008-11-12 | 2010-05-20 | Ab Initio Software Llc | Managing and automatically linking data objects |
US9009662B2 (en) * | 2008-12-18 | 2015-04-14 | Adobe Systems Incorporated | Platform sensitive application characteristics |
US9009661B2 (en) * | 2008-12-18 | 2015-04-14 | Adobe Systems Incorporated | Platform sensitive application characteristics |
CN101841514A (zh) * | 2009-03-17 | 2010-09-22 | 联想(北京)有限公司 | 邮件处理方法及设备 |
CN101770333B (zh) | 2009-12-24 | 2012-05-23 | 华为终端有限公司 | 实现路由配置的方法及路由设备 |
FR2957432B1 (fr) * | 2010-03-09 | 2012-04-27 | Olivier Cadou | Procede et systeme de prise de controle a distance d'un ecran d'affichage |
US20110258679A1 (en) * | 2010-04-15 | 2011-10-20 | International Business Machines Corporation | Method and System for Accessing Network Feed Entries |
US8949726B2 (en) * | 2010-12-10 | 2015-02-03 | Wyse Technology L.L.C. | Methods and systems for conducting a remote desktop session via HTML that supports a 2D canvas and dynamic drawing |
US8589800B2 (en) * | 2010-12-10 | 2013-11-19 | Wyse Technology Inc. | Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server |
JP5743523B2 (ja) * | 2010-12-15 | 2015-07-01 | アルパイン株式会社 | 電子装置 |
US10108386B2 (en) * | 2011-02-04 | 2018-10-23 | Qualcomm Incorporated | Content provisioning for wireless back channel |
JP5201541B2 (ja) * | 2011-02-22 | 2013-06-05 | 日本電気株式会社 | 表示箇所抽出装置及び表示箇所抽出方法 |
CN102693237B (zh) * | 2011-03-24 | 2014-09-10 | 中国科学院声学研究所 | 一种网页内容适配封装***及方法 |
US20120284631A1 (en) * | 2011-05-02 | 2012-11-08 | German Lancioni | Methods to adapt user interfaces and input controls |
JP5658196B2 (ja) * | 2012-05-08 | 2015-01-21 | 株式会社野村総合研究所 | マルチデバイス対応WebサーバシステムおよびWebサーバシステムにおけるマルチデバイス対応方法 |
US20140104137A1 (en) * | 2012-10-16 | 2014-04-17 | Google Inc. | Systems and methods for indirectly associating logical and physical display content |
JP5850895B2 (ja) | 2013-09-20 | 2016-02-03 | ヤフー株式会社 | 検索システム、検索方法、端末装置および検索プログラム |
KR101548228B1 (ko) * | 2013-12-27 | 2015-08-28 | 주식회사 케이티 | 사용자 상태에 기반하여 사용자 인터페이스를 동기화하는 동기화 기기 및 동기화 방법 |
WO2016040494A1 (en) * | 2014-09-09 | 2016-03-17 | Liveperson, Inc. | Dynamic code management |
CN105912226A (zh) * | 2016-04-11 | 2016-08-31 | 北京小米移动软件有限公司 | 应用程序中页面的显示方法及装置 |
US9760606B1 (en) * | 2016-10-05 | 2017-09-12 | Palantir Technologies Inc. | System to generate curated ontologies |
CN112037332B (zh) * | 2020-09-28 | 2023-09-05 | 北京百度网讯科技有限公司 | 浏览器的显示校验方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH047774A (ja) * | 1990-04-26 | 1992-01-13 | Nec Corp | コマンドメニュー制御方式 |
WO1997017662A1 (en) * | 1995-11-06 | 1997-05-15 | C/Net, Inc. | Method and apparatus for server-independent caching of dynamically-generated customized pages |
WO1998015091A1 (en) * | 1996-09-30 | 1998-04-09 | Casio Computer Co., Ltd. | Information transfer system |
US5761673A (en) * | 1996-01-31 | 1998-06-02 | Oracle Corporation | Method and apparatus for generating dynamic web pages by invoking a predefined procedural package stored in a database |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5295241A (en) * | 1990-08-31 | 1994-03-15 | International Business Machines Corporation | Method and apparatus for local function key control of scrolling on certain computer workstations |
JP3056297B2 (ja) * | 1991-09-20 | 2000-06-26 | 株式会社日立製作所 | 図面情報処理システム、設計支援方法 |
US5821940A (en) * | 1992-08-03 | 1998-10-13 | Ball Corporation | Computer graphics vertex index cache system for polygons |
US5649131A (en) * | 1992-12-30 | 1997-07-15 | Lucent Technologies Inc. | Communications protocol |
WO1995018413A1 (en) * | 1993-12-30 | 1995-07-06 | Taligent, Inc. | Object-oriented view hierarchy framework |
US6166734A (en) * | 1996-10-01 | 2000-12-26 | Diamond Multimedia Systems, Inc. | Portable interactive graphics display tablet and communications system |
US5867153A (en) * | 1996-10-30 | 1999-02-02 | Transaction Technology, Inc. | Method and system for automatically harmonizing access to a software application program via different access devices |
US6023714A (en) * | 1997-04-24 | 2000-02-08 | Microsoft Corporation | Method and system for dynamically adapting the layout of a document to an output device |
US6085187A (en) * | 1997-11-24 | 2000-07-04 | International Business Machines Corporation | Method and apparatus for navigating multiple inheritance concept hierarchies |
US6473100B1 (en) * | 1998-05-20 | 2002-10-29 | Microsoft Corporation | Hosting controls in a window via an interface for controlling the window |
US6260050B1 (en) * | 1999-03-23 | 2001-07-10 | Microstrategy, Inc. | System and method of adapting automatic output of service related OLAP reports to disparate output devices |
US6567796B1 (en) * | 1999-03-23 | 2003-05-20 | Microstrategy, Incorporated | System and method for management of an automatic OLAP report broadcast system |
US6591289B1 (en) * | 1999-07-27 | 2003-07-08 | The Standard Register Company | Method of delivering formatted documents over a communications network |
-
1999
- 1999-02-17 JP JP03842299A patent/JP3202968B2/ja not_active Expired - Fee Related
- 1999-05-28 MY MYPI99002122A patent/MY125812A/en unknown
- 1999-05-31 TW TW088108972A patent/TW413764B/zh not_active IP Right Cessation
- 1999-06-04 CN CN99106987A patent/CN1120432C/zh not_active Expired - Fee Related
- 1999-06-09 SG SG9902785A patent/SG83132A1/en unknown
- 1999-06-11 KR KR1019990021683A patent/KR100353585B1/ko not_active IP Right Cessation
- 1999-06-28 EP EP99305080A patent/EP0969389A3/en not_active Ceased
- 1999-06-30 US US09/343,992 patent/US6973619B1/en not_active Expired - Fee Related
-
2005
- 2005-07-12 US US11/179,723 patent/US7774692B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH047774A (ja) * | 1990-04-26 | 1992-01-13 | Nec Corp | コマンドメニュー制御方式 |
WO1997017662A1 (en) * | 1995-11-06 | 1997-05-15 | C/Net, Inc. | Method and apparatus for server-independent caching of dynamically-generated customized pages |
US5761673A (en) * | 1996-01-31 | 1998-06-02 | Oracle Corporation | Method and apparatus for generating dynamic web pages by invoking a predefined procedural package stored in a database |
WO1998015091A1 (en) * | 1996-09-30 | 1998-04-09 | Casio Computer Co., Ltd. | Information transfer system |
Also Published As
Publication number | Publication date |
---|---|
SG83132A1 (en) | 2001-09-18 |
JP2000082039A (ja) | 2000-03-21 |
US6973619B1 (en) | 2005-12-06 |
KR20000006096A (ko) | 2000-01-25 |
EP0969389A3 (en) | 2000-11-08 |
MY125812A (en) | 2006-08-30 |
JP3202968B2 (ja) | 2001-08-27 |
US7774692B2 (en) | 2010-08-10 |
EP0969389A2 (en) | 2000-01-05 |
CN1120432C (zh) | 2003-09-03 |
US20050246635A1 (en) | 2005-11-03 |
CN1243288A (zh) | 2000-02-02 |
TW413764B (en) | 2000-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100353585B1 (ko) | 표시 제어 정보 생성 방법 및 컴퓨터 | |
US6338096B1 (en) | System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources | |
EP1320972B1 (en) | Network server | |
US7406659B2 (en) | Smart links | |
US8819177B2 (en) | Adding personalized value to web sites | |
US7873965B2 (en) | Methods and apparatus for communicating changes between a user-interface and an executing application, using property paths | |
US6785740B1 (en) | Text-messaging server with automatic conversion of keywords into hyperlinks to external files on a network | |
US7523158B1 (en) | System and method for partial page updates using a proxy element | |
JP5551938B2 (ja) | クライアントデバイスに表示する情報コンテンツを提供する方法及び装置 | |
US20020032706A1 (en) | Method and system for building internet-based applications | |
US20050200907A1 (en) | Display control information generation | |
JP2004530959A (ja) | コンテンツのモバイル装置への配信システム及び配信方法 | |
JPH1027106A (ja) | ネットワークにわたる組込み型アプリケーションの伝送用システム | |
US20140059172A1 (en) | Remote portlet consumer with enhanced resource url processing | |
US20100229081A1 (en) | Method for Providing a Navigation Element in an Application | |
US20040268249A1 (en) | Document transformation | |
EP2972827B1 (en) | Collaborative editing | |
JP2004164623A (ja) | 表示データ生成装置、表示データ生成システム、表示データ生成方法、表示データ生成プログラム及び記録媒体 | |
JP2006243829A (ja) | ウェブコンテンツ変換方法およびウェブコンテンツ変換システム | |
EP1283993A2 (en) | Method and system for building internet-based applications | |
US20080065677A1 (en) | Analyzing web site traffic | |
US20040225672A1 (en) | Method for editing a web site | |
KR20120016333A (ko) | 웹 어플리케이션을 위한 사전 캐싱 방법 및 이를 적용한 단말 장치 | |
US20050283719A1 (en) | HTML file processing technique | |
US20050198568A1 (en) | Table display switching method, text data conversion program, and tag program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070827 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |