KR20100123600A - 정보 처리 장치, 실행 방법 및 실행용 프로그램 - Google Patents

정보 처리 장치, 실행 방법 및 실행용 프로그램 Download PDF

Info

Publication number
KR20100123600A
KR20100123600A KR1020100033970A KR20100033970A KR20100123600A KR 20100123600 A KR20100123600 A KR 20100123600A KR 1020100033970 A KR1020100033970 A KR 1020100033970A KR 20100033970 A KR20100033970 A KR 20100033970A KR 20100123600 A KR20100123600 A KR 20100123600A
Authority
KR
South Korea
Prior art keywords
message
software component
execution
component
display
Prior art date
Application number
KR1020100033970A
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 KR20100123600A publication Critical patent/KR20100123600A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

모바일 디바이스는 애플리케이션 기동시에 복수의 컴포넌트 프로그램 코드를 로드하여 인스턴스를 생성하는 부하의 저감을 위해, 기동시에 각 컴포넌트 본체를 로드하지 않고, 아이콘 또는 접을 수 있는 섹션 등의 형태로 표시 화면에 배치하며, 사용자 요구에 따라 각 컴포넌트를 선택적으로 개방하여 실행하는 경우가 있다. 한편, 컴포넌트간 연계를 위해 컴포넌트 사이에서 메시지를 송수신해야 하고, 이 송수신에는 통상 컴포넌트 프로그램을 로드해 두어야 하기 때문에, 상기한 부하 경감 방법과 대치한다. 컴포넌트에의 메시지를 저장하는 메시지 저장부와, 컴포넌트의 실행 지시를 수신한 것에 따라, 컴포넌트 본체를 컴퓨터상에 로드하여 실행시키고, 실행 지시전에 메시지 저장부에 저장된 메시지를 처리시키는 실행 처리부를 구비하는 정보 처리 장치를 제공한다.

Description

정보 처리 장치, 실행 방법 및 실행용 프로그램{INFORMATION PROCESSING APPARATUS, EXECUTION METHOD, AND OBJECT PROGRAM}
본 발명은 정보 처리 장치, 실행 방법 및 실행용 프로그램에 관한 것이다.
애플리케이션에 필요한 기능을 컴포넌트로서 분해하고, 복수의 컴포넌트를 조합시키는 것에 의해 애플리케이션의 구축을 단기간에 용이하게 행하는 매시업(mashup)이라는 방법이 늘고 있다. 매시업 애플리케이션에서는 단순히 복수의 컴포넌트의 화면을 동시에 표시할 뿐만 아니라, 컴포넌트 사이에서의 연계(連携)를 정의하여, 애플리케이션상에서의 조작을 효율적으로 할 수 있게 된다.
[선행기술문헌]
[특허문헌]
특허문헌 1: 일본 특허 공개 제2008-146232호
모바일 디바이스 등의 네트워크, 메모리, 및 CPU의 능력이 낮은 플랫폼에서는 애플리케이션의 기동시에 복수 컴포넌트의 프로그램 코드를 로드하여 인스턴스를 생성하면, 부하가 커져 버리는 경우가 있다. 이 부하를 경감하기 위해, 애플리케이션 기동시에 각 컴포넌트의 본체를 로드하지 않고, 아이콘 또는 접을 수 있는 섹션 등의 형태로 표시 화면에 배치하여, 각 컴포넌트를 사용자의 요구에 따라 선택적으로 개방하며, 로드, 및 초기화하는 것을 가능하게 하는 경우가 있다. 한편 컴포넌트간 연계를 실현하기 위해서는 컴포넌트 사이에서 메시지를 송수신해야 하고, 이 송수신에는 통상 컴포넌트의 프로그램 코드를 로드해 두어야 하기 때문에, 상기한 부하 경감의 방법과 대치한다.
상기 과제를 해결하기 위해, 본 발명의 제1 양태에서는 컴퓨터상에서 소프트웨어 컴포넌트를 실행하기 위한 실행용 프로그램으로서, 이 실행용 프로그램은 컴퓨터로 하여금, 소프트웨어 컴포넌트 본체의 실행 코드가 로드되어 있지 않은 경우에 소프트웨어 컴포넌트에의 메시지를 저장하는 메시지 저장부와, 소프트웨어 컴포넌트의 실행 지시를 수신한 것에 따라, 소프트웨어 컴포넌트 본체의 실행 코드를 컴퓨터 상에 로드하여 실행시키고, 소프트웨어 컴포넌트의 실행 지시 전에 메시지 저장부에 저장된 메시지를 처리시키는 실행 처리부로서 기능하게 하는 실행용 프로그램과, 이것에 관한 정보 처리 장치 및 방법을 제공한다.
또한, 상기한 발명의 개요는 본 발명의 필요한 특징 모두를 열거한 것이 아니다. 또한 이들 특징군의 서브 콤비네이션도 발명이 될 수 있다.
본 발명의 구성에 따르면, 대응하는 컴포넌트가 어떤 메시지를 송신하는지, 및 어떤 메시지를 수신하는지를 간단히 정의할 수 있어,
도 1은 본 실시형태에 따른 정보 처리 장치(100)의 구성을 도시하는 도면.
도 2는 본 실시형태에 따른 정보 처리 장치(100)의 흐름도의 일례를 도시하는 도면.
도 3은 본 실시형태에 따른 실행 처리부(130)에 의한 실행 처리 단계 S230의 흐름도의 일례를 도시하는 도면.
도 4는 본 실시형태에 따른 메시지 처리부(160)에 의한 메시지 처리 단계 S260의 흐름도의 일례를 도시하는 도면.
도 5는 본 실시형태에 따른 매시업 애플리케이션의 표시 화면의 일례인 표시 화면(500)을 도시하는 도면.
도 6은 본 실시형태에 따른 메시지 저장부(110), 실행 처리부(130), 및 메시지 처리부(160)를 실현하기 위한 컴포넌트 스터브(610)와, 소프트웨어 컴포넌트의 일례인 컴포넌트(620)를 도시하는 도면.
도 7a는 본 실시형태에 따른 레이아웃 콘테이너 및 대응하는 표시 화면의 일례를 도시하는 도면.
도 7b는 본 실시형태에 따른 레이아웃 콘테이너 및 대응하는 표시 화면의 일례를 도시하는 도면.
도 7c는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 일례를 도시하는 도면.
도 7d는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 일례를 도시하는 도면.
도 8a는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 다른 일례를 도시하는 도면.
도 8b는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 다른 일례를 도시하는 도면.
도 8c는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 다른 일례를 도시하는 도면.
도 8d는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 다른 일례를 도시하는 도면.
도 9는 본 실시형태에 따른 정보 처리 장치(100)의 레이아웃 컨테이너 및 레이아웃 페인의 의사 프로그램 코드의 일례를 나타내는 도면.
도 10은 본 실시형태에 따른 컴포넌트 본체의 의사 프로그램 코드의 일례를 나타내는 도면.
도 11은 본 실시형태에 따른 정보 처리 장치(100)의 컴포넌트 프레임의 의사 프로그램 코드의 일례를 나타내는 도면.
도 12는 본 실시형태에 따른 정보 처리 장치(100)의 컴포넌트 베이스 모듈의 의사 프로그램 코드의 일례를 나타내는 도면.
도 13은 본 실시형태에 따른 컴퓨터(1900)의 하드웨어 구성의 일례를 도시하는 도면.
이하, 발명의 실시형태를 통해 본 발명을 설명하지만, 이하의 실시형태는 특허청구범위에 따른 발명을 한정하는 것이 아니다. 또한, 실시형태 중에 설명되어 있는 특징의 조합 모두가 발명의 해결 수단에 필수적인 것으로는 한정하지 않는다.
도 1은 본 실시형태에 따른 정보 처리 장치(100)의 구성을 도시한다. 정보 처리 장치(100)는 일례로서 컴퓨터상에서 실행용 프로그램을 실행함으로써 실현된다. 정보 처리 장치(100)는 메시지 저장부(110), 컴포넌트 본체 저장부(120), 실행 처리부(130), 표시부(140), 입력부(150), 및 메시지 처리부(160)를 구비한다.
메시지 저장부(110)는 소프트웨어 컴포넌트에의 메시지를 저장한다. 여기서, 소프트웨어 컴포넌트는 예컨대 전화번호부 애플리케이션, 및 위치 정보 표시 애플리케이션 등의 가젯 또는 위젯으로 불리는 각종 애플리케이션이어도 좋다. 또한, 메시지는 소프트웨어 컴포넌트에의 정보이고, 예컨대 어느 컴포넌트로부터 다른 컴포넌트와 직접적 또는 간접적으로 송신하는 데이터 및/또는 이벤트 등이어도 좋다.
컴포넌트 본체 저장부(120)는 소프트웨어 컴포넌트 본체의 실행 코드를 저장한다. 컴포넌트 본체 저장부(120)는 정보 처리 장치(100)를 동작시키는 컴퓨터상의 기억 장치에 의해 실현되어도 좋고, 컴퓨터가 네트워크를 통해 액세스하는 리모트 컴퓨터 또는 서버상의 기억 장치에 의해 실현되어도 좋다.
실행 처리부(130)는 소프트웨어 컴포넌트의 실행 지시를 수신한 것에 따라, 소프트웨어 컴포넌트 본체의 실행 코드를 컴퓨터상에 로드하여 실행시키고, 소프트웨어 컴포넌트의 실행 지시 전에 메시지 저장부(110)에 저장된 메시지를 처리시킨다. 여기서, 실행 처리부(130)는 소프트웨어 컴포넌트 본체의 실행 시작시의 처리 파라미터로서, 메시지의 내용을 소프트웨어 컴포넌트 본체에 부여하여도 좋다. 이 대신에, 실행 처리부(130)는 소프트웨어 컴포넌트 본체의 실행을 시작한 후 메시지를 공급하여도 좋다.
표시부(140)는 컴퓨터의 표시 화면상에, 소프트웨어 컴포넌트에 대응된 오브젝트를 표시한다. 여기서, 오브젝트는 섹션, 아이콘, 및 탭 등의 표현(representative) 또는 인디케이터(indicia), 및 이들을 조작함으로써 표시/비표시의 상태가 전환되는 페인(표시 영역; pane)을 갖는다. 표시부(140)는 오브젝트에 대응하는 소프트웨어 컴포넌트를 각각 페인상에 배치하고, 페인의 표시/비표시에 연계하여 표시/비표시의 상태를 전환한다.
입력부(150)는 컴퓨터의 표시 화면상에서, 사용자가 오브젝트를 조작한 것을 검지하여, 실행 처리부(130)에 통지한다. 여기서, 오브젝트의 조작은 예컨대 표시된 오브젝트상에서의 클릭, 표시된 오브젝트의 드래그 및 드롭, 및 클라이언트 디바이스상의 키 입력 중 하나 이상이어도 좋다. 실행 처리부(130)는 사용자가 오브젝트를 조작한 것에 따라, 오브젝트에 대응된 소프트웨어 컴포넌트 본체의 실행 코드를 로드하여 실행시켜도 좋다.
메시지 처리부(160)는 소프트웨어 컴포넌트에의 메시지를 수신하고, 오브젝트의 표시를, 이 메시지를 수신하였음을 나타내는 표시로 변경한다. 여기서, 메시지 처리부(160)가 오브젝트의 표시를 변경할 때에, 이 오브젝트에 대응하는 소프트웨어 컴포넌트 본체의 실행 코드가 로드 및/또는 실행되어 있지 않아도 좋다. 메시지 처리부(160)는 소프트웨어 컴포넌트에의 메시지를 수신하고, 소프트웨어 컴포넌트 본체의 실행 코드가 로드되어 있지 않는 것을 조건으로 하여, 오브젝트의 표시를, 이 메시지를 수신하였음을 나타내는 표시로 변경하여도 좋다.
도 2는 본 실시형태에 따른 정보 처리 장치(100)의 흐름도의 일례를 도시한다. 우선, 표시부(140)는 컴퓨터의 표시 화면상에, 각각이 소프트웨어 컴포넌트에 대응된 복수의 오브젝트를 표시한다(S210). 그 때에, 표시부(140)는 이 오브젝트의 일부 또는 전부를 비표시 상태로 하여도 좋다.
다음에, 입력부(150)는 사용자가 어느 하나의 오브젝트를 조작했는지의 여부를 검지한다(S220). 단계 S220에 있어서 오브젝트의 조작이 검지된 경우, 입력부(150)는 실행 처리부(130)에 실행 지시를 보낸다. 실행 처리부(130)는 이 실행 지시에 따라 실행 처리를 행한다(S230). 표시부(140)는 실행 지시를 받은 소프트웨어 컴포넌트에 대해서 이 오브젝트의 표시를 변경한다(S240). 표시부(140)는 소프트웨어 컴포넌트의 실행 화면을 오브젝트의 일부로서 표시하여도 좋다. 또한, 단계 S240에 있어서, 표시부(140)는 이 오브젝트 일부의 표시/비표시의 상태를 변경하여도 좋다.
다음에, 메시지 처리부(160)는 메시지를 수신했는지의 여부를 판정한다(S250). 단계 S250에서 메시지를 수신했다고 판정한 경우, 메시지 처리부(160)는 메시지를 처리한다(S260).
다음에, 단계 S220에 처리가 복귀된다. 계속해서, 단계 S220∼S260의 처리가 반복된다.
도 3은 본 실시형태에 따른 실행 처리부(130)에 의한 실행 처리 단계 S230의 흐름도의 일례를 도시한다. 우선, 실행 처리부(130)는 조작이 검지된 오브젝트에 대응하는 소프트웨어 컴포넌트 본체의 실행 코드가 이미 로드되어 실행되어 있는지의 여부를 판정한다(S310). 단계 S310에 있어서, 소프트웨어 컴포넌트 본체의 실행 코드가 이미 실행되어 있다고 판정된 경우, 실행 처리부(130)는 실행 처리 단계 S230의 처리를 종료한다.
단계 S310에서, 소프트웨어 컴포넌트 본체의 실행 코드가 실행되어 있지 않다고 판정된 경우(S310:No), 실행 처리부(130)는 컴포넌트 본체 저장부(120)로부터 소프트웨어 컴포넌트 본체의 실행 코드를 로드한다(S320). 계속해서, 실행 처리부(130)는 소프트웨어 컴포넌트 본체의 실행 코드를 실행시킨다(S330).
계속해서, 실행 처리부(130)는 메시지 저장부(110)에 저장된 메시지를 소프트웨어 컴포넌트 본체로 하여금 처리하게 한다(S340). 계속해서, 실행 처리부(130)는 소프트웨어 컴포넌트 본체로 하여금 처리하게 한 메시지를 클리어한다(S350). 복수의 소프트웨어 컴포넌트가 메시지 저장부(110)를 공유하는 경우, 실행 처리부(130)는 단계 S340에 있어서 소프트웨어 컴포넌트 본체로 하여금 처리하게 한 메시지만을 클리어하여도 좋다.
도 4는 본 실시형태에 따른 메시지 처리부(160)에 의한 메시지 처리 단계 S260의 흐름도의 일례를 도시한다. 메시지 처리부(160)는 소프트웨어 컴포넌트에의 메시지를 수신하고, 대응하는 소프트웨어 컴포넌트 본체의 실행 코드가 이미 로드되어 있는지의 여부를 판정한다(S410).
소프트웨어 컴포넌트 본체의 실행 코드가 로드되어 있지 않다고 판정된 경우(S410:No)에는 이 메시지를 메시지 저장부에 저장한다(S420). 복수의 소프트웨어 컴포넌트가 메시지 저장부(110)를 공유하는 경우, 메시지 저장부(110)는 소프트웨어 컴포넌트마다 대응시켜 이 소프트웨어 컴포넌트에의 메시지를 저장하여도 좋다. 계속해서, 메시지 처리부(160)는 소프트웨어 컴포넌트에의 메시지를 수신하고, 오브젝트의 표시를, 이 메시지를 수신하였음을 나타내는 표시로 변경한다(S430). 메시지 처리부(160)는 변경된 표시를, 미리 설정된 시간 후에, 이 메시지를 수신하기 전의 표시에 복귀시켜도 좋다.
또한, 메시지 처리부(160)는 소프트웨어 컴포넌트의 처리에 필요한 모든 메시지를 수신하고, 오브젝트의 표시를 이 모든 메시지를 수신하였음을 나타내는 표시로 변경하여도 좋다. 이것에 의해, 메시지 처리부(160)는 소프트웨어 컴포넌트에의 메시지가 축적되어 있는 것을 사용자에게 알기 쉽게 나타낼 수 있다.
또한, 메시지 처리부(160)는 새롭게 수신한 소프트웨어 컴포넌트에의 메시지에서의 미리 정해진 지점의 내용이, 이미 메시지 저장부에 저장된 메시지에서의 대응하는 지점의 내용과 상이한 경우에, 오브젝트의 표시를 상이한 내용의 메시지를 수신하였음을 나타내는 표시로 변경하여도 좋다. 이렇게 하면, 새롭게 수신한 메시지가, 이미 수신한 메시지와 동일한 경우, 메시지 처리부(160)는 표시를 변경하지 않기 때문에, 사용자에 대하여 새로운 내용의 메시지가 수신된 것을 제시할 수 있다.
소프트웨어 컴포넌트 본체의 실행 코드가 이미 로드되어 있다고 판정된 경우(S410:Yes)에는 메시지 처리부(160)는 이 메시지를 이 소프트웨어 컴포넌트 본체에 전송한다(S440).
도 5는 본 실시형태에 따른 매시업 애플리케이션의 표시 화면의 일례인 표시 화면(500)을 도시한다. 매시업 애플리케이션은 컴퓨터에 의해 실행되는 복수의 소프트웨어 컴포넌트를 연계시킨 전체 애플리케이션의 일례이다. 레이아웃 컨테이너(510)는 레이아웃 컨테이너(510)를 표시 화면(500) 내에 표시하는 표시부(140)를 실현한다. 레이아웃 컨테이너(510)는 복수의 컴포넌트 또는 컴포넌트 스터브 각각에 대해서, 오브젝트의 일례인 섹션 타이틀(512A∼512B) 및 레이아웃 페인(514A∼514B)을, 표시된 레이아웃 컨테이너(510) 내에 표시시킨다.
레이아웃 컨테이너(510)는 메시지 처리부(160)의 기능을 실현함으로써, 메시지를 받았을 때에, 대응하는 컴포넌트의 섹션 타이틀(512A∼512B)을 하이라이트 표시 등의 강조 표시를 하여도 좋다. 이것에 의해 레이아웃 컨테이너(510)는 표시되어 있는 복수의 섹션 타이틀 내의 특정한 섹션 타이틀(512A∼512B)을 사용자에게 알릴 수 있다. 또한, 레이아웃 컨테이너(510)는 레이아웃 페인(514A∼514B)을 표시 상태 또는 비표시 상태로 한다. 예컨대 도 2에서, "Contact List" 섹션 타이틀(512A)에 대응하는 레이아웃 페인(514A)은 표시 상태이다. 한편 "Click To Dial" 섹션 타이틀(512B)에 대응하는 레이아웃 페인(514B)은 비표시 상태이다.
여기서, 섹션 타이틀(512A∼512B)을 사용자가 클릭하면, 실행 처리부(130)는 대응하는 컴포넌트 본체의 실행 코드가 이미 로드되어 실행되어 있는지의 여부를 판정한다. 대응하는 컴포넌트 본체의 실행 코드가 실행되어 있지 않다고 판정하면, 실행 처리부(130)는 대응하는 컴포넌트 본체의 실행 코드를 로드하여 실행한다.
또한, 레이아웃 컨테이너(510)에 의해 실현되는 표시부(140)는 사용자가 섹션 타이틀(512A∼512B)을 클릭한 것에 따라, 이 섹션 타이틀에 대응하는 레이아웃 페인(514A∼514B)의 표시/비표시의 상태를 전환하는 섹션 리스트를 표시한다. 이 대신에, 표시부(140)는 사용자가 아이콘을 클릭하면, 이 아이콘에 대응하는 레이아웃 페인을 표시하는 아이콘 패널을 표시하여도 좋다. 또한, 표시부(140)는 사용자가 탭을 클릭하면, 이 탭에 대응하는 레이아웃 페인을 표시하는 탭 패널을 표시하여도 좋다.
도 6은 본 실시형태에 따른 메시지 저장부(110), 실행 처리부(130), 및 메시지 처리부(160)를 실현하기 위한 컴포넌트 스터브(610)와, 소프트웨어 컴포넌트의 일례인 컴포넌트(620)를 도시한다. 컴포넌트 스터브(610)는 컴포넌트 프레임(612)과, 컴포넌트 베이스(614)를 포함한다.
컴포넌트 프레임(612)은 대응하는 컴포넌트 본체의 송신 이벤트 정의, 및 수신 이벤트 정의를 행한다. 송신/수신 이벤트란, 대응하는 컴포넌트가 메시지를 송신/수신했을 때에 발생하는 이벤트이다.
컴포넌트 베이스(614)는 실행 처리부(130)의 기능을 실현함으로써 매시업 애플리케이션의 실행 중에, 하나의 컴포넌트의 실행 지시를 수신한 것에 따라, 이 컴포넌트 본체의 실행 코드를 컴퓨터상에 로드하여 실행시켜도 좋다. 여기서, 컴포넌트 베이스(614)는 컴포넌트 본체의 실행 코드를 실행시킬 때에, 이 컴포넌트 본체를 초기화하여도 좋다. 또한, 컴포넌트 베이스(614)는 컴포넌트 본체를 초기화할 때에, 이 컴포넌트 본체를 인스턴스화하여도 좋다. 컴포넌트 베이스(614)는 메시지 저장부(110) 내에 저장된 메시지를 대응하는 컴포넌트 본체로 하여금 처리하게 해도 좋다. 또한, 그 후에, 메시지 저장부(110) 내에 저장된 처리 종료의 메시지를 클리어하여도 좋다.
또한, 컴포넌트 베이스(614)는 메시지 처리부(160)의 기능을 실현함으로써, 메시지(616)를 수신하고, 메시지(616)를 메시지 저장부(110) 내에 저장하며, 레이아웃 컨테이너 메시지(616)의 수신을 통지하여도 좋다. 여기서, 메시지(616)는 다른 컴포넌트에 의해 송신되어도 좋고, 또는 OS 및/또는 하드웨어 등의 송신원에 의해 송신되어도 좋다.
컴포넌트 베이스(614)에 의해 실현되는 실행 처리부(130)가 컴포넌트 본체의 인스턴스를 생성하여 컴포넌트 스터브(610)에 내장하면, 컴포넌트 스터브(610)는 컴포넌트(620)로서 기능하게 된다. 컴포넌트(620)는 컴포넌트 프레임(612), 컴포넌트 본체의 인스턴스(622), 및 컴포넌트 베이스(624)를 포함한다. 여기서, 컴포넌트 본체의 인스턴스(622)는 컴포넌트 프레임(612)의 송신/수신 이벤트 정의에 따라, 메시지(626)를 송신하여도 좋다.
컴포넌트 베이스(624)는 메시지(628)를 수신하고, 메시지(628)를 컴포넌트 본체의 인스턴스(622)에 전송하며, 레이아웃 컨테이너(510)에 메시지(628)의 수신을 통지하여도 좋다. 여기서, 컴포넌트 베이스(624)는 컴포넌트 프레임(612)의 송신/수신 이벤트 정의에 따라, 메시지(628)를 컴포넌트 본체의 인스턴스(622)에 전송하여도 좋다.
도 7a, 도 7b, 도 7c, 및 도 7d는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 일례를 도시한다. 레이아웃 컨테이너(710A)는 매시업 애플리케이션이 기동되어 표시 화면(720A)이 표시된 상태에서의 레이아웃 컨테이너의 일례이다. 레이아웃 컨테이너(710A)는 "Contact List" 컴포넌트에 대응하는 컴포넌트 스터브(712), "Click To Dial" 컴포넌트에 대응하는 컴포넌트 스터브(714), 및 그 외의 컴포넌트에 대응하는 컴포넌트 스터브를 갖고 있다. 이 시점에서는 어느 컴포넌트 본체의 실행 코드도 로드되어 있지 않고, 어느 컴포넌트 본체도 초기화되어 있지 않다.
다음에, 사용자가 표시 화면(720A) 내의 "Contact List" 컴포넌트에 대응하는 섹션 타이틀(722)을 클릭하면, 입력부(150)는 이 조작을 검지한다. 계속해서, 컴포넌트 스터브(712)의 컴포넌트 베이스에 의해 실현되는 실행 처리부(130)는 대응하는 "Contact List" 컴포넌트 본체의 실행 코드가 이미 로드되어 있는지의 여부를 판정한다. 이 시점에서는 "Contact List" 컴포넌트 본체의 실행 코드는 로드되어 있지 않기 때문에, 실행 처리부(130)는 "Contact List" 컴포넌트 본체의 실행 코드를 로드하여 실행시키고, "Contact List" 컴포넌트의 본체를 초기화한다. 이 결과, 실행 처리부(130)는 컴포넌트 스터브(712)를, 컴포넌트(716)로 변경하기 때문에, 레이아웃 컨테이너(710A)는 레이아웃 컨테이너(710B)로 변경된다.
다음에, 레이아웃 컨테이너(710A)에 의해 실현되는 표시부(140)는 "Contact List" 섹션 타이틀(722)에 대응하는 비표시 상태의 레이아웃 페인(724)을 표시 상태로 하고, 표시 화면(720A)을 표시 화면(720B)으로 변경한다. 이 시점에서는 "Click To Dial" 컴포넌트 본체의 실행 코드는 로드되어 있지 않고, 대응하는 컴포넌트 본체도 초기화되어 있지 않다.
여기서, 사용자가 레이아웃 페인(724) 안의 아이템을 선택하면, 대응하는 컴포넌트(716)는 미리 "Contact List" 컴포넌트의 아이템 선택 이벤트를 수신하도록 정의되어 있는 "Click To Dial" 컴포넌트의 컴포넌트 스터브(714)에 메시지(717)를 송신한다. 여기서, 메시지(717)는 선택된 아이템에 대응하는 성명 및 전화번호 등의 정보를 포함하고 있어도 좋다.
다음에, 컴포넌트 스터브(714)의 컴포넌트 베이스에 의해 실현되는 메시지 처리부(160)는 메시지(717)를 수신했다고 판정한다. 계속해서, 메시지 처리부(160)는 "Click To Dial" 컴포넌트 본체의 실행 코드가 로드되어 있지 않다고 판정되고, 메시지(717)를 메시지 저장부(110) 내에 저장한다. 이것에 의해, 레이아웃 컨테이너(710B)는 레이아웃 컨테이너(710C)로 천이한다.
다음에, 컴포넌트 스터브(714)의 컴포넌트 베이스에 의해 실현되는 메시지 처리부(160)는 메시지(717)의 수신을 나타내는 것을 목적으로서, 메시지(717)에 대응하는 "Click To Dial" 섹션 타이틀(726)을 하이라이트 표시시킨다. 이것에 의해, 표시 화면(720B)은 표시 화면(720C)으로 변경된다. 이 시점에서도, "Click To Dial" 컴포넌트 본체의 실행 코드는 로드되어 있지 않고, 대응하는 컴포넌트 본체도 초기화되어 있지 않다.
여기서, 사용자가 표시 화면(720C) 내의 "Click To Dial" 섹션 타이틀(726)을 클릭하면, 입력부(150)는 이 조작을 검지한다. 계속해서, 컴포넌트 스터브(714)의 컴포넌트 베이스에 의해 실현되는 실행 처리부(130)는 대응하는 "Click To Dial" 컴포넌트 본체가 이미 실행되어 있는지의 여부를 판정한다. 이 시점에서는 "Click To Dial" 컴포넌트 본체는 실행되어 있지 않기 때문에, 실행 처리부(130)는 "Click To Dial" 컴포넌트 본체의 실행 코드를 로드하여 실행시킨다. 이 결과, 실행 처리부(130)는 컴포넌트 스터브(714)를 컴포넌트(718)로 변경하기 때문에, 레이아웃 컨테이너(710C)는 레이아웃 컨테이너(710D)로 변경된다.
다음에, 실행 처리부(130)는 "Click To Dial" 컴포넌트 본체를 초기화하여, 이미 메시지 저장부(110) 내에 저장된 메시지(717)를, "Click To Dial" 컴포넌트 본체로 하여금 처리하게 한다. 또한, 실행 처리부(130)는 메시지(717)를, 메시지 저장부(110)로부터 클리어한다. 여기서, "Click To Dial" 컴포넌트 본체는 실행 시작시의 처리 파라미터로서, 메시지(717) 내의 성명 및 전화번호 등의 정보를 수신하여도 좋다. 계속해서, 레이아웃 컨테이너(710D)에 의해 실현되는 표시부(140)는 "Click To Dial" 섹션 타이틀(726)에 대응하는 비표시 상태의 레이아웃 페인(728)을 표시 상태로 하고, 표시 화면(720C)을 표시 화면(720D)으로 변경한다. 이와 같이, 컴포넌트 본체의 실행 코드를 로드하여 실행하기 전에, 메시지 저장부(110)가 이 컴포넌트 본체에 대응하는 컴포넌트에의 메시지(717)를 일시적으로 보존함으로써, 정보 처리 장치(100)는 매시업 애플리케이션 기동시에 각 컴포넌트에 대응하는 컴포넌트 본체의 실행 코드를 로드하는 부하를 경감하면서, 컴포넌트간 연계를 실현한다.
도 8a, 도 8b, 도 8c, 및 도 8d는 본 실시형태에 따른 레이아웃 컨테이너 및 대응하는 표시 화면의 다른 일례를 도시한다. 도 8a의 표시 화면(820A)에서, 레이아웃 컨테이너(810A∼810D)에 의해 실현되는 표시부(140)는 복수의 컴포넌트 스터브에 각각 대응하는 복수의 아이콘을 모두 표시하고 있는 점에서, 도 7a와 상이하다.
또한, 도 8c의 표시 화면(820C)에서, 메시지 처리부(160)는 "Click To Dial" 아이콘(822)을 진동시키고 있는 점에서 도 7c와 상이하다.
도 9는 본 실시형태에 따른 정보 처리 장치(100)의 레이아웃 컨테이너 및 레이아웃 페인의 의사 프로그램 코드의 일례를 나타낸다. 레이아웃 페인의 의사 프로그램 코드 내의 함수 onOpen은 도 2의 단계 S230에서 실행 처리부(130)가 행하는 처리의 일부분에 대응한다. 도 10은 본 실시형태에 따른 컴포넌트 본체의 의사 프로그램 코드의 일례를 나타낸다. 도 10 중 컴포넌트 본체의 의사 프로그램 코드 내의 함수 create는 도 2의 단계 S230에서 실행 처리부(130)가 행하는 처리의 일부분에 대응한다.
도 11은 본 실시형태에 따른 정보 처리 장치(100)의 컴포넌트 프레임의 의사 프로그램 코드의 일례를 나타낸다. 컴포넌트 프레임을 정의함으로써, 소프트웨어 컴포넌트의 작성자는 이 소프트웨어 컴포넌트가 송수신하는 메시지를 간편히 정의할 수 있다. 이렇게 하면, 대응하는 컴포넌트가 어떤 메시지를 송신하는지, 및 어떤 메시지를 수신하는지를 간단히 정의할 수 있다.
도 12는 본 실시형태에 따른 정보 처리 장치(100)의 컴포넌트 베이스 모듈의 의사 프로그램 코드의 일례를 나타낸다. 메시지 처리부(160) 및 실행 처리부(130)는 복수의 소프트웨어 컴포넌트에 대하여 공통의 컴포넌트 베이스 모듈을 컴퓨터상에서 동작시키는 것에 의해 실현되어도 좋다. 이렇게 하면, 정보 처리 장치(100F), 복수의 소프트웨어 컴포넌트에 대하여, 하나의 컴포넌트 베이스 모듈을 컴퓨터 메모리상에 로드하면 되기 때문에, 메모리 사용량을 절약할 수 있다. 또한, 각각의 소프트웨어 컴포넌트에 대하여 따로 컴포넌트 베이스에 대응하는 프로그램을 작성하지 않아도 되어, 개발 효율이 오른다.
또한, 메시지 처리부(160)는 소프트웨어 컴포넌트 본체의 실행 코드가 로드된 것에 따라, 소프트웨어 컴포넌트에의 메시지를 메시지 저장부(110)에 저장하는 메시지 수신 루틴을, 이 메시지를 소프트웨어 컴포넌트 본체에 전송하는 메시지 수신 루틴으로 교체할 수 있다. 이것에 의해, 소프트웨어 컴포넌트는 수신한 메시지를, 외부에서 직접 보내진 메시지로서 처리할 수 있다. 또한, 도 9∼12의 의사 프로그램 코드는 일례로서 Java Script(등록상표) 언어를 사용하여 기술되어 있지만, 다른 임의의 프로그램 언어로 기술되어도 좋다.
도 13은 본 실시형태에 따른 컴퓨터(1900)의 하드웨어 구성의 일례를 도시한다. 본 실시형태에 따른 컴퓨터(1900)는 호스트 컨트롤러(2082)에 의해 서로 접속되는 CPU(2000), RAM(2020), 그래픽 컨트롤러(2075), 및 표시 장치(2080)를 갖는 CPU 주변부와, 입출력 컨트롤러(2084)에 의해 호스트 컨트롤러(2082)에 접속되는 통신 인터페이스(2030), 하드디스크 드라이브(2040), 및 DVD 드라이브(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), DVD 드라이브(2060)를 접속한다. 통신 인터페이스(2030)는 네트워크를 통해 다른 장치와 통신한다. 하드디스크 드라이브(2040)는 컴퓨터(1900) 내의 CPU(2000)가 사용하는 프로그램 및 데이터를 저장한다. DVD 드라이브(2060)는 DVD(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), DVD(2095), 또는 IC 카드 등의 기록 매체에 저장되어 이용자에 의해 제공된다. 프로그램은 기록 매체로부터 독출되고, RAM(2020)을 통해 컴퓨터(1900) 내의 하드디스크 드라이브(2040)에 설치되며, CPU(2000)에서 실행된다.
컴퓨터(1900)에 설치되고, 컴퓨터(1900)를 정보 처리 장치(100)로서 기능시키는 프로그램은 메시지 저장 모듈, 컴포넌트 본체 저장 모듈, 실행 처리 모듈, 입력 모듈, 표시 모듈, 및 메시지 처리 모듈을 구비한다. 이들 프로그램 또는 모듈은 CPU(2000) 등에 작용하여, 컴퓨터(1900)를, 메시지 저장부(110), 컴포넌트 본체 저장부(120), 실행 처리부(130), 표시부(140), 입력부(150), 및 메시지 처리부(160)로서 각각 기능시킨다.
이들 프로그램에 기술된 정보 처리는 컴퓨터(1900)에 판독됨으로써, 소프트웨어와 전술한 각종 하드웨어 자원이 협동된 구체적 수단인 메시지 저장부(110), 컴포넌트 본체 저장부(120), 실행 처리부(130), 표시부(140), 입력부(150), 및 메시지 처리부(160)로서 기능한다. 그리고, 이들의 구체적 수단에 의해, 컴퓨터(1900)의 사용 목적에 따른 정보의 연산 또는 가공을 실현함으로써, 사용 목적에 따른 특유의 정보 처리 장치(100)가 구축된다.
일례로는 컴퓨터(1900)와 외부 장치 등과의 사이에서 통신하는 경우에는 CPU(2000)는 RAM(2020)상에 로드된 통신 프로그램을 실행하고, 통신 프로그램에 기술된 처리 내용에 기초하여, 통신 인터페이스(2030)에 대하여 통신 처리를 지시한다. 통신 인터페이스(2030)는 CPU(2000)의 제어를 받아, RAM(2020), 하드디스크 드라이브(2040), 플렉시블 디스크(2090), 또는 DVD(2095) 등의 기억 장치상에 설치한 송신 버퍼 영역 등에 기억된 송신 데이터를 독출하여 네트워크에 송신하고, 또는 네트워크로부터 수신한 수신 데이터를 기억 장치상에 설치한 수신 버퍼 영역 등으로 기록한다. 이와 같이, 통신 인터페이스(2030)는 DMA(다이렉트 메모리 액세스) 방식에 의해 기억 장치와의 사이에서 송수신 데이터를 전송하여도 좋고, 이 대신에, CPU(2000)가 전송원의 기억 장치 또는 통신 인터페이스(2030)로부터 데이터를 독출하여, 전송 목적지의 통신 인터페이스(2030) 또는 기억 장치에 데이터를 기록하는 것에 의해 송수신 데이터를 전송하여도 좋다.
또한, CPU(2000)는 하드디스크 드라이브(2040), DVD 드라이브(2060)[DVD(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(2000)는 기억 장치에 저장되어 있는 복수의 엔트리 중에 제1 속성의 속성값이 지정된 조건과 일치하는 엔트리를 검색하고, 그 엔트리에 저장되어 있는 제2 속성의 속성값을 독출하는 것에 의해, 미리 정해진 조건을 만족시키는 제1 속성에 대응된 제2 속성의 속성값을 얻을 수 있다.
이상에 도시한 프로그램 또는 모듈은 외부의 기록 매체에 저장되어도 좋다. 기록 매체로서는 플렉시블 디스크(2090), DVD(2095) 외에, CD 등의 광학 기록 매체, MO 등의 광자기 기록 매체, 테이프 매체, IC 카드 등의 반도체 메모리 등을 이용할 수 있다. 또한, 전용 통신 네트워크 또는 인터넷에 접속된 서버 시스템에 설치한 하드디스크 또는 RAM 등의 기억 장치를 기록 매체로서 사용하여, 네트워크를 통해 프로그램을 컴퓨터(1900)에 제공하여도 좋다.
이상, 본 발명을 실시형태를 이용하여 설명했지만, 본 발명의 기술적 범위는 상기 실시형태에 기재된 범위에는 한정되지 않는다. 상기 실시형태에, 다양한 변경 또는 개량을 가할 수 있는 것이 당업자에게 명백하다. 이와 같은 변경 또는 개량을 가한 형태도 본 발명의 기술적 범위에 포함될 수 있는 것이 특허청구범위의 기재로부터 명백하다.
특허청구범위, 명세서, 및 도면 중에 나타낸 장치, 시스템, 프로그램, 및 방법에서의 동작, 절차, 스텝, 및 단계 등의 각 처리의 실행 순서는 특히 「보다 이전에」, 「앞서서」 등으로 명시되어 있지 않고, 또한 이전 처리의 출력을 이후 처리에서 이용하지 않는 한, 임의의 순서로 실현할 수 있는 것에 유의해야 한다. 특허청구범위, 명세서, 및 도면중의 동작 흐름에 관해서, 편의상 「우선,」, 「다음에,」 등을 이용하여 설명했다고 해도, 이 순으로 실시하는 것이 필수인 것을 의미하는 것이 아니다.
또한, 본 명세서에서는 매시업 애플리케이션을 전체 애플리케이션의 일례로서 설명했다. 그러나, 전체 애플리케이션은 예컨대 사용자가 아이콘을 클릭하면, 이 아이콘에 관련된 애플리케이션을 기동하는 애플리케이션 런처 등이어도 좋다.
100: 정보 처리 장치, 110: 메시지 저장부, 120: 컴포넌트 본체 저장부, 130: 실행 처리부, 140: 표시부, 150: 입력부, 160: 메시지 처리부, 500: 표시 화면, 510: 레이아웃 컨테이너, 512A∼512B: 섹션 타이틀, 514A∼514B: 레이아웃 페인, 610: 컴포넌트 스터브, 612: 컴포넌트 프레임, 614: 컴포넌트 베이스, 616: 메시지, 620: 컴포넌트, 622: 인스턴스, 624: 컴포넌트 베이스, 626: 메시지, 628: 메시지, 710A∼710D: 레이아웃 컨테이너, 712: 컴포넌트 스터브, 714: 컴포넌트 스터브, 716: 컴포넌트, 717: 메시지, 718: 컴포넌트, 720A∼720D: 표시 화면, 722: 섹션 타이틀, 724: 레이아웃 페인, 726: 섹션 타이틀, 728: 레이아웃 페인, 810A∼810D: 레이아웃 컨테이너, 820A∼820D: 표시 화면, 822: 아이콘, 1900: 컴퓨터, 2000: CPU, 2010: ROM, 2020: RAM, 2030: 통신 인터페이스, 2040: 하드디스크 드라이브, 2050: 플렉시블 디스크 드라이브, 2060: DVD 드라이브, 2070: 입출력 칩, 2075: 그래픽 컨트롤러, 2080: 표시 장치, 2082: 호스트 컨트롤러, 2084: 입출력 컨트롤러, 2090: 플렉시블 디스크, 2095: DVD

Claims (10)

  1. 컴퓨터상에서 소프트웨어 컴포넌트를 실행시키기 위한 실행용 프로그램으로서,
    상기 실행용 프로그램은 상기 컴퓨터로 하여금,
    상기 소프트웨어 컴포넌트에의 메시지를 저장하는 메시지 저장부와,
    상기 소프트웨어 컴포넌트의 실행 지시를 수신한 것에 따라, 상기 소프트웨어 컴포넌트의 본체의 실행 코드를 상기 컴퓨터 상에 로드하여 실행시키고 상기 소프트웨어 컴포넌트의 실행 지시 전에 상기 메시지 저장부에 저장된 상기 메시지를 처리시키는 실행 처리부
    로서 기능하게 하는 것인 실행용 프로그램.
  2. 제1항에 있어서, 상기 컴퓨터는 복수의 상기 소프트웨어 컴포넌트를 연계(連携)시킨 전체 애플리케이션을 실행하고,
    상기 실행 처리부는 상기 전체 애플리케이션의 실행 중에 하나의 상기 소프트웨어 컴포넌트의 실행 지시를 수신한 것에 따라 상기 하나의 소프트웨어 컴포넌트의 본체의 실행 코드를 상기 컴퓨터 상에 로드하며, 상기 하나의 소프트웨어 컴포넌트를 초기화하여 실행시키는 것인 실행용 프로그램.
  3. 제1항에 있어서, 상기 실행용 프로그램은 상기 컴퓨터로 하여금, 상기 컴퓨터의 표시 화면 상에 상기 소프트웨어 컴포넌트에 대응된 오브젝트를 표시하는 표시부로서 더 기능하게 하고,
    상기 실행 처리부는 사용자가 상기 오브젝트를 조작한 것에 따라 상기 오브젝트에 대응된 상기 소프트웨어 컴포넌트의 본체의 실행 코드를 로드하여 실행시키는 것인 실행용 프로그램.
  4. 제3항에 있어서, 상기 실행용 프로그램은 상기 컴퓨터로 하여금, 상기 소프트웨어 컴포넌트에의 메시지를 수신하고, 상기 오브젝트 표시를 상기 메시지를 수신하였음을 나타내는 표시로 변경하는 메시지 처리부로서 더 기능하게 하는 것인 실행용 프로그램.
  5. 제4항에 있어서, 상기 메시지 처리부는 상기 소프트웨어 컴포넌트에의 메시지를 수신하고, 상기 소프트웨어 컴포넌트의 본체의 실행 코드가 로드되어 있지 않는 것을 조건으로 하여, 상기 오브젝트의 표시를 상기 메시지를 수신하였음을 나타내는 표시로 변경하는 것인 실행용 프로그램.
  6. 제4항 또는 제5항에 있어서, 상기 메시지 처리부는 상기 소프트웨어 컴포넌트의 처리에 필요한 모든 메시지를 수신하고, 상기 오브젝트 표시를 상기 모든 메시지를 수신하였음을 나타내는 표시로 변경하는 것인 실행용 프로그램.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서, 상기 메시지 처리부는 새롭게 수신한 상기 소프트웨어 컴포넌트에의 메시지에서의 미리 정해진 지점의 내용이, 이미 상기 메시지 저장부에 저장된 메시지에서의 대응하는 지점의 내용과 상이한 경우에, 상기 오브젝트의 표시를 상이한 내용의 메시지를 수신하였음을 나타내는 표시로 변경하는 것인 실행용 프로그램.
  8. 제4항 내지 제7항 중 어느 한 항에 있어서, 상기 메시지 처리부는 상기 소프트웨어 컴포넌트에의 메시지를 수신하고, 상기 오브젝트의 표시를 상기 메시지를 수신하였음을 나타내는 표시로 변경하며, 미리 설정된 시간 후에, 상기 메시지를 수신하기 전의 표시로 복귀시키는 것인 실행용 프로그램.
  9. 소프트웨어 컴포넌트를 실행하는 정보 처리 장치로서,
    상기 소프트웨어 컴포넌트에의 메시지를 저장하는 메시지 저장부와,
    상기 소프트웨어 컴포넌트의 실행 지시를 수신한 것에 따라, 상기 소프트웨어 컴포넌트의 본체의 실행 코드를 상기 정보 처리 장치 상에 로드하여 실행시키고 상기 소프트웨어 컴포넌트의 실행 지시 전에 상기 메시지 저장부에 저장된 상기 메시지를 처리시키는 실행 처리부
    를 포함하는 정보 처리 장치.
  10. 컴퓨터 상에서 소프트웨어 컴포넌트를 실행시키는 실행 방법으로서,
    상기 컴퓨터가 상기 소프트웨어 컴포넌트에의 메시지를 메시지 저장부에 저장하는 단계와,
    상기 소프트웨어 컴포넌트의 실행 지시를 수신한 것에 따라, 상기 컴퓨터가 상기 소프트웨어 컴포넌트의 본체의 실행 코드를 로드하여 실행하고 상기 소프트웨어 컴포넌트의 실행 지시 전에 상기 메시지 저장부에 저장된 상기 메시지를 처리하는 단계
    를 포함하는 실행 방법.
KR1020100033970A 2009-05-15 2010-04-13 정보 처리 장치, 실행 방법 및 실행용 프로그램 KR20100123600A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2009-118654 2009-05-15
JP2009118654A JP4958122B2 (ja) 2009-05-15 2009-05-15 情報処理装置、実行方法および実行用プログラム

Publications (1)

Publication Number Publication Date
KR20100123600A true KR20100123600A (ko) 2010-11-24

Family

ID=43069562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100033970A KR20100123600A (ko) 2009-05-15 2010-04-13 정보 처리 장치, 실행 방법 및 실행용 프로그램

Country Status (3)

Country Link
US (2) US8683491B2 (ko)
JP (1) JP4958122B2 (ko)
KR (1) KR20100123600A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201106251A (en) 2009-04-24 2011-02-16 Ibm Editing apparatus, editing method and program

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226665B1 (en) * 1996-09-19 2001-05-01 Microsoft Corporation Application execution environment for a small device with partial program loading by a resident operating system
US6971109B1 (en) * 1998-07-24 2005-11-29 Micron Technology, Inc. Integrated application management system
GB2340266B (en) * 1998-07-31 2003-03-12 Sony Uk Ltd Data processing
JP2001136556A (ja) * 1999-11-05 2001-05-18 Hitachi Kokusai Electric Inc メッセージ受信機
JP2003241879A (ja) * 2002-02-14 2003-08-29 Sharp Corp 情報処理システム
EP2256595B1 (en) * 2003-12-01 2019-12-25 BlackBerry Limited Method for providing notifications of new events on a small screen device
JP2006031491A (ja) * 2004-07-20 2006-02-02 Hitachi Ltd アプリケーション間連携システム
US8005943B2 (en) * 2005-10-12 2011-08-23 Computer Associates Think, Inc. Performance monitoring of network applications
JP4869894B2 (ja) * 2006-12-07 2012-02-08 株式会社ソニー・コンピュータエンタテインメント コンテンツ表示方法、コンテンツ表示装置、およびマルチプロセッサシステム
US8099737B2 (en) * 2007-06-05 2012-01-17 Oracle International Corporation Event processing finite state engine and language
US7937714B2 (en) * 2007-10-25 2011-05-03 International Business Machines Corporation Processing event notifications with an event sink
JP5276882B2 (ja) 2008-03-31 2013-08-28 芦森工業株式会社 シートベルト用リトラクタ
US9135091B2 (en) * 2009-04-03 2015-09-15 Microsoft Technology Licensing, Llc Communicating events or data between application components

Also Published As

Publication number Publication date
US8683491B2 (en) 2014-03-25
JP4958122B2 (ja) 2012-06-20
US20100293556A1 (en) 2010-11-18
US20120324477A1 (en) 2012-12-20
JP2010267122A (ja) 2010-11-25
US9092245B2 (en) 2015-07-28

Similar Documents

Publication Publication Date Title
US11868785B2 (en) Application program page processing method and device
KR102108583B1 (ko) 인스턴스화가능한 제스처 객체
US7660604B2 (en) Mobile terminal
AU2014327147B2 (en) Quick tasks for on-screen keyboards
US20100269060A1 (en) Navigating A Plurality Of Instantiated Virtual Desktops
JP2000040084A (ja) モジュラ―記憶方法及びその装置
US9092239B2 (en) Configuring user interfaces in electronic devices
JP4971202B2 (ja) 情報処理装置及びプログラム
KR20140039209A (ko) 빠른 사이트 액세스 사용자 인터페이스를 갖춘 웹 브라우저
TWI585667B (zh) 基於情境之動畫庫
US20090193363A1 (en) Representing Multiple Computing Resources Within A Predefined Region Of A Graphical User Interface For Displaying A Single Icon
JP4426492B2 (ja) プログラマブル・ターミナル・システム
JP2006048645A (ja) ドキュメントにコンテキスト情報を埋め込むための方法およびシステム
WO2015026756A1 (en) Application implemented context switching
CN102144219A (zh) 信息处理设备和程序
CN102929497A (zh) 虚拟视口和具有光学缩放的固定定位
KR20100123600A (ko) 정보 처리 장치, 실행 방법 및 실행용 프로그램
CN115390720A (zh) 包括自动文档滚动的机器人过程自动化(rpa)
JP2008305021A (ja) 情報処理装置及びアプリケーション管理方法
KR20230169350A (ko) 프로그램 제어 방법, 장치, 전자기기 및 판독가능 저장 매체
WO2009020567A2 (en) Method and system for generating an application
JP2007334869A (ja) プログラム起動装置、プログラム起動方法、起動処理プログラム及び集積回路
JP2008158882A (ja) 情報処理装置およびポップアップウィンドウ表示制御方法およびプログラムおよび記録媒体
KR20080027293A (ko) 데이터 언어에서 다수 언어들의 관리
US20150116208A1 (en) Terminal apparatus, information processing apparatus, and display control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application