KR101355273B1 - 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체 - Google Patents

컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체 Download PDF

Info

Publication number
KR101355273B1
KR101355273B1 KR1020120074051A KR20120074051A KR101355273B1 KR 101355273 B1 KR101355273 B1 KR 101355273B1 KR 1020120074051 A KR1020120074051 A KR 1020120074051A KR 20120074051 A KR20120074051 A KR 20120074051A KR 101355273 B1 KR101355273 B1 KR 101355273B1
Authority
KR
South Korea
Prior art keywords
execution
user
execution system
task
information
Prior art date
Application number
KR1020120074051A
Other languages
English (en)
Other versions
KR20130139724A (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 KR20130139724A publication Critical patent/KR20130139724A/ko
Application granted granted Critical
Publication of KR101355273B1 publication Critical patent/KR101355273B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • 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/46Multiprogramming arrangements
    • 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/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Abstract

[과제]사용자마다의 환경, 상황, 업무 내용 등의 다양한 특성에 의한 다양한 필요에 대하여 신속하게 또한 주문형으로 대응할 수 있게 설계되어 실행되도록 한다.
[해결수단]본 발명은 고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트를 지시하는 포인팅 정보를 구축하고 운용하는 지시계 오브젝트와, 실행계 오브젝트를 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보계 오브젝트와, 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 실행 시퀀스를 구축하고 운용하는 서열계 오브젝트와, 선별된 실행계 오브젝트를 실행 시퀀스에 따라 실행시키고, 산출된 실행계 오브젝트의 출력을 유저 및 유저의 요구를 해석하여 선정된 상대방의 집합으로부터 선택된 지정 수신자에게 제공하는 실행 제어계 오브젝트를 포함한다.

Description

컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체{A computing system, a method for controlling thereof, and a computer-readable recording medium having a computer program for controlling thereof}
본 발명은 컴퓨팅 시스템(Computing system) 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체에 관한 것이다. 특히, 본 발명은 유저의 명령에 기초하여 상기 컴퓨팅 시스템에서 실행 가능한 실행계 오브젝트를 소정의 기준에 따라 하나 또는 그 이상 선별하여 특정하고 이들의 실행을 제어하여 유저의 고유한 의도에 상응한 결과를 신속하고도 맞춤형으로 제공하는 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체에 관한 것이다.
일반적으로, 컴퓨팅 시스템은 소정의 순서에 따른 산술 및/또는 논리 연산을 실행(연산 처리)하고, 각종 정보를 저장 및/또는 이동(정보 처리)하며, 접속된 하드웨어 장치나 설치된 소프트웨어를 제어(제어 처리)하는 장치로서, 중앙처리장치(CPU), 메모리, 입출력 장치, 버스 등의 하드웨어와, 기본 입출력 시스템(Basic Input Output System; BIOS) 및 운영 체계(Operating System; OS) 등의 소프트웨어를 포함한다. 이러한 컴퓨팅 시스템에는, 메인프레임, 미니컴퓨터, 워크스테이션이나 개인용 컴퓨터와 같은 전통적인 컴퓨터는 물론, 태블릿 PC나 스마트폰과 같은 상대적으로 새로이 등장한 장치가 모두 포함될 수 있다. 즉, 본 발명의 기술 사상이 적용되는 컴퓨팅 시스템은 그 형식이나 내부 아키텍처에 특별한 제한이 없으며, 상기한 연산 처리, 정보 처리 및 제어 처리의 전부 또는 일부를 수행할 수 있는 장치라면 어떠한 것이라도 본 발명의 컴퓨팅 시스템에 포함됨을 주의하여야 한다.
특허 문헌 1. 미국 특허 제6,901,417호 공보 특허 문헌 2. 미국 특허 제7,657,870호 공보
일반적으로 이러한 컴퓨팅 시스템을 제어함에 있어서, 유저는 제3자에 의하여 미리 설계된 알고리즘("기성 알고리즘")에 따라 자신의 컴퓨팅 시스템을 가동함으로써 자신의 필요에 대응하게 했다. 그러나 이러한 기성 알고리즘에 의하여 컴퓨팅 시스템을 제어하는 경우, 유저에 따라 고유한 환경이나 상황 또는 업무상의 특성에 충분히 대응할 수 없어 단지 필요의 일부만을 해결하는 것으로 만족해야 하는 문제점이 있었다.
이러한 문제점에 대한 해결 방안 중 하나로서, 유저는 자신만의 고유한 환경, 상황 또는 업무 특성에 따라 맞춤 설계된 전용 알고리즘을 개발하여 그에 따라 자신의 컴퓨팅 시스템을 가동하는 방식을 채택하기도 한다. 그러나 이러한 전용 알고리즘의 개발에는 막대한 시간과 비용이 소모되는 문제점이 있다. 또한 개발된 전용 알고리즘이 본래의 필요를 완전히 충족하지 못하는 경우도 많으며, 간혹 처음의 필요를 충분히 충족시켰다 하더라도 유저의 사정 변경 등에 의해 새로운 필요가 발생하는 경우에는 여전히 그에 대응하지 못한다는 문제가 발생한다.
본 발명의 과제는, 다양한 유저마다의 고유한 환경, 상황 또는 업무 등의 다양한 특성에 따라 다양한 필요에 대해 신속하고도 맞춤형으로 대응할 수 있도록 설계되고 실행되는 컴퓨팅 시스템 및 그 실행 제어 방법과 그 실행 제어 프로그램이 기록된 기록 매체를 제공하는 것이다.
상기 과제를 해결하기 위해, 본 발명의 제1 국면에 의하면, 본 발명은, 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템에 있어서, 고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트(Executable Object)의 하나 또는 그 이상을 지시하는 포인팅 정보(pointing information)를 구축하고 운용하는 지시계 오브젝트 그룹(Pointing Object Group)과, 실행계 오브젝트 중 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보계 오브젝트 그룹(Informative Object Group)과, 상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 서열계 오브젝트 그룹(Procedural Object Group)과, 상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 실행 제어계 오브젝트 그룹(Execution Control Object Group)을 포함하는 컴퓨팅 시스템을 제공한다.
또한, 본 발명의 제2 국면에 의하면, 본 발명은, 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템에 있어서, 고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 오브젝트와, 실행계 오브젝트 중 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보계 오브젝트와, 상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 서열계 오브젝트와, 상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 실행 제어계 오브젝트를 포함하는 컴퓨팅 시스템을 제공한다.
또한, 본 발명의 제3 국면에 의하면, 본 발명은, 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템에 있어서, 고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 모듈과, 실행계 오브젝트 중 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보계 모듈과, 상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 서열계 모듈과, 상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 실행 제어계 모듈을 포함하는 컴퓨팅 시스템을 제공한다.
또한, 본 발명의 제4 국면에 의하면, 본 발명은, 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템의 실행 제어 방법에 있어서, 고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 어느 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보 등록 프로세스와, 상기 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 오브젝트 운용 프로세스와, 상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 태스크 시퀀스 운용 프로세스와, 상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 태스크 실행 프로세스를 포함하는 컴퓨팅 시스템의 실행 제어 방법을 제공한다.
또한, 본 발명의 제5 국면에 의하면, 본 발명은, 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템의 실행 제어 프로그램을 기록한 기록 매체에 있어서, 상기 컴퓨팅 시스템으로 하여금, 고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 어느 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보 등록 프로세스와, 상기 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 오브젝트 운용 프로세스와, 상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 태스크 시퀀스 운용 프로세스와, 상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 태스크 실행 프로세스 를 실행하게 하는 컴퓨팅 시스템의 실행 제어 프로그램을 기록한 기록 매체를 제공한다.
도 1은, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 구성을 개념적으로 도시한 도면이다.
도 2는, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 프로세스들을 개념적으로 도시한 도면이다.
도 3은, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 정보 등록 프로세스를 개념적으로 도시한 도면이다.
도 4는, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 지시계 오브젝트 운용 프로세스를 개념적으로 도시한 도면이다.
도 5는, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 유저 코맨드 해석 프로세스를 개념적으로 도시한 도면이다.
도 6은, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 유저 요구 규명 프로세스를 개념적으로 도시한 도면이다.
도 7은, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 태스크 시퀀스 빌딩 프로세스를 개념적으로 도시한 도면이다.
도 8은, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 실행계 오브젝트 특정 프로세스를 개념적으로 도시한 도면이다.
도 9는, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트 스펙 운용 프로세스를 개념적으로 도시한 도면이다.
도 10은, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트의 입출력 대응 및/또는 변환 프로세스를 개념적으로 도시한 도면이다.
도 11은, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트 실행 프로세스를 개념적으로 도시한 도면이다.
도 12는, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 프로세스들을 개념적으로 도시한 도면이다.
도 13은, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 결정 트리 액티베이션 프로세스를 개념적으로 도시한 도면이다.
도 14는, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 유저 프로퍼티 레퍼런싱 프로세스를 개념적으로 도시한 도면이다.
도 15는, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 태스크 시퀀스 빌딩 프로세스를 개념적으로 도시한 도면이다.
도 16은, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트간 연계 프로세스를 개념적으로 도시한 도면이다.
도 17은, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 출력 빌딩 및/또는 제공 프로세스를 개념적으로 도시한 도면이다.
도 18은, 본 발명의 또 다른 실시예에 의한 컴퓨팅 시스템의 구성을 개념적으로 도시한 도면이다.
도 19는, 본 발명의 또 다른 실시예에 의한 컴퓨팅 시스템의 구성을 개념적으로 도시한 도면이다.
이하, 첨부 도면을 참조하며 본 발명의 실시예에 관하여 상세히 설명한다. 본 발명의 기술적 범위가 첨부된 도면에 도시된 실시예에 한정되는 것이 아님은 물론이다.
도 1은 본 발명의 일 실시예에 의한 컴퓨팅 시스템 100의 구성을 개념적으로 도시한 도면이다. 도시된 바와 같이, 본 발명의 일 실시예에 의하면, 본 발명의 컴퓨팅 시스템 100은, 중앙 처리 장치(CPU) 200과, 램 또는 롬 등(도시되지 않음)의 메모리 202와, 데이터나 파일 등을 저장하기 위한 하드 디스크나 CD-ROM 등(도시되지 않음)의 저장 장치 204와, 랜 어뎁터, USB 어뎁터, 모니터 등(도시되지 않음)과 같은 각종 하드웨어(H/W) 206을 포함한다. 또한, 본 발명의 컴퓨팅 시스템 100은, 기본 입출력 시스템(BIOS) 300과, 오퍼레이팅 시스템(OS) 302와, 각종 드라이버나 라이브러리 등의 소프트웨어(S/W) 304와, 각종 데이터와 정보를 상호 연관지어 관리하는 데이터베이스(DB) 306을 더 포함한다. 상기 BIOS 300은 롬 또는 플래시 메모리 등(도시되지 않음)에 독출 전용 또는 기록 및 독출 가능 방식으로 구현되어 포함될 수 있으며, OS 302나 다른 소프트웨어 304도 그 규모와 용도에 따라 적절한 하드웨어에 독출 전용 또는 기록 및 독출 가능 방식으로 구현되어 포함될 수 있다. 이러한 구성 요소들은 버스 308에 의해 상호 접속되어 필요한 정보를 교환할 수 있다.
특히, 본 발명의 컴퓨팅 시스템 100은, 고유의 오퍼레이션을 수행하여 고유의 포맷과 개수의 출력을 제공하는 실행계 오브젝트(Executable Object) 800, 802 또는 804의 적어도 어느 하나를 지시하는 지시계 오브젝트(Pointing Object) 그룹 400과, 상기 실행계 오브젝트 800, 802 또는 804 중 유저의 요구에 대응하기 위하여 필요한 것의 선별에 기준이 되거나 그 실행 시퀀스의 구축에 기준이 되는 각종 기준 정보를 구축하고 운용하는 정보계 오브젝트(Informative Object) 그룹 500과, 상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 800, 802 및 804 중 필요한 것을 선별하고 그 실행 시퀀스를 구축하고 운용하는 서열계 오브젝트(Procedural Object) 그룹 600과, 상기 서열계 오브젝트 그룹 600에 의하여 운용되는 실행 시퀀스에 따라 선별된 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부를 직접, 또는 그들의 일부 또는 전부의 개별화된 인스턴스를 실행시킴으로써 상기 실행계 오브젝트 소정의 출력을 상기 유저 또는 상기 유저의 요구를 해석하여 선정된 상대방(이들을 "지정 수신자"라 통칭함)에게 제공하는 실행 제어계 오브젝트(Execution Control Object) 그룹 700을 더 포함한다.
상기 각 오브젝트 또는 오브젝트 그룹은, 상기 BIOS 300 등과 마찬가지로, 그 규모와 용도에 따라 롬, 플래시 메모리, 하드 디스크, CD-ROM, 각종 서버 등(도시되지 않음)의 적절한 하드웨어에 독출 전용 또는 기록 및 독출 가능 방식으로 구현될 수 있다. 또한, 상기 각 오브젝트는 설계자의 필요에 따라 하나 또는 복수 개 구현될 수 있다. 도 1에 있어서는 상기 각 오브젝트 또는 오브젝트 그룹이 하드웨어 또는 소프트웨어로부터 독립적으로 구현된 실시예가 도시되어 있으나, 이들은 설계자의 필요에 따라 OS 302의 일부로서 구현될 수도 있으며, 또는 상기 OS 302 상에서 구동되는 응용 프로그램으로서 구현될 수도 있으며, 또는 상기 OS 302와 응용 프로그램 사이의 소위 ‘미들웨어(Middleware)’로서 구현될 수도 있다. 즉, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 오브젝트 또는 오브젝트 그룹은 그 구현 형식에는 어떠한 제한도 받지 않음을 쉽게 이해할 수 있다.
상기 실행계 오브젝트 800, 802 또는 804의 각각은, 독립적이거나 상호 연동 가능한 하나 또는 그 이상의 알고리즘에 따라 소정의 오퍼레이션을 실행하여 고유의 포맷과 개수의 출력을 생성한다. 상기 실행계 오브젝트 800, 802 또는 804의 각각은, 고유의 포맷과 개수의 입력을 수신하는 것이 일반적이지만, 설계자의 선택에 따라서는 입력을 필요로 하지 않는 것이 있을 수도 있다(예를 들어, 일정 주기로 난수를 발생시켜 소정의 기억 장치(예컨대 버퍼)에 이를 제공하는 난수 발생 오브젝트가 있을 수 있다. 상기 난수 발생 오브젝트에 의하여 새로운 난수가 발생되면 기존에 저장된 난수를 삭제하고 새로 발생된 난수가 저장되거나, 일정 개수의 난수만이 보존되고 그 이전의 난수를 삭제하고 새로 발생된 난수를 저장한다. 유저는 임의의 시간에 상기 버퍼에 억세스하여 저장된 난수를 독출하므로, 난수 발생 오브젝트에 어떠한 입력을 제공하지 않더라도 임의의 난수를 획득할 수 있게 된다. 상기 예에서, 난수는 예컨대 정수 또는 부동소수와 같은 소정의 포맷으로 지정될 수 있다. 또한 출력되는 난수의 개수는 필요에 따라 하나 또는 복수개일 수 있다. 입력 없이 출력만을 생성하는 실행계 오브젝트의 다른 예로서 일정한 주기로 신호를 생성하는 오실레이터 오브젝트가 있을 수 있다.). 상기 실행계 오브젝트 800, 802 또는 804는, 애플리케이션(Application), 웹 서비스(Web Service), 위젯(Widget), 플러그인(Plug-in) 등의 다양한 소프트웨어로서 또는 이들의 일부로서와 같이, 다양한 형식으로 구현될 수 있다. 또한, 상기 실행계 오브젝트 800, 802 또는 804의 각각은, 설계자의 선택에 따라 상기 본 발명의 컴퓨팅 시스템 100 내부의, 예컨대 상기 메모리 202나 상기 저장 장치 204에 보존될 수도 있으며, 외부 서버(도시되지 않음)와 같은 독립적인 장치에 보존될 수도 있다.
상기 실행계 오브젝트 800, 802 또는 804의 어느 것이 본 발명의 컴퓨팅 시스템 100에 보존되는 경우, 상기 실행계 오브젝트 800, 802 또는 804의 각각은 상기 컴퓨팅 시스템 100의 하드 디스크(도시되지 않음)의 특정 디렉토리의 특정 폴더로 규정되는 위치 정보에 기초하여 필요에 따라 호출될 수 있다. 만약 상기 실행계 오브젝트 800, 802 또는 804의 어느 것이 본 발명의 컴퓨팅 시스템 100의 외부에 존재하는 경우, 본 발명의 컴퓨팅 시스템 100은, 예컨대 URL(Uniform Resource Locator) 등의 위치 정보에 기초하여 필요에 따라 외부에서 호출될 수 있다. 본 발명의 다른 실시예에 의하면, 상기 컴퓨팅 시스템 100은, 상기 실행계 오브젝트 800, 802 또는 804의 하나 또는 그 이상을, 필요에 따라 입력 데이터, 출력 데이터, 실행 오퍼레이션 등의 일부 또는 전부를 개별화(Customize, 커스텀화)한 인스턴스("실행계 인스턴스")를 생성하여 이를 원본 실행계 오브젝트에 대신하여 사용할 수 있다. 본 명세서에서 ‘실행계 오브젝트’라는 용어는, 특별히 양자의 구별이 필요한 경우 이외에는, 상기 실행계 인스턴스까지 포함하는 넓은 의미를 갖는 것으로 한다.
다음으로, 상기 지시계 오브젝트 그룹 400은, 상기 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부를 지시하는 포인팅 정보(Pointing Information)를 구축하고 운용한다. 예를 들어, 상기 지시계 오브젝트 그룹 400은, 상기 실행계 오브젝트 800, 802 또는 804의 보존 위치에 관한 정보를 등록하고, 그 변화를 관리한다. 즉, 상기 실행계 오브젝트 800, 802 또는 804 중 어느 것이 보존되어 있던 URL 정보가 변경된 경우, 상기 지시계 오브젝트 그룹 400은 이를 참조하여 새로운 URL 주소로 관련 정보를 갱신한다. 유사하게, 본 발명의 컴퓨팅 시스템 100의 내부에 보존되던 실행계 오브젝트가 다른 위치(예컨대 다른 디렉토리나 다른 폴더)로 이동한 경우, 또는 외부 위치로 이동하여 내부 디렉토리가 아닌 외부 URL을 갖게 된 경우 등에도, 상기 지시계 오브젝트 그룹 400은 이러한 새로운 포인팅 정보를 추적하여 갱신하고 향후의 변화를 관리한다.
상기 지시계 오브젝트 그룹 400은, 상기 실행계 오브젝트 800, 802 또는 804를 지시하는 포인팅 정보를 구축하고 운용하는 실행계 오브젝트 포인팅 오브젝트 402와, 상기 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부의 실행계 인스턴스를 지시하는 포인팅 정보를 구축하고 운용하는 실행계 인스턴스 포인팅 오브젝트 404를 포함한다. 즉, 상기 실행계 오브젝트 포인팅 오브젝트 402는, 상기 실행계 오브젝트 800, 802 또는 804의 디렉토리 정보나 URL 주소와 같은 보존 위치에 관한 정보를 등록하고 이것이 변경된 경우 이를 갱신한다. 만약 상기 실행계 오브젝트 800, 802 또는 804의 어느 것이 삭제되거나 더 이상 유효하지 않게 된 경우(예컨대 OS 302의 업그레이드에 의해 더 이상 현재 상태의 실행계 오브젝트를 실행시킬 수 없는 경우 등) 등에는 상기 포인팅 정보를 삭제하거나, 당해 실행계 오브젝트의 업데이트가 필요하다는 정보를 표시하거나, 상기 실행계 오브젝트의 업데이트 버전이 제공된 경우 이에 대한 위치 정보로 갱신되도록 할 수도 있다. 한편, 상기 실행계 인스턴스 포인팅 오브젝트 404는, 상기 실행계 오브젝트 800, 802 또는 804의 실행계 인스턴스의 디렉토리 정보나 URL 주소와 같은 보존 위치에 관한 정보를 등록하고 이를 운용한다. 포인팅 정보의 갱신, 삭제 등에 관하여는 상기한 설명과 동등하다.
다음으로, 상기 정보계 오브젝트 그룹 500은, 상기 실행계 오브젝트 800, 802 또는 804 중에서 유저의 요구에 대응하기 위해 활용하는 경우의 활용 기준이 되는 정보로서, 필요한 실행계 오브젝트를 하나 또는 그 이상 선별하는 데에 기준이 되는 정보와, 선별된 실행계 오브젝트를 실행하는 순서나 타이밍을 포함하는 실행 시퀀스의 구축에 기준이 되는 정보(이들을 집합적으로 "기준 정보"라 통칭함.)를 구축하고 운용한다. 이러한 기준 정보에는, 유저의 단위 요구별로 이를 충족시킬 수 있는 하나 또는 그 이상의 태스크를 대응시켜 기록한 태스크 리스트와, 유저별로 다양한 속성 정보와 각 속성별 가중치를 대응시켜 기록한 유저 프로퍼티 리스트와, 유저로부터 수신된 하나 또는 그 이상의 명령이나 메시지를 유저별로 대응시켜 보존한 유저 코맨드 정보 등이 포함된다. 상기와 같은 각종 기준 정보는 유저의 요구를 처리하기 전에 미리 구축될 수도 있으며 그 처리의 실행시에 실시간으로 구축될 수도 있다.
또한, 상기 각종 기준 정보는 정기적 또는 부정기적으로, 사전에 또는 실시간으로 갱신 또는 보완 또는 제거될 수 있다. 도시된 바와 같이, 상기 정보계 오브젝트 그룹 500은, 수시 또는 정기적으로 상기 태스크 리스트를 구축하고 운용하는 태스크 리스트 운용 오브젝트 502와, 수시 또는 정기적으로 상기 유저 프로퍼티 리스트를 구축하고 운용하는 유저 프로퍼티 운용 오브젝트 504와, 상기 유저로부터 하나 또는 그 이상의 명령이나 메시지가 수신됨에 대응하여 상기 유저 코맨드 큐를 구축하고 운용하는 유저 코맨드 운용 오브젝트 506을 포함한다. 상기 태스크 리스트, 유저 프로퍼티 리스트, 유저 코맨드 큐의 상세에 관하여는 도 3을 참조하여 후술한다.
다음으로, 상기 서열계 오브젝트 그룹 600은, 본 발명의 컴퓨팅 시스템 100의 유저로부터의 휴대 전화 메시지, 명령 문자열의 입력, 명령 아이콘의 클릭, 음성 명령의 입력 등의 방법에 의해 수신된 유저 코맨드를 해석하여 유저의 요구를 규명하고, 상기 규명된 유저의 요구를 충족시키기 위하여 수행되어야 할 업무 내용인 태스크(task)를 하나 또는 그 이상 선별하며, 상기 선별된 하나 또는 그 이상의 태스크의 실행 타이밍을 규정하는 태스크 시퀀스를 구축하고 운용하며, 각 태스크의 수행에 필요한 실행계 오브젝트의 어느 하나 또는 그 이상을 특정한다. 예컨대, 상기 서열계 오브젝트 그룹 600은, 상기 유저 코맨드를 분석하여 유저의 요구를 해석하는 경우, 상기 유저 코맨드의 신택스 해석(Syntax Analysis)을 통해 이를 유의미한 내용 요소("코맨드 내용 요소")들로 분해한다. 또한, 상기 서열계 오브젝트 그룹 600은, 후술하는 바와 같은 다양한 시소러스 데이터베이스(Thesaurus Database)를 운용하여 각 코맨드 내용 요소들에 대응되는 유저의 요구를 규명하며, 상기 정보계 오브젝트 그룹 500에 의해 운용되는 소정의 기준 정보를 참조하여 규명된 유저의 요구를 충족시키기 위해 수행되어야 할 적합한 태스크의 시퀀스를 구축하며, 각 태스크의 수행에 적합한 실행계 오브젝트800, 802 또는 804를 특정할 수 있다.
도 1에 도시된 바와 같이, 상기 서열계 오브젝트 그룹 600은, 일반적인 유저의 요구를 구성하는 하나 또는 그 이상의 표준 요구 요소의 각각에 대하여, 하나 또는 그 이상의 표준 요구 시소러스를 대응시켜 저장한 표준 요구 시소러스 데이터베이스를 구축하여 운용하며, 상기 유저 코맨드의 내용을 분석하여 각 의미 단위 요소인 코맨드 내용 요소를 추출하고, 상기 표준 요구 시소러스 데이터베이스를 참조하여 추출된 코맨드 내용 요소를 상기 표준 요구 요소와 대응시켜 분류함으로써 상기 유저 코맨드를 해석하는 유저 코맨드 해석 오브젝트 602를 포함한다. 또한, 상기 서열계 오브젝트 그룹 600은, 상기 해석된 유저 코맨드가 함유하는 유저의 요구를 규명하기 위하여, 상기 표준 요구 요소들의 각각에 대하여 하나 또는 그 이상의 유저 요구 시소러스를 대응시켜 저장한 유저 요구 시소러스 데이터베이스를 구축하여 운용하며, 상기 유저 요구 시소러스 데이터베이스를 참조하여 상기 추출된 코맨드 내용 요소에 대응되는 하나 또는 그 이상의 유저 요구를 획득하는 유저 요구 규명 오브젝트 604를 더 포함한다.
또한, 상기 서열계 오브젝트 그룹 600은, 규명된 유저 요구에 대하여, 상기 정보계 오브젝트 그룹 500에 의하여 운용되는 소정의 기준 정보를 참조하여 각 유저 요구를 충족시키기 위해 수행되어야 할 하나 또는 그 이상의 태스크를 선별하고, 선별된 태스크가 수행될 타이밍과 순서를 규정하는 태스크 시퀀스를 구축하여 운용하는 태스크 시퀀스 운용 오브젝트 606을 더 포함한다. 상기 태스크 시퀀스 운용 오브젝트 606이 상기 규명된 유저 요구를 충족시키기 위해 수행되어야 할 태스크를 선별하는 경우, 상기 정보계 오브젝트 그룹 500에 의하여 운용되는 태스크 리스트를 참조하는 것이 바람직하다. 상기 태스크 시퀀스 운용 오브젝트 606은 이렇게 선별된 태스크에 대하여 각각의 유저 요구의 내용에 기초하여 그 실행 순서의 선후 또는 실행 타이밍을 결정하여 상기 태스크 시퀀스를 구축한다.
상기 규명된 유저 요구를 충족시키기 위하여 수행되어야 할 태스크가 단 하나 존재하는 경우도 있으나, 복수의 태스크가 존재하는 경우도 있을 수 있다. 이렇게 특정 유저 요구에 대응되는 복수의 태스크가 존재하는 경우, 상기 유저 프로퍼티 리스트를 참조하여 당해 유저에 적합한 태스크를 선정하고, 선정된 태스크를 포함하는 태스크 시퀀스를 구축할 수 있다. 이렇게 유저 프로퍼티 리스트를 참조하여 복수의 선택 가능한 옵션들 중에서 해당 유저에 적합한 것을 선정하는 프로세스를 "유저 프로퍼티 레퍼런싱"이라 하며, 그 상세에 관하여는 도 14를 참조하여 후술한다. 한편, 본 발명의 다른 실시예에 의하면, 상기 태스크 시퀀스 운용 오브젝트 606은 상기 복수의 태스크들의 전부 또는 일부를 나열하여 복수의 태스크 시퀀스를 구축할 수도 있다. 이렇게 구축된 복수의 태스크 시퀀스의 각각을 "예비 태스크 시퀀스"라 한다. 상기 태스크 시퀀스 운용 오브젝트 606은, 상기 복수의 예비 태스크 시퀀스에 대하여 유저 프로퍼티 레퍼런싱을 수행하여 특정 유저의 속성에 적합한 최종 태스크 시퀀스를 하나 또는 그 이상 선정할 수 있다. 또한, 상기한 바와 같이 상기 태스크 시퀀스는 규명된 유저의 요구에 적합한 것으로 선정된 태스크들로 구성될 수 있지만, 본 발명의 다른 실시예에 의하면, 특정 유저 요구에 대응되는 복수의 태스크로 구성된 태스크 시퀀스를 미리 입력하여 두고, 이후 당해 요구가 입력된 것으로 판명된 경우 상기 미리 입력된 태스크 시퀀스를 독출하여 사용할 수도 있다. 이 경우 상기 태스크 리스트의 특정 유저 요구에 대해 복수의 태스크를 포함하는 태스크 시퀀스를 저장하여 당해 요구가 입력된 경우 이를 독출하여 최종 태스크 시퀀스로서 선정할 수 있다.
본 발명의 다른 실시예에 의하면, 상기 태스크의 선별과 태스크 시퀀스의 구축 또는 운용 프로세스를 더욱 효율적으로 실행하기 위해, 상기 서열계 오브젝트 그룹 600은 태스크 결정 트리 데이터베이스(Task Decision-Tree DB)를 구축하여 운용하는 결정 트리 운용 오브젝트 608을 선택적으로 더 포함할 수 있다. 상기 결정 트리 운용 오브젝트 608은 하나 또는 그 이상의 유저 요구에 대하여 복수의 수행 가능한 태스크가 존재하는 경우, 논리적으로 조합 가능한 하나 또는 그 이상의 태스크의 후보들을 트리 형식으로 나열한다. 이 과정에서 유저 프로퍼티 레퍼런싱이 부가될 수도 있음은 물론이다. 상기 태스크 결정 트리 데이터베이스의 구축 및 운용에 관한 상세는 도 13을 참조하여 후술한다.
또한, 상기 서열계 오브젝트 그룹 600은, 상기 정보계 오브젝트 그룹 500에 의하여 운용되는 기준 정보를 참조하여, 상기 태스크 시퀀스 운용 오브젝트 606에 의하여 구축된 태스크 시퀀스에 속하는 각 태스크에 대응되는 실행계 오브젝트를 특정하여 실행계 오브젝트 시퀀스를 구축하여 운용하는 실행계 오브젝트 특정 오브젝트 610을 더 포함한다. 상기 실행계 오브젝트 특정 오브젝트 610은, 상기 태스크 시퀀스에 포함된 각 태스크에 대응되는 실행계 오브젝트를 특정하기 위하여, 상기 태스크 리스트를 참조할 수 있다. 또는, 본 발명의 다른 실시예에 의하면, 상기 실행계 오브젝트 특정 오브젝트 610은, 각 태스크의 실행에 필요한 실행계 오브젝트를 내부 저장 장치 204 또는 외부 서버(도시되지 않음) 등에서 검색하여 특정할 수 있다. 이것은 특정 태스크에 대응되는 실행계 오브젝트의 정보가 현시점에서의 태스크 리스트에 존재하지 않는 경우, 또는 실행계 오브젝트의 정보가 태스크 리스트에 존재하지만 그 유효성을 확인할 필요가 있는 경우 등에 대응하기 위하여 수행될 필요가 있을 수 있기 때문이다. 또한, 새로운 실행계 오브젝트들이 항상 개발되어 있을 수 있으므로, 상기 실행계 오브젝트 특정 오브젝트 610도 가능한 경우 새로운 실행계 오브젝트의 정보를 획득하여 이를 상기 태스크 리스트 운용 오브젝트 502에 제공하여 상기 태스크 리스트에 추가되도록 하는 것이 바람직할 수 있다.
나아가, 상기 각 태스크를 수행할 수 있는 실행계 오브젝트가 단 하나 존재하는 경우도 있을 수 있으나, 하나의 태스크에 대하여 복수의 실행계 오브젝트가 대응되는 경우도 있을 수 있다. 이 경우에도 상기 실행계 오브젝트 특정 오브젝트 610은 유저 프로퍼티 레퍼런싱에 의하여 특정 유저에 적합한 실행계 오브젝트를 특정할 수 있다. 상기한 바와 같이, 서열계 오브젝트 그룹 600은, 상기 유저의 요구 해석, 해석된 요구에 대응되는 수행 태스크의 선별, 선별된 태스크의 수행에 적합한 실행계 오브젝트의 선별과 그 실행 시퀀스의 구축 등의 프로세스를 처리함에 있어서, 상기 정보계 오브젝트 그룹 500에 의하여 운용되는 각종 기준 정보, 즉 해당 유저의 속성 정보와 각 속성별 가중치가 대응되어 기록되어 있는 해당 유저의 유저 프로퍼티 리스트나 각 유저의 요구에 대한 대응 태스크, 각 태스크를 수행할 수 있는 실행계 오브젝트의 리스트가 기록되어 있는 태스크 리스트 등의 정보를 참조함으로써, 해당 유저의 고유한 속성에 더욱 적합한 요구의 해석 또는 태스크나 실행계 오브젝트의 선별과 그 실행 시퀀스의 구축 및 운용이 가능하게 된다. 나아가, 상기 유저의 속성 등은 시간의 경과에 따라 변화하는 것이 일반적이므로, 이 경우, 상기 정보계 오브젝트 그룹500이 상기 각종 기준 정보를 변화된 값으로 갱신하여 운용함으로써 상기 서열계 오브젝트 그룹 600은 동일한 유저의 동일한 코맨드를 서로 다른 시점에 처리하는 경우에도 갱신된 기준 정보를 참조함으로써 유저의 사정 변화에 더욱 적합하게 대응할 수 있게 된다.
다음으로, 상기 실행 제어계 오브젝트 그룹 700은, 상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 서열계 오브젝트 그룹 600에 의해 운용되는 태스크 시퀀스 또는 실행계 오브젝트 시퀀스(이들을 집합적으로 "실행 시퀀스"라 함)에 따라 실행시켜 그 출력을 상기 지정 수신자에게 제공한다. 즉, 상기 실행 제어계 오브젝트 그룹 700은, 상기 선별된 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부에 대한 입력을 제공하고, 상기 입력에 대해 당해 실행계 오브젝트 800, 802 또는 804 고유의 오퍼레이션이 실행 시퀀스에 따라 실행되도록 소정의 제어 데이터를 제공하고, 각 실행계 오브젝트 800, 802 또는 804의 고유 오퍼레이션의 실행 결과 산출된 출력을 지정 수신자에게 제공한다. 상기한 바와 같이, 상기 각 실행계 오브젝트 800, 802 또는 804의 고유 오퍼레이션은, 상기 서열계 오브젝트 그룹 600에 의하여 운용되는 실행 시퀀스에 규정된 타이밍과 순서에 따라 실행되므로, 단일 또는 복수의 실행계 오브젝트의 복수의 오퍼레이션이 실행되는 경우, 순차적으로 또는 병렬적으로 실행되는 것들도 있을 수 있다. 이러한 상기 각 실행계 오브젝트 800, 802 또는 804의 고유 오퍼레이션의 실행이 완료되면, 당해 오퍼레이션에 의한 출력을 상기 지정 수신자에게 제공한다. 이 경우, 상기 실행 제어계 오브젝트 그룹 700은 각 유저의 사용 환경에 적합한 타입과 포맷으로 상기 출력 데이터를 변환하여 제공할 수 있으며, 이 과정에서 출력의 일부 또는 전부가 복수의 제공 정보로 분할되거나 복수의 출력이 단일 또는 다른 개수의 제공 정보로 병합될 수도 있다.
또는 도 1에 도시된 바와 같이, 상기 실행 제어계 오브젝트 그룹 700은, 상기 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부에 관한 실행계 오브젝트 스펙 데이터베이스를 구축하여 운용하는 실행계 오브젝트 스펙 운용 오브젝트 702를 포함한다. 상기 실행계 오브젝트 스펙 데이터베이스에는, 각 실행계 오브젝트 800, 802 또는 804의 입력 데이터의 개수와 각 입력 데이터의 타입과 포맷과, 출력 데이터의 개수와 각 출력 데이터의 타입과 포맷과, 그리고 각 수행 오퍼레이션의 실행 정보 등이 포함된다. 또한, 상기 실행 제어계 오브젝트 그룹 700은, 상기 실행계 오브젝트 800, 802 또는 804의 실행에 필요한 입력을 각 실행계 오브젝트에 적합한 개수, 타입 및 포맷으로 제공하기 위하여, 상기 실행계 오브젝트 스펙 데이터베이스를 참조하여 상기 유저 코맨드로부터 추출된 정보나 상기 실행계 오브젝트 각각의 입력 및/또는 출력의 개수, 타입 및 포맷의 어느 것을 변환하는 입출력 변환 오브젝트 704를 더 포함한다. 예를 들어, 상기 입출력 변환 오브젝트 704는, 유저 코맨드를 해석하여 추출한 코맨드 내용 요소로부터 최초에 실행되어야 할 실행계 오브젝트의 실행을 위해 필요한 입력 데이터를 획득하고, 상기 실행계 오브젝트 스펙 데이터베이스를 참조하여 이를 당해 최초에 실행되어야 할 실행계 오브젝트의 입력이 요구하는 개수, 타입 및 포맷에 매칭되도록 변환할 수 있다. 또한, 상기 입출력 변환 오브젝트 704는, 상기 최초의 실행계 오브젝트 고유의 오퍼레이션이 실행된 결과 산출된 출력을 다음에 실행되어야 할 실행계 오브젝트의 입력으로 제공하기 위하여, 상기 실행계 오브젝트 스펙 데이터베이스를 참조하여 최초의 실행계 오브젝트의 출력을 그 다음의 실행계 오브젝트의 입력이 요구하는 개수, 타입 및 포맷에 매칭되도록 변환할 수 있다. 유사하게, 마지막 실행계 오브젝트의 출력은 상기 지정 수신자에게 제공될 수 있도록 소정의 개수, 타입 및 포맷에 매칭되도록 변환될 수 있다.
또한, 상기 실행 제어계 오브젝트 그룹 700은, 상기 실행계 오브젝트 800, 802 또는 804의 각각을 상기 실행 시퀀스에 따라 실행시키기 위하여 소정의 제어 정보를 생성하여 지정된 실행계 오브젝트를 실행시키는 실행계 오브젝트 실행 오브젝트 706을 더 포함한다. 상기 실행계 오브젝트 실행 오브젝트 706은 상기 실행계 오브젝트 스펙 데이터베이스를 참조하여 현시점에서 실행시켜야할 실행계 오브젝트가 포함하는 고유 오퍼레이션의 개수와, 각 오퍼레이션을 실행시키는 실행 코맨드의 내용 및 형식에 관한 정보를 추출하고, 이를 참조하여 당해 실행계 오브젝트에 적합한 제어 정보를 생성하고, 이를 당해 실행계 오브젝트에 순차 또는 병렬적으로 제공하여 당해 실행계 오브젝트의 고유 오퍼레이션이 실행되도록 한다.
본 발명의 다른 실시예에 의하면, 상기 실행 제어계 오브젝트 그룹 700은, 유저 코맨드의 요구 내용에 따라 상기 선정된 실행계 오브젝트를 원래 그대로 실행시키는 것이 적합하지 않거나 또는 이를 변형시키는 것이 더욱 적합한 것으로 판단되는 경우, 그의 개별화된 인스턴스를 생성하여 생성된 실행계 인스턴스를 본래의 것에 대신하여 실행시킬 수도 있다. 상기 실행계 인스턴스는, 상기 실행계 오브젝트의 입력 데이터의 개수 또는 타입이나 포맷, 출력 데이터의 개수 또는 타입이나 포맷, 또는 그 고유 오퍼레이션의 일부 또는 전부를 변형한 것을 의미한다. 이러한 실행계 인스턴스의 실행 및 그와 관련된 취급에 관하여는, 그 입출력 스펙(규격)이나 고유 오퍼레이션의 내용이 변형되었다는 점 등을 제외하고는 상기 실행계 오브젝트의 취급과 기술적으로 동일하므로, 상기 실행계 오브젝트에 관하여 설명한 내용이 모두 그대로 적용될 수 있다. 따라서, 상기한 바와 같이, 본 명세서에서 특별히 언급한 경우를 제외하고는 ‘실행계 오브젝트’라는 용어는 상기 실행계 오브젝트와 상기 실행계 인스턴스 양자를 모두 지칭하는 것임을 주의하여야 한다.
본 발명의 다른 실시예에 의하면, 상기 실행 제어계 오브젝트 그룹 700은, 상기 실행계 오브젝트 상호간에 입력 또는 출력을 공유한다는 공유 관계 정보나 특정 입력 또는 출력에 관한 상호 대응 관계에 관한 대응 관계 정보 등의 데이터베이스를 구축하여 운용하는 실행계 오브젝트간 연계 오브젝트 708를 더 포함할 수 있다. 예를 들어, 상기 실행계 오브젝트간 연계 오브젝트 708은, 제1 실행계 오브젝트에 의하여 출력되거나 저장된 제1 데이터가 제2 실행계 오브젝트에 의하여 출력되거나 저장된 제2 데이터와 대응됨을 기록한 대응 관계 정보를 보존함으로써, 향후 제3 실행계 오브젝트가 제1 실행계 오브젝트의 제1 데이터와 제2 실행계 오브젝트의 제2 데이터를 모두 필요로 하는 경우 신속하고 효율적으로 처리할 수 있게 한다. 이러한 실행계 오브젝트간 연계 오브젝트 708에 관하여는 도 13을 참조하여 더욱 상세히 후술한다.
본 발명의 또 다른 실시예에 의하면, 상기 실행 제어계 오브젝트 그룹 400은, 상기 실행 시퀀스에 의한 각 실행계 오브젝트 800, 802 또는 804의 고유 오퍼레이션의 실행이 완료된 경우, 각 고유 오퍼레이션에 의하여 산출된 출력을 조합하여 당해 지정 수신자에게 제공하는 출력 제공 오브젝트 710을 더 포함할 수 있다. 예를 들어, 상기 출력 제공 오브젝트 710은, 실행 시퀀스에 의해 최후에 실행된 하나 또는 그 이상의 실행계 오브젝트의 출력과, 그 전에 실행이 완료된 하나 또는 그 이상의 실행계 오브젝트로부터의 출력을 상호 조합하여 당해 지정 수신자에게 적합한 타입과 포맷으로 제공할 수 있다. 이 경우, 상기 출력 제공 오브젝트 710은, 상기 입출력 변환 오브젝트 704로부터 각 실행계 오브젝트로부터의 변환된 출력을 제공받아, 이들을 지정 수신자에게 제공하기 전에 최종적으로 조합 및/또는 변환하여 제공할 수도 있다.
다음으로, 도 2를 참조하여 상기 본 발명의 컴퓨팅 시스템 100에 의하여 수행되는 실행 제어 방법의 일 실시예에 관하여 상세히 설명한다. 도 2는, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의하여 수행되는 프로세스들을 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 본 발명의 컴퓨팅 시스템 100의 실행 제어 방법은, 상기 실행계 오브젝트 800, 802 또는 804 의 선별과 그 실행 시퀀스의 구축에 기준이 되는 상기 기준 정보를 구축하고 운용하는 정보 등록 프로세스 1000과, 상기 실행계 오브젝트 800, 802 또는 804의 적어도 어느 하나를 지시하는 지시계 오브젝트를 생성하고 운용하는 지시계 오브젝트 운용 프로세스 2000과, 상기 기준 정보에 기초하여 상기 유저 코맨드를 해석하여 유저의 요구를 규명하고 상기 요구에 대응하기 위해 실행되어야 할 실행계 오브젝트를 선별하고 그 실행 시퀀스를 구축하여 운용하는 태스크 시퀀스 운용 프로세스 3000과, 상기 실행 시퀀스에 따라 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부를 직접, 또는 그들의 일부 또는 전부의 개별화된 인스턴스를 실행시킴으로써 상기 실행계 오브젝트 소정의 출력을 제공하는 태스크 실행 프로세스 4000을 포함한다. 도시된 바와 같이, 상기 프로세스 1000 내지 4000의 각각은 소정의 서브 프로세스를 포함하며, 이들은 모두 필요에 따라 상호간에 데이터를 주고 받을 수 있다. 이하, 도 3 내지 도 11을 함께 참조하여 상기 프로세스 1000 내지 4000을 상세히 설명한다.
먼저, 도 3을 참조하면, 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 정보 등록 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이 상기 정보 등록 프로세스 1000은, 그 서브 프로세스로서, 유저의 단위 요구별로 이를 충족시킬 수 있는 하나 또는 그 이상의 태스크를 대응시켜 기록한 태스크 리스트 1010을 구축하여 운용하는 태스크 리스트 운용 프로세스 1002와, 유저별로 다양한 속성 정보와 각 속성별 가중치를 상호간에 대응시켜 기록한 유저 프로퍼티 리스트 1012를 구축하여 운용하는 유저 프로퍼티 운용 프로세스 1004와, 유저로부터 수신된 하나 또는 그 이상의 명령이나 메시지인 유저 코맨드를 유저별로 대응시켜 보존한 유저 코맨드 큐 1014를 구축하여 운용하는 유저 코맨드 운용 프로세스 1006 을 포함한다.
도시된 바와 같이, 상기 태스크 리스트 운용 프로세스 1002에서는, 하나 또는 그 이상의 유저 요구에 대응되어 각 유저 요구를 충족시킬 수 있는 업무 내용인 태스크가 하나 또는 그 이상 기록되는 태스크 리스트가 구축되어 운용된다. 상기 각각의 유저 요구는, 상기 태스크 리스트 운용 오브젝트 502를 통해, 본 발명의 컴퓨팅 시스템 100을 사용하는 유저들이 공통적으로 요구할 것으로 예상되는 유저 요구를 설계자가 미리 등록해 두는 방법이나, 유저가 요구하거나 요구할 것으로 예상되는 유저 요구를 각 유저가 직접 등록하는 방법 등에 의하여 상기 태스크 리스트 1010에 등록될 수 있다. 이를 위해, 상기 태스크 리스트 운용 오브젝트 502는, 상기 유저 요구와 그에 대응되는 태스크를 상기 태스크 리스트 1010에 등록할 수 있는 사용자 인터페이스를 제공할 수 있다.
또한, 본 발명의 다른 실시예에 의하면, 상기 서열계 오브젝트 그룹 600에 의하여 상기 유저 코맨드로부터 규명된 유저 요구 중에서 상기 태스크 리스트 1010에 아직 등록되어 있지 않은 것으로 판단된 유저 요구가 발견된 경우, 이에 관한 정보를상기 태스크 리스트 운용 오브젝트 502에 제공함으로써 상기 태스크 리스트 1010에 새로이 등록하게 할 수도 있다. 유사하게, 상기 유저 요구의 각각에 대응되는 하나 또는 그 이상의 태스크도 역시 설계자 또는 각 유저에 의하여 상기 태스크 리스트 1010에 등록되게 한다. 상기 태스크 리스트 운용 프로세스 1002는, 수시 또는 정기적으로 새로운 유저 요구 및/또는 태스크를 상기 태스크 리스트 1010에 등록하거나, 더 이상 유효하지 않거나 불필요한 유저 요구 및/또는 태스크를 상기 태스크 리스트 1010으로부터 제거할 수도 있다. 또한, 상기한 바와 같이, 상기 태스크 리스트 1010에는 특정 유저 요구에 대해 미리 대응된 태스크 시퀀스가 등록될 수도 있다. 즉, 상기 태스크 리스트 1010은, 요구i에 대하여 태스크02 및 태스크07로 구성된 태스크 시퀀스j를 포함한다. 이를 위해 상기 태스크 시퀀스 운용 오브젝트 606은 상기 태스크 시퀀스의 입력이나 수정에 필요한 사용자 인터페이스를 제공할 수 있다.
또한, 상기 태스크 리스트 운용 프로세스 1002는, 상기 각 태스크에 대하여 당해 태스크를 실행할 수 있는 하나 또는 그 이상의 실행계 오브젝트에 관한 정보를 상호간에 대응시켜 상기 태스크 리스트 1010에 기록하는 단계를 더 포함한다. 각 태스크에 대응되는 실행계 오브젝트 정보는 설계자 및/또는 유저에 의하여 수집되어 상기 태스크 리스트 1010에 등록될 수 있으며, 정기 또는 수시로 아직 상기 태스크 리스트 1010에 등록되어 있지 않은 것으로 판단된 실행계 오브젝트에 관한 정보를 조사하여 상기 태스크 리스트 1010에 등록시킬 수도 있다. 상기 태스크 리스트 1010에 등록되는 실행계 오브젝트에 관한 정보는 당해 실행계 오브젝트의 명칭이나 고유 번호 등일 수도 있으나, 당해 실행계 오브젝트를 가리키는 지시계 오브젝트의 명칭이나 고유 번호 등일 수도있다. 상기 태스크 리스트 운용 프로세스 1002는, 더 이상 유효하지 않거나 불필요한 실행계 오브젝트에 관한 정보를 상기 태스크 리스트 1010으로부터 제거하는 단계를 더 포함할 수 있다.
다음으로, 상기 정보 등록 프로세스 1000은, 유저별로 다양한 속성 정보와 각 속성별 가중치를 대응시켜 기록한 유저 프로퍼티 리스트 1012를 구축하여 운용하는 유저 프로퍼티 운용 프로세스 1004를 더 포함한다. 상기 유저 프로퍼티 운용 프로세스 1004는, 본 발명의 컴퓨팅 시스템 100의 유저 또는 유저가 될 가능성이 있는 잠재 유저(예를 들어, 유저로부터 출력 데이터를 전송하도록 지정된 상대방; 이하 유저와 잠재 유저를 "유저"로 통칭함.)를 상기 유저 프로퍼티 리스트 1012에 기록한다. 다음으로, 각 유저의 속성 정보를 당해 유저에 대응시켜 기록한다. 상기 유저 프로퍼티 리스트 1012에 기록되는 유저의 속성 정보로는 당해 속성의 명칭(프로퍼티 명)과 그 값(프로퍼티 값)이다. 각 유저에 대응되어 기록되는 속성 정보는 복수개일 수 있으며, 프로퍼티 명은 당해 속성에 대하여 유일하지만 프로퍼티 값은 당해 속성에 대하여 복수개일 수도 있다. 상기와 같이 구축된 유저 프로퍼티 리스트 1012는, 태스크 시퀀스 운용 프로세스 3000 및/또는 태스크 실행 프로세스 4000 등이 수행됨에 있어서 복수의 옵션이 존재하는 경우, 이들 복수의 옵션 중에서 각 유저별로 적합한 옵션을 선택하는데에 활용된다. 또한, 상기 유저 프로퍼티 리스트 1012의 각 데이터는, 상기 유저 프로퍼티 운용 오브젝트 504에 의하여 정기 또는 수시로 갱신되거나 추가 또는 삭제될 수 있다.
다음으로, 상기 정보 등록 프로세스 1000은, 유저로부터 수신된 코맨드를 유저별로 대응시켜 보존한 유저 코맨드 큐 1014를 구축하여 운용하는 유저 코맨드 운용 프로세스 1006 을 더 포함한다. 상기 유저 코맨드 큐 1014는, 각 유저별로 입력된 코맨드를 코맨드 번호(코맨드 No.)와 코맨드 내용으로 구분하여 기록한다. 상기 유저 코맨드 큐 1014는, 도시된 바와 같이 유저별로 기록될 수도 있으나, 코맨드가 입력된 순서대로 기록되어도 좋다. 또한 처리가 완료된 코맨드나 더 이상 유효하지 않은 코맨드 등은 상기 유저 코맨드 큐 1014로부터 삭제되거나, 필요에 따라서 캐시 메모리(Cache Memory)에 보존하거나, 또는 상기 유저 프로퍼티 리스트 1012와의 연계를 위하여 별도로 보존하여 활용하는 등 다양한 방식으로 처리될 수 있다.
다음으로, 도 4를 참조하면, 도 4는 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 지시계 오브젝트 운용 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 지시계 오브젝트 운용 프로세스 2000은, 상기 실행계 오브젝트를 지시하는 실행계 오브젝트 포인팅 오브젝트를 생성하여 운용하는 실행계 오브젝트 포인팅 정보 운용 프로세스 2002 를 포함한다. 상기한 바와 같이, 각 실행계 오브젝트 포인팅 오브젝트 402는, 실행계 오브젝트를 지시하는 포인팅 정보를 구축하고 운용한다. 본 발명의 일 실시예에 의하면, 이러한 실행계 오브젝트 포인팅 오브젝트 402의 각각은, 본 실행계 오브젝트 포인팅 정보 운용 프로세스 2002에서 실행계 오브젝트 포인팅 클래스를 상속하여 생성된다. 상기 실행계 오브젝트 포인팅 클래스는 포인팅 정보의 생성과 운용에 필요한 변수나 메소드 또는 함수 등을 포함한다. 각 실행계 오브젝트 포인팅 오브젝트 402는 실행계 오브젝트에 관한 정보가 상기 태스크 리스트 1010에 등록될 때마다 생성될 수 있다. 본 발명의 다른 실시예에 의하면, 상기 실행계 오브젝트 포인팅 오브젝트 402는 각 태스크가 등록될 때마다 생성되어 당해 태스크에 대응되는 실행계 오브젝트의 정보가 등록될 때마다 그 포인팅 정보만을 추가하는 방식으로 운용될 수도 있다. 또한, 각 실행계 오브젝트 포인팅 오브젝트 402는, 각 실행계 오브젝트가 업데이트되는 경우 당해 실행계 오브젝트의 버전별 포인팅 정보를 모두 보존하여 운용할 수도 있다. 또한, 상기 지시계 오브젝트 운용 프로세스 2000은, 상기 실행계 오브젝트를 개별화한 실행계 인스턴스를 지시하는 실행계 인스턴스 포인팅 오브젝트 404에 관한 포인팅 오브젝트를 생성하여 운용하는 실행계 인스턴스 포인팅 정보 운용 프로세스 2004를 포함한다. 상기 프로세스 2002와 2004는 각각 지시의 대상이 실행계 오브젝트인가 또는 그 실행계 인스턴스인가의 차이가 있을 뿐 실질적으로 동등한 프로세스이므로, 상기 실행계 오브젝트 포인팅 정보 운용 프로세스 2002에 관하여 설명한 내용은 상기 실행계 인스턴스 포인팅 정보 운용 프로세스 2004에 모두 적용될 수 있다.
다시 도 2를 참조하면, 상기 본 발명의 컴퓨팅 시스템 100의 실행 제어 방법은, 유저로부터 다양한 경로를 통해 수신된 하나 또는 그 이상의 유저 코맨드를 해석하여 유저의 요구를 규명하고, 이에 대응되는 태스크를 선별하여 선별된 태스크의 실행 시퀀스를 구축하고, 상기 선별된 태스크에 대응되는 실행계 오브젝트를 특정하는 태스크 시퀀스 운용 프로세스 3000을 더 포함한다. 상기 태스크 시퀀스 운용 프로세스 3000은, 상기 유저로부터 수신된 유저 코맨드를 해석하는 유저 코맨드 해석 프로세스 3002와, 상기 해석된 유저 코맨드에 함유된 유저의 요구를 규명하는 유저 요구 규명 프로세스 3004와, 상기 규명된 유저의 요구를 충족시키기 위하여 수행되어야 할 하나 또는 그 이상의 태스크를 선별하여 상기 태스크에 관한 태스크 시퀀스를 구축하는 태스크 시퀀스 빌딩 프로세스 3006과, 각 태스크의 수행을 위하여 실행되어야 할 실행계 오브젝트를 특정하는 실행계 오브젝트 특정 프로세스 3008을 포함한다.
상기 태스크 시퀀스 운용 프로세스 3000을 더욱 상세히 설명하기 위하여, 도 5를 참조하면, 도 5는 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 유저 코맨드 해석 프로세스를 개념적으로 도시한 도면이다. 도 5에 도시된 바와 같이, 상기 유저 코맨드 해석 프로세스 3002는, 먼저 상기 유저 코맨드의 내용을 분석하여 각 의미 단위 요소인 코맨드 내용 요소를 추출하고, 추출된 코맨드 내용 요소들로 이루어진 코맨드 내용 요소 리스트 3200을 구축한다. 예를 들어 유저 코맨드 큐 1014의 유저01의 코맨드01은, 그 코맨드 내용(코맨드 내용01)으로서 세 개의 단어를 포함하고 있다. 이 경우, 첫 번째 단어는 코맨드 내용 요소 11로서, 두 번째 및 세 번째 단어는 각각 코맨드 내용 요소 12 및 코맨드 내용 요소 13으로서 추출되어 차례로 상기 코맨드 내용 요소 리스트 3200에 기록되어 있다. 이렇게 추출된 상기 각 코맨드 내용 요소는, 일반적인 유저의 요구를 구성하는 하나 또는 그 이상의 표준 요구 요소와 대응시켜 표준 요구-코맨드 내용 대응 리스트 3202에 기록된다.
본 발명의 일 실시예에 의하면, 상기 표준 요구 요소는, 전형적인 유저 코맨드를 구성하는 구성 요소 중 설계자 또는 유저에 의하여 선별된 것으로서, 사전에 입력되거나 또는 유저 코맨드의 해석시 실시간으로 입력될 수 있다. 상기한 코맨드01의 예의 경우, 상기 첫번째 단어(코맨드 내용 요소01)는 전형적인 표준 요구 요소인 "명령어"로서, 상기 두번째 단어(코맨드 내용 요소 02) 및 세번째 단어(코맨드 내용 요소 03)는 각각 또 다른 전형적 표준 요구 요소인 "입력 데이터"와 "출력 제공처(예컨대, 출력이 제공될 컴퓨터의 URL 주소로서 인식될 수 있는 데이터가 여기에 해당될 수 있음)"로서 해석될 수 있다. 따라서, 상기 코맨드 01은, 하나의 명령어와 하나의 입력 데이터 및 하나의 출력 제공처 정보를 포함한 것으로 해석될 수 있다. 본 발명의 다른 실시예에 의하면, 상기한 바와 같은 유저 코맨드 해석 프로세스 3002에서, 상기 유저 프로퍼티 리스트 1012를 참조하여 유저 프로퍼티 레퍼런싱을 추가함으로써, 각각의 유저의 특성에 더욱 적합한 유저 코맨드의 해석이 가능하게 할 수도 있다.
상기 유저 코맨드의 해석을 더욱 정확하고 효율적으로 수행하기 위하여, 본 발명의 일 실시예에 의하면, 상기 표준 요구 요소의 각각에 대하여, 하나 또는 그 이상의 표준 요구 시소러스 요소를 대응시켜 저장한 표준 요구 시소러스 데이터베이스 3204를 구축하여 운용할 수 있다. 상기 표준 요구 시소러스 요소는 상기 표준 요구 요소로서 실제 사용되거나 사용될 가능성이 높은 명령어나 단어 등으로서, 설계자 또는 유저에 의하여 사전에 선별되어 입력되거나 또는 유저 코맨드의 해석시 실시간으로 입력될 수 있다. 상기 유저 코맨드 해석 오브젝트 602는 상기와 같은 표준 요구 요소 및/또는 표준 요구 시소러스 요소의 입력 또는 추가나 삭제 등의 프로세스를 수행하며, 설계자, 시스템 관리자 및/또는 유저 등의 사전 또는 실시간 입력, 추가나 삭제 등이 가능하도록 사용자 인터페이스를 제공할 수 있다. 도 5에 도시된 예를 참조하면, 상기 유저01의 유저 코맨드 01은 코맨드 내용01로 이루어지며, 상기 코맨드 내용 01로부터 코맨드 내용 요소 리스트 3200에 포함된 코맨드 내용 요소들이 추출되었다. 구체적으로, 상기 표준 요구 시소러스 데이터베이스 3204를 참조하여, 코맨드 내용 요소 11은 표준 요구 요소 01에, 코맨드 내용 요소 12는 표준 요구 요소 03에, 코맨드 내용 요소 14는 표준 요구 요소 04에, 코맨드 내용 요소 17은 표준 요구 요소 06에 각각 대응되어 표준 요구-코맨드 내용 대응 리스트 3202가 구축되었다. 이 과정에서 각 코맨드 내용 요소가 표준 요구 시소러스 데이터베이스 3204의 특정 시소러스 요소들에 대응되고 있음이 점선 화살표로 표시되어 있다.
한편, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 상기 표준 요구 시소러스 데이터베이스 3204가 반드시 본 발명의 컴퓨팅 시스템 100 내에 구축되어야 하는 것은 아니며, 예를 들어 외부 서버 등에 이미 구축되어 있는 시소러스 데이터베이스를 활용할 수도 있음을 쉽게 이해할 수 있다. 나아가, 상기한 바와 같이 표준 요구 요소나 표준 요구 시소러스 요소를 실시간으로 입력할 수 있다는 사실로부터, 상기 유저 코맨드 해석 프로세스 3002에서 상기 표준 요구 시소러스 데이터베이스 3204를 반드시 이용해야 하는 것은 아님을 이해할 수 있을 것이다. 이런 경우(즉, 상기 표준 요구 시소러스 데이터베이스 3204를 이용하지 않은 경우)에는, 상기 유저 코맨드 해석 오브젝트 602는 인터넷 검색 등을 통해 각 코맨드 내용 요소가 어떤 표준 요구 요소에 해당하는 것인지를 결정하거나, 유저 또는 시스템 관리자 등에게 사용자 인터페이스를 제공하여 유저나 시스템 관리자 등이 이를 결정하게 할 수도 있다.
다음으로, 도 6을 참조하면, 도 6은 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 유저 요구 규명 프로세스를 개념적으로 도시한 도면이다. 상기 유저 요구 규명 프로세스 3004는 상기 표준 요구-코맨드 내용 대응 리스트 3202의 각 코맨드 내용 요소가 함유하는 유저 요구를 규명하여, 이들을 상호간에 대응시켜 코맨드 내용-유저 요구 대응 리스트 3400을 구축한다. 이 때, 상기 각 코맨드 내용 요소에 대응되는 유저 요구를 결정하기 위하여, 상기 표준 요구 요소들의 각각에 대하여 하나 또는 그 이상의 유저 요구 시소러스를 대응시켜 저장한 유저 요구 시소러스 데이터베이스 3402를 참조할 수 있다. 또한, 상기한 바와 같이, 상기 유저 프로퍼티 리스트 1012를 참조하여 유저 프로퍼티 레퍼런싱을 수행하여 각 유저의 특성에 더욱 적합한 유저 요구를 선별할 수 있다.
도 6에 도시된 예를 참조하면, 상기 코맨드 내용 요소 11은 유저 요구01 및 유저 요구 12에, 코맨드 내용 요소 12는 유저 요구 02에, 코맨드 내용 요소 14는 유저 요구 01에, 코맨드 내용 요소 17은 유저 요구 03 및 유저 요구 31에 각각 대응되고 있으며, 이러한 대응 관계는 상기 유저 요구 시소러스 데이터베이스 3402를 참조하여 결정된 것임이 점선 화살표에 의하여 도시되어 있다. 이러한 유저 요구 시소러스 데이터베이스 3402도, 설계자, 시스템 관리자, 또는 유저 등에 의하여 사전에 또는 실시간으로 생성, 추가, 삭제될 수 있다. 또한, 상기 유저 요구 시소러스 데이터베이스 3402도 본 발명의 컴퓨팅 시스템 100 내에 포함되어야 하는 것은 아니며, 외부 서버의시소러스 데이터베이스나, 실시간으로 유저 또는 설계자나 시스템 관리자 등에 의한 지정 또는 입력 방식 등에 의하여 대체될 수 있다.
다음으로, 도 7을 참조하면, 도 7은 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 태스크 시퀀스 빌딩 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 태스크 시퀀스 빌딩 프로세스 3006에서는, 상기 각 코맨드 내용 요소가 함유하는 유저 요구가 규명되었으므로, 상기 정보계 오브젝트 그룹 500에 의하여 운용되는 상기 태스크 리스트 1010을 참조하여, 규명된 유저 요구의 각각에 대응되는 하나 또는 그 이상의 태스크를 선별하고, 선별된 태스크의 타이밍이나 실행 순서를 지정하여 선별된 태스크들에 대한 태스크 시퀀스를 구축한다. 선별된 각 태스크의 타이밍이나 실행 순서는 규명된 유저 요구의 내용에 기초하여 결정된다. 도시된 바와 같이, 상기 태스크 시퀀스는 복수개 구축될 수도 있으며, 복수의 예비 태스크 시퀀스 중에서 최종 태스크 시퀀스를 선정하는 데에는 태스크의 선별과 동등하게 유저 프로퍼티 레퍼런싱이 사용될 수 있다. 또한, 최종 태스크 시퀀스도 또한 복수개 선정될 수 있음은 물론이다.
도 7에 도시된 예를 참조하면, 상기 태스크 리스트 1010으로부터 유저 요구 01은 태스크 01 및 태스크 13에 의하여 충족될 수 있으며, 유저 요구 02는 태스크 22, 태스크 21, 태스크 24에 의하여, 유저 요구 03은 태스크 32에 의하여 충족될 수 있음이 도시되어 있다. 이러한 태스크들은 유저 프로퍼티 레퍼런싱에 의하여 당해 유저01에 적합한 것들로 선별될 수 있다. 규명된 유저 요구의 내용과 순서(예컨대, 도시된 바와 같이, 요구01, 요구 02, 요구 01 및 요구 03의 순서)에 따라, 이렇게 선별된 태스크의 논리상으로 가능한 조합을 나열하면 도시된 예비 태스크 시퀀스 01 내지 04와 같은 태스크 시퀀스들을 구축할 수 있다. 이렇게 구축된 예비 태스크 시퀀스들에 다시 유저 프로퍼티 레퍼런싱을 수행하여 예비 태스크 시퀀스 01 및 04를 각각 최종 태스크 시퀀스 01 및 02로 선정할 수 있다. 또한, 상기한 바와 같이, 본 발명의 다른 실시예에 의하면, 상기 태스크 리스트 1010의 특정 유저 요구에 대해 대응되어 저장된 태스크 시퀀스를 독출하여 그것을 최종 태스크 시퀀스로서 선정할 수 있다. 다시 도 3에 도시된 예를 참조하면, 상기 태스크 리스트 1010은, 요구i에 대하여 태스크02 및 태스크07로 구성된 태스크 시퀀스j를 포함한다. 상기 입력된 유저 코맨드를 해석하여 규명된 유저 요구가 상기 요구i와 동일하거나 또는 포함하는 것으로 판정된 경우, 상기 태스크 시퀀스j가 독출되어 상기 태스크02 및 태스크 07이 선정된다.
다음으로, 도 8을 참조하면, 도 8은 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 실행계 오브젝트 특정 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 실행계 오브젝트 특정 프로세스 3008은, 상기 정보계 오브젝트 그룹 500에 의해 운용되는 상기 태스크 리스트 1010을 참조하여, 상기 태스크 시퀀스 빌딩 프로세스 3006에 의하여 구축된 최종 태스크 시퀀스에 포함된 각 태스크를 실행할 수 있는 실행계 오브젝트를 특정하고, 특정된 실행계 오브젝트들의 실행 타이밍이나 실행 순서 등을 규정하는 실행계 오브젝트의 시퀀스를 구축한다. 상기 각 태스크에 대응되는 실행계 오브젝트를 특정할 때에, 예를 들어 상기 태스크 리스트에 대응되는 실행계 오브젝트가 존재하지 않거나 또는 존재하더라도 기존 실행계 오브젝트의 유효성이 확실치 않거나 또는 더 적합한 새로운 실행계 오브젝트가 존재하는지를 검토하는 것이 바람직한 경우 등에는, 상기 실행계 오브젝트를 외부 서버 등에서 검색하여 특정할 수 있다. 또한, 상기 각 태스크에 대하여 복수의 실행계 오브젝트가 대응되는 경우에는, 도시된 바와 같이 유저 프로퍼티 리스트 1012를 참조하는 유저 프로퍼티 레퍼런싱을 수행하여 당해 유저에 더욱 적합한 실행계 오브젝트를 특정할 수 있다.
도 8에 도시된 예를 참조하면, 상기 태스크 시퀀스 빌딩 프로세스 3006에 의하여 선정된 상기 최종 태스크 시퀀스 01에는 태스크 01, 태스크 22, 태스크 13 및 태스크 32가 차례로 실행되도록 지정되어 있다. 이어서, 실행계 오브젝트 특정 프로세스 3008에서, 상기 각 태스크 01, 22, 13 또는 32에 대응되는 실행계 오브젝트를 특정하기 위하여 상기 태스크 리스트 1010을 참조하면, 상기 태스크 01에는 실행계 오브젝트 01, 실행계 오브젝트 11 등이 대응되며, 상기 태스크 22에는 실행계 오브젝트 03, 실행계 오브젝트 31 등이 대응된다. 따라서, 복수의 실행계 오브젝트가 대응되어 있는 태스크가 존재하므로, 그에 대하여 실제로 실행될 실행계 오브젝트를 특정하기 위하여 상기 유저 프로퍼티 리스트 1012를 참조하여 유저 프로퍼티 레퍼런싱을 수행한다. 그 결과, 상기 태스크 01에는 유저 프로퍼티 값 11이 적용되어 실행계 오브젝트 01이, 상기 태스크 22에는 유저 프로퍼티 값 22가 적용되어 실행계 오브젝트 31이 대응되는 것으로 특정되었다(유사한 과정을 거쳐상기 태스크 13에는 실행계 오브젝트 53이, 상기 태스크 32에는 실행계 오브젝트 87이 대응되는 것으로 특정되었다.). 각 태스크와 각 실행계 오브젝트의 대응 관계를 충전된(filled) 원점에서 시작되는 점선 화살표로 도시하였으며, 각 대응 관계에 적용된 유저 프로퍼티 값은 빈(empty) 원점에서 시작되는 가는 점선 화살표로 도시하였다.
다음으로, 다시 도 2를 참조하면, 상기 본 발명의 컴퓨팅 시스템 100의 실행 제어 방법은, 상기 선별된 실행계 오브젝트 또는 실행계 인스턴스를 상기 서열계 오브젝트 그룹 600에 의해 운용되는 상기 실행 시퀀스에 따라 순차적으로 또는 병렬적으로 실행시켜 그 출력을 지정 수신자에게 제공하는 태스크 실행 프로세스 4000을 더 포함한다. 도시된 바와 같이, 상기 태스크 실행 프로세스 4000은, 상기 실행 시퀀스에 포함된 각 실행계 오브젝트(또는 실행계 인스턴스, 이하 같음)의 스펙 데이터베이스를 구축하여 운용하는 실행계 오브젝트 스펙 운용 프로세스 4002와, 상기 각 실행계 오브젝트의 입력 및/또는 출력을 상호간에 대응되도록 변환하는 입출력 대응 및/또는 변환 프로세스 4004와, 상기 각 실행계 오브젝트의 고유 오퍼레이션이 실행되도록 각 실행계 오브젝트의 실행을 제어하는 실행계 오브젝트 실행 프로세스 4006을 포함한다. 이하, 도 9 내지 도 11을 참조하여 상기 태스크 실행 프로세스 4000의 서브 프로세스 4002, 4004 및 4006을 상세히 설명한다.
먼저, 도 9를 참조하면, 도 9는 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트 스펙 운용 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 실행계 오브젝트 스펙 운용 프로세스 4002는, 상기 실행 시퀀스에 포함되는 것으로 특정된 실행계 오브젝트의 스펙 정보(Specification Information)를 기록한 실행계 오브젝트 스펙 데이터베이스 4200을 구축하여 운용한다. 상기 실행계 오브젝트 스펙 데이터베이스 4200에 기록되는 실행계 오브젝트의 스펙 정보에는, 각 실행계 오브젝트의 입력 데이터의 개수, 각 입력 데이터의 타입과 포맷, 출력 데이터의 개수, 각 출력 데이터의 타입과 포맷, 고유 오퍼레이션의 실행을 위해 필요한 실행 정보 등이 포함될 수 있다. 또한, 상기 실행 정보로서는 입력 데이터의 필드 명칭, 실행 코맨드 명칭, 실행 완료 정보, 출력 필드 명칭 등이 포함될 수 있다. 상기 실행계 오브젝트의 스펙 정보는, 사전에 및/또는 실시간으로 본 컴퓨팅 시스템 100의 설계자, 시스템 관리자 및/또는 유저 등에 의해 입력, 추가 및/또는 삭제될 수 있다. 이 경우, 상기 실행계 오브젝트 스펙 운용 오브젝트 702는 이러한 작업의 수행을 위해 필요한 사용자 인터페이스를 제공할 수 있다. 또한, 본 발명의 다른 실시예에 의하면, 상기 실행계 오브젝트 스펙 운용 오브젝트 702가 인터넷 검색 등에 의하여 수시 또는 정기적으로 상기 스펙 정보를 수집하여 분류하고 이를 상기 실행계 오브젝트 스펙 데이터베이스 4200에 기록 및/또는 갱신하도록 할 수도 있다.
다음으로, 도 10을 참조하면, 도 10은 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트의 입출력 대응 및/또는 변환 프로세스를 개념적으로 도시한 도면이다. 상기 입출력 대응 및/또는 변환 프로세스 4004는, 상기 실행계 오브젝트 스펙 데이터베이스 4200을 참조하여, 상기 유저 코맨드로부터 추출된 데이터나 먼저 실행된 실행계 오브젝트의 출력 데이터를 다음에 실행될 실행계 오브젝트에 적합한 개수, 타입이나 포맷으로 변환하여 다음 실행계 오브젝트의 입력으로서 제공한다.
도시된 예를 참조하면, 먼저 표준 요구-코맨드 내용 대응 리스트 3202를 참조하여, 상기 유저 코맨드를 해석하여 추출한 코맨드 내용 요소 11로부터 최초에 실행되어야 할 실행계 오브젝트 01의 실행을 위해 필요한 입력 데이터를 획득한다. 다음으로, 상기 실행계 오브젝트 스펙 데이터베이스 4200을 참조하여 상기 코맨드 내용 요소 11의 값을 최초에 실행되어야 할 실행계 오브젝트 01의 입력 데이터 01이 요구하는 타입 및 포맷에 매칭되도록 변환한다. 상기 실행계 오브젝트 01은 두번째 입력 데이터 02도 필요로 하므로, 이에 대한 변환도 수행한다. 다음으로, 상기 최초의 실행계 오브젝트 01의 고유 오퍼레이션이 실행된 결과 두 개의 출력 데이터 01과 02이 출력되면, 다시 이들을 두번째로 실행되어야 할 실행계 오브젝트 31의 입력으로 제공하기 위하여, 상기 실행계 오브젝트 스펙 데이터베이스 4200을 참조하여 이들을 변환한다. 이때, 상기 두번째 실행계 오브젝트 31은, 세개의 입력 데이터를 요구하므로, 상기 첫번째 실행계 오브젝트 01의 출력을 세개의 입력으로 변환하거나, 상기 유저 코맨드의 내용 요소로부터 세번째 입력 데이터 03으로 사용할 정보를 획득하는 등의 처리도 수행된다. 이러한 과정을 거쳐 마지막 실행계 오브젝트 87의 출력 데이터가 출력되면, 필요한 경우 이를 상기 지정 수신자에게 제공될 수 있는 형식으로 변환할 수 있다. 이러한 마지막 실행계 오브젝트 87의 출력 데이터의 변환은 상기 입출력 대응 및/또는 변환 프로세스 4004에 의하여 수행될 수도 있으며, 후술하는본 발명의 다른 실시예와 같이 별도의 출력 빌딩 및/또는 제공 프로세스 4010에 의하여 수행될 수도 있다. 별도의 출력 빌딩 및/또는 제공 프로세스 4010은 복수의 실행계 오브젝트로부터의 출력을 조합하여야 할 필요가 있는 경우 더욱 유용하며, 그 상세에 관하여는 도 12을 참조하여 후술한다.
다음으로, 도 11을 참조하면, 도 11은 본 발명의 일 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트 실행 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 실행계 오브젝트 실행 프로세스 4006에 의하면, 상기 실행 시퀀스에 따라 특정된 각 실행계 오브젝트의 실행에 필요한 실행 제어 정보 4202를 생성하여, 각 실행계 오브젝트의 실행을 제어한다. 상기 실행 제어 정보 4202는, 현시점에서 실행시켜야 할 실행계 오브젝트에 제공되어야 할 입력의 개수와, 각 입력이 입력되어야 할 입력 필드의 명칭과, 당해 실행계 오브젝트에 포함된 고유 오퍼레이션의 개수와, 각 오퍼레이션을 실행시키는 실행 코맨드의 내용 및 형식에 관한 정보 등이 포함된다. 이러한 실행 제어 정보 4202는 당해 실행계 오브젝트에 순차 또는 병렬적으로 제공되어 당해 실행계 오브젝트의 고유 오퍼레이션이 실행되도록 한다.
도시된 예를 참조하면, 상기 첫번째 실행계 오브젝트 01은, 상기 입출력 대응 및/또는 변환 프로세스 4004에 의하여 상기 코맨드 내용 요소 11로부터 두 개의 입력 데이터 01 및 02가 변환되면, 이들을 각각 입력1의 필드 및 입력2의 필드에 입력시키고, 상기 실행계 오브젝트 01의 고유 오퍼레이션을 실행시키는 실행 코맨드를 생성하여 상기 실행계 오브젝트 01에 제공한다. 상기 실행계 오브젝트 01의 입력1 및 입력2의 필드 명칭과 실행 코맨드는 각각 상기 실행계 오브젝트 스펙 데이터베이스 4200의 실행 정보 01, 02 및 03에 해당되는 정보이다. 이어서, 상기 실행계 오브젝트 스펙 데이터베이스 4200의 실행 정보 04에 해당하는 실행 완료 정보를 참조하여 상기 실행계 오브젝트 01의 고유 오퍼레이션의 실행이 완료되었는지를 모니터링한다(즉, 실행 정보 04에 해당하는 실행 완료 정보가 산출되는가를 모니터링한다.). 이러한 실행 완료 정보는, 실행계 오브젝트의 종류에 따라 상기 실행계 오브젝트 01의 출력의 어느 하나와 같을 수도 있으며, 상기 출력과는 별도의 정보일 수도 있다. 그리하여, 상기 실행계 오브젝트 01의 고유 오퍼레이션의 실행이 완료된 것으로 판단되면, 당해 오퍼레이션의 실행 결과인 출력 데이터를 획득한다.
도시된 예에서는, 출력1의 필드와 출력 2의 필드에서 두 개의 출력 데이터 01 및 02를 획득할 수 있다. 이렇게 획득된 최초의 실행계 오브젝트 01의 출력 데이터들은 상기 입출력 대응 및 변환 프로세스 4004에 의하여 다음 실행계 오브젝트 31의 입력 데이터로서 사용될 수 있도록 타입과 포맷 등이 변환된다. 이러한 출력-입력간 변환이 완료되면 다시 상기한 바와 같은 실행 프로세스가 상기 실행계 오브젝트 31에 대하여 수행된다. 도시된 예에서는, 상기 실행계 오브젝트 31에 대하여 실행 정보 01 내지 03에서 세 개의 입력1 내지 3의 필드 명칭을 참조할 수 있으며, 실행 정보 04 및 05에서 두 개의 실행 코맨드 1 및 2의 정보를, 실행 정보 06에서 실행 완료 정보를, 실행 정보 07 내지 09에서 출력 1 내지 3의 필드 명칭을 참조할 수 있다. 상기한 바와 같은 프로세스에 의하여 모든 실행계 오브젝트의 실행이 완료되면, 그 결과가 지정 수신자에게 제공된다.
다음으로, 도 12 내지 도 17을 참조하여, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 관하여 설명한다. 도 12을 참조하면, 도 12는 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 프로세스들을 개념적으로 도시한 도면이다. 도시된 바와 같이, 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법은, 상기 태스크 시퀀스 운용 프로세스 3000에 결정 트리 액티베이션 프로세스 3010가 더 포함되고, 상기 결정 트리 액티베이션 프로세스 3010을 보완하는 유저 프로퍼티 레퍼런싱 프로세스 3012가 더 포함되며, 이들 서브 프로세스 3010 및 3012에 기초하여 수행되는 수정된 태스크 시퀀스 빌딩 프로세스 3014가 포함된 수정된 태스크 시퀀스 운용 프로세스 3000a를 포함한다. 또한, 상기 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법은, 상기 태스크 실행 프로세스 4000에 실행계 오브젝트간 연계 프로세스 4008 및 출력 빌딩 및/또는 제공 프로세스 4010이 더 포함된 수정된 태스크 실행 프로세스 4000a를 더 포함한다. 새로이 추가되거나 수정된 서브 프로세스 이외의 서브 프로세스들은 상기한 실시예와 동일하므로, 동일한 지시 번호로 표시하였고, 이하에서는 도 13 내지 도 17을 참조하여 새로이 추가되거나 수정된 서브 프로세스에 관하여 설명한다.
먼저, 도 13을 참조하면, 도 13은 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 결정 트리 액티베이션 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 유저 요구 규명 프로세스 3004를 통해 유저 요구가 규명되면, 각 유저 요구를 충족시킬 태스크를 선별하고 선별된 태스크들이 수행될 순서나 타이밍을 규정하는 태스크 시퀀스를 구축하여야 한다. 이 과정에서 하나의 유저 요구에 대하여 복수의 태스크가 대응될 수 있는 경우, 이들을 유저 요구의 순서에 따라 트리 형식으로 나열하여 논리적으로 조합 가능한 태스크 시퀀스들을 구축하기 위하여 결정 트리 데이터베이스를 구축할 수 있다.
도시된 예를 참조하면, 먼저 상기 코맨드 내용-유저 요구 대응 리스트 3400의 첫번째 유저 요구 01에 대응되는 제1 단계 태스크 후보군으로서 상기 태스크 리스트 1010를 참조하여 태스크 01 및 태스크 02가 나열되었다. 다음으로, 두번째 유저 요구 02에 대응되는 제2 단계 태스크 후보군으로서 태스크 21, 22, 23 및 24가 나열되었다. 이때, 상기 태스크 01의 출력이 입력으로서 제공될 수 있는 태스크는 태스크 21, 22 및 24 이며, 태스크 02의 출력이 입력으로서 제공될 수 있는 태스크는 태스크 23 및 24임이 원점이 빈 실선 화살표로 표시되었다. 따라서, 태스크 01로부터 태스크 23으로 이어지는 태스크 시퀀스는 구축될 수 없으며, 태스크 02로부터 태스크 21 또는 태스크 22로 이어지는 태스크 시퀀스도 구축될 수 없다. 이렇게 제3 태스크 후보군과 제4 태스크 후보군에 대응되는 태스크들을 모두 나열하여 태스크 결정 트리 데이터베이스 3010이 구축되었으며, 나열된 태스크들 사이의 입출력 대응 관계가 원점이 빈 실선 화살표에 의해 표시되었다. 이렇게 구축된 태스크 결정 트리 데이터베이스 3010에 의하여 논리적으로 조합 가능한 다수의 예비 태스크 시퀀스를 구축할 수 있으며, 이들 중 하나 또는 그 이상을 최종 태스크 시퀀스로 선정할 수 있다. 한편, 상기한 바와 같이 논리적으로 조합 가능한 모든 예비 태스크 시퀀스를 구축하는 것이 바람직할 수도 있으나, 유저의 속성을 반영하여 선호될 가능성이 높은 태스크들만으로 이루어진 예비 태스크 시퀀스만을 하나 또는 그 이상 구축하고, 구축된 예비 태스크 시퀀스 중에서 가장 적합한 것을 최종 태스크 시퀀스로 선정하는 것이 바람직한 경우도 있을 수 있다. 이를 위해 상기 유저 프로퍼티 리스트 1012를 참조하여 유저 프로퍼티 레퍼런싱을 수행하는 것이 가능하다.
상기 유저 프로퍼티 레퍼런싱에 관하여 더욱 상세히 설명하기 위하여 도 14를 참조하면, 도 14는 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 유저 프로퍼티 레퍼런싱 프로세스를 개념적으로 도시한 도면이다. 상기한 바와 같이, 유저 프로퍼티 레퍼런싱은 유저의 요구 해석, 해석된 요구에 대응되는 수행 태스크의 선별, 선별된 태스크 수행에 적합한 실행계 오브젝트의 특정 또는 그 실행 시퀀스의 구축 등의 프로세스를 처리함에 있어서, 각 유저의 속성 정보와 각 속성별 가중치가 대응되어 기록되어 있는 유저 프로퍼티 리스트 1012의 정보를 참조하여 당해 유저의 고유한 속성에 적합한 결과를 산출하는 방법이다. 이를 상기 결정 트리 액티베이션 프로세스 3010에 적용한 예가 도 14에 도시되어 있다. 도시된 예를 참조하면, 유저 01의 다양한 속성 중에서 프로퍼티 01에 대응되는 프로퍼티 값 11에 의하면, 상기 제1단계 태스크 후보군의 경우 태스크 01이 적합한 것으로 결정된다(이를 보통 굵기의 원이나 중간 굵기의 원에 대하여 굵은 원으로 표시하였다.). 이에 대해, 프로퍼티 값 12를 적용하는 경우, 상기 태스크 01 대신에 태스크 02가 적합한 것으로 결정된다(이를 보통 굵기의 원이나 굵은 원에 대하여 중간 굵기의 원으로 표시하였다.). 유사하게, 제2단계 태스크 후보군의 경우, 프로퍼티 02에 대응되는 프로퍼티 값 21에 의하면 태스크 22가, 프로퍼티 값 22에 의하면 태스크 24가 적합한 것으로 결정된다. 또한, 제3단계 태스크 후보군의 경우, 프로퍼티 03에 대응되는 프로퍼티 값 31에 의하면 태스크 13이, 프로퍼티 값 32에 의하면 태스크 15가 적합한 것으로 결정된다. 한편, 제4단계 태스크 후보군의 경우, 프로퍼티 04에 대응되는 프로퍼티 값 41에 의하면 태스크 32가 가장 적합한 것으로, 그리고 태스크 33이 그 다음으로 적합한 것으로 결정된다. 상기한 바와 같이 하나의 프로퍼티 값을 기준으로 다양한 옵션들의 순위를 결정하는 방법도 가능하다.
다음으로, 도 15를 참조하여, 상기 태스크 결정 트리 액티베이션 프로세스 3010과 상기 유저 프로퍼티 레퍼런싱 프로세스 3012에 의하여 조합된 태스크들의 태스크 시퀀스를 결정하는 수정된 태스크 시퀀스 빌딩 프로세스 3014에 대하여 상세히 설명한다. 도 15는 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 시퀀스 운용 프로세스 중 태스크 시퀀스 빌딩 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 태스크 시퀀스 빌딩 프로세스 3014에 의하면, 상기 태스크 결정 트리 액티베이션 프로세스 3010에 의하여 나열된 태스크들의 조합으로부터, 상기 유저 프로퍼티 레퍼런싱 3012에 의하여 당해 유저에게 적합한 것으로 결정된 태스크들을 가장 많이 포함할 수 있는 조합을 예비 태스크 시퀀스로서 구축한다. 그리고, 구축된 예비 태스크 시퀀스들 중에서 상기 유저 프로퍼티 리스트 1012의 프로퍼티 값들을 참조하는 등의 방법으로, 전체적인 적합도가 높은 순서대로 하나 또는 그 이상의 최종 태스크 시퀀스를 선정한다.
도시된 예를 참조하면, 상기 제1단계 태스크 후보군의 태스크 01의 출력을 입력으로 수신할 수 있는 제2단계 태스크 후보군의 태스크(즉, 태스크 21, 태스크 22 및 태스크 24) 중에서, 상기 유저 프로퍼티 레퍼런싱 3012에 의하여 당해 유저에 대하여 적합한 것으로 결정된 태스크는 태스크 22이다. 유사하게, 상기 태스크 22의 출력을 입력으로 수신할 수 있는 상기 제3단계 태스크 후보군의 태스크(즉, 태스크 12 및 태스크 13) 중에서 상기 유저 프로퍼티 레퍼런싱 3012에 의하여 당해 유저에 적합한 것으로 결정된 태스크는 태스크 13이며, 제4단계 후보군 중에서는 태스크 32이다. 이들을 시퀀스로 구성하면 도 15의 하단에 도시된 첫번째 예비 태스크 시퀀스 01이 된다. 그 아래의 두번째 예비 태스크 시퀀스 02는 제3단계 태스크 후보군 중에서 유저 프로퍼티 레퍼런싱에 의하여 적합한 것으로 인정되지는 못했으나 다른 단계의 태스크 후보군 중 적합한 것으로 인정된 태스크들과 조합될 수 있는 유일한 시퀀스이다. 유사하게 제1단계 태스크 후보군의 태스크 02의 출력을 입력으로 수신할 수 있는 태스크들의 조합을 구축하면 두 개의 예비 태스크 시퀀스 03 및 04를 얻을 수 있다. 이러한 네 가지 예비 태스크 시퀀스 01 내지 04 중에서 가장 적합도가 높은 두 개인 예비 태스크 시퀀스 01 및 02를 최종 태스크 시퀀스로 선정한다.
다음으로, 도 16 및 도 17을 참조하여 상기 실행계 오브젝트간 연계 프로세스 4008 및 상기 출력 빌딩 및/또는 제공 프로세스 4010을 상세히 설명한다. 먼저 도 16을 참조하면, 도 16은 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 실행계 오브젝트간 연계 프로세스를 개념적으로 도시한 도면이다. 도시된 바와 같이, 상기 실행계 오브젝트간 연계 프로세스 4008에 의하면, 상기 실행계 오브젝트 상호간의 연계 정보를 기록한 실행계 오브젝트간 연계 정보 데이터베이스 4800이 구축되어 운용된다. 상기 실행계 오브젝트간 연계 정보에는, 복수의 실행계 오브젝트에 의하여 공유되는 데이터에 관한 공유 관계 정보(Sharing Relation Informaiton), 특정 입력 또는 출력이 상호간에 원인과 결과가 되는 경우에 관한 인과 관계 정보(Causal Relation Information), 복수의 실행계 오브젝트가 처리하는 입력 및/또는 출력 데이터가 모두 특정 이벤트(Event)나 특정 대상물(Object) 등에 관련된 것임을 의미하는 연관 관계 정보(Association Relation Information) 등이 포함될 수 있다.
도시된 예에 의하면, 상기 실행계 오브젝트간 연계 정보 데이터베이스 4800의 첫번째 관계 정보인 관계 01을 참조하면, 상기 실행계 오브젝트 01의 출력 데이터 1 및 출력 데이터 2는 상기 실행계 오브젝트 31의 입력 데이터 1 및 입력 데이터 3으로서(또는 그 반대로) 상호간에 공유됨이 기록되어 있다. 따라서, 예를 들어, 이들 데이터는 중복되어 저장될 필요가 없으므로 메모리 등의 저장 공간을 효율적으로 활용할 수 있게 되며, 상기 두 실행계 오브젝트 01 및 31의 어느 하나가 수행되고 일정 시간후에 나머지 실행계 오브젝트가 실행되는 경우, 이들 데이터를 캐시 등에 유지함으로서 그 실행 속도를 향상시킬 수 있다. 또한, 상기 실행계 오브젝트간 연계 정보 데이터베이스 4800의 두번째 관계 정보인 관계 02를 참조하면, 세 개의 실행계 오브젝트 31, 53 및 87이 연관 대상인 오브젝트 12에 대하여 모두 연관되어 있으며, 그 연관 대상 데이터로는 상기 실행계 오브젝트 31의 경우 출력 데이터 1 및 3, 상기 실행계 오브젝트 53의 경우 출력 데이터 1, 2 및 3, 상기 실행계 오브젝트 87의 경우 출력 데이터 2임이 기록되어 있다. 상기와 같이 복수의 실행계 오브젝트가 특정 오브젝트(또는 특정 이벤트)에 대해 연관되어 있음을 참조함으로써, 당해 오브젝트 또는 당해 이벤트와 관련된 처리를 수행하는 경우 어떠한 실행계 오브젝트의 어떠한 데이터를 준비하거나 처리하여야 할 것인지를 효율적으로 제어할 수 있게 되며, 이들의 처리를 사후적으로 확인하거나 갱신하는 등의 관리 작업에도 그 효율성과 정확성을 향상시킬 수 있다.
다음으로, 도 17을 참조하면, 도 17은 본 발명의 다른 실시예에 의한 컴퓨팅 시스템의 실행 제어 방법에 의해 수행되는 태스크 실행 프로세스 중 출력 빌딩 및/또는 제공 프로세스를 개념적으로 도시한 도면이다. 상기 출력 빌딩 및/또는 제공 프로세스 4010은, 상기 실행 시퀀스에 포함된 실행계 오브젝트의 고유 오퍼레이션의 실행이 완료된 경우, 하나 또는 그 이상의 출력을 조합하여 당해 지정 수신자에게 제공한다. 즉, 상기 입출력 대응 및/또는 변환 프로세스 4004에 의하여는 각 실행계 오브젝트의 실행이 완료된 경우 이들의 출력을 하나씩 지정 수신자에게 제공하지만, 복수의 출력을 조합하여 지정 수신자에게 제공하는 것이 필요하거나 바람직한 경우, 상기 출력 빌딩 및/또는 제공 프로세스 4010에 의하여 조합이 필요한 출력들을 수집하여 출력 데이터 리스트 4900을 구축하여 유저에게 적합한 타입과 포맷으로 조합된 출력을 지정 수신자에게 제공할 수 있다. 도시된 예를 참조하면, 실행계 오브젝트 01의 출력 데이터 1 및 2와, 실행계 오브젝트 31의 출력 데이터 1 및 3과, 실행계 오브젝트 87의 출력 데이터 1을 조합하여 출력 데이터 리스트 4900이 구축되었다. 이렇게 상기 출력 데이터 리스트 4900에 수집된 출력들은, 당해 지정 수신자에게 적합한 개수, 타입이나 포맷 등으로 조합되어 제공될 수 있다.
다음으로, 도 18을 참조하여 본 발명의 또 다른 실시예에 관하여 상세히 설명한다. 도 18은 본 발명의 또 다른 실시예에 의한 컴퓨팅 시스템의 구성을 개념적으로 도시한 도면이다. 도시된 바와 같이, 본 발명의 또 다른 실시예에 의한 컴퓨팅 시스템 100a는, 상기 도 1에 도시된 실시예에 의한 컴퓨팅 시스템 100의 각 오브젝트 그룹 400, 500, 600 또는 700에 포함되는 오브젝트들이 당해 그룹에 대응되는 단일한 오브젝트 400a, 500a, 600a 또는 700a의 모듈(Module)로서 구현되며, 또한 도 2 내지 도 17을 참조하여 상기한 프로세스들은 각각 해당 오브젝트의 메소드(Method)로서 구현된다. 예를 들어, 본 발명의 또 다른 실시예에 의한 컴퓨팅 시스템 100a의 상기 지시계 오브젝트 400a는, 상기 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부를 지시하는 포인팅 정보를 구축하고 운용하는 실행계 오브젝트 포인팅 모듈과, 상기 실행계 오브젝트 800, 802 또는 804의 일부 또는 전부의 실행계 인스턴스를 지시하는 포인팅 정보를 구축하고 운용하는 실행계 인스턴스 포인팅 모듈을 포함한다. 또한, 상기 지시계 오브젝트 400a는, 상기 실행계 오브젝트에 관한 포인팅 정보를 구축하고 운용하는 실행계 오브젝트 포인팅 정보 운용 프로세스 2002에 대응되는 실행계 오브젝트 포인팅 정보 운용 메소드와, 상기 실행계 인스턴스에 관한 포인팅 정보를 구축하고 운용하는 실행계 인스턴스 포인팅 정보 운용 프로세스 2004에 대응되는 실행계 인스턴스 포인팅 정보 운용 메소드를 더 포함한다. 상기 지시계 오브젝트 400a의 각 모듈은 그에 대응되는 각 메소드의 실행을 위한 각종 변수 및 상수를 포함하며, 각 메소드는 그에 대응되는 각 모듈의 변수 및 상수를 활용하여 상기한 프로세스들을 수행한다.
이러한, 도 18의 상기 컴퓨팅 시스템 100a의 나머지 오브젝트 500a, 600a 또는 700a에 포함되는 각 모듈 및 메소드에 대한 도 1의 상기 컴퓨팅 시스템 100의 각 오브젝트 그룹 500, 600 또는 700에 포함되는 각 오브젝트 및 도 3의 각 프로세스의 대응 관계도 역시 상기한 바와 대등하다. 상기한 설명으로부터, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 객체 지향형 프로그래밍의 특징에 따라 본 발명의 기술 사상을 실현하기 위한 각 오브젝트의 기능 구성의 설계가 다양한 수준으로 이루어 질 수 있으며, 따라서 각 오브젝트의 기능 구성의 광협에 의하여 본 발명의 기술적 범위가 한정되는 것은 아니라는 점을 명확히 이해할 수 있을 것이다.
다음으로, 도 19를 참조하여 본 발명의 또 다른 실시예에 관하여 상세히 설명한다. 도 19는 본 발명의 또 다른 실시예에 의한 컴퓨팅 시스템의 구성을 개념적으로 도시한 도면이다. 도시된 바와 같이, 본 발명의 또 다른 실시예에 의한 컴퓨팅 시스템 100b는, 상기 도 18에 도시된 실시예에 의한 컴퓨팅 시스템 100a를 객체 지향형 프로그래밍이 아닌 프로시져형 프로그래밍(Procedural Programming)에 의하여 구현한 실시예이다. 도시된 바와 같이, 도 18의 각 오브젝트 400a, 500a, 600a 또는 700a는, 프로시져형 프로그래밍에 의한 모듈 400b, 500b, 600b 또는 700b로서 구현되어 있다. 각 모듈은 도 2에 도시된 각 프로세스를 실행하는 서브 모듈을 포함한다. 예를 들어, 도 18의 지시계 오브젝트 400a는 지시계 모듈 400b로서 구현되며, 상기 지시계 모듈 400b는 상기 실행계 오브젝트에 관한 포인팅 정보를 구축하고 운용하는 실행계 오브젝트 포인팅 서브 모듈과, 상기 실행계 인스턴스에 관한 포인팅 정보를 구축하고 운용하는 실행계 인스턴스 포인팅 서브 모듈을 포함한다. 각 서브 모듈의 구체적인 기술 사상은 도 3을 참조하여 상기한 바에 대응되므로, 그 상세를 생략한다. 또한, 나머지 모듈 500b, 600b 또는 700b에 관하여도 상기한 바와 대등하다. 상기한 설명으로부터, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 기술 사상을 구현하기 위한 컴퓨터 프로그래밍 언어나 프로그래밍 기법 또는 프로그래밍 패러다임 등에 의하여 본 발명의 기술적 범위가 한정되는 것은 아니라는 점을 명확히 이해할 수 있을 것이다.
기타, 본 발명은 상술한 실시 형태에 한정되는 것이 아니며, 실시 단계에서는 그 요지를 일탈하지 않는 범위에서 다양하게 변형하는 것이 가능하다. 또, 상술한 실시 형태에서 실행되는 기능은 가능한 한 적절히 조합시켜서 실시해도 좋다. 상술한 실시 형태에는 다양한 단계가 포함되고 있으며, 개시된 복수의 구성 요건에 의한 적합한 조합에 의해 다양한 발명이 추출될 수 있다. 예를 들면, 실시 형태에서 개시된 모든 구성 요건으로부터 몇 가지의 구성 요건이 삭제되어도, 효과를 얻을 수 있는 것이라면 이들 구성 요건이 삭제된 구성이 발명으로서 추출될 수 있다.

Claims (38)

  1. 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템에 있어서,
    고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트(Executable Object)의 하나 또는 그 이상을 지시하는 포인팅 정보(pointing information)를 구축하고 운용하는 지시계 오브젝트 그룹(Pointing Object Group)과,
    실행계 오브젝트 중 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보계 오브젝트 그룹(Informative Object Group)과,
    상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 서열계 오브젝트 그룹(Procedural Object Group)과,
    상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 실행 제어계 오브젝트 그룹(Execution Control Object Group)을
    포함하는 컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 지시계 오브젝트 그룹은,
    상기 실행계 오브젝트의 일부 또는 전부를 지시하는 포인팅 정보를 구축하고 운용하는 실행계 오브젝트 포인팅 오브젝트와,
    상기 실행계 오브젝트의 일부 또는 전부의 실행계 인스턴스를 지시하는 포인팅 정보를 구축하고 운용하는 실행계 인스턴스 포인팅 오브젝트
    를 포함하는 컴퓨팅 시스템.
  3. 제1항에 있어서,
    상기 정보계 오브젝트 그룹에 의하여 구축되고 운용되는 기준 정보는,
    상기 유저에 의하여 요구될 것으로 예상되는 하나 또는 그 이상의 유저 요구에 대하여 각 유저 요구를 충족시킬 수 있는 업무 내용인 태스크를 하나 또는 그 이상 기록한 태스크 리스트와,
    유저별로 다양한 속성 정보와 각 속성별 가중치를 대응시켜 기록한 유저 프로퍼티 리스트와,
    유저로부터 수신된 하나 또는 그 이상의 명령 및 메시지로 구성된 집합으로부터 선택된 하나 또는 그 이상의 유저 코맨드를 유저별로 대응시켜 보존한 유저 코맨드 정보를 포함하며,
    상기 정보계 오브젝트 그룹은,
    상기 태스크 리스트를 구축하고 운용하는 태스크 리스트 운용 오브젝트와,
    상기 유저 프로퍼티 리스트를 구축하고 운용하는 유저 프로퍼티 운용 오브젝트와,
    상기 유저로부터 유저 코맨드 정보가 수신됨에 대응하여 유저 코맨드 큐를 구축하고 운용하는 유저 코맨드 운용 오브젝트를 포함하는 컴퓨팅 시스템.
  4. 제1항에 있어서,
    상기 서열계 오브젝트 그룹은,
    상기 유저의 요구를 구성하는 하나 또는 그 이상의 표준 요구 요소에 대하여 하나 또는 그 이상의 표준 요구 시소러스를 대응시켜 저장한 표준 요구 시소러스 데이터베이스를 구축하여 운용하며, 상기 유저 코맨드로부터 그의 의미 단위 요소인 코맨드 내용 요소를 추출하고, 상기 표준 요구 시소러스 데이터베이스를 참조하여 추출된 코맨드 내용 요소를 상기 표준 요구 요소와 대응시켜 분류하여 상기 유저 코맨드를 해석하는 유저 코맨드 해석 오브젝트와,
    상기 표준 요구 요소들의 각각에 대하여 하나 또는 그 이상의 유저 요구 시소러스를 대응시켜 저장한 유저 요구 시소러스 데이터베이스를 구축하여 운용하며, 상기 유저 요구 시소러스 데이터베이스를 참조하여 상기 추출된 코맨드 내용 요소에 대응되는 하나 또는 그 이상의 유저 요구를 획득하여, 상기 해석된 유저 코맨드가 함유하는 유저의 요구를 규명하는 유저 요구 규명 오브젝트와,
    상기 정보계 오브젝트 그룹에 의하여 운용되는 기준 정보를 참조하여, 규명된 유저 요구를 충족시키기 위해 수행되어야 할 하나 또는 그 이상의 태스크를 선별하고, 선별된 태스크가 수행될 타이밍을 규정하는 태스크 시퀀스를 구축하여 운용하는 태스크 시퀀스 운용 오브젝트와,
    상기 정보계 오브젝트 그룹에 의하여 운용되는 기준 정보를 참조하여, 상기 태스크 시퀀스 운용 오브젝트에 의하여 구축된 태스크 시퀀스에 속하는 각 태스크에 대응되는 실행계 오브젝트를 특정하여 실행계 오브젝트 시퀀스를 구축하여 운용하는 실행계 오브젝트 특정 오브젝트
    를 포함하는 컴퓨팅 시스템.
  5. 제4항에 있어서,
    상기 서열계 오브젝트 그룹은,
    상기 정보계 오브젝트 그룹에 의하여 운용되는 유저 프로퍼티 리스트를 참조하여, 당해 유저의 고유 속성에 대응하는 속성 정보에 기초하여 요구 해석, 태스크의 선별, 실행계 오브젝트의 선별, 실행 시퀀스의 구축 및 운용으로 구성된 집합으로부터 선택된 하나 또는 그 이상의 프로세스를 수행하는 유저 프로퍼티 레퍼런싱을 수행하는 컴퓨팅 시스템.
  6. 제4항에 있어서,
    상기 서열계 오브젝트 그룹은,
    상기 유저 요구의 어느 하나에 대응되는 복수의 태스크가 존재하는 경우, 상기 복수의 태스크들을 트리 형식으로 나열하여 논리적으로 조합 가능한 태스크 시퀀스를 구축하는 태스크 결정 트리 데이터베이스(Task Decision-Tree DB)를 구축하여 운용하는 결정 트리 운용 오브젝트를 더 포함하는 컴퓨팅 시스템.
  7. 제4항에 있어서,
    상기 실행계 오브젝트 특정 오브젝트는,
    상기 각 태스크의 실행에 필요한 실행계 오브젝트를, 상기 컴퓨팅 시스템 내부 및 외부 저장 장치로 구성된 집합으로부터 선택된 하나 또는 그 이상의 저장 공간을 검색하여 특정하는 컴퓨팅 시스템.
  8. 제1항에 있어서,
    상기 실행 제어계 오브젝트 그룹은,
    상기 실행계 오브젝트의 스펙에 관한 정보로서, 입력 데이터의 개수와, 각 입력 데이터의 타입과 포맷과, 출력 데이터의 개수와, 각 출력 데이터의 타입과 포맷과, 각 수행 오퍼레이션의 실행 정보로 구성된 집합으로부터 선택된 하나 또는 그 이상의 정보를 포함하는 실행계 오브젝트 스펙 데이터베이스를 구축하여 운용하는 실행계 오브젝트 스펙 운용 오브젝트와,
    상기 실행계 오브젝트 스펙 데이터베이스를 참조하여 상기 유저 코맨드로부터 추출된 정보 및 상기 실행계 오브젝트의 출력으로 구성된 집합으로부터 선택된 하나 또는 그 이상의 정보를, 다른 실행계 오브젝트의 실행에 필요한 개수, 타입 및 포맷으로 구성된 집합으로부터 선택된 하나 또는 그 이상의 규격에 따라 변환하는 입출력 변환 오브젝트와,
    상기 실행계 오브젝트의 각각을 상기 실행 시퀀스에 따라 실행시키기 위하여, 상기 실행계 오브젝트 스펙 데이터베이스를 참조하여 실행시켜야할 실행계 오브젝트가 포함하는 고유 오퍼레이션의 개수와 상기 오퍼레이션의 각각을 실행시키는 실행 코맨드에 관한 정보를 추출하고, 추출된 정보에 기초하여 당해 실행계 오브젝트의 실행에 필요한 제어 정보를 생성하고, 생성된 제어 정보를 당해 실행계 오브젝트에 제공하여 당해 실행계 오브젝트의 고유 오퍼레이션이 실행되도록 제어하는 실행계 오브젝트 실행 오브젝트
    를 포함하는 컴퓨팅 시스템.
  9. 제8항에 있어서,
    상기 실행 제어계 오브젝트 그룹은,
    상기 실행계 오브젝트 상호간에 관한 상호 대응 정보의 데이터베이스를 구축하여 운용하는 실행계 오브젝트간 연계 오브젝트를 더 포함하는 컴퓨팅 시스템.
  10. 제8항에 있어서,
    상기 실행 제어계 오브젝트 그룹은,
    상기 실행 시퀀스에 의한 하나 또는 그 이상의 실행계 오브젝트의 고유 오퍼레이션의 실행이 완료된 경우, 각 고유 오퍼레이션에 의하여 산출된 출력을 조합하여 상기 지정 수신자에게 제공하는 출력 제공 오브젝트를 더 포함하는 컴퓨팅 시스템.
  11. 제1항에 있어서,
    상기 실행 제어계 오브젝트 그룹은,
    상기 선별된 실행계 오브젝트의 일부 또는 전부의 개별화된 인스턴스를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과를 상기 지정 수신자에게 제공하는 컴퓨팅 시스템.
  12. 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템에 있어서,
    고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 오브젝트와,
    실행계 오브젝트 중 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보계 오브젝트와,
    상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 서열계 오브젝트와,
    상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 실행 제어계 오브젝트를
    포함하는 컴퓨팅 시스템.
  13. 삭제
  14. 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템에 있어서,
    고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 모듈과,
    실행계 오브젝트 중 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보계 모듈과,
    상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 서열계 모듈과,
    상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 실행 제어계 모듈을
    포함하는 컴퓨팅 시스템.
  15. 삭제
  16. 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템의 실행 제어 방법에 있어서,
    고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 어느 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보 등록 프로세스와,
    상기 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 오브젝트 운용 프로세스와,
    상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 태스크 시퀀스 운용 프로세스와,
    상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 태스크 실행 프로세스
    를 포함하는 컴퓨팅 시스템의 실행 제어 방법.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 중앙 처리 장치 및 메모리를 포함하는 하드웨어와 기본 입출력 시스템 및 운영 체계를 포함하는 소프트웨어를 포함하며, 유저에 의하여 요구되는 태스크를 수행하기 위한 하나 또는 그 이상의 프로세스를 실행할 수 있는 컴퓨팅 시스템의 실행 제어 프로그램을 기록한 기록 매체에 있어서,
    상기 컴퓨팅 시스템으로 하여금,
    고유의 오퍼레이션을 수행하여 고유의 출력을 제공하는 실행계 오브젝트의 어느 하나 또는 그 이상을 상기 유저의 요구에 대응하기 위하여 활용하는 경우의 활용 기준이 되는 기준 정보를 구축하고 운용하는 정보 등록 프로세스와,
    상기 실행계 오브젝트의 하나 또는 그 이상을 지시하는 포인팅 정보를 구축하고 운용하는 지시계 오브젝트 운용 프로세스와,
    상기 기준 정보에 기초하여 실행되어야 할 실행계 오브젝트 중 필요한 것을 선별하고 선별된 실행계 오브젝트의 실행 타이밍에 관한 시퀀스인 실행 시퀀스를 구축하고 운용하는 태스크 시퀀스 운용 프로세스와,
    상기 선별된 실행계 오브젝트의 일부 또는 전부를 상기 실행 시퀀스에 따라 실행시키고, 그 실행의 결과 산출된 상기 실행계 오브젝트의 출력을 상기 유저 및 상기 유저의 요구를 해석하여 선정된 상대방으로 구성된 집합으로부터 선택된 지정 수신자에게 제공하는 태스크 실행 프로세스
    를 실행하게 하는 컴퓨팅 시스템의 실행 제어 프로그램을 기록한 기록 매체.
KR1020120074051A 2012-06-13 2012-07-06 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체 KR101355273B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2012-133452 2012-06-13
JP2012133452A JP2013257738A (ja) 2012-06-13 2012-06-13 コンピューティングシステム、コンピューティングシステムの実行制御方法及び実行制御プログラム

Publications (2)

Publication Number Publication Date
KR20130139724A KR20130139724A (ko) 2013-12-23
KR101355273B1 true KR101355273B1 (ko) 2014-01-27

Family

ID=48670370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120074051A KR101355273B1 (ko) 2012-06-13 2012-07-06 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체

Country Status (5)

Country Link
US (1) US20130346992A1 (ko)
EP (1) EP2674859A3 (ko)
JP (1) JP2013257738A (ko)
KR (1) KR101355273B1 (ko)
CN (2) CN103488674B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5853890B2 (ja) * 2012-07-25 2016-02-09 カシオ計算機株式会社 ソフトウェア実行制御装置、実行制御方法、及び実行制御プログラム
US9424102B2 (en) 2014-05-14 2016-08-23 International Business Machines Corporation Task grouping by context
US9465645B1 (en) * 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
US10366358B1 (en) 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
CN105243096B (zh) * 2015-09-11 2018-12-04 北京恒华伟业科技股份有限公司 一种xml文件处理方法和装置
JP6483757B2 (ja) * 2017-06-09 2019-03-13 株式会社東芝 ジョブ実行制御装置、ジョブ実行制御方法およびプログラム
CN108038665B (zh) * 2017-12-08 2020-01-24 平安科技(深圳)有限公司 业务规则管理方法、装置、设备及计算机可读存储介质
US10802874B1 (en) * 2018-09-26 2020-10-13 Vmware, Inc. Cloud agnostic task scheduler
US11075823B1 (en) 2018-10-31 2021-07-27 Vmware, Inc. Techniques for network packet event related script execution

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030081199A (ko) * 2003-07-16 2003-10-17 쓰리지디코리아 주식회사 프로세스 제어에 필요한 데이터 획득 시스템 및 방법, 그프로그램을 기록한 기록매체
JP2004272919A (ja) 1993-10-27 2004-09-30 Trevor Bryan Davies タスク実行のためのプロセス構造を定義するシステムおよび方法
JP2008282353A (ja) 2007-05-14 2008-11-20 Ntt Docomo Inc リコメンド装置及びリコメンド方法
KR20090040840A (ko) * 2007-10-22 2009-04-27 인터내셔널 비지네스 머신즈 코포레이션 분산 컴퓨팅 기반 구조를 통해 센서 및 액튜에이터 애플리케이션을 개발, 배치하기 위한 시스템 및 방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242936A (ja) * 1993-02-17 1994-09-02 Hitachi Ltd プログラム合成方法
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
JPH11119987A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd 業務オブジェクトの自動生成装置及び方法並びに業務オブジェクト生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US7076784B1 (en) * 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
JPH11259279A (ja) * 1998-03-10 1999-09-24 Nec Corp Inサービスソフトウェアの作成方法およびinサービスソフトウェアを記録した媒体
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration
CN1313972A (zh) * 1998-08-24 2001-09-19 Bcl计算机有限公司 自适应的自然语言接口
JP2001014153A (ja) * 1999-07-01 2001-01-19 Hitachi Ltd オブジェクト指向モデルにおけるコンポーネント設計支援方法および装置およびオブジェクト指向モデルにおけるコンポーネント設計支援プログラムを記録したコンピュータ読み取り可能な記録媒体
US8775294B1 (en) * 2000-04-10 2014-07-08 Stikine Technology, Llc Automated linked order processing
US7448046B2 (en) * 2000-09-07 2008-11-04 Aspen Technology, Inc. Computer system for providing a collaborative workflow environment
US20030135384A1 (en) * 2001-09-27 2003-07-17 Huy Nguyen Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer
US6901417B2 (en) 2002-01-11 2005-05-31 International Business Machines Corporation Method, system, and program for updating records in a database when applications have different version levels
CN1333339C (zh) * 2005-04-06 2007-08-22 清华大学 基于透明计算的计算设备和方法
US7657870B2 (en) 2005-02-25 2010-02-02 International Business Machines Corporation Method and apparatus for implementing dynamic function groups in a data processing system
US20070192152A1 (en) * 2006-02-13 2007-08-16 Itt Manufacturing Enterprises, Inc. Software phase sequencer editor and method of editing
WO2008103608A2 (en) * 2007-02-19 2008-08-28 Ondeego, Inc. Methods and system to create applications and distribute applications to a remote device
US8984520B2 (en) * 2007-06-14 2015-03-17 Microsoft Technology Licensing, Llc Resource modeling and scheduling for extensible computing platforms
JP5112085B2 (ja) * 2008-01-07 2013-01-09 株式会社日立製作所 事務フロー生成装置およびその方法
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
CN101794216B (zh) * 2009-02-02 2014-10-08 日电(中国)有限公司 构建引擎的流程的方法和设备
US8332811B2 (en) * 2009-04-30 2012-12-11 United Parcel Service Of America, Inc. Systems and methods for generating source code for workflow platform
US20110202864A1 (en) * 2010-02-15 2011-08-18 Hirsch Michael B Apparatus and methods of receiving and acting on user-entered information
US8789205B2 (en) * 2010-04-21 2014-07-22 Microsoft Corporation Role-based graphical user interfaces
EP2495673A1 (en) * 2011-03-01 2012-09-05 Tata Consultancy Services Ltd. Computer implemented system for facilitating configuration, data tracking and reporting for data centric applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272919A (ja) 1993-10-27 2004-09-30 Trevor Bryan Davies タスク実行のためのプロセス構造を定義するシステムおよび方法
KR20030081199A (ko) * 2003-07-16 2003-10-17 쓰리지디코리아 주식회사 프로세스 제어에 필요한 데이터 획득 시스템 및 방법, 그프로그램을 기록한 기록매체
JP2008282353A (ja) 2007-05-14 2008-11-20 Ntt Docomo Inc リコメンド装置及びリコメンド方法
KR20090040840A (ko) * 2007-10-22 2009-04-27 인터내셔널 비지네스 머신즈 코포레이션 분산 컴퓨팅 기반 구조를 통해 센서 및 액튜에이터 애플리케이션을 개발, 배치하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
CN103488674A (zh) 2014-01-01
CN103488674B (zh) 2016-09-28
JP2013257738A (ja) 2013-12-26
EP2674859A3 (en) 2015-11-18
EP2674859A2 (en) 2013-12-18
CN106406999A (zh) 2017-02-15
KR20130139724A (ko) 2013-12-23
US20130346992A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
KR101355273B1 (ko) 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체
US9778967B2 (en) Sophisticated run-time system for graph processing
CN108304201B (zh) 对象更新方法、装置及设备
US9400700B2 (en) Optimized system for analytics (graphs and sparse matrices) operations
US9405532B1 (en) Integrated cloud platform translation system
US20170220672A1 (en) Enhancing time series prediction
US9930113B2 (en) Data retrieval via a telecommunication network
US20220263772A1 (en) Metadata driven static determination of controller availability
US11567735B1 (en) Systems and methods for integration of multiple programming languages within a pipelined search query
US20160124795A1 (en) Evaluation method and apparatus
CN110232106A (zh) 一种基于MongoDB和Solr的海量数据存储及快速检索方法
JPWO2011111532A1 (ja) データベースシステム
CN113326264A (zh) 数据处理方法、服务器及存储介质
WO2023160327A1 (en) Container image management
CN110941629A (zh) 元数据处理方法、装置、设备及计算机可读存储介质
KR102153259B1 (ko) 데이터 도메인 추천 방법 및 추천된 도메인을 이용하여 통합 데이터 저장소 관리 시스템을 구축하는 방법
CN112835638A (zh) 一种基于嵌入式应用程序的配置信息管理方法及装置
JP2004326480A (ja) 大量データの分散並列分析方法
CN115629763A (zh) 目标代码的生成方法、npu指令的显示方法及装置
US20130218928A1 (en) Information processing device
US8423957B2 (en) Using the z/OS load module system status index to distinguish product tag files
JP7381290B2 (ja) 計算機システム及びデータの管理方法
EP2990960A1 (en) Data retrieval via a telecommunication network
JP2017162142A (ja) 情報処理装置及び情報処理プログラム
JP2020160854A (ja) コード管理システム、及びコード管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161219

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200107

Year of fee payment: 7