KR101055879B1 - 웹 페이지의 적시 업데이트 - Google Patents

웹 페이지의 적시 업데이트 Download PDF

Info

Publication number
KR101055879B1
KR101055879B1 KR1020067017422A KR20067017422A KR101055879B1 KR 101055879 B1 KR101055879 B1 KR 101055879B1 KR 1020067017422 A KR1020067017422 A KR 1020067017422A KR 20067017422 A KR20067017422 A KR 20067017422A KR 101055879 B1 KR101055879 B1 KR 101055879B1
Authority
KR
South Korea
Prior art keywords
update
web page
session identifier
client
refresh
Prior art date
Application number
KR1020067017422A
Other languages
English (en)
Other versions
KR20060129414A (ko
Inventor
로드에릭 클린트 바우저
존 라펜타 제이알
조셉 로렌스 사운더스
안 윌스
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20060129414A publication Critical patent/KR20060129414A/ko
Application granted granted Critical
Publication of KR101055879B1 publication Critical patent/KR101055879B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

리프레시 제어 도우미와 통신하는 함수가 웹 페이지에 부가된다. 웹 페이지는 세션 식별자와 연관된다. 만일 웹 페이지에 영향을 주는 정보 업데이트가 발생하면, 업데이트 통지가 세션 식별자와 연관된다. 주기적으로, 웹 페이지 내의 함수가 리프레시 제어 도우미에게 세션 식별자를 전송한다. 리프레시 제어 도우미는 리프레시 제어기를 호출하고 세션 식별자를 전달한다. 리프레시 제어기는 데이터 저장소를 체크하여 세션 식별자와 연관된 업데이트 통지가 수신되었는지를 판정한다. 만일 해당 페이지에 대해 업데이트가 이용 가능하다면, 리프레시 제어기는 새로운 데이터가 이용 가능함을 리프레시 제어 도우미에게 알리고 데이터 저장소로부터 해당 세션 식별자에 대한 임의의 업데이트 통지를 제거한다. 이후, 리프레시 제어 도우미는 새로운 데이터가 이용 가능함을 상기 웹 페이지 내의 함수에게 알리고 해당 함수는 페이지 새로고침을 요청한다.
웹 페이지, 업데이트, 리프레시 제어 도우미(refresh control helper), 세션 식별자, 포틀릿(portlet), 서블릿(servlet), 백 엔드 프로세스

Description

웹 페이지의 적시 업데이트{TIMELY UPDATE OF A WEB PAGE}
본 발명은 데이터 처리에 관한 것으로, 특히 웹 문서에 표시된 정보의 업데이트에 관한 것이다.
웹 관련 애플리케이션의 이용은, 비즈니스에서든 일상의 사적인 일에서든, 사회에서 더욱 더 널리 행해지고 있다. 예를 들면, 다수의 개인 웹 사용자들이 "포털(portal)" 페이지로 웹 세션을 시작한다. 포털은, 예를 들면, 웹 검색, 뉴스, 화이트 및 옐로우 페이지 디렉토리, 전자우편, 토론방, 온라인 쇼핑, 및 다른 사이트로의 링크를 포함하는 각종 서비스를 제공하는 웹 "슈퍼사이트(supersite)"이다. 이 용어는 처음에는 범용 사이트를 지칭하는데 사용되었지만, "포털"이라는 용어는 또한 복수의 서비스를 제공하는 다른 사이트들, 특히 동적인 콘텐츠를 제공하는 것들을 지칭하는데 사용될 수도 있다.
포털 서버는 공중 웹 사이트(public Web site) 또는 내부 인트라넷에 포털 서비스들을 전개(deploy)시키는 네트워크 서버이다. 또한, 포털 서버는 웹 페이지를 통하여 포털 서비스들을 개발, 전달 및 유지하는데 사용되는 애플리케이션을 지칭할 수도 있다. 포털 서버는 전형적으로 사용자 인증, 아이덴티티 관리, 검색 설비, 및 콘텐츠 수집 능력을 포함하는 각종 도구(tool)와 함수(function)를 포함한 다.
또한, 사용자 개인화(user personalization)는 사람들이 그들 자신의 웹 페이지를 맞춤화(customize)하게 하는 특징일 수 있다. 사용자 개인화는 "포틀릿(portlet)"을 이용하여 실시될 수 있다. 포틀릿은 포털 페이지를 구축하기 위해 포털 서버에 의해 사용될 수 있는 작은 윈도우 또는 함수이다. 포틀릿 기술은 최종 사용자에 의해 또는 개발 팀에 의해 내부적으로 보다 신속하게 포털 페이지가 맞춤화될 수 있게 한다. 포틀릿 기술은 포털 서버의 부속물로서 또는 기업 자원 관리(ERP; enterprise resource planning) 애플리케이션들에의 최적의 인터페이스로서 나타날 수 있다. 맞춤화의 정도도 다양하다. 전형적인 예로서, 사용자는 검색 엔진 포틀릿, 주가(stock price) 포틀릿, 날씨 포틀릿, 및 스포츠 스코어 포틀릿을 포함하도록 포털 페이지를 맞춤화할 수 있다. 그러나, 더 많은 애플리케이션 특정 예들이 존재할 수도 있다. 예를 들면, 포털 페이지는 네트워크 자원들에 대한 모니터링 서비스를 제공할 수 있고, 이 경우 각 포틀릿은 특정 모니터를 제공한다.
사용자가 브라우저를 통하여 포털 페이지를 요청할 경우, 포털 서버는 해당 페이지를 구성하는 각종 포틀릿을 이용하여 포털 페이지를 동적으로 생성한다. 포털 페이지는 주가 정보, 날씨 정보, 또는 자원 모니터링 정보와 같은 시간 의존적인 콘텐츠를 포함할 수 있다. 따라서, 포털 페이지는 전형적으로, 예컨대 해당 페이지에 대한 리프레시 요청(refresh request)을 주기적으로 전송하는 자바스크립트 함수와 같은 것을 포함한다. 그러나, 이 함수는 해당 페이지에 대해 업데이트 정 보가 이용 가능(available)하든 아니든 리프레시 요청을 전송한다. 이는 결과적으로 다수의 보증되지 않은 리프레시 동작을 초래하고, 이는 부가적인 네트워크 트래픽을 발생시켜 포털 서버로 하여금 동일한 포털 페이지를 불필요하게 반복적으로 재생성하게 한다.
본 발명은 종래 기술의 단점을 인지하여 웹 페이지 내에 표시된 정보의 적시 업데이트를 위한 메커니즘을 제공한다.
제1 양태에 따르면, 웹 페이지의 업데이트를 위한 방법이 제공되는데, 이 방법은, 클라이언트로부터 세션 식별자를 수신하는 단계 - 상기 클라이언트는 웹 페이지를 요청하고 상기 세션 식별자는 상기 웹 페이지와 연관됨 -; 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계; 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재한다는 판정에 대한 응답으로, 업데이트가 존재한다는 통지를 상기 클라이언트에게 전송하는 단계 - 상기 클라이언트는 상기 통지에 대한 응답으로 페이지 리프레시를 요청함 - 를 포함한다.
바람직하게는, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하지 않는다는 판정에 대한 응답으로, 업데이트가 존재하지 않는다는 통지가 상기 클라이언트에게 전송된다.
바람직한 일 실시예에 따르면, 상기 웹 페이지는 리프레시 제어 도우미(refresh control helper)를 호출하는 리프레시 함수를 포함한다.
바람직한 일 실시예에 따르면, 상기 리프레시 함수는 타이머의 만료에 대한 응답으로 상기 리프레시 제어 도우미를 호출한다.
바람직한 일 실시예에 따르면, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계는 상기 리프레시 제어 도우미를 호출하는 상기 함수에 대한 응답으로 수행된다.
바람직한 일 실시예에 따르면, 백 엔드 프로세스(back end process)로부터 업데이트 이벤트들이 수신되고 상기 업데이트 이벤트들은 데이터 저장소(data store)에 저장된다.
바람직하게는, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계는 상기 데이터 저장소 내의 적어도 하나의 업데이트 이벤트가 상기 세션 식별자와 연관된 상기 웹 페이지에 대응하는지를 판정하는 단계를 포함한다.
일 실시예에 따르면, 상기 웹 페이지는 포틀릿들의 집합을 포함하고, 상기 데이터 저장소 내의 적어도 하나의 업데이트 이벤트가 상기 세션 식별자에 대응하는지를 판정하는 단계는 상기 데이터 저장소 내의 적어도 하나의 업데이트 이벤트가 상기 포틀릿들의 집합 내의 포틀릿에 대응하는지를 판정하는 단계를 포함한다.
일 실시예에 따르면, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재한다는 판정에 대한 응답으로, 상기 세션 식별자에 대응하는 임의의 업데이트 이벤트들이 상기 데이터 저장소로부터 삭제된다.
일 실시예에 따르면, 상기 웹 페이지는 포틀릿들의 집합을 포함하고, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계는 상기 포틀릿들의 집합 내의 포틀릿에 대해 업데이트가 존재하는지를 판정하는 단계를 포함한다.
바람직하게는, 포털 내에 표시된 정보의 적시 업데이트를 위한 방법, 장치, 및 프로그램이 제공된다.
바람직하게는, 리프레시 제어 도우미와 통신하는 함수가 웹 페이지에 부가된다. 웹 페이지는 바람직하게는 세션 식별자와 연관된다. 정보 업데이트가 발생할 때, 웹 페이지에 제공된 정보는 변할 수 있다. 만일 웹 페이지에 영향을 주는 정보 업데이트가 발생하면, 바람직하게는 업데이트 통지가 세션 식별자와 연관된다. (바람직한 일 실시예에 따르면) 주기적으로, 웹 페이지 내의 함수가 리프레시 제어 도우미에게 세션 식별자를 전송한다. 리프레시 제어 도우미는 바람직하게는 리프레시 제어기를 호출하여 세션 식별자를 전달한다. 리프레시 제어기는 바람직하게는 데이터 저장소를 체크하여 세션 식별자와 연관된 업데이트 통지가 수신되었는지를 판정한다. 만일 세션 식별자에 대해 업데이트가 이용 가능하지 않다면, 리프레시 제어기는 바람직하게는 해당 웹 페이지에 대해 새로운 데이터가 이용 가능하지 않음을 리프레시 제어 도우미에게 알린다. 만일 해당 페이지에 대해 업데이트가 이용 가능하다면, 리프레시 제어기는 바람직하게는 새로운 데이터가 이용 가능함을 리프레시 제어 도우미에게 알리고 바람직하게는 데이터 저장소로부터 해당 세션 식별자에 대한 임의의 업데이트 통지를 제거한다. 이후 리프레시 제어 도우미는 바람직하게는 새로운 데이터가 이용 가능함을 상기 웹 페이지 내의 함수에게 알리고 해당 함수는 바람직하게는 페이지 새로고침(page reload)을 요청한다.
제2 양태에 따르면, 웹 페이지의 업데이트를 위한 장치가 제공되는데, 이 장치는, 클라이언트로부터 세션 식별자를 수신하고 상기 클라이언트에 의해 요청된 웹 페이지를 상기 세션 식별자와 연관시키는 수신 컴포넌트(예컨대, 제어 포틀릿); 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하고, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재한다는 판정에 대한 응답으로, 업데이트가 존재한다는 통지를 상기 클라이언트에게 전송하는 리프레시 제어기를 포함하고, 상기 클라이언트는 상기 통지에 대한 응답으로 페이지 리프레시를 요청한다.
바람직하게는, 상기 리프레시 제어기는, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하지 않는다는 판정에 대한 응답으로, 업데이트가 존재하지 않는다는 통지를 상기 클라이언트에게 전송한다.
바람직한 일 실시예에 따르면, 상기 장치는 리프레시 제어 도우미를 더 포함한다. 이 실시예에 따르면, 상기 수신 컴포넌트(예컨대, 제어 포틀릿)는 상기 리프레시 제어 도우미를 호출하는 리프레시 함수를 상기 웹 페이지 내에 포함하고 상기 리프레시 제어 도우미는 상기 리프레시 제어 도우미를 호출하는 상기 리프레시 함수에 대한 응답으로 상기 리프레시 제어기를 호출한다.
바람직한 일 실시예에 따르면, 상기 리프레시 함수는 타이머의 만료에 대한 응답으로 상기 리프레시 제어 도우미를 호출한다.
바람직한 일 실시예에 따르면, 상기 리프레시 제어기는 상기 리프레시 제어기를 호출하는 상기 리프레시 제어 도우미에 대한 응답으로 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정한다.
바람직한 일 실시예에 따르면, 상기 장치는, 상기 리프레시 제어기에 업데이트 이벤트들을 전송하는 백 엔드 프로세스; 및 데이터 저장소를 더 포함하고, 상기 리프레시 제어기는 상기 업데이트 이벤트들을 상기 데이터 저장소에 저장한다.
바람직한 일 실시예에 따르면, 상기 리프레시 제어기는 상기 데이터 저장소 내의 적어도 하나의 업데이트 이벤트가 상기 웹 페이지에 대응하는지를 판정함으로써 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정한다.
바람직한 일 실시예에 따르면, 상기 리프레시 제어기는, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재한다는 판정에 대한 응답으로, 상기 세션 식별자에 대응하는 임의의 업데이트 이벤트들을 상기 데이터 저장소로부터 삭제한다.
바람직한 일 실시예에 따르면, 상기 웹 페이지는 포틀릿들의 집합을 포함하고 상기 리프레시 제어기는 상기 포틀릿들의 집합 내의 포틀릿에 대해 업데이트가 존재하는지를 판정함으로써 상기 세션 식별자에 대해 업데이트가 존재하는지를 판정한다.
제3 양태에 따르면, 웹 페이지의 업데이트를 위한, 컴퓨터 판독 가능한 매체 내의, 컴퓨터 프로그램 제품이 제공되고, 상기 컴퓨터 프로그램 제품은, 상기 클라이언트로부터 세션 식별자를 수신하기 위한 명령 - 상기 클라이언트는 웹 페이지를 요청하고 상기 세션 식별자는 상기 웹 페이지와 연관됨 -; 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하기 위한 명령; 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재한다는 판정에 대한 응답으로, 업데이트가 존재한다는 통지를 상기 클라이언트에게 전송하기 위한 명령을 포함하고, 상기 클라이언트는 상기 통지에 대한 응답으로 페이지 리프레시를 요청한다.
제4 양태에 따르면, 컴퓨터 상에서 실행될 때 상기 제1 양태에 따른 방법을 수행하기에 적합하게 구성된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램이 제공된다.
제5 양태에 따르면, 클라이언트가 웹페이지의 업데이트를 요청하는 방법이 제공되는데, 상기 방법은, 웹 페이지 세션 식별자를 서버에 전송하는 단계 - 상기 세션 식별자는 상기 클라이언트가 상기 웹 페이지를 요청했을 때 상기 웹 페이지와 연관됨 -; 상기 서버로부터 업데이트가 존재하는지에 대한 통지를 수신하는 단계; 및 업데이트가 존재함을 나타내는 통지에 대한 응답으로 페이지 리프레시를 요청하는 단계를 포함한다.
제6 양태에 따르면, 클라이언트가 웹 페이지의 업데이트를 요청하는 장치가 제공되는데, 상기 장치는, 웹 페이지 세션 식별자를 서버에 전송하기 위한 전송 컴포넌트 - 상기 세션 식별자는 상기 클라이언트가 상기 웹 페이지를 요청했을 때 상기 웹 페이지와 연관됨 -; 상기 서버로부터 업데이트가 존재하는지에 대한 통지를 수신하기 위한 수신 컴포넌트; 및 업데이트가 존재함을 나타내는 통지에 대한 응답으로 페이지 리프레시를 요청하기 위한 리프레시 요청 컴포넌트를 포함한다.
이제 본 발명의 바람직한 실시예에 대하여, 단지 예시로서, 이하의 도면들을 참조하여 설명하겠다.
도 1은 본 발명의 바람직한 일 실시예가 구현될 수 있는 데이터 처리 시스템의 네트워크의 그림 표현.
도 2는 본 발명의 바람직한 일 실시예에 따라 서버로서 구현될 수 있는 데이터 처리 시스템의 블록도.
도 3은 본 발명의 바람직한 일 실시예가 구현될 수 있는 데이터 처리 시스템의 블록도.
도 4는 본 발명의 예시적인 일 실시예에 따라 클라이언트 브라우저와 통신하는 포털 서버를 도시하는 블록도.
도 5는 본 발명의 예시적인 일 실시예에 따라 포털 서버 환경의 동작을 도시하는 흐름도.
데이터 처리 장치는 바람직한 실시예들에 따라 본 발명의 각종 양태를 수행하기 위해 다수의 컴퓨팅 장치들이 이용되는 분산(distributed) 데이터 처리 시스템 또는 자립형(stand-alone) 컴퓨팅 장치일 수 있다. 따라서, 이하의 도 1 내지 3은 바람직한 일 실시예에 따라 본 발명이 구현될 수 있는 데이터 처리 환경의 예시적인 도면으로서 제공된다. 도 1 내지 3은 단지 예시일 뿐이며 본 발명의 구현 될 수 있는 환경에 관하여 어떠한 제한을 주장 또는 시사하기 위해 의도된 것이 아님을 알아야 할 것이다. 본 발명의 사상과 범위를 벗어나지 않고서 도시된 환경에 대한 다수의 변경이 이루어질 수 있다.
이제 도면들을 참조하면, 도 1은 본 발명의 바람직한 일 실시예가 구현될 수 있는 데이터 처리 시스템의 네트워크에 대한 그림 표현을 도시하고 있다. 네트워크 데이터 처리 시스템(100)은 본 발명의 바람직한 일 실시예가 구현될 수 있는 컴퓨터들의 네트워크이다. 네트워크 데이터 처리 시스템(100)은, 네트워크 데이터 처리 시스템(100) 내에서 함께 접속된 컴퓨터 및 각종 장치 사이에 통신 링크를 제공하는데 사용되는 매체인 네트워크(102)를 포함한다. 네트워크(102)는 유선, 무선 통신 링크, 또는 광섬유 케이블과 같은 접속(connection)을 포함할 수 있다.
도시된 예에서, 서버(104)가 저장 유닛(106)과 함께 네트워크(102)에 접속된다. 또한, 클라이언트들(108, 110, 112)이 네트워크(102)에 접속된다. 이러한 클라이언트들(108, 110, 112)은, 예컨대 퍼스널 컴퓨터 또는 네트워크 컴퓨터일 수 있다. 도시된 예에서, 서버(104)는, 애플리케이션, 운영 체제 이미지, 및 부트 파일(boot files)과 같은 데이터를 클라이언트들(108-112)에 제공한다. 클라이언트들(108, 110, 112)은 서버(104)에 대한 클라이언트들이다. 네트워크 데이터 처리 시스템(100)은 부가적인 서버, 클라이언트, 및 도시되지 않은 다른 장치들을 포함할 수 있다.
도시된 예에서, 네트워크 데이터 처리 시스템(100)은 서로간의 통신을 위한 프로토콜의 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP) 슈트(suite)를 이용하는 게이트웨이 및 네트워크의 월드와이드 컬렉션(worldwide collection)을 나타내는 네트워크(102)를 갖는 인터넷이다. 인터넷의 심장부에는 데이터와 메시지를 라우트하는 수천의 상업용, 관공서용, 교육용 및 기타 컴퓨터 시스템들로 이루어지는, 주요 노드들 또는 호스트 컴퓨터들 사이의 고속 데이터 통신선들의 백본(backbone)이 있다. 물론, 네트워크 데이터 처리 시스템(100)은, 예컨대 인트라넷, 근거리 통신망(LAN), 또는 광역 통신망(WAN)과 같은, 다수의 상이한 유형의 네트워크들로서 구현될 수도 있다. 도 1은 예로서 의도된 것이지, 본 발명에 대한 구조적 제한으로서 의도된 것은 아니다.
도 2를 참조하면, 도 1의 서버(104)와 같은 서버로서 구현될 수 있는 데이터 처리 시스템의 블록도가 본 발명의 바람직한 일 실시예에 따라 도시되고 있다. 데이터 처리 시스템(200)은 시스템 버스(206)에 접속된 복수의 프로세서(202 및 204)를 포함하는 대칭적 멀티프로세서(SMP; symmetric multiprocessor) 시스템일 수 있다. 대안적으로, 단일 프로세서 시스템이 이용될 수 있다. 또한, 시스템 버스(206)에는 메모리 제어기/캐시(208)가 접속되고, 이는 로컬 메모리(209)에 대한 인터페이스를 제공한다. I/O 버스 브리지(210)가 시스템 버스(206)에 접속되어 I/O 버스(212)에 대한 인터페이스를 제공한다. 메모리 제어기/캐시(208) 및 I/O 버스 브리지(210)는 도시된 바와 같이 통합될 수 있다.
I/O 버스(212)에 접속된 PCI(Peripheral Component Interconnect) 버스 브리지(214)는 PCI 로컬 버스(216)에 대한 인터페이스를 제공한다. 다수의 모뎀이 PCI 로컬 버스(216)에 접속될 수 있다. 전형적인 PCI 버스 구현은 4개의 PCI 확장 슬 롯 또는 애드인 커넥터(add-in connectors)를 지원할 것이다. 도 1의 클라이언트(108-112)로의 통신 링크는 애드인 커넥터를 통하여 PCI 로컬 버스(216)에 접속된 네트워크 어댑터(220) 및 모뎀(218)을 통하여 제공될 수 있다.
부가적인 PCI 버스 브리지(222 및 224)는 부가적인 PCI 로컬 버스(226 및 228)에 대한 인터페이스들을 제공하고, 그로부터 부가적인 모뎀 또는 네트워크 어뎁터가 지원될 수 있다. 이러한 방식으로, 데이터 처리 시스템(200)은 다수의 네트워크 컴퓨터로의 접속을 가능하게 한다. 메모리 맵 방식(memory-mapped) 그래픽 어댑터(230) 및 하드 디스크(232)도, 직접 또는 간접적으로, 도시된 바와 같이 I/O 버스(212)에 접속될 수 있다.
당업자라면 도 2에 도시된 하드웨어가 변경될 수 있음을 알 것이다. 예를 들면, 광 디스크 드라이브 등과 같은 다른 주변 장치들이 도시된 하드웨어에 부가하여 또는 그 대신에 사용될 수도 있다. 도시된 예는 본 발명에 관하여 구조적 제한을 시사하도록 의도된 것은 아니다.
도 2에 도시된 데이터 처리 시스템은, 예를 들면, AIX®(Advanced Interactive Executive) 운영 체제 또는 LINUX® 운영 체제를 실행시키는, 뉴욕주 아몬크에 있는 인터내셔널 비지네스 머신즈 코포레이션(International Business Machines Corporation)의 제품인, IBM® eServer pSeries® 시스템일 수 있다. (IBM, pSeries 및 AIX는 미국, 또는 다른 국가, 또는 양쪽 모두에서 인터내셔널 비지네스 머신즈 코포레이션의 상표이다. LINUX는 미국, 또는 다른 국가, 또는 양쪽 모두에서 리누스 토발즈(Linus Torvalds)의 상표이다.)
이제 도 3을 참조하면, 바람직한 일 실시예에 따라 본 발명이 구현될 수 있는 데이터 처리 시스템의 블록도가 도시되고 있다. 데이터 처리 시스템(300)은 도 1의 클라이언트(108)와 같은 컴퓨터의 예로서, 그 안에는 바람직한 실시예의 프로세스들을 구현하는 코드 또는 명령이 있을 수 있다. 도시된 예에서, 데이터 처리 시스템(300)은 노스 브리지(north bridge) 및 메모리 제어기 허브(MCH)(308) 및 사우스 브리지(south bridge) 및 입출력(I/O) 제어기 허브(ICH)(310)를 포함하는 허브 아키텍처를 이용한다. 프로세서(302), 주 메모리(304), 및 그래픽 프로세서(318)가 MCH(308)에 접속된다. 그래픽 프로세서(318)는, 예컨대 가속 그래픽 포트(AGP; accelerated graphics port)를 통하여 MCH에 접속될 수 있다.
도시된 예에서, 근거리 통신망(LAN) 어댑터(312), 오디오 어댑터(316), 키보드 및 마우스 어댑터(320), 모뎀(322), 읽기 전용 메모리(ROM)(324), 하드 디스크 드라이브(HDD)(326), CD-ROM 드라이버(330), 유니버설 시리얼 버스(USB; universal serial bus) 포트 및 기타 통신 포트(332), 및 PCI/PCIe 장치(334)가 ICH(310)에 접속될 수 있다. PCI/PCIe 장치는, 예컨대 이더넷 어댑터, 애드인 카드, 노트북 컴퓨터용 PC 카드 등을 포함할 수 있다. PCI는 카드버스 제어기를 이용하는 반면, PCIe는 그렇지 않다. ROM(324)은, 예컨대 플래시 바이너리 입출력 시스템(BIOS)일 수 있다. 하드 디스크 드라이브(326) 및 CD-ROM 드라이브(330)는, 예컨대 IDE(integrated drive electronics) 또는 SATA(serial advanced technology attachment) 인터페이스를 이용할 수 있다. 슈퍼 I/O(SIO) 장치(336)가 ICH(310)에 접속될 수 있다.
운영 체제는 프로세서(302) 상에서 실행되고 도 3의 데이터 처리 시스템(300) 내의 각종 컴포넌트들의 제어를 제공 및 조정(coordinate)하는데 사용된다. 운영 체제는, 마이크로소프트 코포레이션(Microsoft® Corporation)으로부터 입수 가능한 Windows® XP와 같은 상업적으로 이용 가능한 운영 체제일 수 있다. Java™와 같은 객체 지향 프로그래밍 시스템이 운영 체제와 함께 실행될 수 있으며, 데이터 처리 시스템(300) 상에서 실행되는 애플리케이션 또는 자바 프로그램으로부터 운영 체제로의 호출을 제공한다. (Java 및 모든 Java 기반 상표 및 로고는 미국, 또는 다른 나라, 또는 양쪽 모두에서 썬 마이크로시스템즈 인코포레이티드(Sun Microsystems, Inc)의 상표들이다. Microsoft 및 Windows는 미국, 또는 다른 나라, 또는 양쪽 모두에서 마이크로소프트 코포레이션의 상표이다.) 운영 체제, 객체 지향 프로그래밍 시스템, 및 애플리케이션 또는 프로그램들을 위한 명령들은 하드 디스크 드라이브(326)와 같은 기억 장치 상에 위치하고, 프로세서(302)에 의한 실행을 위하여 주 메모리(304)로 로드될 수 있다. 바람직한 실시예의 프로세스들은, 예컨대 주 메모리(304), 메모리(324)와 같은 메모리 내에, 또는 하나 이상의 주변 장치(326 및 330) 내에 있을 수 있는 컴퓨터 구현 명령(computer implemented instructions)을 사용하여 프로세서(302)에 의해 수행된다.
당업자라면 도 3의 하드웨어가 구현에 따라서 달라질 수 있음을 알 것이다. 플래시 메모리, 동등한 비휘발성 메모리, 또는 광 디스크 드라이브 등과 같은 기타 내부 하드웨어 또는 주변 장치가 도 3에 도시된 하드웨어에 부가하여 또는 그 대신에 사용될 수 있다. 또한, 바람직한 실시예의 프로세스들은 멀티프로세서 데이터 처리 시스템에 적용될 수 있다.
예를 들면, 데이터 처리 시스템(300)은 운영 체제 파일 및/또는 사용자 생성 데이터를 저장하기 위한 비휘발성 메모리로서 플래시 메모리가 제공되는 개인 휴대 정보 단말기(PDA)일 수 있다. 도 3에 도시된 예 및 상기 예들은 구조적 제한을 시사하도록 의도된 것이 아니다. 예를 들면, 데이터 처리 시스템(300)은 PDA의 형태를 취하는 것에 더하여 태블릿 컴퓨터나 랩톱 컴퓨터일 수도 있다.
본 발명의 바람직한 일 실시예에 따르면, 웹 페이지 내에 표시된 정보의 적시 업데이트를 위한 메커니즘이 제공된다. 정보 업데이트가 발생할 경우, 웹 페이지에 제시된 정보가 변할 수 있다. 웹 페이지는 예컨대 "포털" 페이지일 수 있다. 포털은, 예컨대 웹 검색, 뉴스, 화이트 및 옐로우 페이지 디렉토리, 전자우편, 토론방, 온라인 쇼핑, 및 다른 사이트로의 링크를 포함하는 각종 서비스를 제공하는 웹 "슈퍼사이트"이다. 이 용어는 처음에는 범용 사이트를 지칭하기 위해 사용되었지만, "포털"이라는 용어는 복수의 서비스를 제공하는 다른 사이트들, 특히 동적인 콘텐츠를 제공하는 것들을 지칭하는데 사용될 수도 있다.
포털 서버는 공중 웹 사이트 또는 내부 인트라넷에 포털 서비스를 전개시키는 네트워크 서버이다. 포털 서버는 웹 페이지를 통하여 포털 서비스를 개발, 전달 및 유지하는데 사용되는 애플리케이션을 지칭할 수도 있다. 포털 서버는 전형적으로 사용자 인증, 아이덴티티 관리, 검색 설비, 및 콘텐츠 수집 능력을 포함하는 각종 도구와 함수를 포함한다. 포틀릿은 포털 페이지를 구축하기 위해 포털 서버에 의해 사용될 수 있는 작은 윈도우 또는 함수이다. 포틀릿은 함수를 포함할 수 있는 유닛이다. 어떤 경우에는 사용자가 페이지 상에 어떤 포틀릿이 나타나는지를 결정할 수 있으나, 그 외의 경우에 해당 페이지에 어떤 포틀릿 또는 함수 유닛들이 포함되는지를 결정하는 것은 해당 페이지의 개발자이다. 전형적인 예로서, 사용자는 검색 엔진 포틀릿, 주가 포틀릿, 날씨 포틀릿, 및 스포츠 스코어 포틀릿을 포함하도록 포털 페이지를 맞춤화할 수 있다. 그러나, 더 많은 애플리케이션 특정 예들이 존재할 수도 있다. 예를 들면, 포털 페이지는 네트워크 자원들에 대한 모니터링 서비스를 제공할 수 있고, 이 경우 각 포틀릿은 특정 모니터를 제공한다.
웹 페이지는 세션 식별자와 연관된다. 만일 웹 페이지에 영향을 주는 정보 업데이트가 발생하면, 업데이트 통지가 세션 식별자와 연관된다. 주기적으로, 웹 페이지 내의 함수가 리프레시 제어 도우미에게 세션 식별자를 전송한다. 포털 서버는 데이터 저장소를 체크하여 세션 식별자와 연관된 업데이트 통지가 수신되었는지를 판정한다. 만일 세션 식별자에 대해 업데이트가 이용 가능하지 않다면, 웹 페이지는 리프레시되지 않는다. 그러나, 해당 페이지에 대해 업데이트가 이용 가능하다면, 포털 서버는 데이터 저장소로부터 해당 세션 식별자에 대한 임의의 업데이트 통지를 제거하고 웹 페이지 내의 함수에게 새로운 데이터가 이용 가능함을 알린다. 그 후 해당 함수는 페이지 새로고침을 요청한다.
도 4는 본 발명의 예시적인 일 실시예에 따라 클라이언트 브라우저와 통신하는 포털 서버를 도시하는 블록도이다. 포털 서버(410)는 클라이언트 브라우저(450)와 같은 클라이언트 소프트웨어에게 콘텐츠를 제공한다. 포털 서버는, 예 컨대 도 1의 서버(104)와 같은 웹 서버일 수 있다. 클라이언트 브라우저(450)는, 예컨대 도 1의 클라이언트(108)와 같은 데이터 처리 시스템 상에 구현될 수 있다.
포털 서버(410)는 등록된 HTTP(HyperText Transfer Protocol) 세션에 대한 상태 정보를 저장하는 리프레시 제어기(412)를 포함한다. 적시 업데이트를 요청할 수 있는 모든 포털 페이지가 포털 서버(410) 내의 제어 포틀릿(414)으로 대표되는 새로운 제어 포틀릿을 포함할 것이다. 동작 1에서, 클라이언트 브라우저(450)는 포털 서버(410)로부터 포털 페이지를 요청한다. 요청이 수신되면, 제어 포틀릿(414)은 페이지 새로고침이 개개의 브라우저 세션에 보내질 수 있도록 해당 요청에 대한 HTTP 세션 식별자(ID)를 리프레시 제어기(412)에 등록한다(동작 2). 또한, 제어 포틀릿(414)은 요청된 페이지가 클라이언트 브라우저(450)에 반환(return)되기 전(동작 3)에 자바스크립트 함수일 수 있는 함수(452)를 해당 페이지에 부가한다.
포털 페이지가 클라이언트 브라우저(450)에서 수신되면, 해당 페이지는 렌더링되고 함수(452)는 클라이언트 브라우저(450)에서 실행된다. 이 함수는, 예컨대 카운트다운 타이머(countdown timer)를 포함할 수 있다. 동작 4에서, 카운트다운 타이머가 0까지 카운트 다운하면, 함수(452)는 페이지 새로고침이 요청되는지를 판정하기 위해 리프레시 제어 도우미(418)를 호출한다. 리프레시 제어 도우미(418)는 포털 서버(410) 상에서 실행되는 서블릿(servlet)일 수 있다. 함수(452)는 세션 식별자를 리프레시 제어 도우미(418)에 전달한다. 동작 5에서, 리프레시 제어 도우미(418)는 리프레시 제어기(412)를 호출하여 해당 포털 페이지에 대응하는 브라우저 세션에 대한 세션 식별자를 전달한다.
백 엔드 프로세스(416)는 특정 HTTP 세션 식별자에 대해 새로운 데이터가 이용 가능한지 여부를 판정한다. 이러한 판정은 본 발명의 범위 내에서 각종 기법을 이용하여 행해질 수 있다. 백 엔드 프로세스(416)는 어떤 콘텐츠가 어떤 포틀릿에 대응하는지를 식별하고 소정의 포틀릿에 대해 새로운 정보가 이용 가능한지를 판정할 수 있다. 예를 들면, 일부 포털 페이지는 특정 모니터 포틀릿을 포함할 수 있다. 따라서, 이 예에서, 해당 모니터 포틀릿을 이용하여 포털 페이지와 연관된 임의의 HTTP 세션은, 예컨대 특정 네트워크 자원에 대한 상태 정보의 변화에 의해 영향을 받을 것이다. 그러나, 본 발명의 범위 내에서, 구현에 따라서는, 특정 HTTP 세션에 대해 업데이트가 이용 가능한지를 판정하기 위한 기타 메커니즘이 사용될 수 있다.
소정의 HTTP 세션 식별자에 대해 새로운 데이터가 이용 가능할 경우, 백 엔드 프로세스(416)에 의해 업데이트 통지 이벤트가 생성되어, 예컨대 자바 메소드 호출(Java method call)을 통하여, 리프레시 제어기(412)에 통신될 수 있다. 이후, 리프레시 제어기(412)는 업데이트 통지 이벤트를 데이터 저장소(420)에 저장할 수 있다. 동작 5에서 리프레시 제어 도우미(418)가 리프레시 제어기(412)를 호출하면, 리프레시 제어기(412)는 데이터 저장소(420)를 체크하여 임의의 업데이트 통지 이벤트가 해당 세션 식별자와 연관되는지를 판정한다. 동작 6에서, 리프레시 제어기(412)는 해당 HTTP 세션 식별자에 대해 업데이트가 이용 가능한지를 리프레시 제어 도우미(418)에게 알린다. 또한, 리프레시 제어기(412)는 해당 세션 식별자에 대한 통지가 있다면 이를 데이터 저장소(420)로부터 제거한다.
이후 동작 7에서, 리프레시 제어 도우미 서블릿(418)은 새로운 데이터가 이용 가능한지를 함수(452)에게 알린다. 만일 새로운 데이터가 이용 가능하다면, 함수(452)는 포털 서버(410)에 페이지 새로고침을 요청하고(동작 8) 프로세스는 동작 2에서 재시작한다. 만일 새로운 데이터가 이용 가능하지 않다면, 함수(452)는 카운트다운 타이머를 재시작하고 프로세스는 카운트다운 타이머가 만료될 때 동작 4에서 재시작한다.
이와 같이, 바람직한 실시예의 포털 서버는 포털 서버 상에서 실행되는 백 엔드 프로세스가 특정 브라우저 세션에 대한 리프레시를 일으키는 통지 이벤트를 제공하는 것을 가능하게 한다. 본 발명은 바람직하게는 적시 업데이트된 데이터가 사용자의 브라우저 상에 표시될 수 있게 하여, 데이터 업데이트가 존재하지 않을 경우 불필요한 페이지 새로고침을 제거한다. 이는, 또한, 새로운 데이터가 이용 가능한 경우에만 페이지를 새로고침 함으로써 서버 부하를 감소시키고 네트워크 대역폭을 자유롭게 한다. 이와 동시에, 본 발명은 바람직하게는 사용자로부터의 어떠한 상호 작용(interaction) 없이도 최종 사용자에게 업데이트된 데이터를 제공한다.
도 5는 본 발명의 예시적인 일 실시예에 따라 포털 서버 환경의 동작을 도시하는 흐름도이다. 프로세스가 시작하여 클라이언트 브라우저가 제어 포틀릿을 포함하는 포털 페이지를 요청한다(블록 502). 이후, 제어 포틀릿은 브라우저 세션 식별자를 리프레시 제어기에 등록한다(블록 504). 제어 포틀릿은 포털 페이지에 부가될 함수를 구성하고(블록 506) 그 함수를 포털 페이지에 부가한다(블록 508).
다음으로, 포털 서버가 포털 페이지를 브라우저에 전송한다(블록 510). 브라우저는 포털 페이지를 수신하여 렌더링하고(블록 512) 포털 페이지 내의 함수는 카운트다운 타이머를 시작한다(블록 514). 엑시트 조건(exit condition)이 존재하는지에 대한 판정이 행해진다(블록 516). 엑시트 조건은, 예컨대 브라우저가 닫히는 경우 또는 브라우저에 새로운 페이지가 로드되어 세션을 종료하는 경우에 존재할 수 있으나 이에 한정되지는 않는다. 만일 엑시트 조건이 존재하면, 프로세스는 종료된다. 만일 블록 516에서 엑시트 조건이 존재하지 않으면, 카운트다운 타이머가 0으로 다운되었는지에 대한 판정이 행해진다(블록 518). 만일 카운트다운 타이머가 만료되지 않으면, 프로세스는 블록 516으로 되돌아가서 엑시트 조건이 존재하는지를 판정한다.
만일 블록 518에서 카운트다운 타이머가 0으로 다운되어 있으면, 함수는 세션 식별자를 포털 서버 내의 리프레시 제어 도우미에게 전달한다(블록 520). 이후, 리프레시 제어 도우미는 리프레시 제어기를 호출하여 세션 식별자를 리프레시 제어기에 전달한다(블록 522). 이후, 리프레시 제어기는 세션 식별자와 연관된 업데이트 통지를 위해 데이터 저장소를 체크하고(블록 524) 해당 세션 식별자에 대해 업데이트가 존재하는지에 대한 판정이 행해진다(블록 526).
만일 해당 세션 식별자에 대해 업데이트가 존재하지 않으면, 리프레시 제어기는 새로운 데이터가 이용 가능하지 않음을 리프레시 제어 도우미에게 알리고(블록 528) 리프레시 제어 도우미는 새로운 데이터가 이용 가능하지 않음을 함수에게 알린다(블록 530). 이후, 프로세스는 블록 514로 되돌아가고 포털 페이지 내의 함수는 카운트다운 타이머를 재시작한다.
만일 블록 526에서 해당 세션 식별자에 대해 업데이트가 존재한다면, 리프레시 제어기는 새로운 데이터가 이용 가능함을 리프레시 제어 도우미에게 알리고(블록 532) 해당 세션 식별자에 대한 임의의 업데이트 통지를 데이터 저장소로부터 제거한다(블록 534). 이후 리프레시 제어 도우미는 새로운 데이터가 이용 가능함을 포털 페이지 내의 함수에게 알린다(블록 536). 새로운 데이터가 이용 가능함에 대한 응답으로, 포털 서버 내의 함수는 페이지 새로고침을 요청하고(블록 538) 프로세스는 블록 502로 되돌아가며 함수는 서버에 해당 페이지를 요청한다.
본 발명은 충분히 기능하는 데이터 처리 시스템과 관련하여 설명되었지만, 당업자라면 본 발명의 프로세스들이 명령의 컴퓨터 판독 가능 매체의 형태 및 및 각종 형태로 배포될 수 있고 본 발명이 그러한 배포를 수행하는데 실제로 이용되는 신호 보유 매체(signal bearing media)의 특정 유형에 관계 없이 동등하게 적용됨을 알 것이다. 컴퓨터 판독 가능 매체의 예에는, 플로피 디스크, 하드 디스크 드라이브, RAM, CD-ROM, DVD-ROM과 같은 기록 가능형 매체와, 예컨대 무선 주파수 및 광파 전송과 같은 전송 형태를 이용한 디지털 및 아날로그 통신 링크, 유선 또는 무선 통신 링크와 같은 전송형 매체가 포함된다. 컴퓨터 판독 가능 매체는 특정 데이터 처리 시스템에서의 실제 사용을 위해 디코딩되는 코드화된 포맷의 형태를 취할 수 있다.
본 발명의 명세서는 예시 및 설명의 목적으로 제시되었을 뿐이며, 본 발명을 개시된 형태로 제한하려는 의도나 소모적인 의도는 아니다. 당업자에게는 많은 변경 및 변형이 명백할 것이다. 실시예는 본 발명의 원리, 실제 응용을 설명하고, 당업자가 구상하는 특정 용도에 적합하게 다양하게 변경된 다양한 실시를 위하여 본 발명을 이해할 수 있게 하기 위해 선택되고 기술되었다.

Claims (23)

  1. 클라이언트로부터 세션 식별자를 수신하는 단계 - 상기 클라이언트는 웹 페이지를 요청하고 상기 세션 식별자는 상기 웹 페이지와 연관됨 -;
    상기 클라이언트로부터 상기 세션 식별자를 수신한 것에 대한 응답으로, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계;
    상기 세션 식별자와 연관된 상기 웹 페이지에 대해 상기 업데이트가 존재한다는 판정에 대한 응답으로, 상기 업데이트가 존재한다는 통지를 상기 클라이언트에게 전송하는 단계 - 상기 클라이언트는 상기 통지에 대한 응답으로 페이지 리프레시를 요청함 -;
    상기 업데이트가 존재한다는 통지를 상기 클라이언트에게 전송한 것에 대한 응답으로, 상기 클라이언트로부터 상기 업데이트를 포함하는 상기 웹 페이지의 페이지 리프레시 요청을 수신하는 단계; 및
    상기 페이지 리프레시 요청을 수신한 것에 대한 응답으로, 상기 업데이트를 포함하는 상기 웹 페이지를 상기 클라이언트에게 전송하는 단계를 포함하는,
    서버에 의해 수행되는 웹 페이지의 업데이트 방법.
  2. 제1항에 있어서,
    상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하지 않는다는 판정에 대한 응답으로 업데이트가 존재하지 않는다는 통지를 상기 클라이언트에게 전송하는 단계를 더 포함하는,
    서버에 의해 수행되는 웹 페이지의 업데이트 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 웹 페이지는 리프레시 제어 도우미(refresh control helper)를 호출하는 리프레시 함수를 포함하고,
    상기 리프레시 함수는 타이머의 만료에 대한 응답으로 상기 리프레시 제어 도우미를 호출하며,
    상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계는 상기 함수가 상기 리프레시 제어 도우미를 호출하는 것에 대한 응답으로 수행되는,
    서버에 의해 수행되는 웹 페이지의 업데이트 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계는,백 엔드 프로세스(back end process)로부터 업데이트 이벤트들을 수신하는 단계; 및
    상기 업데이트 이벤트들을 데이터 저장소(data store)에 저장하는 단계를 포함하는,
    서버에 의해 수행되는 웹 페이지의 업데이트 방법.
  5. 제4항에 있어서,
    상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계는, 상기 데이터 저장소 내의 적어도 하나의 업데이트 이벤트가 상기 세션 식별자와 연관된 상기 웹 페이지에 대응하는지를 판정하는 단계를 포함하고,
    상기 웹 페이지는 포틀릿들의 집합(a set of portlets)을 포함하고,
    상기 데이터 저장소 내의 적어도 하나의 업데이트 이벤트가 상기 세션 식별자에 대응하는지를 판정하는 단계는, 상기 데이터 저장소 내의 적어도 하나의 업데이트 이벤트가 상기 포틀릿들의 집합 내의 포틀릿에 대응하는지를 판정하는 단계를 포함하며,
    상기 방법은 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재한다는 판정에 대한 응답으로 상기 데이터 저장소로부터 상기 세션 식별자에 대응하는 임의의 업데이트 이벤트들을 삭제하는 단계를 더 포함하는,
    서버에 의해 수행되는 웹 페이지의 업데이트 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 웹 페이지는 포틀릿들의 집합을 포함하고,
    상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하는 단계는, 상기 포틀릿들의 집합 내의 포틀릿에 대해 업데이트가 존재하는지를 판정하는 단계를 포함하는,
    서버에 의해 수행되는 웹 페이지의 업데이트 방법.
  7. 클라이언트로부터 세션 식별자를 수신하고 상기 클라이언트에 의해 요청된 웹 페이지를 상기 세션 식별자와 연관시키는 수신 컴포넌트; 및
    상기 클라이언트로부터 상기 세션 식별자를 수신한 것에 대한 응답으로 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 업데이트가 존재하는지를 판정하고, 상기 세션 식별자와 연관된 상기 웹 페이지에 대해 상기 업데이트가 존재한다는 판정에 대한 응답으로 상기 업데이트가 존재한다는 통지를 상기 클라이언트에게 전송하고, 상기 업데이트가 존재한다는 통지를 상기 클라이언트에게 전송한 것에 대한 응답으로 상기 업데이트를 포함하는 상기 웹 페이지의 페이지 리프레시 요청을 상기 클라이언트로부터 수신하고, 상기 페이지 리프레시 요청을 수신한 것에 대한 응답으로 상기 업데이트를 포함하는 상기 웹 페이지를 상기 클라이언트에게 전송하는 리프레시 제어기 - 상기 클라이언트는 상기 통지에 대한 응답으로 페이지 리프레시를 요청함 -
    를 포함하는, 웹 페이지의 적시 업데이트(timely update) 장치.
  8. 삭제
  9. 컴퓨터 상에서 실행될 때 제1항 또는 제2항의 방법을 수행할 수 있도록 구성된 프로그램 코드 수단을 포함하는,
    컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 매체.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
KR1020067017422A 2004-03-04 2005-03-01 웹 페이지의 적시 업데이트 KR101055879B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/793,467 US7451194B2 (en) 2004-03-04 2004-03-04 Timely update of information displayed within a portal
US10/793,467 2004-03-04
PCT/EP2005/050894 WO2005086026A2 (en) 2004-03-04 2005-03-01 Timely update of a web page

Publications (2)

Publication Number Publication Date
KR20060129414A KR20060129414A (ko) 2006-12-15
KR101055879B1 true KR101055879B1 (ko) 2011-08-09

Family

ID=34912055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067017422A KR101055879B1 (ko) 2004-03-04 2005-03-01 웹 페이지의 적시 업데이트

Country Status (8)

Country Link
US (2) US7451194B2 (ko)
EP (1) EP1721270A2 (ko)
JP (1) JP4818253B2 (ko)
KR (1) KR101055879B1 (ko)
CN (1) CN100489850C (ko)
CA (1) CA2558180A1 (ko)
TW (1) TWI330791B (ko)
WO (1) WO2005086026A2 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2406569C (en) * 2002-10-04 2011-03-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
CN100386999C (zh) * 2003-07-23 2008-05-07 华为技术有限公司 监测用户连接状态的方法
US7475089B1 (en) * 2004-09-02 2009-01-06 Sprint Spectrum L.P. Enhanced portal server system and method
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
US20060161672A1 (en) * 2004-11-22 2006-07-20 Bea Systems, Inc. System and method for improved interportlet communications
AU2006220611A1 (en) * 2005-03-08 2006-09-14 Wink International Llc A system and method for management of the production of printed material
US7636881B2 (en) * 2005-06-30 2009-12-22 International Business Machines Corporation Displaying a portal with render-when-ready portlets
US9218329B2 (en) 2005-06-30 2015-12-22 International Business Machines Corporation Independent submission of forms in a portal view
US8214731B2 (en) 2005-06-30 2012-07-03 International Business Machines Corporation Independently refreshing portlet content in a portal view
US8688801B2 (en) * 2005-07-25 2014-04-01 Qurio Holdings, Inc. Syndication feeds for peer computer devices and peer networks
US7661061B2 (en) * 2005-10-17 2010-02-09 International Business Machines Corporation Visualization of collaborative portlet sequences
CN100535900C (zh) 2005-12-06 2009-09-02 国际商业机器公司 用于提供异步门户页的方法和系统
US20070234195A1 (en) * 2006-04-03 2007-10-04 National Instruments Corporation Simultaneous update of a plurality of user interface elements displayed in a web browser
US20070244990A1 (en) * 2006-04-03 2007-10-18 National Instruments Corporation Web browser graph user interface element with rich interactive capabilities
JP2008165281A (ja) * 2006-12-27 2008-07-17 Fujitsu Ltd アプリケーション実行装置、アプリケーション実行プログラム、およびアプリケーション実行方法
KR101310954B1 (ko) * 2007-01-19 2013-09-23 (주)네오위즈게임즈 웹 페이지에 대한 갱신 정보 알림 서비스를 제공하는방법과 그를 수행하는 서버 및 프로그램을 기록한컴퓨터에서 읽을 수 있는 기록매체
US8566332B2 (en) * 2009-03-02 2013-10-22 Hewlett-Packard Development Company, L.P. Populating variable content slots on web pages
US9135332B2 (en) * 2009-06-04 2015-09-15 International Business Machines Corporation Visual object prioritization
US20120096073A1 (en) * 2010-10-18 2012-04-19 Blabbelon, Inc. Local polling method and system for real time updating of web-based services
US20120166627A1 (en) * 2010-12-28 2012-06-28 Stephen Kraiman Monitoring and managing a http session independent of client and server configurations
WO2014007826A1 (en) * 2012-07-06 2014-01-09 Empire Technology Development Llc Organization of inputs for online service
WO2014110294A1 (en) * 2013-01-09 2014-07-17 Mcgushion Kevin D Active web page consolidator and internet history management system
EP2869214B1 (en) * 2013-10-31 2021-01-20 Hewlett-Packard Enterprise Development LP Methods to update portals
US20170289269A1 (en) * 2016-03-29 2017-10-05 Ca, Inc. Delegating a reverse proxy session to its instantiating portlet session
US11012519B2 (en) 2016-12-28 2021-05-18 Google Llc Handoff feature for content sharing platforms
CN107835249B (zh) * 2017-11-17 2021-06-18 广西小草信息产业有限责任公司 一种web页更新装置及方法
CN110557396B (zh) * 2019-09-09 2022-03-15 苏宁消费金融有限公司 一种h5客户端之间登录会话统一方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032261A (ja) 2000-07-14 2002-01-31 Nec Corp 動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法
US20020152239A1 (en) 2001-04-16 2002-10-17 David Bautista-Lloyd Method, system, and program for providing data updates to a page including multiple regions of dynamic content
US20020174194A1 (en) 2001-05-18 2002-11-21 Eoin Mooney Providing access to a plurality of message accounts from a single web-based interface
JP2003036197A (ja) 2001-05-11 2003-02-07 Internatl Business Mach Corp <Ibm> ポータル・サーバ、リモート・ポートレットをポータルへ動的に統合する方法およびコンピュータ・プログラム、コンテンツ・プロバイダ・システム、アプリケーション・プロバイダ・サーバ

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963964A (en) 1996-04-05 1999-10-05 Sun Microsystems, Inc. Method, apparatus and program product for updating visual bookmarks
US5813007A (en) 1996-06-20 1998-09-22 Sun Microsystems, Inc. Automatic updates of bookmarks in a client computer
US6055570A (en) 1997-04-03 2000-04-25 Sun Microsystems, Inc. Subscribed update monitors
US5946697A (en) 1997-04-22 1999-08-31 Microsoft Corporation Rapid transfer of HTML files
US6094662A (en) 1998-04-30 2000-07-25 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6061715A (en) 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US20030033382A1 (en) * 1999-02-05 2003-02-13 Bogolea Steven C. Interactive communication system
US6542967B1 (en) 1999-04-12 2003-04-01 Novell, Inc. Cache object store
US6553409B1 (en) 1999-07-09 2003-04-22 Microsoft Corporation Background cache synchronization
US6557076B1 (en) 1999-07-22 2003-04-29 International Business Machines Corporation Method and apparatus for aggressively rendering data in a data processing system
US6507854B1 (en) 1999-11-05 2003-01-14 International Business Machines Corporation Enhanced network caching and mirroring system
US7171473B1 (en) * 1999-11-17 2007-01-30 Planet Exchange, Inc. System using HTTP protocol for maintaining and updating on-line presence information of new user in user table and group table
EP1117220A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
GB2365260B (en) 2000-02-24 2004-05-26 Ibm Database synchronisation for mobile computing devices
CA2401078C (en) * 2000-03-01 2009-08-04 British Telecommunications Public Limited Company Apparatus and method for refreshing a web page with reduced flicker
AU2001261084A1 (en) * 2000-04-27 2001-11-07 Brio Technology, Inc. Method and apparatus for processing jobs on an enterprise-wide computer system
US6763384B1 (en) * 2000-07-10 2004-07-13 International Business Machines Corporation Event-triggered notification over a network
US7313588B1 (en) * 2000-07-13 2007-12-25 Biap Systems, Inc. Locally executing software agent for retrieving remote content and method for creation and use of the agent
US20020036655A1 (en) 2000-09-08 2002-03-28 Yoni Yulevich Method and multi-media product for display of real-time information
US6738804B1 (en) * 2000-09-15 2004-05-18 Yodlee.Com, Inc. Method and apparatus for enabling sectored data refreshing of Web-site data during session
US20020069204A1 (en) 2000-09-28 2002-06-06 Roger Kahn System and method for in-context editing
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US6925459B2 (en) 2000-12-27 2005-08-02 International Business Machines Corporation Apparatus and method for hindering multiple http submission requests
US20030177175A1 (en) * 2001-04-26 2003-09-18 Worley Dale R. Method and system for display of web pages
US7062530B2 (en) 2001-05-11 2006-06-13 Sap Ag Browser with messaging capability and other persistent connections
JP2003044262A (ja) * 2001-07-27 2003-02-14 Megafusion Corp データ配信システム
US7721337B2 (en) * 2001-10-26 2010-05-18 Ibiquity Digital Corporation System and method for providing a push of background data
US20030187956A1 (en) * 2002-04-01 2003-10-02 Stephen Belt Method and apparatus for providing access control and content management services
US7177918B2 (en) * 2002-12-20 2007-02-13 International Business Machines Corporation Method and system for efficiently processing multiframe data in a client/server computing environment
US7392293B2 (en) * 2003-03-18 2008-06-24 Leonik Thomas E Method and apparatus for dynamically displaying real world data in a browser setting
US7146563B2 (en) * 2003-05-29 2006-12-05 International Business Machines Corporation Maintaining screen and form state in portlets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032261A (ja) 2000-07-14 2002-01-31 Nec Corp 動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法
US20020152239A1 (en) 2001-04-16 2002-10-17 David Bautista-Lloyd Method, system, and program for providing data updates to a page including multiple regions of dynamic content
JP2003036197A (ja) 2001-05-11 2003-02-07 Internatl Business Mach Corp <Ibm> ポータル・サーバ、リモート・ポートレットをポータルへ動的に統合する方法およびコンピュータ・プログラム、コンテンツ・プロバイダ・システム、アプリケーション・プロバイダ・サーバ
US20020174194A1 (en) 2001-05-18 2002-11-21 Eoin Mooney Providing access to a plurality of message accounts from a single web-based interface

Also Published As

Publication number Publication date
US7720938B2 (en) 2010-05-18
CN1914612A (zh) 2007-02-14
TW200604833A (en) 2006-02-01
KR20060129414A (ko) 2006-12-15
WO2005086026A8 (en) 2006-09-14
WO2005086026A3 (en) 2006-01-26
CA2558180A1 (en) 2005-09-15
JP4818253B2 (ja) 2011-11-16
WO2005086026A2 (en) 2005-09-15
TWI330791B (en) 2010-09-21
JP2007526569A (ja) 2007-09-13
US20080294719A1 (en) 2008-11-27
US7451194B2 (en) 2008-11-11
US20050198195A1 (en) 2005-09-08
EP1721270A2 (en) 2006-11-15
CN100489850C (zh) 2009-05-20

Similar Documents

Publication Publication Date Title
KR101055879B1 (ko) 웹 페이지의 적시 업데이트
US6615235B1 (en) Method and apparatus for cache coordination for multiple address spaces
US6584548B1 (en) Method and apparatus for invalidating data in a cache
US6557038B1 (en) Method and apparatus for maintaining session states
US6557076B1 (en) Method and apparatus for aggressively rendering data in a data processing system
US6453342B1 (en) Method and apparatus for selective caching and cleaning of history pages for web browsers
US20020143868A1 (en) Method and apparatus for managing internal caches and external caches in a data processing system
CN1677277B (zh) 服务提供方法、服务提供商设备、信息处理方法和设备
US20110184982A1 (en) System and method for capturing and reporting online sessions
Shi et al. Modeling object characteristics of dynamic web content
US6308210B1 (en) Method and apparatus for traffic control and balancing for an internet site
US8019884B2 (en) Proxy content for submitting web service data in the user&#39;s security context
US7533334B2 (en) Apparatus for transmitting accessibility requirements to a server
JP2006185160A (ja) 複数のウェブサイトにパーソナライズされた価値を追加するためのシステム、ウェブサーバ、方法およびプログラム
JP5137479B2 (ja) 異機種環境においてメッセージのサーバ・ベースのレンダリングを管理するためにコンピュータを利用する方法およびシステム
US20020152286A1 (en) Method and apparatus for handling requests for content in a network data processing system
US20040225848A1 (en) Caching based on access rights in connection with a content management server system or the like
US7103606B2 (en) Method and apparatus for removing information from a server
US7617233B2 (en) Method, system, and computer program product for sharing information between hypertext markup language (HTML) forms using a cookie
AU2008355023A1 (en) Generating sitemaps
US9300677B2 (en) Data security system
US20050004913A1 (en) Dynamic access decision information module
US6934734B2 (en) Method and apparatus for managing and presenting changes to an object in a data processing system
US7275085B1 (en) Method and apparatus for maintaining state information for web pages using a directory server
US7392313B2 (en) Method and apparatus for partitioned environment for web application servers

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee