KR20110090772A - 클라이언트 프로그램, 단말, 서버 장치, 시스템 및 방법 - Google Patents

클라이언트 프로그램, 단말, 서버 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR20110090772A
KR20110090772A KR1020110005402A KR20110005402A KR20110090772A KR 20110090772 A KR20110090772 A KR 20110090772A KR 1020110005402 A KR1020110005402 A KR 1020110005402A KR 20110005402 A KR20110005402 A KR 20110005402A KR 20110090772 A KR20110090772 A KR 20110090772A
Authority
KR
South Korea
Prior art keywords
browser
event
web
client program
server device
Prior art date
Application number
KR1020110005402A
Other languages
English (en)
Inventor
아츠시 노구치
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20110090772A publication Critical patent/KR20110090772A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

[과제] 하나의 웹 브라우저에서 발생한 이벤트에 의해서 다른 웹 브라우저의 표시 화면을 갱신한다.
[해결 수단] 적어도 하나의 단말 상의 복수의 웹 브라우저의 각각에 대응해서 다운로드 되고 실행되어, 복수의 웹 브라우저의 표시 화면을 갱신하는 클라이언트 프로그램으로서, 상기 클라이언트 프로그램은, 실행할 단말을, 복수의 웹 브라우저 중에서 적어도 하나의 조작 대상 브라우저를 선택하는 선택부와, 당해 클라이언트 프로그램에 대응하는 웹 브라우저인 자신의 브라우저에서 발생한 이벤트를 조작 대상 브라우저를 식별하는 브라우저 식별 정보와 같이 서버 장치에 송신하는 이벤트 송신부와, 자신의 브라우저의 이외의 웹 브라우저에 대해서 발생한 이벤트를 서버 장치로부터 수신하는 이벤트 수신부와, 자신의 브라우저의 표시 화면을, 수신한 이벤트에 따라서 화면에 갱신시키는 화면 갱신부로서 기능 시키는 클라이언트 프로그램을 제공한다.

Description

클라이언트 프로그램, 단말, 서버 장치, 시스템 및 방법{CLIENT PROGRAM,TERMINAL,SERVER APPARATUS, SYSTEM, AND METHOD}
본 발명은, 클라이언트 프로그램, 단말, 서버 장치, 시스템 및 방법에 관한 것이다.
복수의 웹 브라우저를 동기시켜서 동작시키는 방법이 알려져 있다(예를 들면, 특허 문헌1~4참조.). 또한, 서버에서 발생한 이벤트를 리얼 타임으로 웹 브라우저에 통지하는 기능도 알려져 있다(예를 들면 비특허문헌1 참조.).
특허문헌1 특허 공개 2000-112862호 공보
특허문헌2 특허 제 3995968호 명세서
특허문헌3 특허 공개 2004-213280호 공보
특허문헌4 특허 공개 2005-56163호 공보
비특허문헌1 스에 노부히로, 다나카 다카키요, 「Web Sphere Application Server」, 일본 IBM 홈 페이지, 2008년 5월 21일, [2010년 1월 21일 검색], 인터넷<URL:http://download.ibm.com/ibmdl/pub/software/dw/jp/websphere/was/was_web20fep_ws/FPWEB20_06WebMessaging.pdf>
종종, 한 명의 유저가 복수의 웹 브라우저를 병행하여 조작하는 경우가 많이 있다. 이러한 경우, 유저는 복수의 웹 브라우저를 순차로 전환하며 조작해야 하기 때문에, 작업 부담이 컸었다. 따라서, 하나의 웹 브라우저에 대한 조작에 의해서 다른 웹 브라우저의 표시 화면을 조작할 수 있으면, 브라우저의 전환 작업이 없어져 작업 부담을 경감시킬 수 있다.
그러나, 웹 브라우저의 표시 화면에 대한 조작은, 각각의 웹 브라우저에서 배타적으로 수행된다. 따라서, 하나의 웹 브라우저에 대한 조작에 의하여, 다른 웹 브라우저의 표시 화면을 갱신시킬 수 없었다.
상기 과제를 해결하기 위해서, 본 발명의 제 1의 실시 예는, 적어도 하나의 단말 상의 복수 웹 브라우저의 각각에 대응하여 다운로드 되고 실행되어, 상기 복수의 웹 브라우저의 표시 화면을 갱신하는 클라이언트 프로그램을 제공하며, 상기 클라이언트 프로그램은, 실행할 단말을, 상기 복수의 웹 브라우저 중에서 적어도 하나의 조작 대상 브라우저를 선택하는 선택부와, 상기 클라이언트 프로그램에 대응하는 웹 브라우저인 자신의 브라우저에서 발생한 이벤트를 상기 조작 대상 브라우저를 식별하는 브라우저 식별 정보와 함께 서버 장치에 송신하는 이벤트 송신부와, 상기 복수의 웹 브라우저 중 어느 하나에서 발생한 이벤트를 상기 서버 장치로부터 수신하는 이벤트 수신부와, 상기 자신의 브라우저의 표시화면을 상기 수신한 이벤트에 따른 화면으로 갱신시키는 화면 갱신부로서 기능 하게 한다. 또한, 이와 같은 클라이언트 프로그램을 실행하는 단말, 서버 장치, 시스템 및 방법을 제공한다.
또한, 상기의 발명의 개요는, 본 발명의 필요한 모든 특징을 열거한 것은 아니다. 또한, 이것들의 특징 군의 서브 컴비네이션도 또한, 발명이 될 수 있다.
도 1은, 본 발명의 실시 형태에 관계되는 컴퓨터 시스템(10)의 구성을 나타낸다.
도 2는, 본 발명의 실시 형태에 관계되는 웹 컨텐츠 및 웹 브라우저의 구성을 나타낸다.
도 3은, 서버 장치(20) 및 단말(30)의 기능 구성을 나타낸다.
도 4는, 제 1의 웹 브라우저A 및 제 2의 웹 브라우저B가 서버 장치(20)에 의하여 제공된 웹 페이지에 액세스할 경우의 처리의 흐름의 한 예를 나타낸다.
도 5는, 도 4의 단계(S11)의 처리에서 웹 브라우저에 표시되는 표시 화면의 한 예를 나타낸다.
도 6은, 도 4의 단계(S15)의 처리 후의 제 1의 웹 브라우저A에 표시되는 표시 화면의 한 예를 나타낸다.
도 7은, 조작 대상 브라우저를 선택하기 위한 선택 버튼을 표시한 제 1의 웹 브라우저A의 표시 화면의 한 예를 나타낸다.
도 8은, 조작 대상 브라우저를 선택하기 위한 선택 버튼을 표시한 제 2의 웹 브라우저B의 표시 화면의 한 예를 나타낸다.
도 9는, 제 1의 웹 브라우저A에 대해서 발생한 이벤트에 따라서, 제 2의 웹 브라우저B를 갱신할 경우의 처리의 흐름을 나타낸다.
도 10은, 도 6의 단계(S21)의 처리에서 제 1의 웹 브라우저A에 표시되는 표시 화면의 한 예를 나타낸다.
도 11은, 제 1의 웹 브라우저A에 대해서 이벤트가 발생한 경우의 제 1의 웹 브라우저A의 표시 화면의 한 예를 나타낸다.
도 12는, 이벤트가 발생한 후의, 제 1의 웹 브라우저A의 표시 화면의 한 예를 나타낸다.
도 13은, 이벤트가 발생한 후의, 제 2의 웹 브라우저B의 표시 화면의 한 예를 나타낸다.
도 14는, 본 발명의 실시 형태에 관계되는 서버 장치(20)에서 단말(30)으로 이벤트를 송신하는 경우의 처리의 한 예를 나타낸다.
도 15는, 본 발명의 실시 형태의 제 1 변형 예에 관계되는 컴퓨터 시스템(10)의 구성을 나타낸다.
도 16은, 본 발명의 실시 형태의 제 1 변형 예에서, 동시에 복수의 그룹에 서브 스크라이브한 웹 브라우저에 표시되는 표시 화면의 한 예를 나타낸다.
도 17은, 본 발명의 실시 형태의 제 2 변형 예에 관계되는 서버 장치(20) 및 하나의 단말 (30)의 기능 구성을 나타낸다.
도 18은, 본 발명의 실시 형태의 제 3 변형 예에 관계되는 서버 장치(20) 및 하나의 단말(30)의 기능 구성을 나타낸다.
도 19는, 본 발명의 실시 형태에 관계되는 컴퓨터(1900)의 하드웨어 구성의 한 예를 나타낸다.
이하, 발명의 실시의 형태를 통해서 본 발명을 설명하지만, 이하의 실시 형태는 특허 청구의 범위의 발명을 한정하는 것은 아니다. 또한, 실시 형태 중에서 설명한 특징의 모든 조합이 발명의 해결 수단으로 필수라고는 할 수 없다.
도 1은, 본 발명의 실시 형태에 관계되는 컴퓨터 시스템(10)의 구성을 나타낸다. 본 실시 형태에 관계되는 컴퓨터 시스템(10)은, 서버 장치(20)과, 적어도 하나의 단말(30)을 갖춘다. 서버 장치(20)은, 적어도 하나의 단말(30)에서 실행되는 복수의 웹 브라우저의 각각에 웹 컨텐츠를 제공한다. 서버 장치(20)은, 한 예로서, 복수의 웹 브라우저의 각각에, HTML 파일인 웹 페이지를 웹 컨텐츠로서 제공한다.
적어도 하나의 단말(30)의 각각은, 서버 장치(20)과 네트워크를 통해서 접속된다. 적어도 하나의 단말(30)은, 하나의 웹 브라우저를 실행시킬 수 있고, 복수의 웹 브라우저를 병행해서 실행시킬 수 있다.
복수의 웹 브라우저의 각각은, 유저의 조작에 따라서, 서버 장치(20)으로부터 웹 컨텐츠를 취득하여 실행하고, 이 웹 컨텐츠에 의하여 제공되는 정보를 표시한다. 복수의 웹 브라우저의 각각은, 한 예로서, 웹 페이지를 다운로드 하여, 표시 화면에 웹 페이지를 표시한다.
도 2는, 본 실시 형태에 관계되는 웹 컨텐츠 및 웹 브라우저의 구성을 나타낸다. 웹 컨텐츠는, 본 실시 형태에 관계되는 클라이언트 프로그램을 포함한다. 클라이언트 프로그램은, Java Script(등록 상표) 코드 등의 웹 브라우저가 실행 가능한 코드에 의하여 기술된 프로그램이다. 클라이언트 프로그램은, 한 예로서, HTML 파일인 웹 페이지에 삽입된다. 또한, 클라이언트 프로그램은, 한 예로서, 웹 컨텐츠의 제공자에 의하여 작성된다.
이와 같이 본 실시 형태에 관계되는 클라이언트 프로그램은, 적어도 하나의 단말(30)상의 복수의 웹 브라우저의 각각에 대응하여 다운로드 되고 실행된다. 그리고, 복수의 웹 브라우저 중 하나의 웹 브라우저에 대응하여 다운로드 되고 실행된 클라이언트 프로그램은, 다른 웹 브라우저의 표시 화면을 갱신할 수 있다.
도 3은, 서버 장치(20) 및 하나의 단말(30)의 기능 구성을 나타낸다. 단말(30)은, 브라우저 실행부(60)와, 클라이언트 프로그램 실행부(70)를 갖춘다.
브라우저 실행부(60)은, 상기 단말(30)이 웹 브라우저를 실행하는 것에 의해서 실현된다. 브라우저 실행부(60)은, 서버 장치(20)으로부터 웹 컨텐츠를 취득하고, 이 웹 컨텐츠에 의하여 제공되는 정보를 웹 브라우저의 표시 화면상에 표시한다. 또한, 브라우저 실행부(60)은, 취득한 웹 컨텐츠에 포함되는 클라이언트 프로그램을 단말(30)에서 실행시킨다.
클라이언트 프로그램 실행부(70)은, 단말(30)이 클라이언트 프로그램을 실행하는 것에 의해서 실현된다. 클라이언트 프로그램 실행부(70)은, 적어도 하나의 단말(30)에서 실행되는 복수의 웹 브라우저의 각각에 대응해서 실제로 실현된다.
클라이언트 프로그램 실행부(70)은, 선택부(71), 이벤트 처리부(72), 이벤트 송신부(74), 이벤트 수신부(76), 및 화면 갱신부(78)을 갖는다. 선택부(71)은, 적어도 하나의 단말(30)에서 실행되는 복수의 웹 브라우저 중에서, 적어도 하나의 조작 대상 브라우저를 선택한다.
선택부(71)은, 한 예로서, 유저의 지시에 따라서 적어도 하나의 조작 대상 브라우저를 선택한다. 이 경우, 선택부(71)은, 복수의 조작 대상 브라우저를 선택할 수 있다. 또한, 선택부(71)은, 상기 클라이언트 프로그램에 대응하는 웹 브라우저인 자신의 브라우저를, 조작 대상 브라우저로서 선택할 수 있다.
이벤트 처리부(72)는, 자신의 브라우저의 표시 화면에서 유저가 수행한 조작에 따라서 발생하는 이벤트를 취득한다. 이벤트 처리부(72)는, 자신의 브라우저에 대해 유저가 수행한 조작에 따른 이벤트로서, 예를 들면, 버튼 조작, 키 조작, 문자 입력 조작, 포인터 이동 조작을 취득한다.
또한, 이벤트 처리부(72)는, 한 예로서, 취득한 이벤트의 발생을 통지하는 메시지를 생성한다. 이벤트 처리부(72)는, 한 예로서, 메시지에, 취득한 이벤트의 내용 및 파라미터를 포함한다. 예를 들면, 이벤트 처리부(72)는, 문자 입력 조작의 이벤트가 발생한 경우에는, 입력된 문자의 문자 코드를 파라미터로서 메시지에 포함한다. 또한, 예를 들면, 이벤트 처리부(72)는, 포인터 이동 조작의 이벤트가 발생한 경우에는, 포인터의 좌표를 파라미터로서 메시지에 포함한다.
또한, 이벤트 처리부(72)는, 메시지에, 선택부(71)에 의해 선택된 조작 대상 브라우저를 식별하는 브라우저 식별 정보를 포함한다. 또한, 이벤트 처리부(72)는, 선택부(71)이 복수의 조작 대상 브라우저를 선택한 경우에는, 메시지에 복수의 브라우저 식별 정보를 포함한다.
이벤트 송신부(74)는, 자신의 브라우저에 대해서 발생한 이벤트를 브라우저 식별 정보와 함께 서버 장치(20)에 송신한다. 이벤트 송신부(74)는, 한 예로서, 이벤트 처리부(72)에 의해 생성된 이벤트 및 브라우저 식별 정보를 포함하는 메시지를 서버 장치(20)에 송신한다.
이벤트 수신부(76)은, 적어도 하나의 단말(30)에서 실행되는 복수의 웹 브라우저에 대해서 발생한 이벤트를, 브라우저 식별 정보와 함께 서버 장치(20)로부터 수신한다. 즉, 이벤트 수신부(76)은, 자신의 브라우저 및 자신의 브라우저 이외의 웹 브라우저에 대해서 발생한 이벤트를, 브라우저 식별 정보와 함께 서버 장치(20)으로부터 수신한다. 이벤트 수신부(76)은, 한 예로서, 이벤트 및 브라우저 식별 정보를 포함하는 메시지를 수신한다.
화면 갱신부(78)은, 이벤트 수신부(76)가 서버 장치(20)로부터 이벤트를 수신하면, 이벤트와 함께 수신한 브라우저 식별 정보가 자신의 브라우저를 나타내는지 여부를 판별한다. 화면 갱신부(78)은, 수신한 브라우저 식별 정보가 자신의 브라우저를 나타내는 경우, 자신의 브라우저의 표시 화면을 서버 장치(20)을 통해서 수신한 이벤트에 따라 화면을 갱신한다. 화면 갱신부(78)은, 한 예로서, 이벤트 수신부(76)이 수신한 메시지에 포함되는 이벤트의 내용 및 파라미터를, 브라우저 실행부(60)에 제공하여, 브라우저 실행부(60)이 자신의 브라우저의 표시 화면을 이벤트의 내용 및 파라미터에 따른 화면으로 갱신하도록 한다.
또한, 화면 갱신부(78)은, 수신한 브라우저 식별 정보가 자신의 브라우저를 나타내지 않는 경우, 아무런 처리를 실행하지 않는다. 화면 갱신부(78)은, 한 예로서 수신한 브라우저 식별 정보가 자신의 브라우저를 나타내지 않는 경우, 브라우저 실행부(60)에 아무런 데이터를 제공하지 않고, 자신의 브라우저의 표시 화면을 갱신하지 않는다.
이런 방식으로, 화면 갱신부(78)은, 자신의 브라우저의 표시 화면을 다른 웹 브라우저 또는 자신의 브라우저에서 발생한 이벤트에 따라서 갱신할 수 있다. 예를 들면, 브라우저 실행부(60)은, 다른 웹 브라우저에 입력된 문자 열을 자신의 브라우저의 표시 화면에 표시할 수 있다. 또한, 예를 들면, 브라우저 실행부(60)은, 다른 웹 브라우저에 대한 조작에 따라서, 자신의 브라우저의 표시 화면상의 포인터의 위치를 갱신할 수 있다.
서버 장치(20)은, 프로그램 송신부(82)와, 이벤트 전송부(84)를 갖는다. 프로그램 송신부(82)는, 적어도 하나의 단말(30)상에서 동작하는 복수의 웹 브라우저의 각각으로부터의 요구에 따라서, 클라이언트 프로그램을 적어도 하나의 단말(30)에 송신한다. 보다 구체적으로는, 프로그램 송신부(82)는, 단말(30)을, 선택부(71), 이벤트 처리부(72), 이벤트 송신부(74), 이벤트 수신부(76) 및 화면 갱신부(78)로서 기능하도록 하는 클라이언트 프로그램을 송신한다.
이벤트 전송부(84)는, 복수의 웹 브라우저 중 하나의 브라우저로부터 이벤트 및 브라우저 식별 정보를 수신한다. 이벤트 전송부(84)는, 한 예로서, 메시지에 포함된 이벤트 및 브라우저 식별 정보를 수신한다.
그리고, 이벤트 전송부(84)는, 수신한 이벤트를 적어도 브라우저 식별 정보에 의해서 표시된 조작 대상 브라우저에 전송해서, 조작 대상 브라우저의 표시 화면을 이벤트에 따른 화면으로 갱신시킨다. 이벤트 전송부(84)는, 한 예로서, 이벤트 및 브라우저 식별 정보를 포함하는 메시지를, 적어도 브라우저 식별 정보에 의해서 표시된 조작 대상 브라우저에 전송한다.
또한, 이벤트 전송부(84)는, 한 예로서, 수신한 이벤트 및 브라우저 식별 정보를, 서버 장치(20)에 접속된 복수의 모든 웹 브라우저에 전송한다. 또한, 이벤트 전송부(84)는, 한 예로서, 수신한 이벤트를 브라우저 식별 정보에 의해서 표시된 조작 대상 브라우저에만 전송할 수도 있다. 이와 같이 서버 장치(20)은, 적어도 하나의 단말(30)상의 복수의 웹 브라우저 중 적어도 하나의 조작 대상 브라우저의 표시 화면을 갱신할 수 있다.
도 4는, 제 1 웹 브라우저A 및 제 2 웹 브라우저 B가 서버 장치(20)에 의하여 제공된 웹 페이지에 액세스하는 경우의 처리 흐름의 한 예를 나타낸다. 도 5부터 도 8은, 도 4의 처리 흐름의 각 단계에서, 웹 브라우저의 표시 화면에 표시되는 정보의 한 예를 나타낸다.
먼저, 제 1 웹 브라우저A는, 서버 장치(20)에 액세스해서(S11), 웹 페이지를 다운로드 한다(S12). 이 웹 페이지는, 예를 들면 Java Script(등록 상표) 코드 등에 의하여 기술된 클라이언트 프로그램을 포함한다. 그리고, 제 1 웹 브라우저A는, 다운로드 한 웹 페이지에 포함하는 클라이언트 프로그램을 단말(30)이 실행시키도록 한다. 이렇게 하여, 제 1 웹 브라우저A를 실행하는 단말(30)은, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)를 실제로 구현할 수 있다.
그 다음에, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)은, 서버 장치(20)에 대해서 서브스크라이브한다(subscribe)(S13). 클라이언트 프로그램 실행부(70)는, 한 예로서, 도 5에 나타낸 것 같은 제 1 웹 브라우저A의 표시 화면에 유저 명(user name) 및 패스워드의 입력을 요구한다.
클라이언트 프로그램 실행부(70)은, 입력된 유저 명 및 패스워드를 서버 장치(20)에 송신해서, 유저 명에 의해 식별되는 토픽에 대해서 서브스크라이브 한다. 예를 들면, 클라이언트 프로그램 실행부(70)은, 서브스크라이브를 함에 있어서, 서버 장치(20)에 콜 백 함수를 미리 등록하여, 서버 장치(20)가 나중에 상기 클라이언트 프로그램 실행부(70)를 불러내는 것이 가능하도록 한다.
그 다음에, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)은, 제 1 웹 브라우저A를 식별하기 위한 브라우저 식별 정보(ID)의 송신을 서버 장치(20)에 요구한다(S14). 클라이언트 프로그램 실행부(70)은, 단계 S13의 처리와 동시에 브라우저 식별 정보의 요구를 수행할 수 있다.
그 다음에, 서버 장치(20)은, 유저 명에 의해 식별되는 토픽 내에서 브라우저에 고유한 브라우저 식별 정보를, 제 1 웹 브라우저A에 할당한다. 그리고, 서버 장치(20)은, 할당한 브라우저 식별 정보를, 제 1웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)에 송신한다(S15). 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)은, 수신한 브라우저 식별 정보를 기억함과 동시에, 예를 들면 도 6에 나타낸 것처럼 제 1 웹 브라우저A의 표시 화면상에 표시한다.
그 다음에, 제 2 웹 브라우저B도, 제 1 웹 브라우저A와 같이, S11~S12의 처리를 실행한다. 이렇게 하여서, 제 2 웹 브라우저B를 실행하는 단말(30)은, 제 2 웹 브라우저B에 대응하는 클라이언트 프로그램 실행부(70)를 실제로 구현할 수 있다.
그 다음에, 제 2 웹 브라우저B에 대응하는 클라이언트 프로그램 실행부(70)도, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)와 같이, 단계S13~단계S15의 처리를 실행한다. 이렇게 하여서, 제 2 웹 브라우저B에 대응하는 클라이언트 프로그램 실행부(70)은, 제 1 웹 브라우저A와 동일한 토픽을 서브스크라이브 하고, 상기 토픽 내에서 고유의 브라우저 식별 정보를 기억하여, 제 2 웹 브라우저B의 표시 화면 상에 표시할 수 있다.
또한, 하나의 토픽을 서브스크라이브 하는 웹 브라우저를 추가 또는 삭제하는 경우, 추가 또는 삭제한 후에, 서버 장치(20)은, 이 하나의 토픽을 서브스크라이브 하고 있는 모든 웹 브라우저에 대응하는 클라이언트 프로그램 실행부(70)의 각각에, 하나의 토픽을 서브스크라이브 하고 있는 모든 웹 브라우저의 브라우저 식별 정보(ID)를 송신한다(S16). 그리고, 복수의 웹 브라우저에 대응하는 클라이언트 프로그램 실행부(70)의 각각은, 수신한 모든 브라우저 식별 정보를 메모리에 저장한다. 이렇게 하여서, 클라이언트 프로그램 실행부(70)은, 동일한 토픽을 서브스크라이브 하고 있는 모든 웹 브라우저의 브라우저 식별 정보를 최신 상태로 갱신할 수 있다.
또한, 클라이언트 프로그램 실행부(70)에 포함된 선택부(71)는, 하나의 토픽을 서브스크라이브 하고 있는 복수의 웹 브라우저 중에서 조작 대상 브라우저를 선택하기 위한 유저 인터페이스를 자신의 브라우저의 표시 화면에 표시한다. 선택부(71)은, 한 예로서, 메모리에 저장된 복수의 브라우저 식별 정보에 근거하여, 조작 대상 브라우저를 선택하기 위한 유저 인터페이스를 생성한다.
예를 들면, 도 7은 조작 대상 브라우저를 선택하기 위한 선택 버튼을 표시한 제 1 웹 브라우저A의 표시 화면을 나타내고 있다. 또한, 도 8은, 조작 대상 브라우저를 선택하기 위한 선택 버튼을 표시한 제 2 브라우저B의 표시 화면을 나타내고 있다. 선택부(71)은, 조작 대상 브라우저를 선택하기 위한 유저 인터페이스로서, 예를 들면 도 7 및 도 8에 나타낸 것과 같은 선택 버튼을 표시한다.
도 9는, 제 1 웹 브라우저A에 대해서 발생한 이벤트에 따라서, 제 2 웹 브라우저B를 갱신하는 경우의 처리 흐름을 나타낸다. 도 10 내지 도 13은, 도 9의 처리 흐름의 각 단계에서, 웹 브라우저의 표시 화면에 표시되는 정보의 한 예를 나타낸다.
먼저, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 선택부(71)은, 유저 조작에 따라, 하나의 토픽을 서브스크라이브 하고 있는 복수의 웹 브라우저 중에서, 적어도 하나의 조작 대상 브라우저를 선택한다(S21). 예를 들면 도 10에 나타낸 것처럼, 선택부(71)은, 유저가 제 2 웹 브라우저B를 선택하면, 제 2 웹 브라우저B를 조작 대상 브라우저로서 선택한다. 또한, 선택부(71)은, 복수의 조작 대상 브라우저를 동시에 선택할 수도 있고, 자신의 브라우저를 조작 대상 브라우저로서 선택할 수도 있다.
그 다음에, 제 1 웹 브라우저A의 표시 화면에 이벤트가 발생한다. 예를 들면, 도 11에 나타낸 것처럼, 제 1 웹 브라우저A의 표시 화면에서, 박스 안에 문자열(예를 들면 URL[Uniform Resource Locator])을 입력하는 이벤트, 및, 박스 안에 입력된 문자열에 의해 특정되는 웹 페이지를 표시하는 버튼(Enter 버튼)을 클릭하는 이벤트가 발생한다.
제 1 웹 브라우저A의 표시 화면에서 이벤트가 발생하면, 그 다음에, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 이벤트 처리부(72)가 호출된다. 이벤트 처리부(72)는, 제 1 웹 브라우저A에서 발생한 이벤트의 내용 및 파라미터를 취득한다.
그 다음에 이벤트 처리부(72)는, 이벤트의 내용 및 파라미터와 선택부(71)에 의해 선택된 조작 대상 브라우저를 식별하는 브라우저 식별 정보를 포함하는 메시지를 생성해서, 이벤트 송신부(74)를 불러낸다. 그리고, 이벤트 송신부(74)는, 이벤트 처리부(72)가 생성한 이벤트를 포함하는 메시지를 서버 장치(20)의 이벤트 전송부(84)에 송신한다(S22).
그 다음에, 서버 장치(20)의 이벤트 전송부(84)는, 이벤트를 포함하는 메시지를 수신한다. 이벤트 전송부(84)는, 이벤트를 포함하는 메시지를 수신하면, 하나의 토픽을 서브스크라이브 하는 복수의 웹 브라우저의 각각에, 수신한 이벤트를 포함하는 메시지를 전송한다(S23). 본 예에서, 이벤트 전송부(84)는, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70) 및 제 2 웹 브라우저B에 대응하는 클라이언트 프로그램 실행부(70)의 각각에, 수신한 이벤트를 포함하는 메시지를 전송한다. 또한, 이 경우에, 이벤트 전송부(84)는, 이벤트를 포함하는 메시지를, 메시지 내에 포함된 브라우저 식별 정보에 의해 특정된 웹 브라우저에 대해서만 전송할 수 있다.
그 다음에, 복수의 웹 브라우저의 각각에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 이벤트 수신부(76)은, 서버 장치(20)로부터 이벤트를 포함하는 메시지를 수신한다. 이벤트 수신부(76)은, 이벤트를 포함하는 메시지를 수신하면, 화면 갱신부(78)를 호출한다.
화면 갱신부(78)은, 이벤트 수신부(76)에 의하여 수신된 메시지에 포함되는 브라우저 식별 정보가, 상기 웹 브라우저의 브라우저 식별정보와 일치하는지 일치하지 않는지를 판별한다(S24). 본 예에서, 메시지 내의 브라우저 식별 정보는 제 2 웹 브라우저B를 나타낸다. 따라서, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 화면 갱신부(78)은, 메시지에 포함되는 브라우저 식별 정보가 제 1 웹 브라우저A의 브라우저 식별 정보와 일치하지 않는다고 판단한다. 또, 제 2 웹 브라우저B에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 화면 갱신부(78)은, 메시지에 포함되는 브라우저 식별 정보가 제 2 브라우저B의 브라우저 식별 정보와 일치한다고 판단한다.
화면 갱신부(78)은, 메시지에 포함되는 브라우저 식별 정보가 상기 웹 브라우저의 브라우저 식별 정보와 일치하지 않는 경우, 아무런 처리를 실행하지 않고 종료한다. 따라서, 본 예에서, 제 1 웹 브라우저A에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 화면 갱신부(78)은, 아무런 처리를 실행하지 않는다. 따라서, 제 1 웹 브라우저A는, 도 12에 나타낸 것처럼, 표시 화면상에 새로운 정보를 표시하지 않는다.
또, 화면 갱신부(78)은, 메시지에 포함되는 브라우저 식별 정보가 상기 웹 브라우저의 브라우저 식별 정보와 일치하는 경우, 대응하는 웹 브라우저의 표시화면을 서버 장치(20)로부터 전송된 메시지에 포함되는 이벤트의 내용 및 파라미터에 관한 화면으로 갱신한다(S25). 본 예에서, 제 2 웹 브라우저B에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 화면 갱신부(78)은, 제 2 웹 브라우저B의 표시 화면을 메시지에 포함된 이벤트의 내용 및 파라미터에 관한 화면으로 갱신한다.
즉, 화면 갱신부(78)은, 제 2 웹 브라우저B의 표시 화면을 제 1 웹 브라우저A의 표시 화면에서 일어난 이벤트에 따라 화면을 갱신한다. 따라서, 제 2 웹 브라우저B는, 도 13에 나타낸 것처럼, 제 1 웹 브라우저A의 표시 화면의 박스 안에 입력한 문자열(URL)로부터 웹 페이지를 다운로드 하여, 다운로드 한 웹 페이지를 표시한다.
그리고, 이후, 복수의 웹 브라우저의 각각에 대응하는 클라이언트 프로그램 실행부(70)은, 어떤 웹 브라우저의 표시 화면에서 이벤트가 발생할 때마다, 상기의 단계S22부터 단계S25의 처리를 실행한다.
전술한 바와 같이, 본 실시 형태에 관계되는 컴퓨터 시스템(10)에서는, 하나의 웹 브라우저에서 이벤트 발생에 응답하여, 다른 웹 브라우저의 표시 화면을 갱신할 수 있다. 이렇게 하여서, 컴퓨터 시스템(10)에서는, 예를 들면, 1명의 유저가 복수의 웹 브라우저를 병렬로 조작하고 있는 경우에, 유저는 하나의 웹 브라우저를 조작하는 것에 의해, 복수의 웹 브라우저의 표시 화면을 갱신할 수 있다.
또한, 컴퓨터 시스템(10)에서는, 하나의 웹 브라우저에서 발생한 이벤트의 내용 및 파라미터를 나타내는 메시지를 전송하기 때문에, 주고 받는 정보량을 적게 하여, 화면의 갱신에 필요한 시간을 적게 할 수 있다. 또한, 컴퓨터 시스템(10)에서는, 전용 어플리케이션을 단말(30)에 인스톨하지 않고, 기존의 웹 브라우저에 의해 클라이언트 프로그램을 다운로드해서 실행시키기 때문에, 유저의 부담을 작게 할 수 있다.
또한, 선택부(71)은, 복수의 웹 브라우저 중 조작 대상 브라우저를 선택하는 경우에, 자신을 위한 웹 브라우저(자신의 브라우저)를 조작 대상 브라우저로서 선택할 수 있다. 이로 인해, 다른 웹 브라우저를 갱신하는 것과 함께, 자신의 브라우저도 같은 시간에 갱신할 수 있다.
또한, 서버 장치(20)은, 하나의 웹 브라우저로부터 이벤트를 포함하는 메시지를 수신한 경우, 수신한 메시지를 모든 복수의 웹 브라우저의 전송하는 것이 아니라, 수신한 메시지에 포함된 브라우저 식별 정보에 의해 특정된 웹 브라우저만 전송할 수 있다. 이로 인해, 서버 장치(20)는, 데이터의 전송량 및 웹 브라우저의 처리량을 적게 할 수 있다.
또한, 단계 S22에서, 이벤트 송신부(74)는, 자신의 브라우저에서 발생한 이벤트와 함께, 브라우저 식별 정보 및 자신의 브라우저를 식별하는 자신의 브라우저 정보를 서버 장치(20)에 송신할 수 있다. 그리고, 이와 같은 이벤트를 수신한 조작 대상 브라우저에 대응하는 클라이언트 프로그램 실행부(70)은, 수신한 이벤트에 따라 화면 갱신부(78)이 표시 화면을 갱신한 결과에 따른 정보를, 상기 이벤트를 송신한 웹 브라우저에 답신할 수 있다. 예를 들면, 클라이언트 프로그램 실행부(70)은, 수신한 이벤트에 따라 화면 갱신부(78)이 표시 화면을 갱신한 결과에 따른 정보로서, 표시 화면의 갱신이 성공했는지 또는 실패했는지를 나타내는 코드, 및, 실패한 경우에는 실패한 이유를 나타내는 코드 등을 송신한다.
이로 인해, 컴퓨터 시스템(10)에서, 하나의 웹 브라우저를 조작하여 다른 웹 브라우저의 표시 화면을 갱신한 경우에, 다른 웹 브라우저에서 갱신이 성공했는지 실패했는지를 하나의 웹 브라우저를 조작 중인 유저에 통지할 수 있다. 이로 인해, 컴퓨터 시스템(10)에서, 유저가 다른 웹 브라우저의 표시 내용을 직접 확인하지 않아도 되기 때문에, 유저의 부담을 경감할 수 있다.
또한, 이벤트 송신부(74)는, 웹 브라우저에서 미리 정해진 처리(예를 들면 화면 갱신부(78)에 의한 화면 갱신의 처리)가 실행된 경우, 표시 화면을 갱신하지 않은 미리 등록한 이벤트를 서버 장치(20)에 송신할 수 있다. 이벤트 송신부(74)는, 한 예로서, 화면 갱신부(78)이 표시 화면을 갱신한 결과에 따른 정보를 이벤트를 송신한 웹 브라우저에 답신하는 경우에, 표시 화면을 갱신하지 않은 미리 등록된 이벤트를 서버 장치(20)에 송신한다. 이렇게 하여, 컴퓨터 시스템(10)은, 유저의 조작에 따른 이벤트를 다른 웹 브라우저에 전송하는 경우와 비슷하게, 하나의 웹 브라우저의 처리 내용을 다른 웹 브라우저에 통지할 수 있다.
도 14는, 본 실시 형태에서, 서버 장치(20)에서 단말(30)로 이벤트를 송신하는 경우의 처리의 한 예를 나타낸다. 본 실시 형태에 관계되는 컴퓨터 시스템(10)은, 한 예로서, 도 14에 나타낸 것 같은 방법에 의하여, 서버 장치(20)에서 단말(30)로 이벤트를 송신한다.
즉, 복수의 웹 브라우저의 각각은, 서버 장치(20)에 대해서 반복해서 리퀘스트(request)를 송신하고, 서버 장치(20)로부터 리스폰스(response)를 수신한다. 이 경우에, 복수의 웹 브라우저의 각각은, 하나의 리스폰스를 수신한 후, 즉시 다음의 리퀘스트를 서버 장치(20)에 송신한다.
서버 장치(20)은, 웹 브라우저로부터 리퀘스트를 수신한 경우, 미리 정해진 시간 이상 대기하고 나서 대응하는 웹 브라우저에 송신한다. 서버 장치(20)은, 한 예로서, 리퀘스트를 수신하고 나서 60초 정도의 시간을 보류한 후에 리스폰스를 송신한다.
또한, 서버 장치(20)은, 하나의 리스폰스를 송신하는 경우에 있어서, 직전의 리스폰스를 송신하고 나서 그 다음 하나의 리스폰스를 송신하기 전까지 웹 브라우저로부터 이벤트를 포함한 메시지를 수신한 경우, 수신한 이벤트를 포함하는 메시지를 상기 하나의 리스폰스에 포함시킨다. 이렇게 함으로서, 서버 장치(20)은, 어떤 웹 브라우저로부터 이벤트를 포함하는 메시지를 수신한 경우, 그 수신한 메시지를 타임 래그(time lag) 없이 복수의 웹 브라우저의 각각에 전송할 수 있다.
도 15는, 본 실시 형태의 제 1 변형 예에 관계되는 컴퓨터 시스템(10)의 구성을 나타낸다. 본 변형 예에 관계되는 컴퓨터 시스템(10)은, 도 1에 나타낸 본 실시 형태에 관계되는 컴퓨터 시스템(10)과 대략 동일한 구성 및 기능을 취하므로, 도 1에 나타낸 콤포넨트와 대략 동일한 구성 및 기능의 콤포넨트에 동일한 부호를 붙여, 이하의 차이점을 제외하고 설명을 생략한다.
제 1 변형 예에 관계되는 컴퓨터 시스템(10)은, 복수의 웹 브라우저를 포함하는 복수의 그룹을 갖춘다. 그리고, 컴퓨터 시스템(10)은, 그룹 내에서, 하나의 웹 브라우저의 표시 화면에 발생한 이벤트에 따라 다른 웹 브라우저의 표시 화면을 갱신한다.
본 변형 예에서, 웹 브라우저는, 하나의 그룹을 서브스크라이브 하는 경우, 상기 하나의 그룹의 그룹 명 및 패스워드를 서버 장치(20)에 송신한다. 이렇게 함으로서, 서버 장치(20)은, 서버 장치(20)에 접속된 복수의 웹 브라우저를 그룹마다 관리할 수 있다.
또한, 하나의 웹 브라우저는, 복수의 그룹을 동시에 서브스크라이브 할 수 있다. 따라서, 예를 들면 제 1 그룹 및 제 2 그룹의 양쪽을 서브스크라이브 하는 하나의 웹 브라우저는, 제 1 그룹 내의 다른 웹 브라우저의 표시 화면을 갱신할 수도 있고, 제 2 그룹 내의 다른 웹 브라우저를 갱신할 수도 있다.
도 16은, 본 발명의 실시 형태의 제 1 변형 예로서, 동시에 복수의 그룹을 서브스크라이브 하는 웹 브라우저에 표시되는 표시 화면의 한 예를 나타낸다. 하나의 웹 브라우저가 동시에 복수의 그룹을 서브스크라이브 한 경우, 선택부(71)은, 조작 대상 브라우저를 선택하기 위한 유저 인터페이스(예를 들면 선택 버튼)를, 그룹마다, 자신의 브라우저의 표시 화면에 표시한다.
예를 들면, 자신을 위한 웹 브라우저(자신의 브라우저)가 제 1 그룹 및 제 2 그룹을 동시에 서브스크라이브 하는 경우, 선택부(71)은, 도 16에 나타낸 것처럼, 제 1 그룹 중에서 조작 대상 브라우저를 선택하기 위한 조작 버튼과, 제 2 그룹 중에서 조작 대상 브라우저를 선택하기 위한 조작 버튼을 표시한다. 그리고, 유저 지시에 따라서, 선택부(71)은, 적어도 하나의 그룹 중에서 적어도 하나의 대상 그룹을 선택하는 것과 동시에, 적어도 하나의 대상 그룹에 포함되는 복수의 웹 브라우저 중에서 적어도 하나의 조작 대상 브라우저를 선택한다.
그 다음에, 자신의 브라우저에 이벤트가 발생한 경우, 이벤트 처리부(72)는, 선택부(71)에 의해 선택된 대상 그룹을 식별하는 그룹 식별 정보 및 대상 그룹 내에서 조작 대상 브라우저를 식별하는 브라우저 식별 정보를 포함하는 메시지를 생성한다. 그리고, 이벤트 송신부(74)는, 자신의 브라우저에서 발생한 이벤트를, 그룹 식별 정보 및 브라우저 식별 정보와 함께 메시지에 포함시켜. 서버 장치(20)에 송신한다.
그 다음에, 이벤트 전송부(84)는, 이벤트를 포함하는 메시지를 수신하면, 그 메시지에 포함되는 그룹 식별 정보를 판별한다. 그리고, 이벤트 전송부(84)는, 그룹 식별 정보에 의해 특정된 그룹을 서브스크라이브 하는 복수의 웹 브라우저의 각각에, 수신한 이벤트를 포함하는 메시지를 전송한다.
이렇게 하여서, 제 1 변형 예에 관계되는 컴퓨터 시스템(10)은, 그룹마다, 하나의 웹 브라우저의 표시 화면에 발생한 이벤트에 따라 다른 웹 브라우저의 표시 화면을 갱신할 수 있다.
또한, 서버 장치(20)은, 복수의 웹 브라우저 사이의 관계가 미리 정해진 조건을 만족한다면, 이 복수의 웹 브라우저를 포함한 새로운 그룹을 추가할 수 있다. 예를 들면, 특정의 웹 브라우저와 다른 웹 브라우저와의 사이에서 이벤트의 전송 수가 미리 정해진 임계값을 초과한다면, 서버 장치(20)은, 상기 특정의 웹 브라우저와 다른 웹 브라우저를 포함한 새로운 그룹을 추가한다.
서버 장치(20)은, 그룹을 추가 또는 삭제한 경우에는, 추가 또는 삭제한 그룹에 속하는 복수의 웹 브라우저의 각각에 통지한다. 또한, 서버 장치(20)은, 특정 그룹에 속하는 웹 브라우저를 추가 또는 삭제한 경우, 상기 특정 그룹에 속하는 복수의 웹 브라우저의 각각에 상기 추가 또는 삭제를 통지한다.
복수의 웹 브라우저의 각각에 대응하는 클라이언트 프로그램 실행부(70)에 포함된 선택부(71)은, 서버 장치(20)로부터의 통지에 따라, 자신의 브라우저에 속하는 그룹을 추가 또는 삭제한다. 또한, 선택부(71)은, 자신의 브라우저가 포함된 그룹에 웹 브라우저를 추가 또는 삭제한다.
예를 들면 선택부(71)은, 자신의 브라우저와, 자신의 브라우저가 속하는 그룹 내의 특정의 웹 브라우저와 사이의 관계가 미리 정해진 조건을 만족한다면, 자신의 브라우저 및 상기 특정의 웹 브라우저를 포함한 새로운 그룹을 추가한다. 선택부(71)은, 한 예로서, 자신의 브라우저와 특정의 웹 브라우저와 사이의 이벤트의 전송 수가 미리 정해진 임계값을 초과한다면, 새로운 그룹을 추가한다.
이렇게 함으로서, 컴퓨터 시스템(10)은, 새롭게 추가된 그룹 이외의 웹 브라우저에는, 상기 복수의 웹 브라우저 간의 이벤트를 전송시키지 않도록 할 수 있다. 이로 인해, 컴퓨터 시스템(10)에서, 트래픽이 증대하는 것을 방지할 수 있다.
도 17은, 본 실시 형태의 제 2 변형 예에 관계되는 서버 장치(20) 및 하나의 단말(30)의 기능 구성을 나타낸다. 또한, 본 변형 예에 관계되는 서버 장치(20) 및 단말(30)은, 도 3에 나타낸 본 실시 형태에 관계되는 서버 장치(20) 및 단말(30)과 대략 동일한 구성 및 기능을 취하므로, 도 3에 나타낸 콤포넨트와 대략 동일한 구성 및 기능의 콤포넨트에 동일한 부호를 붙여, 이하의 차이점을 제외하고 설명을 생략한다.
본 변형 예에 관계되는 클라이언트 프로그램 실행부(70)은, 이벤트 저장부(86)도 포함한다. 이벤트 저장부(86)은, 복수의 웹 브라우저의 각각에 대응해서, 송신된 이벤트를 송신 순으로 저장한다. 예를 들면, 이벤트 저장부(86)은, 각각의 웹 브라우저에 송신된, URL의 입력 이벤트 및 입력한 URL의 웹 페이지를 표시시키는 이벤트를 송신 순으로 저장한다.
그리고, 본 변형 예에 관계되는 화면 갱신부(78)은, 자신의 브라우저의 표시화면을 복수의 웹 브라우저의 어느 화면과 동기시키라는 지시에 따라, 지정된 웹 브라우저에 송신된 이벤트를 자신의 브라우저에서 송신 순으로 발생되게 한다. 예를 들면, 화면 갱신부(78)은, 지정된 웹 브라우저에 송신된 URL의 입력 이벤트 및 입력된 URL의 웹 페이지를 표시하는 이벤트를, 자신의 브라우저의 표시 화면에서 발생시킨다. 이렇게 하여, 본 변형 예에 관계되는 서버 장치(20) 및 단말(30)은, 다른 웹 브라우저에 표시된 표시 화면에, 자신의 브라우저의 표시 화면을 동기시킬 수 있다.
도 18은, 본 실시 형태의 제 3 변형 예에 관계되는 서버 장치(20) 및 하나의 단말(30)의 기능 구성을 나타낸다. 또한, 본 변형 예에 관계되는 서버 장치(20) 및 단말(30)은, 도 3에 나타낸 본 실시 형태에 관계되는 서버 장치(20) 및 단말(30)과 대략 동일한 구성 및 기능을 취하므로, 도 3에 나타낸 콤포넨트와 대략 동일한 구성 및 기능의 콤포넨트에 동일한 부호를 붙여, 이하 차이점을 제외한 설명을 생략한다.
본 변형 예에 관계되는 클라이언트 프로그램 실행부(70)은, 버퍼부(88)을 가진다. 버퍼부(88)는, 자신의 브라우저상에서 발생한 이벤트를 하나 이상 저장한다. 버퍼부(88)은, 한 예로서, 이벤트 처리부(72)에 의해 생성된 메시지를 저장한다.
이벤트 송신부(74)는, 유저로부터 다른 웹 브라우저의 표시 화면을 갱신시키는 지시를 받은 것에 응답하여, 버퍼부(88)에 저장된 하나 이상의 이벤트를, 서버 장치(20)에 송신한다. 이와 같은 본 변형 예에 관계되는 단말(30)에서, 유저가 희망하는 타이밍에 다른 웹 브라우저의 표시 화면을 갱신할 수 있다.
또, 본 변형에서, 화면 갱신부(78)은, 자신의 브라우저상에서 발생한 이벤트를 이벤트 처리부(72)로부터 직접 취득하여, 자신의 브라우저의 표시 화면을 취득한 이벤트에 따라 화면을 갱신시킨다. 이렇게 함으로서, 본 변형 예에 관계되는 서버 장치(20) 및 단말(30)은, 자신의 브라우저에서 발생한 이벤트에 대해서는, 서버 장치(20)을 통하지 않고 화면을 갱신할 수 있다. 따라서, 본 변형 예에 관계되는 서버 장치(20) 및 단말(30)은, 이벤트가 발생하고 나서 화면이 갱신되기까지의 응답 시간을 짧게 해서, 조작성을 향상시킬 수 있다.
도 19는, 본 실시 형태에 관계되는 컴퓨터(1900)의 하드웨어 구성의 한 예를 나타낸다. 본 실시 형태에 관계되는 컴퓨터(1900)은, 호스트 컨트롤러(2082)에 의해 상호에 접속되는 CPU(2000), RAM(2020), 그래픽 컨트롤러(2075), 및 표시 장치(2080)을 가진 CPU 주변부와, 입출력 컨트롤러(2084)에 의해 호스트 컨트롤러(2082)에 접속되는 통신 인터페이스(2030), 하드 디스크 드라이브(2040), 및 CD-ROM 드라이브(2060)을 가진 입출력부와, 입출력 컨트롤러(2084)에 접속되는 ROM(2010), 플렉시블 디스크 드라이브(2050), 및 입출력 칩(2070)을 가진 레거시 입출력부를 갖는다.
호스트 컨트롤러(2082)는, RAM(2020)과, 높은 전송 레이트로 RAM(2020)을 액세스하는 CPU(2000)및 그래픽 컨트롤러(2075)를 접속한다. CPU(2000)는, ROM(2010) 및 RAM(2020)에 저장된 프로그램에 근거하여 동작하고, 각 부의 제어를 수행한다. 그래픽 컨트롤러(2075)는, CPU(2000)등이 RAM(2020) 내에 설정한 프레임 버퍼 상에 생성하는 화상 데이터를 취득하고, 표시 장치(2080) 상에 표시한다. 이것에 대신하여, 그래픽 컨트롤러(2075)는, CPU(2000)등이 생성하는 화상 데이터를 저장하는 프레임 버퍼를 내부에 포함할 수 있다.
입출력 컨트롤러(2084)는, 호스트 컨트롤러(2082)와, 비교적 고속인 입출력 장치인 통신 인터페이스(2030), 하드 디스크 드라이브(2040), CD-ROM 드라이브(2060)를 접속한다. 통신 인터페이스(2030)는, 네트워크를 통해서 다른 장치와 통신한다. 하드 디스크 드라이브(2040)는, 컴퓨터(1900) 내의 CPU(2000)가 사용하는 프로그램 및 데이터를 저장한다. CD-ROM 드라이브(2060)는, CD-ROM(2095)로부터 프로그램 또는 데이터를 읽어내고, RAM(2020)을 통해서 하드 디스크 드라이브(2040)에 제공한다.
또, 입출력 컨트롤러(2084)에는, ROM(2010)과, 플렉시블 디스크 드라이브(2050), 및 입출력 칩(2070)의 비교적 저속인 입출력 장치가 접속된다. ROM(2010)은, 컴퓨터(1900)가 기동 시에 실행하는 부팅 프로그램, 및/또는, 컴퓨터(1900)의 하드웨어에 의존하는 프로그램 등을 저장한다. 플렉시블 디스크 드라이브(2050)는, 플렉시블 디스크(2090)로부터 프로그램 및 데이터를 읽어내고, RAM(2020)을 통해서 하드 디스크 드라이브(2040)에 제공한다. 입출력 칩(2070)은, 플렉시블 디스크 드라이브(2050)를 입출력 컨트롤러(2084)에 접속하는 것과 함께, 예를 들면 패럴렐 포트, 시리얼 포트, 키보드 포트, 마우스 포트 등을 통해서 각종의 입출력 장치를 입출력 컨트롤러(2084)에 접속한다.
RAM(2020)을 통해서 하드 디스크 드라이브(2040)에 제공되는 프로그램은, 플렉시블 디스크(2090), CD-ROM(2095), 또는 IC 카드 등의 기록 매체에 저장되어 이용자에 의해 제공된다. 프로그램은, 기억 매체로부터 읽어내어 져서, RAM(2020)을 통해서 컴퓨터(1900) 내의 하드 디스크 드라이브(2040)에 인스톨되어, CPU(2000)에서 실행된다.
컴퓨터(1900)에 다운로드 하고 실행되어, 컴퓨터(1900)를 클라이언트 프로그램 실행부(70)로서 기능 시키는 클라이언트 프로그램은, 선택 모듈과, 이벤트 처리 모듈과, 이벤트 송신 모듈과, 이벤트 수신 모듈과, 화면 변경 모듈을 갖춘다. 이러한 프로그램 또는 모듈은, CPU(2000)등에 작용하여, 컴퓨터(1900)를, 선택부(71), 이벤트 처리부(72), 이벤트 송신부(74), 이벤트 수신부(76) 및 화면 갱신부(78)로서 각각 기능 시킨다.
이러한 프로그램에 기술된 정보 처리는, 컴퓨터(1900)에 읽히는 것으로, 소프트웨어와 상술한 각종의 하드웨어 자원이 협동한 구체적 수단인 선택부(71), 이벤트 처리부(72), 이벤트 송신부(74), 이벤트 수신부(76) 및 화면 갱신부(78)로서 기능한다. 그리고, 이러한 구체적 수단에 의해서, 본 실시 형태에서 컴퓨터(1900)의 사용 목적에 따른 정보의 연산 또는 가공을 실현하는 것으로 인해, 사용 목적에 따른 특유의 단말(30)이 구축된다.
또, 컴퓨터(1900)에 인스톨되어, 컴퓨터(1900)를 서버 장치(20)로서 기능 시키는 프로그램은, 프로그램 송신 모듈과, 이벤트 전송 모듈을 갖춘다. 이러한 프로그램 또는 모듈은, CPU(2000) 등에 작용하여, 컴퓨터(1900)을, 프로그램 송신부(82) 및 이벤트 전송부(84)로서 각각 기능 시킨다.
이러한 프로그램에 기술된 정보 처리는, 컴퓨터(1900)에 읽히는 것으로, 소프트웨어와 상술한 각종의 하드웨어 자원이 협동한 구체적 수단인 프로그램 송신부(82) 및 이벤트 전송부(84)로서 기능 한다. 그리고, 이러한 구체적 수단에 의해, 본 실시 형태에서 컴퓨터(1900)의 사용 목적에 따른 정보의 연산 또는 가공을 실현 함으로서, 사용 목적에 따른 특유의 서버 장치(20)가 구축된다.
한 예로서, 컴퓨터(1900)와 외부의 장치 등과의 사이에서 통신을 수행하는 경우에는, CPU(2000)는, RAM(2020) 상에 로드된 통신 프로그램을 실행하고, 통신 프로그램에 기술된 처리 내용에 근거하여, 통신 인터페이스(2030)에 대해서 통신 처리를 지시한다. 통신 인터페이스(2030)는, CPU(2000)의 제어를 받아, RAM(2020), 하드 디스크 드라이브(2040), 플렉시블 디스크(2090), 또는 CD-ROM(2095)등의 기억 장치 상에 설정된 송신 버퍼 영역 등에 기억된 송신 데이터를 읽어내서 네트워크에 송신하고, 또는, 네트워크로부터 수신한 수신 데이터를 기억장치상에 설정한 수신 버퍼 영역 등에 기록한다. 이와 같이, 통신 인터페이스(2030)는, DMA(다이렉트 메모리 액세스) 방식에 의해 기억 장치와의 사이에서 송수신 데이터를 전송할 수 있고, 이것에 대신하여, CPU(2000)가 전송원의 기억 장치 또는 통신 인터페이스(2030)에서 데이터를 읽어내서, 전송한 곳에 통신 인터페이스(2030) 또는 기억 장치에 데이터를 기록하는 것에 의해 송수신 데이터를 전송할 수 있다.
또, CPU(2000)는, 하드 디스크 드라이브(2040), CD-ROM 드라이브(2060)(CD-ROM(2095)), 플렉시블 디스크 드라이브(2050)(플렉시블 디스크(2090)) 등의 외부 기억 장치에 저장된 파일 또는 데이터 베이스 등에서, 전부 또는 필요한 부분을 DMA 전송 등에 의해 RAM(2020)로 읽어내어, RAM(2020) 상의 데이터에 대해서 각종의 처리를 수행한다. 그리고, CPU(2000)는, 처리를 마친 데이터를 DMA 전송 등에 의해 외부 기억 장치에 다시 기록한다. 이와 같은 처리에서, RAM(2020)은, 외부 기억 장치의 내용을 일시적으로 저장하는 것으로 간주하므로, 본 실시 형태에서 RAM(2020) 및 외부 기억 장치 등을 메모리, 기억부, 또는 기억 장치 등으로 총칭한다. 본 실시 형태에서 각종의 프로그램, 데이터, 테이블, 데이터 베이스 등의 각종 정보는, 이와 같은 기억 장치상에 저장되어, 정보 처리의 대상이 된다. 또한 CPU(2000)는, RAM(2020)의 일부를 캐시 메모리에 저장하고, 캐시 메모리 상에서 읽고 쓰기를 수행할 수 있다. 이와 같은 형태에서, 캐시 메모리는 RAM(2020)의 기능의 일부를 담당하므로, 본 실시 형태에서, 구별해서 나타내는 부분을 제외하고, 캐시 메모리도 RAM(2020), 메모리, 및/또는 기억 장치에 포함하는 것으로 한다.
또, CPU(2000)는, RAM(2020)에서 읽어낸 데이터에 대해서, 프로그램의 명령 열에 의해 지정된, 본 실시 형태 중에 기재한 각종의 연산, 정보의 가공, 조건 판단, 정보의 검색 치환 등을 포함하는 각종의 처리를 수행하여, RAM(2020)에 다시 기록한다. 예를 들면, CPU(2000)는, 조건 판단을 수행하는 경에서는, 본 실시 형태에서 나타낸 각종의 변수가, 다른 변수 또는 정수와 비교해서, 크다, 작다, 이상, 이하, 동등하다 등의 조건을 만족하는지 어떤지를 판단하고, 조건이 성립한 경우(또는 불성립한 경우)에, 다른 명령 열에 분기하고, 또는 서브루틴을 불러낸다.
또, CPU(2000)는, 기억 장치 내의 파일 또는 데이터 베이스 등에 저장된 정보를 검색할 수 있다. 예를 들면 제 1 속성의 속성값에 대해서 제 2 속성의 속성값이 각각 대응하는 복수의 엔트리가 기억 장치에 저장되어 있는 경우에서, CPU(2020)는, 기억 장치에 저장되어 있는 복수의 엔트리 중에서 제 1 속성의 속성값이 지정된 조건과 일치하는 엔트리를 검색하고, 그 엔트리에 저장되어 있는 제 2 속성의 속성값을 읽어내는 것으로, 소정의 조건을 만족하는 제 1 속성의 대응하는 제 2 속성의 속성값을 얻을 수 있다.
이상에 나타낸 프로그램 또는 모듈은, 외부의 기록 매체에 저장될 수 있다. 기록 매체로는, 플렉시블 디스크(2090), CD-ROM(2095) 외에, DVD 또는 CD 등의 광학 기록 매체, MO 등의 광자기 기록 매체, 테이프 매체, IC 카드 등의 반도체 메모리 등을 이용할 수 있다. 또, 전용 통신 네트워크 또는 인터넷에 접속된 서버 시스템에 설정된 하드 디스크 또는 RAM 등의 기억 장치를 기록 매체로서 사용하고, 네트워크를 통해서 프로그램을 컴퓨터(1900)에 제공할 수 있다.
이상에서, 본 발명을 실시의 형태를 이용하여 설명하였으나, 본 발명의 기술적 범위는 상기 실시의 형태의 기재의 범위에 한정하지 않는다. 상기 실시의 형태에, 다양한 변경 또는 개량을 더하는 것이 가능하다는 것이 당업자인 사람은 알 것이다. 그와 같은, 변경 또는 개량을 더한 형태도 본 발명의 기술적 범위에 포함할 수 있다는 것이, 특허 청구의 범위의 기재에서 알 수 있다.
특허 청구 범위, 명세서, 및 도면 중에서 나타낸 장치, 시스템, 프로그램, 및 방법에 관련한 동작, 순서, 스텝, 및 단계 등의 각 처리의 실행 순서는, 「보다 앞으로」, 「앞장서서」 등으로 특별히 명시하지 않고, 또한, 전의 처리의 출력을 후의 처리에서 이용하는 것이 아닌 한은, 임의의 순서로 실현 할 수 있다는 것에 유의해야 한다. 특허 청구 범위, 명세서, 및 도면 중의 동작 흐름에 관해서, 편의상 「우선,」, 「다음으로,」 등을 이용해서 설명했다고 하여도, 이 순서로 실시하는 것이 필수다라고 할 수 없다.
10 컴퓨터 시스템, 20 서버 장치, 30 단말, 60 브라우저 실행부, 70 클라이언트 프로그램 실행부, 71 선택부, 72 이벤트 처리부, 74 이벤트 송신부, 76 이벤트 수신부, 78 화면 갱신부, 82 프로그램 송신부, 84 이벤트 전송부, 86 이벤트 저장부, 88 버퍼부, 1900 컴퓨터, 2000 CPU, 2010 ROM, 2020 RAM, 2030 통신 인터페이스, 2040 하드 디스크 드라이브, 2050 플렉시블 디스크 드라이브, 2060 CD-ROM 드라이브, 2070 입출력 칩, 2075 그래픽 컨트롤러, 2080 표시 장치, 2082 호스트 컨트롤러, 2084 입출력 컨트롤러, 2090 플렉시블 디스크, 2095 CD-ROM.

Claims (21)

  1. 적어도 하나의 단말 상의 복수의 웹 브라우저의 각각에 대응해서 다운로드 되고 실행되어, 상기 복수 웹 브라우저의 표시 화면을 갱신하는 클라이언트 프로그램으로서,
    상기 클라이언트 프로그램은, 상기 단말을 실행시켜서, 상기 프로그램이
    상기 복수의 웹 브라우저 중에서 적어도 하나의 조작 대상 브라우저를 선택하는 선택부,
    상기 클라이언트 프로그램에 대응하는 웹 브라우저인 자신의 브라우저에 대해서 발생한 이벤트를 상기 조작 대상 브라우저를 식별하는 브라우저 식별 정보와 함께 서버 장치에 송신하는 이벤트 송신부,
    상기 복수의 웹 브라우저에 대해서 발생한 이벤트를 상기 서버 장치로부터 수신하는 이벤트 수신부, 및
    상기 자신의 브라우저의 표시 화면을 수신한 상기 이벤트에 관한 화면으로 갱신시키는 화면 갱신부로서 기능하도록 하는
    클라이언트 프로그램.
  2. 제 1항에서, 상기 이벤트 수신부는, 상기 복수 웹 브라우저에서 발생한 이벤트를 상기 브라우저 식별 정보와 함께 상기 서버 장치를 통해서 수신하고,
    상기 화면 갱신부는, 수신한 상기 브라우저 식별 정보가 상기 자신의 브라우저를 나타낸 경우, 상기 자신의 브라우저의 표시 화면을, 수신한 상기 이벤트에 관한 화면으로 갱신시키는
    클라이언트 프로그램.
  3. 제 1항 및 제 2항 중 어느 한 항에서, 상기 복수 웹 브라우저의 각각은, 적어도 하나의 그룹에 포함되고,
    상기 선택부는, 상기 적어도 하나의 그룹 중에서 적어도 하나의 대상 그룹을 선택하는 것과 함께, 상기 적어도 하나의 대상 그룹에 포함되는 복수의 웹 브라우저 중에서 상기 적어도 하나의 조작 대상 브라우저를 선택하고,
    상기 이벤트 송신부는, 상기 자신의 브라우저에 대해서 발생한 이벤트를, 상기 대상 그룹을 식별하는 그룹 식별 정보 및 상기 대상 그룹 내에서 상기 조작 대상 브라우저를 식별하는 상기 브라우저 식별 정보와 함께 상기 서버 장치에 송신하는
    클라이언트 프로그램.
  4. 제 3항에서, 상기 선택부는, 상기 서버 장치로부터의 통지에 따라, 자신의 브라우저가 포함되는 그룹을 추가 또는 삭제하고, 그리고, 자신의 브라우저가 포함되는 그룹에 웹 브라우저를 추가 또는 삭제하는
    클라이언트 프로그램.
  5. 제 4항에서, 상기 선택부는, 상기 자신의 브라우저와, 상기 자신의 브라우저가 포함되는 그룹 내의 특정의 웹 브라우저와 사이의 관계가 미리 정해진 조건을 만족한다면, 상기 자신의 브라우저 및 상기 특정의 웹 브라우저를 포함하는 새로운 그룹을 추가하는
    클라이언트 프로그램.
  6. 제 5항에서, 상기 선택부는, 상기 자신의 브라우저와 상기 특정의 웹 브라우저와의 사이에서의 이벤트의 전송 수가 미리 정해진 임계값을 초과한다면, 상기 새로운 그룹을 추가하는
    클라이언트 프로그램.
  7. 제 1항 내지 제 6항 중 어느 한 항에서, 상기 복수의 웹 브라우저의 각각에 대응하여, 송신된 이벤트를 송신 순으로 저장하는 이벤트 저장부를 더 포함하되,
    상기 화면 갱신부는, 상기 복수의 웹 브라우저의 어느 화면을 자신의 브라우저의 화면과 동기 시키라는 지시에 따라, 지정된 웹 브라우저에 송신한 이벤트를 상기 자신의 브라우저에 대해 송신 순으로 발생시키는
    클라이언트 프로그램.
  8. 제 1항 내지 제 7항 중 어느 한 항에서, 상기 이벤트 송신부는, 웹 브라우저의 표시 화면상에서 유저가 수행한 조작에 따라 발생하는 이벤트를, 상기 서버 장치에 송신하는
    클라이언트 프로그램.
  9. 제 8항에서, 상기 이벤트 수신부는, 상기 자신의 브라우저에서 발생한 이벤트를 상기 서버 장치를 통해서 수신하고,
    상기 화면 갱신부는, 상기 자신의 브라우저의 표시 화면을, 수신한 전기 이벤트에 관한 화면으로 갱신시키는
    클라이언트 프로그램.
  10. 제 8항에서, 상기 화면 갱신부는 상기 자신의 브라우저의 표시 화면을 상기 자신의 브라우저의 표시 화면상에서 발생한 이벤트에 관한 화면으로 갱신시키는
    클라이언트 프로그램.
  11. 제 8항 내지 제 10항 중 어느 한 항에서, 상기 클라이언트 프로그램은, 상기 단말이, 상기 프로그램을 상기 자신의 브라우저의 표시 화면상에서 발생한 이벤트를 하나 이상 저장하는 버퍼부로서 또한 기능 하도록 하되,
    상기 이벤트 송신부는, 상기 버퍼부에 저장된 하나 이상의 이벤트를, 상기 서버 장치에 송신하는
    클라이언트 프로그램.
  12. 제 11항에서, 상기 이벤트 송신부는, 상기 조작 대상 브라우저의 표시 화면을 갱신시키는 지시의 수신에 따라, 상기 버퍼부에 저장된 하나 이상의 이벤트를, 상기 서버 장치에 송신하는
    클라이언트 프로그램.
  13. 제 1항 내지 제 12항 중 어느 한 항에서, 상기 이벤트 송신부는, 상기 자신의 브라우저에서 발생한 이벤트와 함께, 상기 조작 대상 브라우저를 식별하는 브라우저 식별 정보 및 상기 자신의 브라우저를 식별하는 자신의 브라우저 정보를 상기 서버 장치에 송신하는
    클라이언트 프로그램.
  14. 제 13항에서, 상기 이벤트 송신부는, 상기 자신의 브라우저에서 미리 정해진 처리가 실행된 경우, 표시 화면을 갱신하지 않은 미리 등록한 이벤트를 상기 서버 장치에 송신하는
    클라이언트 프로그램.
  15. 웹 브라우저를 실행하는 단말로서, 제 1항 내지 제 12항 중 어느 한 항에 따른 클라이언트 프로그램을 상기 서버 장치로부터 다운로드해서 실행하는
    단말.
  16. 적어도 하나의 단말 상의 복수 웹 브라우저 중 적어도 하나의 조작 대상 브라우저의 표시 화면을 갱신하는 서버 장치로서,
    상기 복수 웹 브라우저의 각각의 요구에 따라, 제 1항 내지 제 13항 중 어느 한 항에 따른 클라이언트 프로그램을 상기 복수의 웹 브라우저의 각각의 요구에 따라서 상기 적어도 하나의 단말에 송신하는 프로그램 송신부, 및
    상기 복수의 웹 브라우저 중 하나의 웹 브라우저로부터 이벤트 및 브라우저 식별 정보를 수신하고, 수신한 상기 이벤트를 적어도 상기 브라우저 식별 정보에 의해 지정된 상기 조작 대상 브라우저에 전송해서, 상기 조작 대상 브라우저의 표시화면을 상기 이벤트에 따른 화면으로 갱신시키는 이벤트 전송부를 포함하는
    서버 장치.
  17. 제 16항에서, 상기 이벤트 전송부는, 수신한 상기 이벤트 및 상기 브라우저 식별 정보를 상기 모든 복수 웹 브라우저로 전송하는
    서버 장치.
  18. 제 16항에서, 상기 이벤트 전송부는 수신한 상기 이벤트를 상기 브라우저 식별 정보에 의해 지정된 상기 조작 대상 브라우저에게만 전송하는
    서버 장치.
  19. 서버 프로그램으로서, 컴퓨터를, 제 16항 내지 제 18항 중 어느 한 항에 따른 서버 장치로서 기능 시키는
    서버 프로그램.
  20. 시스템으로서,
    서버 장치, 및
    네트워크를 통해서 상기 서버 장치에 접속되는 제 15항에 따른 복수 단말을 포함하되,
    상기 복수 웹 브라우저의 각각은, 상기 서버 장치에 대해서 반복하여 리퀘스트를 송신하고,
    상기 서버 장치는, 상기 복수의 웹 브라우저의 각각으로부터 수신한 리퀘스트에 따른 리스폰스를 미리 정해진 기간 이상 대기하고 나서 송신하는 것과 함께, 상기 리스폰스에 상기 대응하는 웹 브라우저에 송신해야 할 이벤트를 포함하는
    시스템.
  21. 적어도 하나의 단말 상의 복수의 웹 브라우저의 표시 화면을 갱신하는 방법으로서, 상기 방법은,
    하나의 단말이, 상기 복수의 웹 브라우저 중에서 적어도 하나의 조작 대상 브라우저를 선택하도록 하는 단계,
    상기 하나의 단말이, 상기 하나의 단말 상에서 실행되는 하나의 웹 브라우저에서 발생한 이벤트를 상기 조작 대상 브라우저를 식별하는 브라우저 식별 정보와 함께 서버 장치에 송신하도록 하는 단계,
    상기 서버 장치가, 상기 하나의 웹 브라우저로부터 상기 이벤트 및 상기 브라우저 식별 정보를 수신하도록 하는 단계,
    상기 서버 장치가, 수신한 상기 이벤트를 적어도 상기 브라우저 식별 정보에 의해 지정된 적어도 상기 조작 대상 브라우저에 전송하도록 하는 단계,
    상기 조작 대상 브라우저를 실행하는 단말이, 상기 이벤트를 상기 서버 장치로부터 수신하도록 하는 단계, 및
    상기 조작 대상 브라우저를 실행하는 단말이, 상기 조작 대상 브라우저의 표시 화면을, 수신한 상기 이벤트에 관한 화면으로 갱신시키도록 하는 단계를 포함하는
    방법.
KR1020110005402A 2010-02-04 2011-01-19 클라이언트 프로그램, 단말, 서버 장치, 시스템 및 방법 KR20110090772A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2010-023425 2010-02-04
JP2010023425A JP5682996B2 (ja) 2010-02-04 2010-02-04 クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法

Publications (1)

Publication Number Publication Date
KR20110090772A true KR20110090772A (ko) 2011-08-10

Family

ID=44342575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110005402A KR20110090772A (ko) 2010-02-04 2011-01-19 클라이언트 프로그램, 단말, 서버 장치, 시스템 및 방법

Country Status (3)

Country Link
US (3) US20110191431A1 (ko)
JP (1) JP5682996B2 (ko)
KR (1) KR20110090772A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770446B2 (en) 2014-08-28 2023-09-26 Ebay Inc. Systems and methods for providing complementary content on linked machines

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5436187B2 (ja) * 2009-12-16 2014-03-05 キヤノン株式会社 画像処理装置及びその制御方法とプログラム
JP5682996B2 (ja) 2010-02-04 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
JP5936103B2 (ja) 2011-10-04 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
KR20130071723A (ko) * 2011-12-21 2013-07-01 삼성전자주식회사 메시지 처리 방법 및 장치
US9275142B2 (en) 2012-02-29 2016-03-01 Nokia Technologies Oy Method and apparatus for multi-browser web-based applications
US10210480B2 (en) 2012-05-31 2019-02-19 Apple Inc. Avoiding a redundant display of a notification on multiple user devices
CN103546513B (zh) 2012-07-13 2016-12-21 阿里巴巴集团控股有限公司 一种客户端页面间通信的方法及装置
US8856864B2 (en) * 2012-09-27 2014-10-07 Intel Corporation Detecting, enforcing and controlling access privileges based on sandbox usage
US9524277B2 (en) * 2013-06-27 2016-12-20 Paypal, Inc. Execution and display of events in a plurality of web browsers and devices systems and method
EP3012739A1 (en) * 2014-10-20 2016-04-27 TISOFT Wojciech Jedrzejewski System for synchronizing web browsers
JP6488809B2 (ja) * 2015-03-24 2019-03-27 日本電気株式会社 Webサービスセッション同期管理システム、Webサービスセッション同期管理方法およびそのプログラム
US10482148B2 (en) 2017-12-06 2019-11-19 Capital One Services, Llc Systems and methods for co-browsing
CN109905445B (zh) * 2017-12-08 2021-04-13 腾讯科技(深圳)有限公司 一种指令处理的方法及终端

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02114788A (ja) 1988-10-25 1990-04-26 Hitachi Denshi Ltd カラーテレビジヨンカメラ
JPH0589217A (ja) 1991-09-30 1993-04-09 N T T Data Tsushin Kk 共有画面表示制御装置
JPH0749936A (ja) * 1993-08-05 1995-02-21 Mitsubishi Electric Corp 共有画面システム
TW298694B (en) * 1995-09-22 1997-02-21 Ibm Method for collaboration via partitioning of state variables
US5774670A (en) 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5944781A (en) 1996-05-30 1999-08-31 Sun Microsystems, Inc. Persistent executable object system and method
US6240444B1 (en) * 1996-09-27 2001-05-29 International Business Machines Corporation Internet web page sharing
US5944791A (en) * 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
US6085224A (en) 1997-03-11 2000-07-04 Intracept, Inc. Method and system for responding to hidden data and programs in a datastream
US6014702A (en) * 1997-06-04 2000-01-11 International Business Machines Corporation Host information access via distributed programmed objects
US6405367B1 (en) * 1998-06-05 2002-06-11 Hewlett-Packard Company Apparatus and method for increasing the performance of Java programs running on a server
US6230171B1 (en) * 1998-08-29 2001-05-08 International Business Machines Corporation Markup system for shared HTML documents
JP2000112862A (ja) 1998-09-30 2000-04-21 Fujitsu Hokuriku Systems:Kk 協調作業システムおよび記録媒体
JP2000137683A (ja) * 1998-10-30 2000-05-16 Toshiba Corp 情報処理装置及び共有データ処理方法
JP3715810B2 (ja) 1998-12-24 2005-11-16 株式会社日立製作所 ドキュメント共有方法およびwwwサーバ計算機
US7216300B2 (en) 1998-12-30 2007-05-08 Ncr Corp. Method and apparatus for an applet to display multiple windows
JP3437933B2 (ja) * 1999-01-21 2003-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション ブラウザ共有方法及びシステム
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment
US7035926B1 (en) * 1999-11-30 2006-04-25 International Business Machines Corporation Real-time monitoring of web activities
US7139799B2 (en) * 2000-02-07 2006-11-21 Net2Phone, Inc. System for enabling multiple clients to interact together over a network with a secure web page
US20010037365A1 (en) * 2000-03-15 2001-11-01 Montague P. Read Method and system for linked communication between client stations
JP2001282561A (ja) 2000-03-30 2001-10-12 Nec Corp 分散オブジェクト管理方法、そのプログラムを記憶した記憶媒体及び分散システム
US7243356B1 (en) * 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US6925608B1 (en) 2000-07-05 2005-08-02 Kendyl A. Roman Graphical user interface for building Boolean queries and viewing search results
US6976059B1 (en) 2000-07-20 2005-12-13 International Business Machines Corporation System and method to provide applets using a server based virtual machine
JP4412831B2 (ja) * 2000-08-21 2010-02-10 富士通株式会社 チャットシステム及びこのシステムで読み取り可能な記録媒体
EP1197859A1 (en) * 2000-10-10 2002-04-17 Canon Kabushiki Kaisha Method and device for remotely using a data-processing object in a communications network
JP2002328886A (ja) * 2001-04-27 2002-11-15 Canon Inc 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体
US7454506B2 (en) 2000-12-18 2008-11-18 International Business Machines Corporation Method for maintaining state information on a client
FR2818458B1 (fr) * 2000-12-19 2003-03-28 Leroy Somer Moteurs Dispositif de production d'electricite a partir du reseau triphase, comprenant un alternateur embarque
US20020083134A1 (en) * 2000-12-22 2002-06-27 Bauer Kirk Wayne Method and system of collaborative browsing
US20020138624A1 (en) * 2001-03-21 2002-09-26 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Collaborative web browsing
US7225225B2 (en) * 2001-03-30 2007-05-29 Sharp Laboratories Of America, Inc. Selective synchronization of web browsers
US20030041109A1 (en) * 2001-08-09 2003-02-27 Meloni Ryan K. Method and apparatus for distance learning and workgroup collaboration utilizing the world wide web
US20030061286A1 (en) * 2001-09-27 2003-03-27 Lin Jin Kun Co-browsing system including form and focal-point synchronization capabilities for both secure and non-secure web documents
CN100383774C (zh) * 2001-10-30 2008-04-23 国际商业机器公司 网络上的多个计算机之间进行合作的方法、系统
JP2003150440A (ja) 2001-11-13 2003-05-23 Matsushita Electric Ind Co Ltd 複数ユーザインタフェースの同期方法とそのシステム及びプログラム
KR100472202B1 (ko) * 2001-12-05 2005-03-08 한국전자통신연구원 아이 알 씨 프로토콜을 이용한 웹 공동 브라우징 시스템및 그 방법
WO2003058398A2 (en) 2001-12-28 2003-07-17 Postx Corporation System and method for applet caching
US7945652B2 (en) * 2002-08-06 2011-05-17 Sheng (Ted) Tai Tsao Display multi-layers list item in web-browser with supporting of concurrent multi-users
US20080091761A1 (en) * 2002-08-06 2008-04-17 Stt Webos, Inc. Method and apparatus for information exchange over a web based environment
EP1420340A1 (en) 2002-11-15 2004-05-19 Hewlett-Packard Company Remote object invocation system and method
JP4128443B2 (ja) 2002-12-27 2008-07-30 株式会社野村総合研究所 ウェブブラウザ利用処理システムにおけるデータ領域管理方法
EP1591911A1 (en) * 2003-02-03 2005-11-02 MVP, Inc. Synchronization program
JP2004265063A (ja) 2003-02-28 2004-09-24 Canon Inc 情報処理方法および装置
JP2005018499A (ja) * 2003-06-27 2005-01-20 Sendai Foundation For Applied Information Sciences パーソナルエージェントによるグループメイキングサポートシステム
KR100498361B1 (ko) * 2003-07-18 2005-07-01 엘지전자 주식회사 이동 통신단말기의 무선 인터넷 동기화 방법
JP2005056163A (ja) * 2003-08-05 2005-03-03 Internatl Business Mach Corp <Ibm> コラボレーション・システムのためのサーバ装置、コラボレーション・システムのためのクライアント装置、コンピュータ装置をコラボレーション・システムのためのサーバ装置として機能させるためのプログラム、およびコンピュータ装置をコラボレーション・システムのためのクライアント装置として機能させるためのプログラム並びにコラボレーション・システム
JP2005149387A (ja) * 2003-11-19 2005-06-09 Nec Corp リアルタイムWeb共有システム
JP4459841B2 (ja) 2004-03-01 2010-04-28 富士フイルム株式会社 画像編集装置および方法並びにプログラム
CN100341312C (zh) * 2004-03-01 2007-10-03 富士胶片株式会社 图像编辑装置及其方法和程序
JP4622539B2 (ja) 2005-01-24 2011-02-02 日本電気株式会社 Webコンテンツ同期システムおよび端末
US7805495B2 (en) * 2005-03-31 2010-09-28 Google Inc. Method and system for transferring web browser data between web browsers
JP2007034687A (ja) * 2005-07-27 2007-02-08 Fuji Xerox Co Ltd シンクライアントシステム
JP2007079988A (ja) * 2005-09-14 2007-03-29 Nec Corp Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法
US7761591B2 (en) * 2005-12-16 2010-07-20 Jean A. Graham Central work-product management system for coordinated collaboration with remote users
JP5205695B2 (ja) * 2006-02-15 2013-06-05 富士通株式会社 表示制御プログラム、表示制御方法、クライアント装置及びシステム
US7581186B2 (en) * 2006-09-11 2009-08-25 Apple Inc. Media manager with integrated browsers
JP5089217B2 (ja) 2007-03-30 2012-12-05 クボタシーアイ株式会社 ポリ乳酸管の加工方法
US20080301562A1 (en) * 2007-04-27 2008-12-04 Josef Berger Systems and Methods for Accelerating Access to Web Resources by Linking Browsers
US20090037890A1 (en) 2007-08-03 2009-02-05 Smartmicros Usa, Llc Method and system for generating an application
JP2009053957A (ja) 2007-08-27 2009-03-12 Canon Inc 情報処理装置及びその制御方法
US8010901B1 (en) * 2007-10-26 2011-08-30 Sesh, Inc. System and method for automated synchronized co-browsing
EP2225869A2 (en) * 2007-11-23 2010-09-08 Koninklijke Philips Electronics N.V. Co-browsing (java) scripted html documents
US8849914B2 (en) * 2007-12-20 2014-09-30 The Vanguard Group, Inc. System and method for synchronized co-browsing by users in different web sessions
US20090249216A1 (en) * 2008-03-28 2009-10-01 International Business Machines Corporation Interacting with multiple browsers simultaneously using linked browsers controlled from a primary browser interface
US8250141B2 (en) * 2008-07-07 2012-08-21 Cisco Technology, Inc. Real-time event notification for collaborative computing sessions
JP2010092103A (ja) 2008-10-03 2010-04-22 Bratech:Kk Webページ表示方法、サーバ装置、及びプログラム
JP2010097543A (ja) 2008-10-20 2010-04-30 Fujitsu Frontech Ltd サービス支援プログラムおよびサービス支援方法
JP4748819B2 (ja) * 2009-01-28 2011-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアントプログラム、端末、方法、サーバシステムおよびサーバプログラム
JP5128559B2 (ja) 2009-08-27 2013-01-23 株式会社日立製作所 プログラム実行装置、アプリケーションプログラムの実行方法及びプログラム
US20110173589A1 (en) * 2010-01-13 2011-07-14 Microsoft Corporation Cross-Browser Interactivity Testing
JP5682996B2 (ja) 2010-02-04 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
JP5936103B2 (ja) * 2011-10-04 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770446B2 (en) 2014-08-28 2023-09-26 Ebay Inc. Systems and methods for providing complementary content on linked machines

Also Published As

Publication number Publication date
JP2011164704A (ja) 2011-08-25
US20160226948A1 (en) 2016-08-04
US9473558B2 (en) 2016-10-18
US20110191431A1 (en) 2011-08-04
JP5682996B2 (ja) 2015-03-11
US9350790B2 (en) 2016-05-24
US20140122581A1 (en) 2014-05-01

Similar Documents

Publication Publication Date Title
JP5682996B2 (ja) クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
JP4748819B2 (ja) クライアントプログラム、端末、方法、サーバシステムおよびサーバプログラム
US8332520B2 (en) Web server for managing session and method thereof
EP2815311B1 (en) Using an application cache to update resources of installed applications
US9973563B2 (en) Implementing a java method
US20130198333A1 (en) Method and device for recording and reproducing web operation
CN113761412B (zh) 应用页面的显示方法、装置、电子设备、介质及应用系统
JP2010152772A (ja) 情報処理装置及び情報処理方法及びプログラム
JP2010231314A (ja) 端末装置及びプログラム
JP5541160B2 (ja) プログラム入手・実行クライアント、プログラム入手・実行方法およびプログラム
US20110321043A1 (en) System, Method and Program Product for Native Interface Optimization of Read-Only Arrays
KR101762861B1 (ko) 하나 이상의 기능 모듈을 이용한 확장형 연산 처리 시스템, 하나 이상의 기능 모듈을 이용한 정보 처리 방법 및 이를 위한 컴퓨터 프로그램
US9680967B2 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
EP2017750A1 (en) Display control apparatus, display control program and display control method
JP5959535B2 (ja) クライアントからネットワークを介して携帯端末にアクセスするためのサーバ、方法、及び、コンピュータを該サーバとして機能させるプログラム
JP2009080587A (ja) データ転送サーバ
JP2007272443A (ja) 開発支援装置、開発支援方法および開発支援プログラム
JP5659474B2 (ja) 情報処理端末及びプログラム
EP3514681A1 (en) Method, host device and system for providing applications
JP6135649B2 (ja) サーバ装置及びプログラム
JP2020030447A (ja) サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
JP2007011439A (ja) 表示処理装置、表示処理方法、Webシステム
JP2013077204A (ja) 分割モジュール実行プログラム
JP2010204710A (ja) 情報処理装置及びプログラム実行方法

Legal Events

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