KR20070085510A - 정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및프로그램 - Google Patents

정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및프로그램 Download PDF

Info

Publication number
KR20070085510A
KR20070085510A KR1020077012077A KR20077012077A KR20070085510A KR 20070085510 A KR20070085510 A KR 20070085510A KR 1020077012077 A KR1020077012077 A KR 1020077012077A KR 20077012077 A KR20077012077 A KR 20077012077A KR 20070085510 A KR20070085510 A KR 20070085510A
Authority
KR
South Korea
Prior art keywords
information
processing
information processing
execution
processor
Prior art date
Application number
KR1020077012077A
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 KR20070085510A publication Critical patent/KR20070085510A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 분산 처리의 처리 능력을 향상시킬 수 있도록 하는 정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이다. 소정의 처리를 행하도록 특화된 서브 프로세서(62)를 갖는 정보 처리 대행 전용 장치(12)는, 소프트웨어 셀을 이용하여 마스터 장치로부터 송신되는 기능 실행 커맨드에 따라서, 커맨드 세트 ROM(53)에 기억되어 있는 기능 프로그램을 서브 프로세서(62)에 실행시킨다. 범용적인 처리를 행하는 서브 프로세서(32)를 갖는 정보 처리 장치(11)는, 소프트웨어 셀을 이용하여 마스터 장치로부터 송신되는 기능 프로그램을 서브 프로세서(32)에 실행시킨다. 본 발명은, 분산 처리를 행하는 컴퓨터 시스템에 적용할 수 있다.
분산 처리, 정보 처리 대행 전용 장치, 소프트웨어 셀, 기능 프로그램, 서브 프로세서, 장치 정보

Description

정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및 프로그램{INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE AND METHOD, RECORDING MEDIUM, AND PROGRAM}
본 발명은, 정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것으로, 특히, 분산 처리를 행할 수 있도록 한 정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이다.
종래, 컴퓨터 등의 정보 처리 장치의 처리 능력을 향상시키는 경우, 예를 들면, 정보 처리 장치에 서브 프로세서를 증설하여, 서브 프로세서에 처리의 일부를 행하게 함으로써, 처리 능력을 향상시키고 있었다(예를 들면, 특허 문헌1 참조).
이 경우, 처리 능력이 향상되는 것은 서브 프로세서가 증설된 정보 처리 장치뿐이며, 복수의 정보 처리 장치의 처리 능력을 향상시킬 필요가 있는 경우, 개개의 정보 처리 장치에 대해서 서브 프로세서를 증설할 필요가 있어, 필요한 코스트가 상승하게 된다.
이 때문에, 최근, 정보 처리 장치의 처리 능력을 향상시키는 수단의 하나인, 네트워크를 통해서 접속된 복수의 정보 처리 장치로 처리를 분산하여 행하는 그리드 컴퓨팅의 연구가 활발히 행해지고 있다.
[특허 문헌1]: 일본 특허 공개 2002-297363호 공보
<발명의 개시>
<발명이 해결하고자 하는 과제>
그리드 컴퓨팅에서는, 어떻게 하여 네트워크에 접속된 정보 처리 장치의 자원을 보다 유효하게 활용하여, 분산 처리를 실현할지가 과제로 되고 있다.
본 발명은, 이러한 상황을 감안하여 이루어진 것으로, 네트워크에 접속된 정보 처리 장치의 자원을 유효하게 활용해서 분산 처리를 행함으로써, 처리 능력을 향상시킬 수 있도록 하는 것이다.
<과제를 해결하기 위한 수단>
본 발명의 정보 처리 시스템은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 장치와, 제3 정보 처리 장치가 네트워크를 통해서 서로 접속되어 있고, 제1 정보 처리 장치 또는 제2 정보 처리 장치와, 제3 정보 처리 장치에 의해 분산 처리를 행하는 정보 처리 시스템으로서, 제1 정보 처리 장치는, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보를, 제3 정보 처리 장치에 통지하는 제1 장치 정보 통지 수단과, 제3 정보 처리 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리를 실행시키는 제1 프로세서 제어 수단을 포함하고, 제2 정보 처리 장치는, 제2 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를, 제3 정보 처리 장치에 통지하는 제2 장치 정보 통지 수단과, 제3 정보 처리 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보에 기초하여, 제2 프로세서에 제2 처리를 실행시키는 제2 프로세서 제어 수단을 포함하고, 제3 정보 처리 장치는, 통지된 제1 장치 정보 또는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 수단과, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 장치에 의뢰하고, 제2 처리의 실행을 제2 정보 처리 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 수단과, 제1 정보 처리 장치에, 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 장치에, 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 처리 의뢰 수단을 포함하는 것을 특징으로 한다.
제1 정보 처리 장치는, 소정의 실행 커맨드에 의해 실행이 명령되고, 제1 처리를 행하는 기능 프로그램을 기억하는 기억 수단을 더 포함하고, 제1 장치 정보 통지 수단은, 실행 커맨드를 포함하는 제1 장치 정보를 제3 정보 처리 장치에 통지하고, 처리 의뢰 수단은, 제1 정보 처리 장치에, 실행 커맨드를 포함하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리의 실행을 의뢰하고, 제1 프로세서 제어 수단은, 제1 프로세서에, 제1 처리 의뢰 정보에 포함되는 실행 커맨드에 의해 실행이 명령된 기능 프로그램을 실행시킴으로써 제1 처리를 실행시키도록 할 수 있다.
처리 의뢰 수단은, 제2 정보 처리 장치에, 제2 처리를 행하는 기능 프로그램을 더 송신함과 함께, 기능 프로그램의 실행을 의뢰하는 제2 처리 의뢰 정보를 송 신함으로써, 제2 정보 처리 장치에 제2 처리를 의뢰하고, 제2 프로세서 제어 수단은, 제2 프로세서에, 수신한 기능 프로그램을 로드시키고, 제2 처리 의뢰 정보에 기초하여, 기능 프로그램을 실행시킴으로써 제2 처리를 실행시키도록 할 수 있다.
제1 정보 처리 장치는, 제1 프로세서에 의해 실행되고 있는 제1 처리의 진척을 통지하는 제1 진척 정보를 제3 정보 처리 장치에 송신하는 제1 진척 통지 수단을 더 포함하고, 제2 정보 처리 장치는, 제2 프로세서에 의해 실행되고 있는 제2 처리의 진척을 통지하는 제2 진척 정보를 제3 정보 처리 장치에 송신하는 제2 진척 통지 수단을 더 포함하고, 제3 정보 처리 장치는, 수신한 제1 진척 정보 또는 제2 진척 정보에 기초하여, 제1 처리 또는 제2 처리의 진척을 유저에게 통지하는 진척 통지 수단을 더 포함하도록 할 수 있다.
본 발명의 제1 정보 처리 방법은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 장치와, 제3 정보 처리 장치가 네트워크를 통해서 서로 접속되어 있고, 제1 정보 처리 장치 또는 제2 정보 처리 장치와, 제3 정보 처리 장치에 의해 분산 처리를 행하는 정보 처리 시스템의 정보 처리 방법으로서, 제1 정보 처리 장치에 의해 실행되는, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보를, 제3 정보 처리 장치에 통지하는 제1 장치 정보 통지 스텝과, 제3 정보 처리 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리를 실행시키는 제1 프 로세서 제어 스텝을 포함하고, 제2 정보 처리 장치에 의해 실행되는, 제2 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를, 제3 정보 처리 장치에 통지하는 제2 장치 정보 통지 스텝과, 제3 정보 처리 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보에 기초하여, 제2 프로세서에 제2 처리를 실행시키는 제2 프로세서 제어 스텝을 포함하고, 제3 정보 처리 장치에 의해 실행되는, 통지된 제1 장치 정보 또는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스텝과, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 장치에 의뢰하고, 제2 처리의 실행을 제2 정보 처리 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과, 제1 정보 처리 장치에, 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 장치에, 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제1 정보 처리 장치는, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치로서, 제1 정보 처리 단말 장치로부터 송신되는 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 제2 정보 처리 단말 장치로부터 송신되는 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 수단과, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 단말 장치에 의뢰하고, 제1 처리와는 상이한 제2 처리의 실행을 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 수단과, 제1 정보 처리 단말 장치에, 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 단말 장치에, 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 처리 의뢰 수단을 포함하는 것을 특징으로 한다.
제1 장치 정보는, 제1 처리를 행하는 기능 프로그램의 실행을 명령하는 실행 커맨드를 포함하고, 처리 의뢰 수단은, 제1 정보 처리 단말 장치에, 실행 커맨드를 포함하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리의 실행을 의뢰하도록 할 수 있다.
처리 의뢰 수단은, 제2 정보 처리 단말 장치에, 제2 처리를 행하는 기능 프로그램을 더 송신함과 함께, 기능 프로그램의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써, 제2 정보 처리 단말 장치에 제2 처리의 실행을 의뢰하도록 할 수 있다.
제1 정보 처리 단말 장치로부터 송신되는 제1 프로세서에 의해 실행되고 있는 제1 처리의 진척을 통지하는 제1 진척 정보, 또는, 제2 정보 처리 단말 장치로부터 송신되는 제2 프로세서에 의해 실행되고 있는 제2 처리의 진척을 통지하는 제 2 진척 정보에 기초하여, 제1 처리 또는 제2 처리의 진척을 유저에게 통지하는 진척 통지 수단을 더 포함하도록 할 수 있다.
본 발명의 제2 정보 처리 방법은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치의 정보 처리 방법으로서, 제1 정보 처리 단말 장치로부터 송신되는 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 제2 정보 처리 단말 장치로부터 송신되는 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스텝과, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 단말 장치에 의뢰하고, 제1 처리와는 상이한 제2 처리의 실행을 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과, 제1 정보 처리 단말 장치에, 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 단말 장치에, 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제1 기록 매체에 기록되어 있는 프로그램은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장 치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치의 정보 처리용의 프로그램으로서, 제1 정보 처리 단말 장치로부터 송신되는 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 제2 정보 처리 단말 장치로부터 송신되는 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스텝과, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 단말 장치에 의뢰하고, 제1 처리와는 상이한 제2 처리의 실행을 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과, 제1 정보 처리 단말 장치에, 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 단말 장치에, 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제1 프로그램은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치의 컴퓨터에, 정보 처리를 행하게 하는 프로그램으로서, 제1 정보 처리 단말 장치로부터 송신되는 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 제2 정보 처리 단말 장치로부터 송신되는 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스텝과, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 단말 장치에 의뢰하고, 제1 처리와는 상이한 제2 처리의 실행을 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과, 제1 정보 처리 단말 장치에, 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 단말 장치에, 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제2 정보 처리 장치는, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치이며, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치로서, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 자신의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 수단과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리를 실행시키는 프로세서 제어 수단을 포함하는 것을 특징으로 한다.
소정의 실행 커맨드에 의해 실행이 명령되고, 제1 처리를 행하는 기능 프로 그램을 기억하는 기억 수단을 더 포함하고, 장치 정보 통지 수단은, 실행 커맨드를 포함하는 장치 정보를 제2 정보 처리 단말 장치에 통지하고, 프로세서 제어 수단은, 제1 프로세서에, 처리 의뢰 정보에 포함되는 실행 커맨드에 의해 실행이 명령된 기능 프로그램을 실행시킴으로써 제1 처리를 실행시키도록 할 수 있다.
제1 프로세서에 의해 실행되고 있는 제1 처리의 진척을 통지하는 진척 정보를 제2 정보 처리 단말 장치에 송신하는 진척 통지 수단을 더 포함하도록 할 수 있다.
본 발명의 제3 정보 처리 방법은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리 방법으로서, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리를 실행시키는 프로세서 제어 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제2 기록 매체에 기록되어 있는 프로그램은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리와 는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리용의 프로그램으로서, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리를 실행시키는 프로세서 제어 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제2 프로그램은, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 컴퓨터에, 정보 처리를 행하게 하는 프로그램으로서, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리를 실행시키는 프로세서 제어 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제3 정보 처리 장치는, 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치로서, 자신이 범용적인 처리를 행하는 것을 나타내는 정보 및 자신의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 수단과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제2 처리를 실행시키는 프로세서 제어 수단을 포함하는 것을 특징으로 한다.
프로세서 제어 수단은, 제1 프로세서에, 제2 정보 처리 단말 장치로부터 송신되는 제2 처리를 행하는 기능 프로그램을 로드시키고, 기능 프로그램의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 기능 프로그램을 실행시킴으로써 제2 처리를 실행시키도록 할 수 있다.
프로세서에 의해 실행되고 있는 제2 처리의 진척을 통지하는 진척 정보를 정보 처리 단말 장치에 송신하는 진척 통지 수단을 더 포함하도록 할 수 있다.
본 발명의 제4 정보 처리 방법은, 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리 방법으로서, 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정 보에 기초하여, 제1 프로세서에 제2 처리를 실행시키는 프로세서 제어 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제3 기록 매체에 기록되어 있는 프로그램은, 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리용의 프로그램으로서, 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제2 처리를 실행시키는 프로세서 제어 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제3 프로그램은, 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 컴퓨터에, 정보 처리를 행하게 하는 프로그램으로서, 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제2 처리를 실행시키는 프로세서 제어 스텝을 포함하는 것을 특징으로 한다.
본 발명의 정보 처리 시스템, 및, 제1 정보 처리 방법에서는, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 장치와, 제3 정보 처리 장치가 네트워크를 통해서 서로 접속되어 있고, 제1 정보 처리 장치 또는 제2 정보 처리 장치와, 제3 정보 처리 장치에 의해 분산 처리를 행하는 정보 처리 시스템에 있어서, 제1 정보 처리 장치에 의해, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보가, 제3 정보 처리 장치에 통지되고, 제3 정보 처리 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리가 실행시켜지고, 제2 정보 처리 장치에 의해, 제2 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보가, 제3 정보 처리 장치에 통지되고, 제3 정보 처리 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보에 기초하여, 제2 프로세서에 제2 처리가 실행시켜지고, 제3 정보 처리 장치에 의해, 통지된 제1 장치 정보 또는 제2 장치 정보를 포함하는 장치 관리 정보가 생성되고, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 장치에 의뢰하고, 제2 처리의 실행을 제2 정보 처리 장치에 의뢰하도록 처리의 의뢰처가 결정되고, 제1 정보 처리 장치에, 제1 처리 의뢰 정보를 송신함으로써 제1 처리가 의뢰되고, 제2 정보 처리 장치에, 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행이 의뢰된다.
본 발명의 제1 정보 처리 장치, 제2 정보 처리 방법, 제1 기록 매체, 및, 제1 기록 매체에서는, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 제1 정보 처리 장치에 있어서, 제1 정보 처리 단말 장치로부터 송신되는 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 제2 정보 처리 단말 장치로부터 송신되는 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보가 생성되고, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 단말 장치에 의뢰하고, 제1 처리와는 상이한 제2 처리의 실행을 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처가 결정되고, 제1 정보 처리 단말 장치에, 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리가 의뢰되고, 제2 정보 처리 단말 장치에, 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행이 의뢰된다.
본 발명의 제2 정보 처리 장치, 제3 정보 처리 방법, 제2 기록 매체, 및, 제2 기록 매체에서는, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖 는 제2 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 제2 정보 처리 장치에 있어서, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보가, 제2 정보 처리 단말 장치에 통지되고, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리가 실행시켜진다.
본 발명의 제3 정보 처리 장치, 제4 정보 처리 방법, 제3 기록 매체, 및, 제3 기록 매체에서는, 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 제3 정보 처리 장치로서, 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 제3 정보 처리 장치에 있어서, 제3 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제3 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보가, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치에 통지되고, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제2 처리가 실행시켜진다.
<발명의 효과>
본 발명에 따르면, 네트워크에 접속된 복수의 정보 처리 장치에 의해 분산 처리를 행할 수 있다. 또한, 본 발명에 따르면, 분산 처리에서, 개개의 정보 처리 장치의 능력에 의해 적합한 처리를 실행시킬 수 있어, 처리 능력을 향상시킬 수 있다.
도 1은 본 발명을 적용한 정보 처리 시스템의 일 실시 형태를 도시하는 블록도.
도 2는 소프트웨어 셀의 구성의 일례를 도시하는 도면.
도 3은 도 1의 정보 처리 장치의 메인 CPU가 실행하는 프로그램의 예를 도시하는 도면.
도 4는 도 1의 정보 처리 장치의 메인 CPU가 제어 프로그램에 속하는 프로그램을 실행함으로써 실현되는 기능의 일례를 도시하는 블록도.
도 5는 도 1의 정보 처리 대행 전용 장치의 제어용 CPU가 실행하는 프로그램의 예를 도시하는 도면.
도 6은 도 1의 정보 처리 대행 전용 장치의 제어용 CPU가 제어 프로그램에 속하는 프로그램을 실행함으로써 실현되는 기능의 일례를 도시하는 블록도.
도 7은 도 1의 정보 처리 장치에서의 네트워크 접속 처리의 예를 설명하는 플로우차트.
도 8은 소프트웨어 셀에 의해 송수신되는 장치 정보의 예를 도시하는 도면.
도 9는 도 8의 장치 정보의 커맨드 리스트의 구성 예를 도시하는 도면.
도 10은 도 1의 정보 처리 대행 전용 장치에서의 네트워크 접속 처리의 예를 설명하는 플로우차트.
도 11은 도 1의 정보 처리 장치에서의 네트워크 접속 검출 처리의 예를 설명하는 플로우차트.
도 12는 도 1의 정보 처리 대행 전용 장치에서의 네트워크 접속 검출 처리의 예를 설명하는 플로우차트.
도 13은 처리 의뢰원에서의 시퀀스 처리 의뢰 처리의 예를 설명하는 플로우차트.
도 14는 마스터 장치에서의 시퀀스 처리 실행 처리의 예를 설명하는 플로우차트.
도 15는 마스터 장치에서의 시퀀스 처리 실행 처리의 예를 설명하는 플로우차트.
도 16은 도 1의 정보 처리 대행 전용 장치에서의 기능 실행 커맨드 실행 처리의 예를 설명하는 플로우차트.
도 17은 도 1의 정보 처리 장치에서의 기능 프로그램 실행 처리의 예를 설명하는 플로우차트.
도 18은 도 1의 정보 처리 시스템의 구체예를 도시하는 블록도.
도 19는 도 18의 정보 처리 시스템에 의해 실행되는 AV 데이터 재생 기능의 처리의 흐름을 설명하는 도면.
도 20은 도 18의 정보 처리 시스템에 의해 실행되는 AV 데이터 재생 기능을 구성하는 각 처리의 배분을 도시하는 도면.
도 21은 장치 정보 테이블의 예의 일부를 도시하는 도면.
도 22는 도 18의 AV 데이터 재생 장치에서의 AV 데이터 재생 처리의 예를 설명하는 플로우차트.
도 23은 처리의 진척 상황의 표시 예를 도시하는 도면.
도 24는 도 18의 마스터 장치에서의 시퀀스 처리 실행 처리의 예를 설명하는 플로우차트.
도 25는 도 18의 마스터 장치에서의 시퀀스 처리 실행 처리의 예를 설명하는 플로우차트.
도 26은 도 18의 마스터 장치에서의 시퀀스 처리 실행 처리의 예를 설명하는 플로우차트.
도 27은 도 18의 마스터 장치에서의 시퀀스 처리 실행 처리의 예를 설명하는 플로우차트.
도 28은 도 18의 슬레이브 장치 A에서의 기능 실행 커맨드 실행 처리의 예를 설명하는 플로우차트.
도 29는 도 18의 슬레이브 장치 A에서의 기능 실행 커맨드 실행 처리의 예를 설명하는 플로우차트.
도 30은 도 18의 슬레이브 장치 B에서의 기능 실행 커맨드 실행 처리의 예를 설명하는 플로우차트.
도 31은 도 18의 슬레이브 장치 B에서의 기능 실행 커맨드 실행 처리의 예를 설명하는 플로우차트.
도 32는 도 18의 슬레이브 장치 C 또는 D에서의 기능 프로그램 로드 처리의 예를 설명하는 플로우차트.
도 33은 도 18의 슬레이브 장치 C에서의 기능 프로그램 실행 처리의 예를 설명하는 플로우차트.
도 34는 도 18의 슬레이브 장치 C에서의 기능 프로그램 실행 처리의 예를 설명하는 플로우차트.
도 35는 도 18의 슬레이브 장치 D에서의 기능 프로그램 실행 처리의 예를 설명하는 플로우차트.
도 36은 도 18의 슬레이브 장치 D에서의 기능 프로그램 실행 처리의 예를 설명하는 플로우차트.
<도면의 주요부분에 대한 부호의 설명>
1: 정보 처리 시스템
11: 정보 처리 장치
12: 정보 처리 대행 전용 장치
13: 네트워크
21: 정보 처리 컨트롤러
22: 메인 메모리
23: 외부 기록부
31: 메인 CPU
32: 서브 프로세서
41: 로컬 스토리지
42: 로컬 스토리지
51: 정보 처리 컨트롤러
52: 메인 메모리
53: 커맨드 세트 ROM
61: 제어용 CPU
62: 서브 프로세서
71: 로컬 스토리지
72: 로컬 스토리지
111: MS 매니저
112: 능력 교환 프로그램
113: 서브 프로세서 매니저
114: 분산 처리 매니저
131: 네트워크 입출력 드라이버
151: 정보 교환부
152: MS 관리부
153: 장치 정보 관리부
161: 장치 정보 테이블 관리부
171: 서브 프로세서 제어부
172: 진척 통지부
181: 시퀀스 처리 관리부
182: 기능 프로그램 결정부
183: 분산 처리 장치 결정부
184: 분산 처리 관리부
185: 시퀀스 처리 의뢰부
186: 진척 통지부
211: 슬레이브 매니저
212: 서브 프로세서 매니저
231: 네트워크 입출력 드라이버
251: 정보 교환부
252: 장치 정보 관리부
271: 서브 프로세서 제어부
272: 진척 통지부
〈발명을 실시하기 위한 최량의 형태〉
이하, 도면을 참조하여, 본 발명의 실시 형태에 대해서 설명한다.
도 1은, 분산 처리를 실행하는 것이 가능한, 정보 처리 시스템(1)의 일 실시 형태를 도시하는 도면이다. 정보 처리 시스템(1)에서는, 예를 들면, 홈 네트워크, LAN(Local Area Network), WAN(Wide Area Network), 또는, 인터넷 등의 광역 네트워크 등에 대응하는 네트워크(13)를 통해서, n대의 정보 처리 장치(11-1) 내지 정보 처리 장치(11-n), 및, m대의 정보 처리 대행 전용 장치(12-1 내지 12-m)가 서로 접속되어 있다. 또한, 이하, 정보 처리 장치(11-1) 내지 정보 처리 장치(11-n)를 개개로 구별할 필요가 없을 때, 간단히 정보 처리 장치(11)라고 하고, 정보 처리 대행 전용 장치(12-1) 내지 정보 처리 대행 전용 장치(12-m)를 개개로 구별할 필요가 없을 때, 간단히 정보 처리 대행 전용 장치(12)라고 한다.
정보 처리 시스템(1)은, 네트워크(13)에 접속되어 있는 정보 처리 장치(11) 및 정보 처리 대행 전용 장치(12)에 의해 분산 처리를 행하고, 비디오 레코더, 텔레비전 수상기, 전화기 등의 1개의 완결된 기능(이하, 어플리케이션 기능이라고 함)을 실현한다.
정보 처리 장치(11)는, 소정의 어플리케이션 기능을 제공하거나, 다른 정보 처리 장치(11)로부터 실행을 의뢰받은 처리를 실행한다. 정보 처리 장치(11)는, 소정의 어플리케이션 기능을 제공하는 경우, 자기 자신이 실행할 수 없는 기능이 있을 때나, 처리의 부하가 클 때 등에, 필요에 따라서, 다른 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 그 처리의 실행을 의뢰한다.
정보 처리 대행 전용 장치(12)는, 어플리케이션 기능의 일부의 미리 정해진 처리만을 실행하도록 특화된 장치로서, 예를 들면, 각종 데이터의 디코드만을 실행하거나, 영상 데이터의 화질 개선 처리만을 행하거나 한다. 정보 처리 대행 전용 장치(12)는, 소정의 처리만을 실행하도록 특화되어 있기 때문에, 정보 처리 장치(11)에 비하여, 하드웨어 및 소프트웨어의 구성을 소규모로 할 수 있기 때문에, 보다 적은 코스트로, 대응하는 처리의 처리 능력을 향상시킬 수 있다. 또한, 장치를 소형화하거나, 경량화하거나 하는 것이 가능하다.
정보 처리 시스템(1)에서 분산 처리를 행하는 경우, 적어도 1대의 정보 처리 장치(11)가 마스터 장치로 되고, 마스터 장치 이외의 정보 처리 장치(11) 및 정보 처리 대행 전용 장치(12)가 슬레이브 장치로 된다. 또한, 정보 처리 대행 전용 장치(12)가 마스터 장치로 되는 일은 없다. 마스터 장치는, 도 14 및 도 15를 참조하여 후술하는 바와 같이, 분산 처리의 실행을 의뢰하는 슬레이브 장치의 선택이나, 각 슬레이브 장치의 처리의 스케줄 관리 등 분산 처리에서의 전체적인 관리를 행한다.
정보 처리 시스템(1)에서, 네트워크(13)에 접속되어 있는 정보 처리 장치(11) 및 정보 처리 대행 전용 장치(12)의 사이에서의 프로그램, 데이터, 명령 등의 송수신은, 도 2를 참조하여 후술하는 소프트웨어 셀을 이용하여 행해진다.
정보 처리 장치(11-1)는, 적어도 1개의 정보 처리 컨트롤러(21-1), 메인 메모리(22-1), 및 외부 기록부(23-1)를 포함하도록 구성된다.
정보 처리 컨트롤러(21-1)는, 메인 메모리(22-1)에 기억되어 있는 각종 프로그램을 실행하고 정보 처리 장치(11-1) 전체를 제어한다. 정보 처리 컨트롤러(21-1)는, 소프트웨어 셀을 이용하여, 각종 정보, 데이터, 프로그램 등을, 다른 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 네트워크(13)를 통해서 송신하거나, 다른 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)로부터 송신되는 소프트웨어 셀을 네트워크(13)를 통해서 수신한다.
정보 처리 컨트롤러(21-1)는, 도시하지 않은 조작부를 조작함으로써 유저로부터 명령된 처리나, 다른 정보 처리 장치(11)로부터 송신되어 오는 소프트웨어 셀에 의해 의뢰되는 처리를 실행한다. 또한, 정보 처리 컨트롤러(21-1)는, 필요에 따라서, 소프트웨어 셀을 이용하여, 다른 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 처리의 실행을 의뢰한다.
정보 처리 컨트롤러(21-1)는, 메인 CPU(Central Processing Unit)(31-1), p개의 서브 프로세서(32-1-1) 내지 서브 프로세서(32-p-1), DMAC(Direct Memory Access Controller)(33-1), 및, DC(Disk Controller)(34-1)를 구비하고 있다. 메인 CPU(31-1), 서브 프로세서(32-1-1) 내지 서브 프로세서(32-p-1), DMAC(33-1), 및, DC(34-1)는, 버스(35-1)를 통해서 서로 접속되어 있다. 또한, 이하, 서브 프로세서(32-1-1) 내지 서브 프로세서(32-p-1)를 개개로 구별할 필요가 없을 때, 간단히 서브 프로세서(32-1)라고 칭한다.
메인 CPU(31-1)는, 로컬 스토리지(41-1)를 구비하고, 메인 메모리(22-1)로부터 로드한 데이터 및 프로그램을, 로컬 스토리지(41-1)에 일시적으로 기억시킨다. 메인 CPU(31-1)는, 로컬 스토리지(41-1)로부터 데이터 및 프로그램을 읽어들이고, 읽어들인 데이터 및 프로그램에 기초하여, 각종 처리를 실행한다.
메인 CPU(31-1)는, 소프트웨어 셀을 이용하여, 각종 정보, 데이터, 프로그램 등을, 다른 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 네트워크(13)를 통해서 송신하거나, 다른 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)로부터 송신되는 소프트웨어 셀을 네트워크(13)를 통해서 수신한다. 메인 CPU(31-1)는, 도시하지 않은 조작부를 조작함으로써 유저로부터 명령된 처리나, 다른 정보 처리 장치(11)로부터 송신되어 오는 소프트웨어 셀에 의해 의뢰되는 처리를 실행한다. 메인 CPU(31-1)는, 필요에 따라서, 소프트웨어 셀을 이용하여, 다른 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 처리의 실행을 의뢰한다.
메인 CPU(31-1)는, 각각의 서브 프로세서(32-1)에 독립된 프로그램을 실행시켜, 논리적으로 1개의 기능(논리 쓰레드)으로서 결과를 구하도록 할 수 있다. 즉, 메인 CPU(31-1)는, 서브 프로세서(32-1)에 의한 프로그램의 실행의 스케줄 관리 및 정보 처리 컨트롤러(21-1)(정보 처리 장치(11-1))의 전체 관리를 행한다.
메인 CPU(31-1)는, 도 7 및 도 8을 참조하여 후술하는 바와 같이, 네트워크(13)에 접속되어 있는 다른 정보 처리 장치(11) 및 정보 처리 대행 전용 장치(12)로부터, 각 장치의 처리 능력이나 동작 상태(상황)에 관한 장치 정보를 취득하고, 자기 자신을 포함하는 네트워크(13)에 접속되어 있는 정보 처리 장치(11) 및 정보 처리 대행 전용 장치(12)의 장치 정보를 관리하는 장치 정보 테이블을 생성한다. 메인 CPU(31-1)는, 장치 정보 테이블을 메인 메모리(22-1)에 기억시키고, 적절히 갱신한다. 또한, 메인 CPU(31-1)는, 필요에 따라서, 네트워크(13)에 접속되어 있는 다른 정보 처리 장치(11)에, 소프트웨어 셀을 이용하여 자신의 장치 정보를 통지한다.
메인 CPU(31-1)는, 도 14 및 도 15를 참조하여 후술하는 바와 같이, 정보 처리 장치(11)가 마스터 장치인 경우, 정보 처리 시스템(1)에서의 분산 처리의 상황을 관리하는 분산 처리 관리 테이블을 생성하여, 메인 메모리(22-1)에 기억시켜, 적절히 갱신한다.
또한, 메인 CPU(31-1)는, 관리를 위한 프로그램 이외의 프로그램을 실행하도 록 구성할 수도 있다. 이 경우, 메인 CPU(31-1)는, 서브 프로세서로서 기능한다.
서브 프로세서(32-1)는 각각, 메인 CPU(31-1)의 제어에 기초하여, 병렬적 또한 독립적으로, 프로그램을 실행하고, 데이터를 처리한다. 또한, 필요에 따라서, 메인 CPU(31-1)가 실행하는 프로그램이, 서브 프로세서(32-1)의 각각이 실행하는 프로그램의 각각과 제휴하여 동작하도록 구성하는 것도 가능하다.
서브 프로세서(32-1-1 내지 32-p-1)는 각각, 로컬 스토리지(42-1-1 내지 42-p-1)를 구비한다. 서브 프로세서(32-1-1 내지 32-p-1)는 각각, 로컬 스토리지(42-1-1 내지 42-p-1)에, 필요에 따라서, 데이터 및 프로그램을 일시적으로 기억시킨다. 서브 프로세서(32-1-1 내지 32-p-1)는 각각, 로컬 스토리지(42-1-1 내지 42-p-1)로부터 데이터 및 프로그램을 읽어들이고, 읽어들인 데이터 및 프로그램에 기초하여, 각종 처리를 실행한다.
이하, 로컬 스토리지(42-1-1 내지 42-p-1)를 개개로 구별할 필요가 없을 때, 간단히 로컬 스토리지(42-1)라고 한다.
DMAC(33-1)는, 메인 CPU(31-1) 및 서브 프로세서(32-1)로부터의 메인 메모리(22-1)에의 액세스를 관리한다. 메인 CPU(31-1) 또는 서브 프로세서(32-1)는, DMAC(33-1)에 읽어내기 명령을 실행시킴으로써, 메인 메모리(22-1)에 기억되어 있는 프로그램 또는 데이터를 읽어내고, DMAC(33-1)에 기입 명령을 실행시킴으로써, 메인 메모리(22-1)에 프로그램 또는 데이터를 기억시킨다.
또한, 이하, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, DMAC(33-1)에 읽어내기 명령을 실행시킴으로써, 메인 메모리(22-1)에 기억되어 있는 프로그램 또는 데이터를 읽어내는 것을, 간단히, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, 메인 메모리(22-1)에 기억되어 있는 프로그램 또는 데이터를 읽어낸다고 기술하고, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, DMAC(33-1)에 기입 명령을 실행시킴으로써, 메인 메모리(22-1)에 프로그램 또는 데이터를 기억시키는 것을, 간단히, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, 메인 메모리(22-1)에 프로그램 또는 데이터를 기억시킨다고 기술하도록, DMAC(33-1)의 처리의 기술을 적절히 생략한다.
DC(34-1)는, 메인 CPU(31-1) 및 서브 프로세서(32-1)로부터의 외부 기록부(23-1)에의 액세스를 관리한다. 메인 CPU(31-1) 또는 서브 프로세서(32-1)는, DC(34-1)에 읽어내기 명령을 실행시킴으로써, 외부 기록부(23-1)에 기억되어 있는 프로그램 및 데이터를 읽어내고, DC(34-1)에 기입 명령을 실행시킴으로써, 외부 기록부(23-1)에 프로그램 및 데이터를 기억시킨다.
또한, 이하, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, DC(34-1)에 읽어내기 명령을 실행시킴으로써, 외부 기록부(23-1)에 기억되어 있는 프로그램 또는 데이터를 읽어내는 것을, 간단히, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, 외부 기록부(23-1)에 기억되어 있는 프로그램 또는 데이터를 읽어낸다고 기술하고, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, DC(34-1)에 기입 명령을 실행시킴으로써, 메인 메모리(22-1)에 프로그램 또는 데이터를 기억시키는 것을, 간단히, 메인 CPU(31-1) 또는 서브 프로세서(32-1)가, 외부 기록부(23-1)에 프로그램 또는 데이터를 기억시킨다고 기술하도록, DC(34-1)의 처리의 기술을 적절히 생략한다.
또한, 여기서는 정보 처리 장치(11-1)에, 정보 처리 컨트롤러(21-1)가 1개만 구비되어 있는 것으로서 설명했지만, 정보 처리 컨트롤러(21-1)는, 정보 처리 장치(11-1)에 복수 개 구비되어 있도록 하여도 된다.
메인 메모리(22-1)는, 예를 들면 RAM으로 구성된다. 메인 메모리(22-1)는, 메인 CPU(31-1) 및 서브 프로세서(32-1)가 실행하는 각종 프로그램 및 데이터를 일시적으로 기억하고 있다.
외부 기록부(23-1)는, 예를 들면, 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함함), 광 자기 디스크(MD(Mini-Disc)(등록상표)를 포함함), 혹은 반도체 메모리 등으로 이루어지는 리무버블 미디어, 하드디스크, SRAM(Static Random Access Memory), 또는, ROM(Read Only Memory) 등으로 구성된다. 외부 기록부(23-1)는, 메인 CPU(31-1) 및 서브 프로세서(32-1)가 실행하는 각종 프로그램 및 데이터를 기록하고 있다. 또한, 외부 기록부(23-1)는, 정보 처리 컨트롤러(21-1)로부터 공급된 데이터를 기록한다. 또한, 외부 기록부(23-1)는, 정보 처리 장치(11-1)에, 복수대 구비되도록 하여도 된다.
또한, 다른 정보 처리 장치(11)는 정보 처리 장치(11-1)와 마찬가지로 구성되므로, 그 설명은 생략한다. 다른 정보 처리 장치(11)는 전술한 구성에 한하지 않고, 필요에 따라서, 기능을 추가하거나 삭제하거나 하는 것이 가능하며, 그 기능에 대응한 구성을 갖는 것이 가능하다.
또한, 정보 처리 장치(11-1)의 각 부의 부호의 말미의 「-1」은, 각 부가 정보 처리 장치(11-1)에 포함되는 것을 나타내고 있으며, 이하, 마찬가지로, 정보 처 리 장치(11-i)(i=1, 2, …, n)의 각 부의 부호의 말미에 「-i(i=1, 2, …, n)」을 붙여서 기재한다. 예를 들면 정보 처리 장치(11-n)의 정보 처리 컨트롤러를, 정보 처리 컨트롤러(21-n)라고 기재한다.
또한, 이하, 정보 처리 장치(11-1 내지 11-n)에 포함되는 각 부를 개개로 구별할 필요가 없을 때, 또는, 각 부가 설치되어 있는 정보 처리 장치(11)가 명백할 때, 각 부의 부호의 말미의 「-i(i=1, 2, …, n)」의 기재를 적절히 생략하여, 예를 들면, 정보 처리 컨트롤러(21)라고 기재한다. 또한, 이하, 예를 들면, 정보 처리 컨트롤러(21-1)를, 정보 처리 장치(11-1)의 정보 처리 컨트롤러(21)와 같이, 각 부가 설치되어 있는 정보 처리 장치(11-i)(i=1, 2, …, n)를 명시함으로써, 정보 처리 장치(11-i)의 각 부의 부호의 말미의 「-i(i=1, 2, …, n)」를 적절히 생략한다.
정보 처리 대행 전용 장치(12-1)는, 적어도 1개의 정보 처리 컨트롤러(51-1), 메인 메모리(52-1), 및 커맨드 세트 ROM(Read Only Memory)(53-1)을 포함하도록 구성된다.
정보 처리 컨트롤러(51-1)는, 메인 메모리(52-1)에 기억되어 있는 각종 프로그램을 실행해 정보 처리 대행 전용 장치(12-1) 전체를 제어한다. 정보 처리 컨트롤러(51-1)는, 소프트웨어 셀을 이용하여, 각종 정보, 데이터, 프로그램 등을, 정보 처리 장치(11) 또는 다른 정보 처리 대행 전용 장치(12)에 네트워크(13)를 통해서 송신하거나, 정보 처리 장치(11) 또는 다른 정보 처리 대행 전용 장치(12)로부터 송신되는 소프트웨어 셀을 네트워크(13)를 통해서 수신한다.
정보 처리 컨트롤러(51-1)는, 도 16을 참조하여 후술하는 바와 같이, 정보 처리 장치(11)로부터 수신한 소프트웨어 셀에 의해 지정되는 커맨드(이하, 기능 실행 커맨드라고 함)에 의해 명령된 프로그램을 실행함으로써, 커맨드 세트 ROM(53-1)에 기억되어 있는 프로그램을 실행한다.
정보 처리 컨트롤러(51-1)는, 제어용 CPU(61-1), 서브 프로세서(62-1-1) 내지 서브 프로세서(62-q-1), 및 DMAC(63-1)를 구비하고 있다. 제어용 CPU(61-1), 서브 프로세서(62-1-1) 내지 서브 프로세서(62-q-1), 및 DMAC(63-1)는, 버스(64-1)를 통해서 서로 접속되어 있다. 또한, 이하, 서브 프로세서(62-1-1) 내지 서브 프로세서(62-q-1)를 개개로 구별할 필요가 없을 때, 간단히 서브 프로세서(62-1)라고 한다.
제어용 CPU(61-1)는, 로컬 스토리지(71-1)를 구비하고, 메인 메모리(52-1) 또는 커맨드 세트 ROM(53-1)으로부터 로드한 데이터 및 프로그램을, 로컬 스토리지(71-1)에 일시적으로 기억시킨다. 제어용 CPU(61-1)는, 로컬 스토리지(71-1)로부터 데이터 및 프로그램을 읽어들이고, 읽어들인 데이터 및 프로그램에 기초하여, 각종 처리를 실행한다.
제어용 CPU(61-1)는, 소프트웨어 셀을 이용하여, 각종 정보, 데이터, 프로그램 등을, 정보 처리 장치(11) 또는 다른 정보 처리 대행 전용 장치(12)에 네트워크(13)를 통해서 송신하거나, 정보 처리 장치(11) 또는 다른 정보 처리 대행 전용 장치(12)로부터 송신되는 소프트웨어 셀을 네트워크(13)를 통해서 수신한다.
제어용 CPU(61-1)는, 각각의 서브 프로세서(62-1)에 독립된 프로그램을 실행 시켜, 논리적으로 1개의 기능(논리 쓰레드)으로서 결과를 구하도록 할 수 있다. 즉, 제어용 CPU(61-1)는, 서브 프로세서(62-1)에 의한 프로그램의 실행의 스케줄 관리 및 정보 처리 컨트롤러(51-1)(정보 처리 대행 전용 장치(12-1))의 전체 관리를 행한다.
제어용 CPU(61-1)는, 자신의 장치 정보를 메인 메모리(52-1)에 기억시키고, 적절히 갱신한다. 또한, 제어용 CPU(61-1)는, 필요에 따라서, 네트워크(13)에 접속되어 있는 정보 처리 장치(11)에, 소프트웨어 셀을 이용하여 자신의 장치 정보를 통지한다. 또한, 정보 처리 대행 전용 장치(12)는, 마스터 장치로 되어 다른 장치에 처리의 실행을 의뢰하는 일이 없기 때문에, 정보 처리 장치(11)와는 달리, 장치 정보 테이블 및 분산 처리 관리 테이블을 관리하지 않는다.
제어용 CPU(61-1)는, 서브 프로세서(62-1)의 관리 및 네트워크(13)에 접속되어 있는 다른 장치와의 통신 등을 실행할 뿐이고, 어플리케이션 처리를 실행하지 않기 때문에, 고성능일 필요는 없으며, 정보 처리 장치(11)의 메인 CPU(31)와 비교하여, 낮은 성능의 CPU를 이용할 수 있다.
서브 프로세서(62-1)는 각각, 제어용 CPU(61-1)의 제어에 기초하여, 병렬적 또한 독립적으로, 프로그램을 실행하고, 데이터를 처리한다. 또한, 필요에 따라서, 제어용 CPU(61-1)가 실행하는 프로그램이, 서브 프로세서(62-1)의 각각이 실행하는 프로그램의 각각과 제휴하여 동작하도록 구성하는 것도 가능하다.
서브 프로세서(62-1)는, 미리 정해진 처리를 행하도록 특화되어 있고, 예를 들면, 각종 화상 데이터나 음성 데이터의 처리를 행하도록 특화된 DSP((Digital Signal Processor)로 된다. 따라서, 서브 프로세서(62-1)는, 범용적인 처리를 행하는 정보 처리 장치(11)의 서브 프로세서(32)와 비교하여, 특화된 처리에서의 처리 능력이 일반적으로 우수하다. 또한, 서브 프로세서(62-1)는, 처리의 대부분을 전용의 하드웨어나 미들웨어에 의해 실행하므로, 패키지화된 소규모의 프로그램(예를 들면, 커맨드 리스트 정도의 프로그램)을 실행함으로써, 그 처리를 실행할 수 있다.
서브 프로세서(62-1-1 내지 62-q-1)는 각각, 로컬 스토리지(72-1-1 내지 72-q-1)를 구비한다. 서브 프로세서(62-1-1 내지 62-q-1)는 각각, 로컬 스토리지(72-1-1 내지 72-q-1)에, 필요에 따라서, 데이터 및 프로그램을 일시적으로 기억시킨다. 서브 프로세서(62-1-1 내지 62-q-1)는 각각, 로컬 스토리지(72-1-1 내지 72-q-1)로부터 데이터 및 프로그램을 읽어들이고, 읽어들인 데이터 및 프로그램에 기초하여, 각종 처리를 실행한다.
이하, 로컬 스토리지(72-1-1 내지 72-q-1)를 개개로 구별할 필요가 없을 때, 간단히 로컬 스토리지(72-1)라고 한다.
DMAC(63-1)는, 제어용 CPU(61-1) 및 서브 프로세서(62-1)로부터의 메인 메모리(52-1) 또는 커맨드 세트 ROM(53-1)에의 액세스를 관리한다. 제어용 CPU(61-1) 또는 서브 프로세서(62-1)는, DMAC(63-1)에 읽어내기 명령을 실행시킴으로써, 메인 메모리(52-1) 또는 커맨드 세트 ROM(53-1)에 기억되어 있는 프로그램 및 데이터를 읽어내고, DMAC(63-1)에 기입 명령을 실행시킴으로써, 메인 메모리(52-1)에 프로그램 또는 데이터를 기억시킨다.
또한, 이하, 제어용 CPU(61-1) 또는 서브 프로세서(62-1)가, DMAC(63-1)에 읽어내기 명령을 실행시킴으로써, 메인 메모리(52-1) 또는 커맨드 세트 ROM(53-1)에 기억되어 있는 프로그램 또는 데이터를 읽어내는 것을, 간단히, 제어용 CPU(61-1) 또는 서브 프로세서(62-1)가, 메인 메모리(52-1) 또는 커맨드 세트 ROM(53-1)에 기억되어 있는 프로그램 또는 데이터를 읽어낸다고 기술하고, 및, 제어용 CPU(61-1) 또는 서브 프로세서(62-1)가, DMAC(63-1)에 기입 명령을 실행시킴으로써, 메인 메모리(52-1)에 프로그램 또는 데이터를 기억시키는 것을, 간단히, 제어용 CPU(61-1) 또는 서브 프로세서(62-1)가, 메인 메모리(52-1)에 프로그램 또는 데이터를 기억시킨다고 기술하도록, DMAC(63-1)의 처리의 기술을 적절히 생략한다.
또한, 여기에서는, 정보 처리 대행 전용 장치(12-1)에, 정보 처리 컨트롤러(51-1)가 1개만 구비되어 있는 것으로 하여 설명했지만, 정보 처리 컨트롤러(51-1)는, 정보 처리 대행 전용 장치(12-1)에 복수 개 구비되어 있도록 하여도 된다.
메인 메모리(52-1)는, 예를 들면 RAM으로 구성된다. 메인 메모리(52-1)는, 제어용 CPU(61-1) 및 서브 프로세서(62-1)가 실행하는 각종 프로그램 및 데이터를 일시적으로 기억하고 있다.
커맨드 세트 ROM(53-1)은, 제어용 CPU(61-1) 및 서브 프로세서(62-1)가 실행하는 각종 프로그램 및 데이터를 기억하고 있다. 또한, 커맨드 세트 ROM(53-1)은, 소정의 실행 커맨드에 의해 서브 프로세서(62-1)에 의한 실행이 명령되고, 소정의 처리를 행하는 각종 프로그램을 기억하고 있다.
또한, 커맨드 세트 ROM(53-1)을, EEPROM(Electronically Erasable and Programmable Read Only Memory) 등의 재기입 가능한 불휘발성 메모리로 구성하도록 하여도 된다.
또한, 정보 처리 대행 전용 장치(12-1)의 소프트웨어는, 도 6을 참조하여 후술하는 바와 같이 소규모의 구성으로 되기 때문에, 정보 처리 장치(11)에 설치되는 바와 같은 용량이 큰 외부 기록부는 설치되지 않는다.
또한, 다른 정보 처리 대행 전용 장치(12)는, 정보 처리 대행 전용 장치(12-1)와 마찬가지로 구성되므로, 그 설명은 생략한다. 다른 정보 처리 대행 전용 장치(12)는 전술한 구성에 한하지 않고, 필요에 따라서, 기능을 추가하거나 삭제하거나 하는 것이 가능하며, 그 기능에 대응한 구성을 갖는 것이 가능하다.
또한, 정보 처리 대행 전용 장치(12-1)의 각 부의 부호의 말미의 「-1」은, 각 부가 정보 처리 대행 전용 장치(12-1)에 포함되는 것을 나타내고 있으며, 이하, 마찬가지로, 정보 처리 대행 전용 장치(12-i)(i=1, 2, …, m)의 각 부의 부호의 말미에 「-i(i=1, 2, …, m)」을 붙여서 기재한다. 예를 들면, 정보 처리 대행 전용 장치(12-m)의 정보 처리 컨트롤러를, 정보 처리 컨트롤러(51-m)라고 기재한다.
또한, 이하, 정보 처리 대행 전용 장치(12-1 내지 12-m)에 포함되는 각 부를 개개로 구별할 필요가 없을 때, 또는, 각 부가 설치되어 있는 정보 처리 대행 전용 장치(12)가 명백할 때, 각 부의 부호의 말미의 「-i(i=1, 2, …, m)」의 기재를 적절히 생략하여, 예를 들면, 정보 처리 컨트롤러(51)라고 기재한다. 또한, 이하, 예를 들면, 정보 처리 컨트롤러(51-1)를, 정보 처리 대행 전용 장치(12-1)의 정보 처리 컨트롤러(51)와 같이, 각 부가 설치되어 있는 정보 처리 대행 전용 장치(12- i)(i=1, 2, …, m)를 명시함으로써, 정보 처리 대행 전용 장치(12-i)의 각 부의 부호의 말미의 「-i(i=1, 2, …, m)」을 적절히 생략한다.
정보 처리 장치(11)의 정보 처리 컨트롤러(21) 및 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)에는, 정보 처리 장치(11) 및 정보 처리 대행 전용 장치(12)를, 네트워크(13) 전체를 통해서 일의적으로 특정할 수 있는 장치 ID가 할당되어 있다. 장치 ID는, 예를 들면, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 각각의 전원이 온되었을 때, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)의 메인 CPU(31), 또는, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)의 제어용 CPU(61)에 의해, 전원이 온되었을 때의 일시, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 네트워크 어드레스, 및, 정보 처리 장치(11)의 서브 프로세서(32)의 수, 또는, 정보 처리 대행 전용 장치(12)의 서브 프로세서(62)의 수 등에 기초하여 생성된다.
또한, 정보 처리 장치(11)의 메인 CPU(31) 및 정보 처리 대행 전용 장치(12)의 제어용 CPU(61)에는, 각 CPU를 특정하기 위한 CPU ID가 식별자로서 할당된다. 또한, 정보 처리 장치(11)의 서브 프로세서(32) 및 정보 처리 대행 전용 장치(12)의 서브 프로세서(62)에는, 각 서브 프로세서를 특정하기 위해서 서브 프로세서 ID가 식별자로서 할당된다.
도 2는, 소프트웨어 셀의 구성의 예를 도시하는 도면이다.
소프트웨어 셀은, 송신원 ID, 송신처 ID, 응답처 ID, 셀 인터페이스, DMA 커맨드 영역, 프로그램 영역, 및 데이터 영역을 포함하도록 구성된다.
송신원 ID에는, 소프트웨어 셀의 송신원이 정보 처리 장치(11)인 경우, 송신원인 정보 처리 장치(11)의 네트워크 어드레스, 및, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)의 장치 ID, 또한, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)가 구비하는 메인 CPU(31) 및 서브 프로세서(32)의 식별자(CPU ID 및 서브 프로세서 ID)를 포함하는 ID(이하, 송수신용 ID라고 함)가 설정되고, 소프트웨어 셀의 송신원이 정보 처리 대행 전용 장치(12)인 경우, 송신원인 정보 처리 대행 전용 장치(12)의 네트워크 어드레스, 및, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)의 장치 ID, 또한, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)가 구비하는 제어용 CPU(61) 및 서브 프로세서(62)의 식별자(CPU ID 및 서브 프로세서 ID)를 포함하는 송수신용 ID가 설정된다.
송신처 ID에는, 소프트웨어 셀의 송신처인 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 송수신용 ID가 설정된다.
응답처 ID에는, 소프트웨어 셀의 실행 결과의 응답처인 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 송수신용 ID가 설정된다.
셀 인터페이스는, 소프트웨어 셀의 이용에 필요한 정보이며, 글로벌 ID, 필요한 서브 프로세서의 정보, 샌드박스 사이즈, 및 전회의 소프트웨어 셀 ID로 구성된다.
글로벌 ID는, 네트워크(13) 전체를 통해서 소프트웨어 셀을 일의적으로 식별하기 위한 ID이며, 송신원 ID, 및 소프트웨어 셀의 생성 또는 송신의 일시(날짜 및 시각)에 기초하여 생성된다.
필요한 서브 프로세서의 정보에는, 소프트웨어 셀의 실행에 필요한 서브 프로세서의 수 등이 설정된다.
샌드박스 사이즈에는, 소프트웨어 셀의 실행에 필요한 메인 메모리 및 서브 프로세서의 로컬 스토리지의 메모리량이 설정된다.
전회의 소프트웨어 셀 ID는, 스트리밍 데이터 등의 시퀀셜한 실행을 요구하는 1개의 그룹을 구성하는 소프트웨어 셀 내에 있어서의 전회의 소프트웨어 셀의 식별자이다.
소프트웨어 셀의 실행 섹션은, DMA 커맨드 영역, 프로그램 영역 및 데이터 영역으로 구성된다.
DMA 커맨드 영역에는, 예를 들면, 송신처의 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 처리의 실행을 의뢰하거나, 처리의 결과 등의 각종 정보를 통지하거나 하기 위해서 이용되는 DMA 커맨드와, DMA 커맨드의 실행에 필요한 각종 데이터가 저장된다. DMA 커맨드에는, 예를 들면, 로드 커맨드, 킥 커맨드, 기능 실행 커맨드, 스테이터스 커맨드, 스테이터스 회신 커맨드, 및, 시퀀스 처리 의뢰 커맨드 등이 있다.
로드 커맨드는, 프로그램 영역에 저장되어 있는 프로그램을 송신처의 정보 처리 장치(11)의 메인 CPU(31) 또는 서브 프로세서(32)에 로드시키는 커맨드이다. DMA 커맨드 영역에 로드 커맨드가 설정된 경우, 로드 커맨드 이외에, 프로그램의 로드처인 메인 메모리(22)의 어드레스, 또는, 프로그램의 로드처인 서브 프로세서(32)의 서브 프로세서 ID 및 로컬 스토리지(42)의 어드레스가 설정된다.
킥 커맨드는, 프로그램의 실행을 개시시키는 커맨드이다. DMA 커맨드 영역에 킥 커맨드가 설정된 경우, 킥 커맨드 이외에, 킥 대상의 서브 프로세서(32)의 서브 프로세서 ID, 및, 프로그램의 처리를 개시하는 어드레스에 관한 정보인 프로그램 카운터가 설정된다.
기능 실행 커맨드는, 정보 처리 대행 전용 장치(12)의 커맨드 세트 ROM(53)에 기억되어 있는 프로그램의 실행을 명령하는 커맨드이다. DMA 커맨드 영역에 기능 실행 커맨드가 설정된 경우, 기능 실행 커맨드 이외에, 프로그램을 실행시키는 서브 프로세서(62)의 서브 프로세서 ID, 및, 커맨드 세트 ROM(53)에 기억되어 있는 프로그램의 로드처인 서브 프로세서(62)의 로컬 스토리지(72)의 어드레스가 설정된다.
스테이터스 커맨드는, 송신처 ID에 의해 나타내어지는 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 장치 정보를, 응답처 ID에 의해 나타내어지는 정보 처리 장치(11) 앞으로 송신 요구하는 커맨드이다.
스테이터스 회신 커맨드는, 송신원의 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)가, 송신처의 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 각종 정보나 데이터를 송신할 때에 설정되는 커맨드이다. 스테이터스 커맨드에는, 송신하는 정보나 데이터에 의해 상이한 값(예를 들면, 수치나 문자열)이 설정된다.
시퀀스 처리 의뢰 커맨드는, 슬레이브 장치인 정보 처리 장치(11)가 마스터 장치인 정보 처리 대행 전용 장치(12)에 일련의 처리의 실행을 의뢰하기 위한 커맨 드이다.
프로그램 영역에는, DMA 커맨드에 로드 커맨드가 설정되었을 때, 송신처의 정보 처리 장치(11)에 로드시키는 프로그램 등이 저장된다.
데이터 영역에는, 각종 정보나 파라미터 등이 저장된다.
도 3에, 정보 처리 장치(11)의 개개의 정보 처리 컨트롤러(21)의 메인 CPU(31) 또는 서브 프로세서(32)에 의해 실행되는 소프트웨어의 구성의 예를 도시한다. 이들 소프트웨어(프로그램)는, 정보 처리 장치(11)에 전원이 투입되기 전에서는, 정보 처리 컨트롤러(21)에 접속되는 외부 기록부(23)에 기록되어 있으며, 필요에 따라서, 메인 메모리(22), 메인 CPU(31)의 로컬 스토리지(41), 또는, 서브 프로세서(32)의 로컬 스토리지(42)에 로드된다.
각 프로그램은, 기능 또는 특징에 의해, 제어 프로그램, 기능 프로그램, 및, 디바이스 드라이버로 분류된다.
제어 프로그램은, 각각의 정보 처리 컨트롤러(21)가 동일한 것을 구비하고, 각각의 정보 처리 컨트롤러(21)의 메인 CPU(31)가 실행하는 것이다. 예를 들면, 복수의 정보 처리 장치(11) 및 정보 처리 대행 전용 장치(12)에 있어서 분산 처리를 실행하는 것이 가능하도록 이루어져 있는 경우, 제어 프로그램에는, MS(마스터/슬레이브) 매니저(111), 능력 교환 프로그램(112), 서브 프로세서 매니저(113), 및, 분산 처리 매니저(114)가 포함된다. 또한, 제어 프로그램에 속하는 각 프로그램의 기능에 대해서는, 도 4를 참조하여 후술한다.
기능 프로그램은, 메인 CPU(31) 또는 서브 프로세서(32)가 실행하는, 소위 어플리케이션 프로그램에 대응하는 것이며, 예를 들면, 영상 데이터의 디코드 처리를 실행하는 영상 디코드 프로그램(121), 음성 데이터의 디코드 처리를 실행하는 음성 디코드 프로그램(122), 영상 데이터의 노이즈 제거 등의 화질 개선 처리를 실행하는 화질 개선 프로그램(123), 영상 데이터를 모니터에 출력하여 영상을 표시시키는 영상 출력 프로그램(124), 음성 데이터를 스피커에 출력하여 스피커로부터 음성을 출력시키는 음성 출력 프로그램(125) 등, 정보 처리 컨트롤러(21)마다, 정보 처리 장치(11)가 갖는 기능에 따른 것이 구비되도록 이루어져 있다.
기능 프로그램에는, 프로그램마다 프로그램을 일의적으로 식별할 수 있는 식별자가, 기능 프로그램 ID로서 할당된다. 기능 프로그램 ID는, 기능 프로그램의 작성의 단계에서, 작성 일시나 장치 ID 등으로부터 결정된다. 또한, 기능 프로그램에는, 그 실행 단위마다 필요해지는, 장치 종별 ID, CPU 또는 서브 프로세서의 처리 능력, 메인 메모리 사용량, 외부 기록부에 관한 조건, 그 기능 프로그램과 동등한 처리를 행하는 정보 처리 대행 전용 장치(12)의 커맨드 세트 ROM(53)에 기억되어 있는 기능 프로그램의 실행을 명령하는 기능 실행 커맨드 등, 기능 프로그램의 실행에 필요한 장치에 관한 요구 스펙이 규정되어 있다. 이 요구 스펙은, 메타 데이터로서 기능 프로그램마다 기술되어도 되고, 기능 프로그램과는 별도의 정보로서 각 정보 처리 장치(11)에서 관리하도록 하여도 된다.
디바이스 드라이버는, 메인 CPU(31)가 실행하는, 정보 처리 장치(11)의 데이터의 입출력(송수신)이나, 각종 하드웨어의 처리를 제어하기 위한 드라이버로써, 예를 들면, 네트워크(13)에의 데이터의 입출력을 제어하는 네트워크 입출력 드라이 버(131), 모니터에의 화상 데이터의 출력을 제어하는 모니터 출력 드라이버(132), 각종 기록 매체(디스크)에의 데이터의 입출력을 제어하는 디스크 제어 드라이버(133) 등, 정보 처리 컨트롤러(21)마다, 정보 처리 장치(11)가 갖는 기능에 따른 것이 구비되어 있다.
또한, 제어 프로그램 또는 디바이스 드라이버에 속하는 프로그램은, 메인 CPU(31)에서 실행되는 것에 한하지 않고, 어느 하나의 서브 프로세서(32)에서 실행되어도 된다. 또한, MS 매니저(111), 능력 교환 프로그램(112), 서브 프로세서 매니저(113), 및, 분산 처리 매니저(114)는, 정보 처리 장치(11)의 주전원이 투입되어 있는 동안은 항상 동작하는 상주 프로그램인 것이 바람직하다.
또한, 제어 프로그램 또는 디바이스 드라이버에 속하는 프로그램은, 네트워크(13) 경유로 다른 장치로부터 취득하도록 하여도 된다. 또한, 제어 프로그램 또는 디바이스 드라이버에 속하는 프로그램을, 리무버블 미디어 등으로 구성되는 외부 기록부(23)로부터, 하드디스크 등으로 구성되고 정보 처리 장치(11)에 내장되어 있는 별도의 외부 기록부(23)에 인스톨하여, 적절히 갱신이나 추가하도록 하여도 된다.
기능 프로그램에 속하는 각 프로그램에 대해서는, 메인 CPU(31)의 제어에 기초하여, 필요할 때에 필요한 프로그램만이 로드되도록 해도 되고, 또는, 주전원 투입 직후에 각 프로그램이 로드되도록 하여도 된다. 또한, 기능 프로그램에 속하는 각 프로그램은, 네트워크(13)에 접속된 모든 정보 처리 장치(11)의 외부 기록부(23)에 기록되어 있을 필요는 없으며, 어느 하나의 정보 처리 장치(11)의 외부 기록부(23)에 기록되어 있으면, 도 13 내지 도 17을 참조하여 후술하는 바와 같이, 필요에 따라서, 각각의 정보 처리 장치(11)의 사이에서, 기능 프로그램을 수수할 수 있다. 따라서, 네트워크(13)에 접속되어 있는 복수의 정보 처리 장치(11)를 가상적인 1대의 정보 처리 장치로서 동작시켜, 기능 프로그램을 실행시킬 수 있다.
도 4는, 제어 프로그램에 포함되는 MS 매니저(111), 능력 교환 프로그램(112), 서브 프로세서 매니저(113), 및, 분산 처리 매니저(114)를 실행하는 정보 처리 장치(11)의 메인 CPU(31)에 의해 실현되는 기능의 구성의 일례를 도시하는 도면이다. 메인 CPU(31)가 MS 매니저(111)를 실행함으로써, 정보 교환부(151), MS(마스터/슬레이브) 관리부(152), 및 장치 정보 관리부(153)가 실현되고, 능력 교환 프로그램(112)을 실행함으로써, 장치 정보 테이블 관리부(161)가 실현되고, 서브 프로세서 매니저(113)를 실행함으로써, 서브 프로세서 제어부(171) 및 진척 통지부(172)가 실현되고, 분산 처리 매니저(114)를 실행함으로써, 시퀀스 처리 관리부(181), 기능 프로그램 결정부(182), 분산 처리 장치 결정부(183), 분산 처리 관리부(184), 시퀀스 처리 의뢰부(185), 및 진척 통지부(186)가 실현된다.
정보 교환부(151)는, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서, 네트워크(13)에 접속되어 있는 다른 장치와 장치 정보의 교환을 하거나, 다른 장치의 존재의 확인을 하거나, 다른 장치에 자기 자신이 네트워크(13)에 접속된 것을 통지하거나 한다. 여기에서의 「접속」 또는 「존재」는, 정보 처리 장치(11)가 물리적으로 네트워크(13)에 접속되어 있을 뿐만 아니라, 전기적 및 기능적으로 네트워크(13)에 접속되어 있는 것에 대응한다. 또한, 여기에서의 자기 자 신이란, 문장의 주어인 정보 교환부(151)가 아니라, 정보 교환부(151)가 설치되어 있는 정보 처리 장치(11)를 가리킨다. 이하, 마찬가지로, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 각 부가 문장의 주어로 되어 있을 때, 문장의 주어인 각 부가 포함되는 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)를, 그 문장 중에서 자신 또는 자기 자신이라고도 표현한다.
정보 교환부(151)는, 취득한 다른 장치의 장치 정보를 능력 교환 프로그램(112)에 공급한다. 또한, 정보 교환부(151)는, 마스터 장치인 정보 처리 장치(11)로부터 장치 정보를 수신한 경우, 네트워크(13) 상에 마스터 장치가 존재하는 것을 나타내는 정보를 MS 관리부(152)에 공급한다.
MS 관리부(152)는, 도 7을 참조하여 후술하는 바와 같이, 자기 자신을 마스터 장치로서 동작시킬지, 슬레이브 장치로서 동작시킬지를 결정하여, 결정 내용을 장치 정보 관리부(153) 및 분산 처리 매니저(114)에 통지한다.
장치 정보 관리부(153)는, 예를 들면, 서브 프로세서 매니저(113)로부터 각 서브 프로세서(32)의 상태를 나타내는 정보를 취득하거나, 메인 메모리(22) 및 외부 기록부(23)의 사용량을 조사하거나 하여, 자기 자신의 장치 정보를 갱신하고, 갱신한 장치 정보를 분산 처리 매니저(114)에 공급하고, 장치 정보를 갱신하였음을 정보 교환부(151)에 통지한다.
장치 정보 테이블 관리부(161)는, 도 7 및 도 11을 참조하여 후술하는 바와 같이, 정보 교환부(151)로부터 공급된 다른 장치의 장치 정보, 및, 장치 정보 관리부(153)로부터 공급된 자기 자신의 장치 정보에 기초하여, 장치 정보 테이블을 생 성한다. 장치 정보 테이블 관리부(161)는, 생성한 장치 정보 테이블을 메인 메모리(22)에 기억시키고, 적절히 갱신한다.
서브 프로세서 제어부(171)는, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서, 다른 정보 처리 장치(11)로부터 처리의 실행을 의뢰하는 소프트웨어 셀을 수신하거나, 유저에 의해 입력된 처리의 명령을 취득하고, 각 메인 CPU(31) 또는 서브 프로세서(32)에 처리를 실행시킨다. 또한, 서브 프로세서 제어부(171)는, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서, 다른 정보 처리 장치(11)로부터 기능 프로그램의 로드를 지시하는 소프트웨어 셀을 수신하고, 수신한 기능 프로그램을 로컬 스토리지(42)에 기억시킨다.
또한, 서브 프로세서 제어부(171)는, 각 서브 프로세서(32)로부터 처리 결과를 취득하고, 취득한 처리 결과를 나타내는 소프트웨어 셀을 생성하고, 네트워크 입출력 드라이버(131) 및 네트워크(13)를 통해서, 처리의 의뢰원인 정보 처리 장치(11)에 생성한 소프트웨어 셀을 송신한다. 또한, 서브 프로세서 제어부(171)는, 자기 자신이 갖는 각 서브 프로세서(32)의 스케줄 관리 등의 전반적인 관리를 행한다.
진척 통지부(172)는, 서브 프로세서 제어부(171)로부터 각 서브 프로세서(32)의 처리의 진척 상황을 나타내는 정보를 취득하고, 진척 상황을 통지하는 소프트웨어 셀을 생성하고, 생성한 소프트웨어 셀을, 처리의 의뢰원인 정보 처리 장치(11)에 네트워크 입출력 드라이버(131) 및 네트워크(13)를 통해서 송신한다.
시퀀스 처리 관리부(181)는, 자신이 마스터 장치인 경우, 슬레이브 장치인 다른 정보 처리 장치(11)로부터 일련의 처리(이하, 시퀀스 처리라고 함)를 의뢰하는 소프트웨어 셀을 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신하고, 수신한 소프트웨어 셀을 분산 처리 관리부(184)에 공급하고, 의뢰받은 시퀀스 처리를 나타내는 정보를 분산 처리 결정부(182)에 공급한다. 또한, 시퀀스 처리 관리부(181)는, 분산 처리 관리부(184)로부터, 시퀀스 처리에 포함되는 각 처리의 처리 결과를 나타내는 정보를 취득하고, 취득한 처리 결과에 기초하여, 시퀀스 처리의 처리 결과를 통지하는 소프트웨어 셀을 생성한다. 시퀀스 처리 관리부(181)는, 생성한 소프트웨어 셀을, 시퀀스 처리의 의뢰원인 정보 처리 장치(11)에 네트워크 입출력 드라이버(131) 및 네트워크(13)를 통해서 송신한다.
또한, 시퀀스 처리 관리부(181)는, 분산 처리 관리부(184)로부터, 시퀀스 처리에 포함되는 각 처리의 진척 상황을 나타내는 정보를 취득하고, 취득한 정보에 기초하여, 시퀀스 처리의 진척 상황을 통지하는 소프트웨어 셀을 생성한다. 시퀀스 처리 관리부(181)는, 생성한 소프트웨어 셀을 시퀀스 처리의 의뢰원인 정보 처리 장치(11)에 네트워크 입출력 드라이버(131) 및 네트워크(13)를 통해서 송신한다.
기능 프로그램 결정부(182)는, 시퀀스 처리를 실행하기 위해서 필요한 기능 프로그램을 결정하고, 결정 내용을 나타내는 정보를 분산 처리 장치 결정부(183)에 공급한다.
분산 처리 결정부(183)는, 장치 정보 테이블에 기초하여, 기능 프로그램 결정부(182)에 의해 결정된 기능 프로그램을 실행시키는 정보 처리 장치(11) 또는 정 보 처리 대행 전용 장치(12)를 결정하고, 결정 내용을 나타내는 정보를 분산 처리 관리부(184)에 공급한다.
분산 처리 관리부(184)는, 분산 처리 결정부(183)에 의해 결정된 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에, 기능 프로그램 결정부(182)에 의해 결정된 기능 프로그램을 실행을 의뢰하는(분산 처리의 실행을 의뢰함) 소프트웨어 셀을 생성하고, 생성한 소프트웨어 셀을 네트워크 입출력 드라이버(131) 및 네트워크(13)를 통해서 의뢰처의 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 송신한다. 또한, 분산 처리 관리부(184)는, 의뢰처의 정보 처리 장치(11)가 실행을 의뢰하는 기능 프로그램을 갖고 있지 않은 경우, 그 기능 프로그램을 송신하기 위한 소프트웨어 셀을 생성하고, 생성한 소프트웨어 셀을 네트워크 입출력 드라이버(131) 및 네트워크(13)를 통해서 의뢰처의 정보 처리 장치(11)에 송신한다.
또한, 분산 처리 관리부(184)는, 의뢰처의 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)로부터 기능 프로그램의 처리 결과를 통지하는 소프트웨어 셀을 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한다. 분산 처리 관리부(184)는, 그 처리 결과를 나타내는 정보를 시퀀스 처리 관리부(181)에 공급한다.
또한, 마스터 장치인 정보 처리 장치(11)의 분산 처리 관리부(184)는, 처리의 의뢰 상황 등 정보 처리 시스템(1)에서의 분산 처리의 상태를 관리하는 분산 처리 관리 테이블을 생성하고, 적절히 갱신한다.
시퀀스 처리 의뢰부(185)는, 자신이 슬레이브 장치인 경우, 유저 등에 의해 명령된 처리 중, 예를 들면, 자신은 실행할 수 없어 다른 장치에 의뢰할 필요가 있는 일련의 처리인 시퀀스 처리의 실행을 의뢰하는 소프트웨어 셀을 생성하고, 생성한 소프트웨어 셀을, 네트워크 입출력 드라이버(131) 및 네트워크(13)를 통해서, 마스터 장치인 정보 처리 장치(11)에 송신한다.
진척 통지부(186)는, 처리의 실행을 의뢰하고 있는 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)로부터, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 처리의 진척을 통지하는 소프트웨어 셀을 수신하고, 예를 들면, 필요에 따라서, 수신한 소프트웨어 셀에 기초하여, 진척 상황을 표시시키기 위한 데이터를 모니터 출력 드라이버(132)에 공급하여, 도시하지 않은 모니터에 처리의 진척을 표시시킨다.
도 5에, 정보 처리 대행 전용 장치(12)의 개개의 정보 처리 컨트롤러(51)의 제어용 CPU(61) 또는 서브 프로세서(62)에 의해 실행되는 소프트웨어의 구성의 예를 도시한다. 이들 소프트웨어(프로그램)는, 정보 처리 대행 전용 장치(12)에 전원이 투입되기 전에 있어서는, 정보 처리 컨트롤러(51)에 접속되는 커맨드 세트 ROM(53)에 기억되어 있으며, 필요에 따라서, 메인 메모리(52), 제어용 CPU(61)의 로컬 스토리지(71), 또는, 서브 프로세서(62)의 로컬 스토리지(72)에 로드된다.
각 프로그램은, 정보 처리 장치(11)의 프로그램과 마찬가지로, 기능 또는 특징에 의해, 제어 프로그램, 기능 프로그램, 및, 디바이스 드라이버로 분류된다.
제어 프로그램은, 각각의 정보 처리 컨트롤러(51)가 동일한 것을 구비하고, 각각의 정보 처리 컨트롤러(51)의 제어용 CPU(61)가 실행하는 것이다. 예를 들면, 제어 프로그램에는, 슬레이브 매니저(211) 및 서브 프로세서 매니저(212)가 포함된다. 또한, 제어 프로그램에 속하는 각 프로그램의 기능에 대해서는, 도 6을 참조하여 후술한다.
또한, 정보 처리 대행 전용 장치(12)의 제어 프로그램에는, 정보 처리 장치(11)의 제어 프로그램과는 달리, 정보 처리 대행 전용 장치(12)가 마스터 장치로 되어 다른 장치에 처리의 실행을 의뢰하거나, 유저의 명령 등에 의해 시퀀스 처리를 마스터 장치에 의뢰하는 일이 없기 때문에, 능력 교환 프로그램(112) 및 분산 처리 매니저(114)에 상당하는 프로그램은 포함되지 않는다.
기능 프로그램은, 소정의 기능 실행 커맨드에 의해 실행이 명령되고, 각 서브 프로세서(62)는, 기능 실행 커맨드에 의해 명령된 기능 프로그램을 실행함으로써, 그 서브 프로세서(62)에 특화되어 있는 소정의 처리를 실행한다. 예를 들면, 기능 프로그램은, 서브 프로세서(62)에 영상 데이터의 디코드 처리를 실행시키는 영상 디코드 프로그램(221), 음성 데이터의 디코드 처리를 실행시키는 음성 디코드 프로그램(222) 등, 정보 처리 컨트롤러(51)마다, 정보 처리 대행 전용 장치(12)가 실행하는 처리에 따른 것이 구비되어 있다.
또한, 서브 프로세서(62)는, 처리의 대부분을 정보 처리 대행 전용 장치(12)에 설치되어 있는 하드웨어, 또는, 서브 프로세서(62)에 저장되어 있는 미들웨어 등에 실행시키기 위해서, 기능 프로그램은, 예를 들면, 이들 하드웨어나 미들웨어를 동작시키기 위한 패키지화된 프로그램(예를 들면, 하드웨어나 미들웨어를 동작 시키는 커맨드 리스트정도의 프로그램)으로 된다. 따라서, 동일한 처리를 행하는 정보 처리 장치(11)의 기능 프로그램과 비교해서 소규모의 프로그램으로 되고, 기능 프로그램의 개발 공수를 삭감할 수 있어, 개발 효율이 향상된다.
디바이스 드라이버에는, 제어용 CPU(61)가 실행하는, 네트워크(13)에의 데이터의 입출력을 제어하는 네트워크 입출력 드라이버(231)가 갖추어진다.
또한, 제어 프로그램 또는 디바이스 드라이버에 속하는 프로그램은, 제어용 CPU(61)에서 실행되는 것에 한하지 않고, 어느 하나의 서브 프로세서(62)에서 실행되어도 된다. 또한, 슬레이브 매니저(211) 및 서브 프로세서 매니저(212)는, 정보 처리 대행 전용 장치(12)의 주전원이 투입되어 있는 동안은 항상 동작하는 상주 프로그램인 것이 바람직하다.
또한, 제어 프로그램 또는 디바이스 드라이버에 속하는 프로그램이 기억되어 있는 커맨드 세트 ROM(53)을 교환함으로써, 제어 프로그램 또는 디바이스 드라이버에 속하는 프로그램을 변경 또는 추가할 수 있게 하여도 된다. 또한, 커맨드 세트 ROM(53)을 불휘발성 메모리에 의해 구성하도록 하여, 네트워크(13) 경유로 다른 장치로부터 제어 프로그램 또는 디바이스 드라이버에 속하는 프로그램을 취득하고, 커맨드 세트 ROM(53)에 그 프로그램을 인스톨하도록 하여도 된다.
기능 프로그램에 속하는 각 프로그램에 대해서는, 제어용 CPU(61)의 제어에 기초하여, 필요할 때에 필요한 프로그램만이 로드되도록 해도 되고, 또는, 주전원 투입 직후에 각 프로그램이 로드되도록 하여도 된다. 또한, 정보 처리 대행 전용 장치(12)는, 정보 처리 장치(11)와 달리, 커맨드 세트 ROM(53)에 기억되어 있는 기 능 프로그램만을 실행하고, 정보 처리 장치(11) 또는 다른 정보 처리 대행 전용 장치(12)와는, 기능 프로그램의 수수를 행하지 않는다.
도 8은, 제어 프로그램에 포함되는 슬레이브 매니저(211) 및 서브 프로세서 매니저(212)를 실행하는 정보 처리 대행 전용 장치(12)의 제어용 CPU(61)에 의해 실현되는 기능의 구성의 일례를 도시하는 도면이다. 제어용 CPU(61)가 슬레이브 매니저(211)를 실행함으로써, 정보 교환부(251) 및 장치 정보 관리부(252)가 실현되고, 서브 프로세서 매니저(212)를 실행함으로써, 서브 프로세서 제어부(271) 및 진척 통지부(272)가 실현된다.
정보 교환부(251)는, 네트워크(13) 및 네트워크 입출력 드라이버(231)를 통해서, 네트워크(13)에 접속되어 있는 다른 장치에 장치 정보를 통지하거나, 다른 장치의 존재의 확인을 하거나, 다른 장치에 자기 자신이 네트워크(13)에 접속된 것을 통지하거나 한다. 여기에서의 「접속」 또는 「존재」는, 정보 처리 대행 전용 장치(12)가 물리적으로 네트워크(13)에 접속되어 있을 뿐만 아니라, 전기적 및 기능적으로 네트워크(13)에 접속되어 있는 것에 대응한다.
장치 정보 관리부(252)는, 예를 들면, 서브 프로세서 매니저(212)로부터 각 서브 프로세서(62)의 상태를 나타내는 정보를 취득하거나, 메인 메모리(52)의 사용량을 조사하거나 하여, 자기 자신의 장치 정보를 갱신하고, 장치 정보를 갱신하였음을 정보 교환부(251)에 통지한다.
서브 프로세서 제어부(271)는, 네트워크(13) 및 네트워크 입출력 드라이버(231)를 통해서, 다른 정보 처리 장치(11)로부터 기능 실행 커맨드의 실행을 의 뢰하는 소프트웨어 셀을 수신한다. 서브 프로세서 제어부(271)는, 기능 실행 커맨드에 의해 실행이 명령되는 기능 프로그램을 각 서브 프로세서(62)에 로드시키고, 로드시킨 기능 프로그램을 실행시킨다. 또한, 서브 프로세서 제어부(271)는, 각 서브 프로세서(62)로부터 처리 결과를 취득하고, 취득한 처리 결과를 나타내는 소프트웨어 셀을 생성하고, 네트워크 입출력 드라이버(231) 및 네트워크(13)를 통해서, 처리의 의뢰원인 정보 처리 장치(11)에 생성한 소프트웨어 셀을 송신한다. 또한, 서브 프로세서 제어부(271)는, 자기 자신이 갖는 각 서브 프로세서(62)의 스케줄 관리 등의 전반적인 관리를 행한다.
진척 통지부(272)는, 서브 프로세서 제어부(271)로부터 각 서브 프로세서(62)의 처리의 진척 상황을 나타내는 정보를 취득하고, 진척 상황을 통지하는 소프트웨어 셀을 생성하고, 생성한 소프트웨어 셀을, 처리의 의뢰원인 정보 처리 장치(11)에 네트워크 입출력 드라이버(231) 및 네트워크(13)를 통해서 송신한다.
다음으로, 도 7 내지 도 12를 참조하여, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)가 새롭게 네트워크(13)에 접속되었을 때의 정보 처리 시스템(1)의 처리를 설명한다.
우선, 도 7의 플로우차트를 참조하여, 정보 처리 장치(11)가 네트워크(13)에 접속되었을 때에, 네트워크(13)에 접속된 정보 처리 장치(11)에 의해 실행되는 네트워크 접속 처리를 설명한다.
스텝 S1에서, 새롭게 네트워크(13)에 접속된 정보 처리 장치(11)의 정보 처리 컨트롤러(21)의 메인 CPU(31)는, 제어 프로그램 및 디바이스 드라이버에 속하는 각 프로그램을 메인 메모리(22)에 로드한다. 구체적으로는, 도시하지 않은 접속 케이블 등에 의해 정보 처리 장치(11)가 물리적으로 네트워크(13)에 접속된 상태에서, 정보 처리 장치(11)에 주전원이 투입되고, 정보 처리 장치(11)가 전기적 및 기능적으로 네트워크(13)에 접속되었을 때, 메인 CPU(31)는, 외부 기록부(23)로부터 제어 프로그램 및 디바이스 드라이버에 속하는 각 프로그램을 읽어내고, 그 프로그램을 메인 메모리(22)에 로드한다. 메인 CPU(31)는, 필요에 따라서, 로드한 프로그램의 실행을 개시한다.
또한, 정보 처리 장치(11)의 주전원이 미리 투입되고, 각 프로그램이 메인 메모리(22)에 로드된 상태에서, 정보 처리 장치(11)가 물리적으로 네트워크(13)에 접속됨으로써, 정보 처리 장치(11)가 전기적 및 기능적으로 네트워크(13)에 접속된 경우, 스텝 S1의 처리는 스킵된다.
스텝 S2에서, 정보 교환부(151)는, 네트워크(13)에 접속되어 있는 다른 장치에 장치 정보의 통지를 요구한다. 구체적으로는, 정보 교환부(151)는, DMA 커맨드 영역에 스테이터스 커맨드, 및, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID가 설정되고, 송신처 ID를 특정하지 않는 소프트웨어 셀(이하, 장치 정보 요구 소프트웨어 셀이라고 함)을 생성한다. 정보 교환부(151)는, 생성한 장치 정보 요구 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서, 네트워크(13)에 송신한다. 즉, 장치 정보 요구 소프트웨어 셀이, 네트워크(13)에 접속되어 있는 다른 장치에 브로드캐스팅된다. 또한, MS 관리부(152)는, 네트워크 접속 확인용의 타이머를 설정한다. 타이머의 타임아웃 시간은, 예를 들면 10분으로 한다.
스텝 S3에서, 정보 교환부(151)는, 스텝 S2에서 송신한 장치 정보 요구 소프트웨어 셀에 대하여, 네트워크(13)에 접속되어 있는 다른 장치로부터 장치 정보가 통지되었는지의 여부를 판정한다. 정보 교환부(151)는, 후술하는 도 11의 스텝 S44에서, 네트워크(13)에 접속되어 있는 다른 정보 처리 장치(11)로부터 송신되는 장치 정보를 통지하는 소프트웨어 셀(이하, 장치 정보 통지 소프트웨어 셀이라고 함), 또는, 후술하는 도 12의 스텝 S63에서, 네트워크(13)에 접속되어 있는 정보 처리 대행 전용 장치(12)로부터 송신되는 장치 정보 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한 경우, 다른 장치로부터 장치 정보가 통지되었다고 판정하고, 처리는 스텝 S4로 진행된다.
여기서, 도 8 및 도 9를 참조하여, 장치 정보 통지 소프트웨어 셀의 데이터 영역에 저장되는 장치 정보의 구체예에 대해서 설명한다.
도 8은, 장치 정보 통지 소프트웨어 셀의 데이터 영역에 저장되는 장치 정보의 구성예를 도시하고 있다.
장치 ID는, 정보 처리 장치(11)의 정보 처리 컨트롤러(21) 또는 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)에 할당되어 있는 장치 ID를 나타낸다.
장치 종별 ID에는, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 특징을 나타내는 값이 포함된다. 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 특징이란, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)가 어떤 장치인지를 나타내는 정보이며, 예를 들면, 정보 처리 장치(11)가, 하드디 스크 레코더, PDA(Personal Digital Assistants), 포터블 CD(Compact Disc) 플레이어 등인 것을 나타내거나, 정보 처리 장치(11)가 특정한 기능을 갖지 않는 범용적인 장치인 것을 나타내거나, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)가, 영상 디코드 처리, 음성 디코드 처리, 화질 개선 처리 등의 컴포넌트 처리를 행하는 장치인 것 등을 나타낸다.
예를 들면, 장치 종별 ID에는, DSP를 갖고, 영상 데이터 또는 음성 데이터의 데이터 처리를 행하는 장치인 것을 나타내는 DSP-BOX, AV(Audio Video) 데이터를 재생하는 DVD 플레이어 등의 AV 데이터 재생 장치인 것을 나타내는 AV-PLAYER, 특정한 기능을 갖지 않고 범용적인 처리를 행하는 것을 나타내는 GENERAL 등의 문자열, 또는, 거기에 대응하는 수치 등이 설정된다. 정보 처리 장치(11)는, 장치 종별 ID에 기초하여, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)의 특징이나 기능을 파악할 수 있다.
MS(마스터/슬레이브) 스테이터스는, 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)가 마스터 장치 또는 슬레이브 장치 중 어느 것에서 동작하고 있는지를 나타내는 것이다. 이것이 0으로 설정되어 있는 경우에는 마스터 장치로서 동작하고 있는 것을 나타내고, 1로 설정되어 있는 경우에는 슬레이브 장치로서 동작하고 있는 것을 나타낸다. 또한, 정보 처리 대행 전용 장치(12)는, 슬레이브 장치로서만 동작하므로, MS 스테이터스의 값은 0으로 고정된다.
메인 CPU 동작 주파수는, 정보 처리 장치(11)의 메인 CPU(31)의 동작 주파수를 나타낸다.
메인 CPU 사용율은, 정보 처리 장치(11)의 메인 CPU(31)의 전체 처리 능력에 대한 사용중인 처리 능력의 비율을 나타낸 값을 나타낸다. 예를 들면, 메인 CPU 사용율은, CPU 처리 능력 평가를 위한 단위인 MIPS를 단위로 하여 산출되거나, 또는, 단위 시간당의 CPU 사용 시간에 기초하여 산출된다.
또한, 정보 처리 대행 전용 장치(12)에는 메인 CPU(31)가 설치되어 있지 않기 때문에, 메인 CPU 동작 주파수 및 메인 CPU 사용율의 값은 설정되지 않는다.
서브 프로세서 수는, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)가 구비하는 서브 프로세서(32), 또는, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)가 구비하는 서브 프로세서(62)의 수를 나타낸다.
메인 메모리 총 용량은, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접속되어 있는 메인 메모리(22), 또는, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)에 접속되어 있는 메인 메모리(52)의 총 용량을 나타낸다.
메인 메모리 사용량은, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접속되어 있는 메인 메모리(22), 또는, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)에 접속되어 있는 메인 메모리(52)의 현재 사용중인 용량을 나타낸다.
외부 기록부 수는, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접속되어 있는 외부 기록부(23)의 수를 나타낸다.
외부 기록부 ID는, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접속되어 있는 외부 기록부(23)를 일의적으로 식별하는 정보이다.
외부 기록부 종별 ID는, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접 속되어 있는 외부 기록부(23)의 종류(예를 들면, 하드디스크, CD(Compact Disc)±RW, DVD(Digital Versatile Disk)±RW, 메모리 디스크, SRAM, ROM 등)를 나타내는 정보이다.
외부 기록부 총 용량은, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접속되어 있는 외부 기록부(23)의 총 용량을 나타낸다.
외부 기록부 사용량은, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접속되어 있는 외부 기록부(23)의 현재 사용중인 용량을 나타낸다.
또한, 외부 기록부 ID, 외부 기록부 종별 ID, 외부 기록부 총 용량 및 외부 기록부 사용량은, 1개의 외부 기록부(23)에 대하여 1조 설정되는 것이며, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)에 접속되어 있는 외부 기록부(23)의 수의 조 수만큼 설정된다. 즉, 1개의 정보 처리 컨트롤러(21)에 복수의 외부 기록부(23)가 접속되어 있는 경우, 각각의 외부 기록부(23)에는 다른 외부 기록부 ID가 할당되고, 외부 기록부 종별 ID, 외부 기록부 총 용량 및 외부 기록부 사용량도 개별로 관리된다. 또한, 정보 처리 대행 전용 장치(12)에는, 외부 기록부가 설치되지 않기 때문에, 정보 처리 대행 전용 장치(12)의 장치 정보에는, 외부 기록부 ID, 외부 기록부 종별 ID, 외부 기록부 총 용량 및 외부 기록부 사용량의 값은 설정되지 않는다.
서브 프로세서 ID는, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)가 구비하는 서브 프로세서(32), 또는, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)가 구비하는 서브 프로세서(62)에 할당되어 있는 서브 프로세서 ID를 나타낸 다.
서브 프로세서 사용율은, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)가 구비하는 서브 프로세서(32), 또는, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)가 구비하는 서브 프로세서(62)의 전체 처리 능력에 대한, 현재 실행하고 있는, 또는, 실행이 예약되어 있는 프로그램에 의해 사용되는 처리 능력의 비율을 나타낸 값을 나타낸다.
커맨드 리스트는, 정보 처리 대행 전용 장치(12)의 커맨드 세트 ROM(53)에 기억되어 있는 기능 프로그램의 실행을 명령하기 위한 기능 실행 커맨드에 관한 정보를 나타낸다. 예를 들면, 도 9에 도시된 바와 같이, 기능 실행 커맨드마다, 커맨드명, 지정하는 파라미터의 정의, 및, 기능 실행 커맨드(기능 프로그램) 실행 후에 되돌려주는 복귀값의 정의가 포함된다. 예를 들면, 커맨드명에는, mpeg2_video_decode, mpeg2_audio_decode, video_noise_reduction 등의 실제의 기능 실행 커맨드가 나타내어지고, 파라미터의 정의에는, 기능 실행 커맨드(기능 프로그램)의 실행에 필요한 각종 설정 정보, 데이터, 플래그 등에 관한 정보(예를 들면, 데이터의 종류, 데이터형, 설정 범위, 데이터의 설정 방법 등)가 나타내어지고, 복귀값의 정의에는, 기능 실행 커맨드(기능 프로그램) 실행 후에 되돌려주는 정보나 데이터에 관한 정보(예를 들면, 데이터의 종류, 데이터형, 데이터의 취득 방법 등)가 나타내진다.
또한, 정보 처리 장치(11)의 장치 정보에는, 기능 실행 커맨드의 값은 설정되지 않는다.
서브 프로세서 ID, 서브 프로세서 사용율, 및 커맨드 리스트는, 1개의 서브 프로세서(32) 또는 1개의 서브 프로세서(62)에 대하여 1조 설정되고, 정보 처리 장치(11)의 정보 처리 컨트롤러(21)가 구비하는 서브 프로세서(32), 또는, 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)가 구비하는 서브 프로세서(62)의 수의 조 수만큼 설정된다.
도 7로 되돌아가, 스텝 S4에서, 정보 교환부(151)는, 장치 정보 통지 소프트웨어 셀의 데이터 영역에 포함되는 장치 정보를, 메인 CPU(31)의 로컬 스토리지(41)에 일시적으로 기억시킨다. 또한, 이 때, 장치 정보의 MS 스테이터스가 0으로 설정되어 있는 경우, 즉, 마스터 장치인 정보 처리 장치(11)로부터 장치 정보가 통지된 경우, 정보 교환부(151)는, 네트워크(13) 상에 마스터 장치가 존재하는 것을 나타내는 정보를 MS 관리부(152)에 공급한다.
스텝 S3에서, 다른 장치로부터 장치 정보가 통지되어 있지 않다고 판정된 경우, 스텝 S4의 처리는 스킵되고, 처리는 스텝 S5로 진행된다.
스텝 S5에서, MS 관리부(152)는, 네트워크 접속 확인 기간이 경과했는지의 여부를 판정한다. 네트워크 접속 확인 기간이 경과하지 않았다고 판정된 경우, 즉, 스텝 S2에서 설정한 네트워크 접속 확인용의 타이머가 타임아웃하지 않는 경우, 처리는 스텝 S3으로 되돌아간다. 그 후, 스텝 S5에서, 네트워크 접속 확인 기간이 경과했다고 판정될 때까지, 스텝 S3 내지 S5의 처리가 반복 실행되어, 네트워크(13)에 접속되어 있는 다른 장치로부터 장치 정보가 취득된다.
스텝 S5에서, 네트워크 접속 확인 기간이 경과했다고 판정된 경우, 즉, 스텝 S2에서 설정한 네트워크 접속 확인용의 타이머가 타임아웃한 경우, 처리는 스텝 S6으로 진행된다.
스텝 S6에서, MS 관리부(152)는, 네트워크(13) 상에 마스터 장치가 존재하는지의 여부를 판정한다. 네트워크(13) 상에 마스터 장치가 존재하지 않는다고 판정된 경우, 즉, 네트워크 접속 확인 기간 중에, 정보 교환부(151)로부터 MS 관리부(152)에 네트워크(13) 상에 마스터 장치가 존재하는 것이 통지되지 않은 경우, 처리는 스텝 S7로 진행된다.
스텝 S7에서, MS 관리부(152)는, 자기 자신을 마스터 장치로 결정하고, 자기 자신을 마스터 장치로 결정했음을 나타내는 정보를 장치 정보 관리부(153) 및 분산 처리 매니저(114)에 공급한다.
스텝 S8에서, 장치 정보 테이블 관리부(161)는, 장치 정보 테이블을 생성한다. 구체적으로는, 우선, 장치 정보 관리부(153)는, 예를 들면, 미리 기록되어 있는 자기 자신에 관한 정보를 외부 기록부(23)로부터 읽어내거나, 서브 프로세서 제어부(171)로부터 각 서브 프로세서(32)의 상태를 나타내는 정보를 취득하거나, 메인 메모리(22) 및 외부 기록부(23)의 사용량을 조사하거나 하여, 자기 자신의 장치 정보를 생성한다. 이 장치 정보에는 도 8에 도시되는 정보가 포함되고, MS 스테이터스에는, 자신이 마스터 장치인 것을 나타내는 0이 설정된다. 정보 교환부(151)는, 메인 CPU(31)의 로컬 스토리지(41)에 기억되어 있는 다른 장치의 장치 정보를 장치 정보 테이블 관리부(161)에 공급하고, 장치 정보 관리부(153)는 자기 자신의 장치 정보를 장치 정보 테이블 관리부(161)에 공급한다.
장치 정보 테이블 관리부(161)는, 자기 자신 및 네트워크(13)에 접속되어 있는 다른 장치의 장치 정보에 기초하여, 장치 정보 테이블을 생성하고, 생성한 장치 정보 테이블을 메인 메모리(22)에 기억시킨다. 마스터 장치의 장치 정보 테이블에는, 자기 자신 및 다른 장치의 장치 정보가 포함된다. 그 후, 처리는 스텝 S11로 진행된다.
스텝 S6에서, 네트워크(13) 상에 마스터 장치가 존재하지 않는다고 판정된 경우, 즉, 네트워크 접속 확인 기간 중에, 정보 교환부(151)로부터 MS 관리부(152)에 네트워크(13) 상에 마스터 장치가 존재하는 것이 통지되지 않았던 경우, 처리는 스텝 S9로 진행된다.
스텝 S9에서, MS 관리부(152)는, 자기 자신을 슬레이브 장치로 결정하고, 자기 자신을 슬레이브 장치로 결정했음을 나타내는 정보를 장치 정보 관리부(153) 및 분산 처리 매니저(114)에 공급한다.
스텝 S10에서, 장치 정보 테이블 관리부(161)는, 장치 정보 테이블을 생성한다. 구체적으로는, 우선, 장치 정보 관리부(153)는, 전술한 스텝 S8과 마찬가지의 처리에 의해, 자기 자신의 장치 정보를 생성한다. 이 때, 장치 정보의 MS 스테이터스에는, 자신이 슬레이브 장치인 것을 나타내는 1이 설정된다. 정보 교환부(151)는, 메인 CPU(31)의 로컬 스토리지(41)에 기억되어 있는 다른 장치의 장치 정보를 장치 정보 테이블 관리부(161)에 공급하고, 장치 정보 관리부(153)는 자기 자신의 장치 정보를 장치 정보 테이블 관리부(161)에 공급한다.
장치 정보 테이블 관리부(161)는, 자기 자신 및 네트워크(13)에 접속되어 있 는 다른 장치의 장치 정보에 기초하여, 장치 정보 테이블을 생성하고, 생성한 장치 정보 테이블을 메인 메모리(22)에 기억시킨다. 슬레이브 장치의 장치 정보 테이블에는, 자기 자신의 장치 정보와, 다른 장치의 장치 ID 및 MS 스테이터스가 포함된다.
스텝 S11에서, 정보 교환부(151)는, 네트워크(13)에 접속되어 있는 다른 정보 처리 장치(11)로부터 장치 정보의 통지가 요구되었는지의 여부를 판정한다. 정보 교환부(151)는, 후술하는 도 11의 스텝 S44에서, 네트워크(13)에 접속되어 있는 다른 정보 처리 장치(11)로부터 송신되는 장치 정보 요구 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한 경우, 장치 정보의 통지가 요구되었다고 판정하고, 처리는 스텝 S12로 진행된다.
스텝 S12에서, 정보 교환부(151)는, 스텝 S11에서 수신한 장치 정보 요구 소프트웨어 셀에 대하여, 장치 정보의 통지를 요구한 정보 처리 장치(11)에 장치 정보를 통지하고, 네트워크 접속 처리는 종료된다. 구체적으로는, 정보 교환부(151)는, 메인 메모리(22)에 기억되어 있는 장치 정보 테이블 중에서 자기 자신의 장치 정보를 읽어낸다. 정보 교환부(151)는, DMA 커맨드 영역에 장치 정보를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 송신처에 장치 정보의 통지를 요구한 정보 처리 장치(11)의 송수신용 ID가 설정되고, 데이터 영역에 자기 자신의 장치 정보가 저장된 장치 정보 통지 소프트웨어 셀을 생성한다. 정보 교환부(151)는, 생성한 장치 정보 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
후술하는 도 11의 스텝 S45에서, 송신처의 정보 처리 장치(11)는, 송신된 장치 정보 통지 소프트웨어 셀을 수신한다.
스텝 S11에서, 장치 정보의 통지가 요구되지 않았다고 판정된 경우, 즉, 네트워크(13)에 자신 이외의 정보 처리 장치(11)가 접속되어 있지 않고, 장치 정보 요구 소프트웨어 셀이 송신되지 않은 경우, 스텝 S12의 처리는 스킵되고, 네트워크 접속 처리는 종료된다.
다음으로, 도 10의 플로우차트를 참조하여, 정보 처리 대행 전용 장치(12)가 네트워크(13)에 접속되었을 때에, 네트워크(13)에 접속된 정보 처리 대행 전용 장치(12)에 의해 실행되는 네트워크 접속 처리를 설명한다.
스텝 S21에서, 새롭게 네트워크(13)에 접속된 정보 처리 대행 전용 장치(12)의 정보 처리 컨트롤러(51)의 제어용 CPU(61)는, 제어 프로그램 및 디바이스 드라이버에 속하는 각 프로그램을 메인 메모리(52)에 로드한다. 구체적으로는, 도시하지 않은 접속 케이블 등에 의해 정보 처리 대행 전용 장치(12)가 물리적으로 네트워크(13)에 접속된 상태에서, 정보 처리 대행 전용 장치(12)에 주전원이 투입되고, 정보 처리 대행 전용 장치(12)가 전기적 및 기능적으로 네트워크(13)에 접속되었을 때, 제어용 CPU(61)는, 커맨드 세트 ROM(53)으로부터 제어 프로그램 및 디바이스 드라이버에 속하는 각 프로그램을 읽어내고, 그 프로그램을 메인 메모리(52)에 로드한다. 제어용 CPU(61)는, 필요에 따라서, 로드한 프로그램의 실행을 개시한다.
또한, 정보 처리 대행 전용 장치(12)의 주전원이 미리 투입되고, 각 프로그램이 메인 메모리(52)에 로드된 상태에서, 정보 처리 대행 전용 장치(12)가 물리적 으로 네트워크(13)에 접속되고, 정보 처리 대행 전용 장치(12)가 전기적 및 기능적으로 네트워크(13)에 접속된 경우, 스텝 S21의 처리는 스킵된다.
스텝 S22에서, 장치 정보 관리부(252)는, 장치 정보를 생성한다. 구체적으로는, 장치 정보 관리부(252)는, 예를 들면, 미리 기억되어 있는 자기 자신에 관한 정보를 커맨드 세트 ROM(53)으로부터 읽어내거나, 서브 프로세서 제어부(271)로부터 각 서브 프로세서(62)의 상태를 나타내는 정보를 취득하거나, 메인 메모리(52)의 사용량을 조사하거나 하여, 자기 자신의 장치 정보를 생성한다. 장치 정보 관리부(252)는, 생성한 장치 정보를 메인 메모리(52)에 기억시킨다.
스텝 S23에서, 정보 교환부(251)는, 네트워크(13)에 접속되어 있는 다른 장치에 네트워크(13)에 접속된 것을 통지한다. 구체적으로는, 정보 교환부(251)는, DMA 커맨드 영역에 네트워크(13)에 접속된 것을 통지하는 것을 나타내는 스테이터스 회신 커맨드, 및, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID가 설정되고, 송신처 ID를 특정하지 않는 소프트웨어 셀(이하, 네트워크 접속 통지 소프트웨어 셀이라고 함)을 생성한다. 정보 교환부(251)는, 생성한 장치 정보 요구 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서, 네트워크(13)에 송신한다. 즉, 네트워크 접속 통지 소프트웨어 셀이, 네트워크(13)에 접속되어 있는 다른 장치에 브로드캐스팅된다.
스텝 S24에서, 정보 교환부(251)는, 네트워크(13)에 접속되어 있는 정보 처리 장치(11)로부터 장치 정보의 통지가 요구되었는지의 여부를 판정한다. 정보 교환부(251)는, 후술하는 도 11의 스텝 S44에서, 네트워크(13)에 접속되어 있는 정보 처리 장치(11)로부터 송신되는 장치 정보 요구 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(231)를 통해서 수신한 경우, 장치 정보의 통지가 요구되었다고 판정하고, 처리는 스텝 S25로 진행된다.
스텝 S25에서, 정보 교환부(251)는, 스텝 S24에서 수신한 장치 정보 요구 소프트웨어 셀에 대하여, 장치 정보의 통지를 요구한 정보 처리 장치(11)에 장치 정보를 통지하고, 네트워크 접속 처리는 종료된다. 구체적으로는, 정보 교환부(251)는, 메인 메모리(52)에 기억되어 있는 자기 자신의 장치 정보를 읽어내고, DMA 커맨드 영역에 장치 정보를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 송신처에 장치 정보의 통지를 요구한 정보 처리 장치(11)의 송수신용 ID가 설정되고, 데이터 영역에 자기 자신의 장치 정보가 저장된 장치 정보 통지 소프트웨어 셀을 생성한다. 정보 교환부(251)는, 생성한 장치 정보 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서 네트워크(13)에 송신한다.
스텝 S24에서, 장치 정보의 통지가 요구되지 않았다고 판정된 경우, 즉, 네트워크(13)에 정보 처리 장치(11)가 접속되어 있지 않고, 장치 정보 요구 소프트웨어 셀이 송신되지 않은 경우, 스텝 S25의 처리는 스킵되고, 네트워크 접속 처리는 종료된다.
다음으로, 도 11의 플로우차트를 참조하여, 네트워크(13)에 새로운 장치가 접속되었을 때에, 이미 네트워크(13)에 접속되어 있는 정보 처리 장치(11)에 의해 실행되는 네트워크 접속 검출 처리를 설명한다.
스텝 S41에서, 정보 교환부(151)는, 다른 장치가 새롭게 네트워크(13)에 접속된 것을 검출한다. 구체적으로는, 정보 교환부(151)는, 전술한 도 7의 스텝 S2에서, 새롭게 네트워크(13)에 접속된 정보 처리 장치(11)로부터 송신되는 장치 정보 요구 소프트웨어 셀, 또는, 전술한 도 10의 스텝 S23에서, 새롭게 네트워크(13)에 접속된 정보 처리 대행 전용 장치(12)로부터 송신되는 네트워크 접속 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신함으로써, 다른 장치가 새롭게 네트워크(13)에 접속된 것을 검출한다.
스텝 S42에서, 정보 교환부(151)는, 장치 정보의 통지가 요구되었는지의 여부를 판정한다. 장치 정보의 통지가 요구되었다고 판정된 경우, 즉, 스텝 S41에서, 네트워크(13)에 새롭게 접속된 정보 처리 장치(11)로부터 송신되는 장치 정보 요구 소프트웨어 셀을 수신한 경우, 처리는 스텝 S43으로 진행된다.
스텝 S43에서, 도 7의 스텝 S12와 마찬가지의 처리에 의해, 새롭게 접속된 정보 처리 장치(11)에 장치 정보가 통지된다.
스텝 S42에서, 장치 정보의 통지가 요구되지 않았다고 판정된 경우, 즉, 스텝 S41에서, 네트워크(13)에 새롭게 접속된 정보 처리 대행 전용 장치(12)로부터 송신되는 네트워크 접속 통지 소프트웨어 셀을 수신한 경우, 스텝 S43의 처리는 스킵되고, 처리는 스텝 S44로 진행된다.
스텝 S44에서, 정보 교환부(151)는, 새롭게 네트워크(13)에 접속된 장치에 장치 정보의 통지를 요구한다. 구체적으로는, 정보 교환부(151)는, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 새롭게 네트워크(13)에 접 속된 장치의 송수신용 ID가 설정된 장치 정보 요구 소프트웨어 셀을 생성한다. 정보 교환부(151)는, 생성한 장치 정보 요구 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서, 네트워크(13)에 송신한다.
스텝 S45에서, 장치 정보 테이블 관리부(161)는, 장치 정보 테이블을 갱신하고, 네트워크 접속 검출 처리는 종료된다. 구체적으로는, 정보 교환부(151)는, 스텝 S44에서 송신한 장치 정보 요구 소프트웨어 셀에 대한 응답인, 전술한 도 7의 스텝 S12에서, 새롭게 네트워크(13)에 접속된 정보 처리 장치(11)로부터 송신된 장치 정보 통지 소프트웨어 셀, 또는, 또는, 전술한 도 10의 스텝 S25에서, 새롭게 네트워크(13)에 접속된 정보 처리 대행 전용 장치(12)로부터 송신된 장치 정보 통지 소프트웨어 셀을 수신한다. 정보 교환부(151)는, 수신한 장치 정보 통지 소프트웨어 셀에 포함되는 장치 정보를 장치 정보 테이블 관리부(161)에 공급한다.
장치 정보 테이블 관리부(161)는, 취득한 장치 정보에 기초하여, 메인 메모리(22)에 기억되어 있는 장치 정보 테이블에, 새롭게 네트워크(13)에 접속된 장치의 정보를 추가한다.
다음으로, 도 12의 플로우차트를 참조하여, 네트워크(13)에 새로운 장치가 접속되었을 때에, 이미 네트워크(13)에 접속되어 있는 정보 처리 대행 전용 장치(12)에 의해 실행되는 네트워크 접속 검출 처리를 설명한다.
스텝 S61에서, 정보 교환부(251)는, 다른 장치가 새롭게 네트워크(13)에 접속된 것을 검출한다. 구체적으로는, 정보 교환부(251)는, 전술한 도 7의 스텝 S2에서, 새롭게 네트워크(13)에 접속된 정보 처리 장치(11)로부터 송신되는 장치 정 보 요구 소프트웨어 셀, 또는, 전술한 도 10의 스텝 S23에서, 새롭게 네트워크(13)에 접속된 정보 처리 대행 전용 장치(12)로부터 송신되는 네트워크 접속 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(231)를 통해서 수신함으로써, 다른 장치가 새롭게 네트워크(13)에 접속된 것을 검출한다.
스텝 S62에서, 정보 교환부(251)는, 장치 정보의 통지가 요구되었는지의 여부를 판정한다. 장치 정보의 통지가 요구되었다고 판정된 경우, 즉, 스텝 S61에서, 네트워크(13)에 새롭게 접속된 정보 처리 장치(11)로부터 송신되는 장치 정보 요구 소프트웨어 셀을 수신한 경우, 처리는 스텝 S63으로 진행된다.
스텝 S63에서, 도 10의 스텝 S25와 마찬가지의 처리에 의해, 새롭게 접속된 정보 처리 장치(11)에 장치 정보가 통지되고, 네트워크 접속 검출 처리는 종료된다.
스텝 S62에서, 장치 정보의 통지가 요구되지 않았다고 판정된 경우, 즉, 스텝 S61에서, 네트워크(13)에 새롭게 접속된 정보 처리 대행 전용 장치(12)로부터 송신되는 네트워크 접속 통지 소프트웨어 셀을 수신한 경우, 스텝 S63의 처리는 스킵되고, 네트워크 접속 검출 처리는 종료된다.
이와 같이 해서, 정보 처리 장치(11)는, 네트워크(13)에 접속되어 있는 다른 정보 처리 장치(11)와 장치 정보를 교환하고, 또한, 정보 처리 대행 전용 장치(12)로부터 장치 정보를 취득하고, 장치 정보 테이블을 생성 또는 갱신하고, 네트워크(13)에 접속되어 있는 다른 장치의 능력이나 기능 등을 파악한다. 또한, 정보 처리 대행 전용 장치(12)에는 다른 장치로부터 장치 정보가 송신되지 않도록 되기 때문에, 네트워크(13)의 트래픽을 경감할 수 있다.
또한, 각 정보 처리 장치(11)의 정보 교환부(151)는, 자신이 마스터 장치인지, 또는, 슬레이브 장치인지에 상관없이, 정기적으로 장치 정보 요구 소프트웨어 셀을 네트워크(13)에 송신하고, 다른 장치의 장치 정보를 조회함으로써, 다른 장치의 상황을 감시한다. 그 결과, 네트워크(13)의 접속 상태로 변화가 있었던 경우에는, 그 정보를 장치 정보 테이블 관리부(161)에 통지하고, 장치 정보 테이블을 갱신한다.
또한, 슬레이브 장치인 각 정보 처리 장치(11)의 정보 교환부(151), 및, 각 정보 처리 대행 전용 장치(12)의 정보 교환부(251)는, 메인 메모리의 용량이나 서브 프로세서의 사용율 등의 변화에 의해 상태가 변화된 경우, 필요에 따라서, 장치 정보 통지 소프트웨어 셀을 마스터 장치 또는 다른 슬레이브 장치에 송신한다. 그 결과, 마스터 장치는, 다른 장치의 상태를 항상 파악할 수 있다.
또한, 마스터 장치가 네트워크(13)로부터 절단된 경우, 예를 들면, 네트워크(13)에 접속되어 있는 정보 처리 장치(11) 중, 가장 작은 값의 장치 ID를 갖는 정보 처리 장치(11)를 마스터 장치로 하도록 하면 된다.
다음으로, 도 13 내지 도 17을 참조하여, 정보 처리 시스템(1)에서의 분산 처리를 설명한다. 또한, 이하의 설명에서, 정보 처리 시스템(1)에 있어서, 도 7 내지 도 12를 참조하여 전술한 처리가 이미 행해지고, 네트워크(13)에 접속되어 있는 정보 처리 장치(11) 중 1대가 마스터 장치로 되어 있는 것으로 한다. 또한, 이하, 유저가 슬레이브 장치인 정보 처리 장치(11) 중 1대에 대하여, 그 정보 처리 장치(11)에 설치되어 있는 조작부를 조작하여, 처리의 실행을 명령한 경우의 예에 대해서 설명한다. 또한, 이하, 마스터 장치인 정보 처리 장치(11)를 간단히 마스터 장치라고도 하고, 유저로부터 처리의 실행이 명령된 정보 처리 장치(11)를 처리 의뢰원이라고도 한다.
우선, 도 13의 플로우차트를 참조하여, 처리 의뢰원인 정보 처리 장치(11)에 의해 실행되는 시퀀스 처리 의뢰 처리를 설명한다.
스텝 S101에서, 서브 프로세서 제어부(171)는, 처리 의뢰원의 도시하지 않은 조작부를 조작함으로써, 유저에 의해 입력된 처리의 명령을 취득하고, 취득한 명령을 분산 처리 매니저(114)에 공급한다.
스텝 S102에서, 시퀀스 처리 의뢰부(185)는, 마스터 장치에 시퀀스 처리의 실행을 의뢰한다. 구체적으로는, 시퀀스 처리 의뢰부(185)는, 유저에 의해 입력된 명령받은 처리 중, 자신이 처리할 수 없어, 다른 장치에 의뢰할 필요가 있는 일련의 처리(시퀀스 처리)를 파악한다.
시퀀스 처리 의뢰부(185)는, DMA 커맨드 영역에 시퀀스 처리 의뢰 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 시퀀스 처리를 나타내는 정보, 시퀀스 처리의 실행에 필요한 데이터, 데이터의 속성, 각종 파라미터 등을 저장한 소프트웨어 셀(이하, 시퀀스 처리 의뢰 소프트웨어 셀이라고 함)을 생성한다. 예를 들면, 시퀀스 처리를 나타내는 정보로서, 마스터 장치가 인식할 수 있는 소정의 정보(예를 들면, 고화질 AV 데이터 재생, 화상 데이터의 MPEG(Moving Picture Experts Group)2 디코드 또는 인코드 등을 나타내는 정보)가 설정된다. 시퀀스 처리 의뢰부(185)는, 생성한 시퀀스 처리 의뢰 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
후술하는 도 14의 스텝 S121에서, 마스터 장치는, 처리 의뢰원으로부터 송신된 시퀀스 처리 의뢰 소프트웨어 셀을 수신한다.
스텝 S103에서, 시퀀스 처리 의뢰부(185)는, 후술하는 도 15의 스텝 S141에서, 마스터 장치로부터 송신되는 시퀀스 처리의 종료를 통지하는 소프트웨어 셀(이하, 종료 통지 소프트웨어 셀이라고 함)을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한다.
스텝 S104에서, 처리 의뢰원의 메인 CPU(31)는, 유저에게 처리 결과를 통지하고, 시퀀스 처리 의뢰 처리는 종료된다. 구체적으로는, 예를 들면, 시퀀스 처리 의뢰부(185)는, 스텝 S101에서 입력된 유저의 처리의 명령에 의해 메인 CPU(31) 또는 서브 프로세서(32)에 의해 실행되고 있는 프로그램(예를 들면, 기능 프로그램)에, 종료 통지 소프트웨어 셀의 데이터 영역에 저장되어 있는 시퀀스 처리의 처리 결과를 나타내는 데이터를 공급한다. 메인 CPU(31) 또는 서브 프로세서(32)에 의해 실행되고 있는 프로그램은, 공급된 데이터에 기초하여, 소정의 처리를 실행하고, 그 처리 결과를 유저에게 통지한다.
다음으로, 도 14의 플로우차트를 참조하여, 도 13의 처리 의뢰원에서의 시퀀스 처리 의뢰 처리에 대응하여, 마스터 장치인 정보 처리 장치(11)에 의해 실행되는 시퀀스 처리 실행 처리를 설명한다.
스텝 S121에서, 시퀀스 처리 관리부(181)는, 전술한 도 13의 스텝 S102에서, 처리 의뢰원으로부터 송신된 시퀀스 처리 의뢰 소프트웨어 셀을 수신하고, 처리 의뢰원으로부터 의뢰받은 시퀀스 처리를 나타내는 정보를 기능 프로그램 결정부(182)에 공급한다.
스텝 S122에서, 기능 프로그램 결정부(182)는, 처리 의뢰원으로부터 의뢰받은 시퀀스 처리를 행하기 위해서 필요한 기능 프로그램(이하, 실행 대상 기능 프로그램이라고 함)을 결정한다. 예를 들면, 기능 프로그램 결정부(182)는, 슬레이브 장치로부터 의뢰받은 각 시퀀스 처리에 대해서, 실행할 필요가 있는 기능 프로그램의 대응표를 관리하고 있으며, 그 대응 표에 기초하여, 실행 대상 기능 프로그램을 결정한다. 기능 프로그램 결정부(182)는, 결정한 실행 대상 기능 프로그램을 나타내는 정보를 분산 처리 장치 결정부(183)에 공급한다.
스텝 S123에서, 분산 처리 장치 결정부(183)는, 처리의 실행을 의뢰하는 정보 처리 대행 전용 장치(12)를 결정한다. 구체적으로는, 분산 처리 장치 결정부(183)는, 각 실행 대상 기능 프로그램에 대해서 필요해지는 요구 스펙을 읽어냄과 함께, 메인 메모리(22)에 기억되어 있는 장치 정보 테이블을 참조하여, 네트워크(13)에 접속되어 있는 각각의 정보 처리 대행 전용 장치(12)의 장치 정보를 읽어낸다.
분산 처리 장치 결정부(183)는, 각 정보 처리 대행 전용 장치(12)의 장치 정보와, 실행 대상 기능 프로그램의 실행에 필요해지는 요구 스펙을 순차적으로 비교하여, 요구 스펙에 나타내어지는 기능 실행 커맨드에 의해 실행이 명령되고, 실행 대상 기능 프로그램과 동등한 처리를 실행하는 기능 프로그램을 커맨드 세트 ROM(53)에 기억하고 있고, 또한, 그 밖의 요구 스펙을 만족하는 정보 처리 대행 전용 장치(12)를 특정한다. 여기에서, 1개의 실행 대상 기능 프로그램에 대하여, 복수의 정보 처리 대행 전용 장치(12)가 특정된 경우, 예를 들면, 장치 ID가 가장 작은 정보 처리 대행 전용 장치(12)를 선택하는 등 하여, 정보 처리 대행 전용 장치(12)가 선택된다. 분산 처리 장치 결정부(183)는, 처리의 실행을 의뢰하는 정보 처리 대행 전용 장치(12)를 나타내는 정보를 분산 처리 관리부(184)에 공급한다.
스텝 S124에서, 분산 처리 장치 결정부(183)는, 스텝 S123의 처리의 결과에 기초하여, 실행 의뢰처가 결정되어 있지 않은 실행 대상 기능 프로그램이 있는지의 여부를 판정한다. 실행 의뢰처가 결정되어 있지 않은 실행 대상 기능 프로그램이 있다고 판정된 경우, 즉, 네트워크(13)에 접속되어 있는 정보 처리 대행 전용 장치(12)에 의뢰할 수 없는 처리가 있는 경우, 처리는 스텝 S125로 진행된다.
스텝 S125에서, 분산 처리 장치 결정부(183)는, 처리의 실행을 의뢰하는 정보 처리 장치(11)를 결정한다. 구체적으로는, 분산 처리 장치 결정부(183)는, 실행 의뢰처가 결정되어 있지 않은 각 실행 대상 기능 프로그램에 대해서 필요해지는 요구 스펙을 읽어냄과 함께, 메인 메모리(22)에 기억되어 있는 장치 정보 테이블을 참조하여, 네트워크(13)에 접속되어 있는 각각의 정보 처리 장치(11)의 장치 정보를 읽어낸다.
분산 처리 장치 결정부(183)는, 각 정보 처리 장치(11)의 장치 정보와, 각 실행 대상 기능 프로그램의 실행에 필요해지는 요구 스펙을 순차적으로 비교하여, 요구 스펙을 만족하는 정보 처리 장치(11)를 특정한다. 여기에서, 1개의 실행 대상 기능 프로그램에 대하여, 복수의 정보 처리 장치(11)가 특정된 경우, 예를 들면, 장치 ID가 가장 작은 정보 처리 장치(11)를 선택하는 등 하여, 정보 처리 장치(11)가 선택된다. 분산 처리 장치 결정부(183)는, 실행 대상 기능 프로그램의 실행을 의뢰하는 정보 처리 장치(11)를 나타내는 정보를 분산 처리 관리부(184)에 공급한다.
스텝 S126에서, 분산 처리 관리부(184)는, 스텝 S125에서 결정된 정보 처리 장치(11)에 실행 기능 대상 프로그램을 로드시키기 위한 소프트웨어 셀(이하, 프로그램 로드 소프트웨어 셀이라고 함)을 생성한다. 구체적으로는, 분산 처리 관리부(184)는, DMA 커맨드 영역에, 로드 커맨드, 및, 실행 대상 기능 프로그램을 송신처의 정보 처리 장치(11)의 메인 메모리(22)에 로드시키는 경우, 로드처의 메인 메모리(22)의 어드레스, 또는, 실행 대상 기능 프로그램을 송신처의 정보 처리 장치(11)의 서브 프로세서(32)에 로드시키는 경우, 그 서브 프로세서(32)의 서브 프로세서 ID, 및, 로드처의 서브 프로세서(32)의 로컬 스토리지(42)의 어드레스가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 실행 대상 기능 프로그램을 로드시키는 정보 처리 장치(11)의 송수신용 ID가 설정되고, 프로그램 영역에 로드시키는 실행 대상 기능 프로그램을 저장한 프로그램 로드 소프트웨어 셀을 생성한다.
또한, 송신되는 실행 대상 기능 프로그램은, 예를 들면, 마스터 장치의 외부 기록부(23)에 기록되어 있는 것이다. 또한, 필요에 따라서, 마스터 장치가 다른 정보 처리 장치(11)로부터 실행 대상 기능 프로그램을 취득하도록 하여도 된다.
스텝 S127에서, 분산 처리 관리부(184)는, 생성한 프로그램 로드 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서, 네트워크(13)에 송신한다.
후술하는 도 17의 스텝 S171에서, 송신처의 정보 처리 장치(11)는, 마스터 장치로부터 송신된 프로그램 로드 소프트웨어 셀을 수신한다.
스텝 S128에서, 분산 처리 관리부(184)는, 분산 처리 관리 테이블을 갱신한다. 구체적으로는, 분산 처리 관리부(184)는, 분산 처리 관리 테이블에, 프로그램 로드 소프트웨어 셀에 의해 송신한 기능 프로그램의 기능 프로그램 ID, 로드처의 정보 처리 장치(11)의 장치 ID, 및, 메인 메모리(22)의 어드레스, 또는, 서브 프로세서(32)의 서브 프로세서 ID 및 로컬 스토리지(42)의 어드레스 등을 포함하는 정보(이하, 기능 프로그램 로드 정보라고 함)를 기억시킨다.
스텝 S124에서, 실행 의뢰처가 결정되어 있지 않은 실행 대상 기능 프로그램이 없다고 판정된 경우, 즉, 모든 처리의 실행이 정보 처리 대행 전용 장치(12)에 의뢰되는 경우, 스텝 S125 내지 S128의 처리는 스킵되고, 처리는 스텝 S129로 진행된다.
분산 처리 관리부(184)는, 스텝 S129에서, 실행 대상 기능 프로그램을 1개 선택하고, 스텝 S130에서, 선택한 실행 대상 기능 프로그램에 의해 실행되는 처리가, 정보 처리 대행 전용 장치(12)에 실행을 의뢰하는 처리인지의 여부를 판정한다. 정보 처리 대행 전용 장치(12)에 실행을 의뢰하는 처리라고 판정된 경우, 처리는 스텝 S131로 진행된다.
스텝 S131에서, 분산 처리 관리부(184)는, 기능 실행 커맨드의 실행을 의뢰하는 소프트웨어 셀(이하, 커맨드 실행 소프트웨어 셀이라고 함)을 생성한다. 구체적으로는, 분산 처리 관리부(184)는, 시퀀스 처리 관리부(181)로부터 처리 의뢰원으로부터 송신된 시퀀스 처리 의뢰 소프트웨어 셀을 취득한다.
분산 처리 관리부(184)는, DMA 커맨드의 영역에, 스텝 S129에서 선택한 실행 대상 기능 프로그램과 동등한 처리를 행하는 정보 처리 대행 전용 장치(12)의 커맨드 세트 ROM(53)에 기억되어 있는 기능 프로그램의 실행을 명령하는 기능 실행 커맨드, 기능 실행 커맨드에 의해 실행이 명령되는 기능 프로그램을 실행하는 서브 프로세서(62)의 서브 프로세서 ID, 및, 기능 프로그램을 로드하는 서브 프로세서(62)의 로컬 스토리지(72)의 어드레스가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 기능 실행 커맨드의 실행을 의뢰하는 정보 처리 대행 전용 장치(12)의 송수신용 ID가 설정된 커맨드 실행 소프트웨어 셀을 생성한다. 또한, 이 커맨드 실행 소프트웨어 셀의 셀 인터페이스에는, 기능 실행 커맨드의 실행에 필요한 서브 프로세서(62)의 수, 서브 프로세서(62)의 로컬 스토리지(72)의 메모리량 등이 설정되고, 데이터 영역에는, 도 9를 참조하여 전술한 기능 실행 커맨드의 실행에 필요한 각종 파라미터 등이 저장된다.
스텝 S132에서, 분산 처리 관리부(184)는, 생성한 커맨드 실행 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서, 네트워크(13)에 송신한다. 그 후, 처리는 스텝 S135로 진행된다.
송신처의 정보 처리 대행 전용 장치(12)는, 후술하는 도 16의 스텝 S151에 서, 마스터 장치로부터 송신된 커맨드 실행 소프트웨어 셀을 수신한다.
스텝 S130에서, 정보 처리 장치(11)에 실행을 의뢰하는 처리라고 판정된 경우, 처리는 스텝 S133으로 진행된다.
스텝 S133에서, 분산 처리 관리부(184)는, 스텝 S129에서 선택한 실행 대상 기능 프로그램의 실행을 의뢰하는 소프트웨어 셀(이하, 프로그램 실행 소프트웨어 셀이라고 함)을 생성한다. 구체적으로는, 분산 처리 관리부(184)는, 시퀀스 처리 관리부(181)로부터 처리 의뢰원으로부터 송신된 시퀀스 처리 의뢰 소프트웨어 셀을 취득한다.
분산 처리 관리부(184)는, DMA 커맨드의 영역에, 킥 커맨드, 실행 대상 기능 프로그램을 실행시키는 서브 프로세서(32)의 서브 프로세서 ID, 및, 실행 대상 기능 프로그램의 처리를 개시하는 어드레스에 관한 정보를 나타내는 프로그램 카운터가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 실행 대상 기능 프로그램의 실행을 의뢰하는 정보 처리 장치(11)의 송수신용 ID가 설정된 프로그램 실행 소프트웨어 셀을 생성한다. 또한, 이 프로그램 실행 소프트웨어 셀의 셀 인터페이스에는, 실행 대상 기능 프로그램의 실행에 필요한 서브 프로세서(32)의 수, 서브 프로세서(32)의 로컬 스토리지(42)의 메모리량 등이 설정되고, 데이터 영역에는, 실행 대상 기능 프로그램의 실행에 필요한 데이터나 파라미터 등이 저장된다.
스텝 S134에서, 분산 처리 관리부(184)는, 생성한 프로그램 실행 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서, 네트워크(13)에 송신한다. 그 후, 처리는 스텝 S135로 진행된다.
송신처의 정보 처리 장치(11)는, 후술하는 도 17의 스텝 S173에서, 마스터 장치로부터 송신된 프로그램 실행 소프트웨어 셀을 수신한다.
스텝 S135에서, 분산 처리 관리부(184)는, 분산 처리 관리 테이블을 갱신한다. 구체적으로는, 분산 처리 관리부(184)는, 분산 처리 관리 테이블에, 실행을 의뢰한 기능 프로그램(기능 실행 커맨드)의 기능 프로그램 ID, 및, 기능 실행 커맨드의 실행을 의뢰한 정보 처리 대행 전용 장치(12)의 장치 ID 및 서브 프로세서(62)의 서브 프로세서 ID, 또는, 실행 대상 기능 프로그램의 실행을 의뢰한 정보 처리 장치(11)의 장치 ID 및 서브 프로세서(62)의 서브 프로세서 ID 등을 포함하는 정보(이하, 기능 프로그램 실행 정보라고 함)를 기억시킨다.
스텝 S136에서, 분산 처리 관리부(184)는, 모든 처리의 실행을 의뢰했는지의 여부를 판정한다. 모든 처리의 실행을 의뢰하지 않고 있다, 즉, 스텝 S122에서 결정된 모든 실행 대상 기능 프로그램의 실행을 의뢰하지 않고 있다고 판정된 경우, 처리는 스텝 S129로 되돌아가고, 스텝 S136에서, 모든 처리를 의뢰했다고 판정될 때까지, 스텝 S129 내지 S136의 처리가 반복 실행된다. 즉, 모든 실행 대상 기능 프로그램의 실행이, 슬레이브 장치인 정보 처리 장치(11) 또는 정보 처리 대행 전용 장치(12)에 의뢰된다. 또한, 필요에 따라서, 마스터 장치 자신이 실행 기능 프로그램을 실행하도록 하여도 된다.
스텝 S136에서, 모든 처리의 실행을 의뢰했다고 판정된 경우, 처리는 스텝 S137로 진행된다.
스텝 S137에서, 분산 처리 관리부(184)는, 종료 통지 소프트웨어 셀을 수신했는지의 여부를 판정한다. 구체적으로는, 분산 처리 관리부(184)는, 스텝 S132에서 송신한 커맨드 실행 소프트웨어 셀에 대하여, 후술하는 도 16의 스텝 S154에서, 기능 실행 커맨드의 실행을 의뢰한 정보 처리 대행 전용 장치(12)로부터 송신되는 종료 통지 소프트웨어 셀, 또는, 스텝 S134에서 송신한 프로그램 실행 소프트웨어 셀에 대하여, 후술하는 도 17의 스텝 S175에서, 기능 실행 대상 프로그램의 실행을 의뢰한 정보 처리 장치(11)로부터 송신되는 종료 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S138로 진행된다.
스텝 S138에서, 분산 처리 관리부(184)는, 수신한 종료 통지 소프트웨어 셀을 메인 메모리(22)에 기억시킨다.
스텝 S139에서, 분산 처리 관리부(184)는, 분산 처리 관리 테이블을 갱신한다. 구체적으로는, 분산 처리 관리부(184)는, 스텝 S137에서 수신한 종료 통지 소프트웨어 셀에 의해 종료가 통지된 기능 실행 대상 프로그램에 관한 기능 프로그램 실행 정보를 분산 처리 관리 테이블로부터 삭제한다.
스텝 S140에서, 분산 처리 관리부(184)는, 모든 처리의 실행이 종료되었는지의 여부를 판정한다. 아직 실행이 종료되지 않은 처리가 있다고 판정된 경우, 즉, 송신한 커맨드 실행 소프트웨어 셀 및 프로그램 실행 소프트웨어 셀에 대한 종료 통지 소프트웨어 셀을 아직 모두 수신하지 않은 경우, 처리는 스텝 S137로 되돌아가고, 스텝 S140에서, 모든 처리의 실행이 종료되었다고 판정될 때까지, 스텝 S137 내지 S140의 처리가 반복 실행된다.
스텝 S140에서, 모든 처리의 실행이 종료되었다고 판정된 경우, 즉, 송신한 커맨드 실행 소프트웨어 셀 및 프로그램 실행 소프트웨어 셀에 대한 종료 통지 소프트웨어 셀을 모두 수신한 경우, 처리는 스텝 S141로 진행된다.
스텝 S141에서, 시퀀스 처리 관리부(181)는, 종료 통지 소프트웨어 셀을 네트워크(13)에 송신하고, 시퀀스 처리 실행 처리는 종료된다. 구체적으로는, 분산 처리 관리부(184)는, 모든 실행 기능 대상 프로그램의 실행이 종료된 것을 나타내는 정보를 시퀀스 처리 관리부(181)에 공급한다.
시퀀스 처리 관리부(181)는, DMA 커맨드 영역에 시퀀스 처리의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID가 자기 자신의 송수신용 ID, 송신처 ID에 시퀀스 처리의 처리 의뢰원의 송수신용 ID가 설정된 종료 통지 소프트웨어 셀을 생성한다. 또한, 이 종료 통지 소프트웨어 셀의 데이터 영역에는, 처리의 실행을 의뢰한 각 장치로부터 수신한 종료 통지 소프트웨어 셀의 데이터 영역에 저장되어 있는 처리 결과에 기초하여 생성된, 시퀀스 처리의 처리 결과를 나타내는 데이터 등이 저장된다. 시퀀스 처리 관리부(181)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서, 네트워크(13)에 송신한다.
다음으로, 도 16의 플로우차트를 참조하여, 도 14 및 도 15의 마스터 장치에서의 시퀀스 처리 실행 처리에 대응하여, 기능 실행 커맨드의 실행을 의뢰받은 정보 처리 대행 전용 장치(12)에 의해 실행되는 기능 실행 커맨드 실행 처리를 설명 한다.
스텝 S151에서, 서브 프로세서 제어부(271)는, 전술한 도 15의 스텝 S132에서 마스터 장치로부터 송신된 커맨드 실행 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(231)를 통해서 수신한다.
스텝 S152에서, 서브 프로세서 제어부(271)는, 기능 실행 커맨드에 의해 실행이 명령된 기능 프로그램을 서브 프로세서(62)에 로드시킨다. 구체적으로는, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 저장되어 있는 기능 실행 커맨드 실행이 명령된 기능 프로그램을 커맨드 세트 ROM(53)으로부터 읽어낸다. 서브 프로세서 제어부(271)는, 읽어낸 기능 프로그램을, 커맨드 실행 소프트웨어 셀에 의해 지정된 서브 프로세서(62)(이하, 커맨드 실행 서브 프로세서라고 함)의 로컬 스토리지(72)에 로드시킨다.
스텝 S153에서, 서브 프로세서 제어부(271)는, 커맨드 실행 서브 프로세서에, 기능 프로그램을 실행시킨다. 구체적으로는, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 포함되는 기능 프로그램의 실행에 필요한 각종 파라미터를, 커맨드 실행 서브 프로세서에 공급한다. 커맨드 실행 서브 프로세서는, 서브 프로세서 제어부(271)의 제어를 바탕으로, 커맨드 실행 서브 프로세서에 로드된 기능 프로그램을 실행한다.
스텝 S154에서, 서브 프로세서 제어부(271)는, 스텝 S151에서 수신한 커맨드 실행 소프트웨어 셀에 대한 종료 통지 소프트웨어 셀을 마스터 장치에 송신하고, 기능 실행 커맨드 실행 처리는 종료된다. 구체적으로는, 커맨드 실행 서브 프로세 서는, 기능 프로그램의 실행이 종료되었을 때, 그 처리 결과를 나타내는 데이터를 서브 프로세서 제어부(271)에 공급한다.
서브 프로세서 제어부(271)는, DMA 커맨드 영역에 기능 실행 커맨드의 실행의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 커맨드 실행 서브 프로세서로부터 취득한 처리 결과를 나타내는 데이터 등을 저장한 종료 통지 소프트웨어 셀을 생성한다. 서브 프로세서 제어부(271)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서 네트워크(13)에 송신한다.
다음으로, 도 17의 플로우차트를 참조하여, 도 14 및 도 15의 마스터 장치에서의 시퀀스 처리 실행 처리에 대응하여, 실행 대상 기능 프로그램의 실행을 의뢰받은 정보 처리 장치(11)에 의해 실행되는 기능 프로그램 실행 처리를 설명한다.
스텝 S171에서, 서브 프로세서 제어부(171)는, 전술한 도 14의 스텝 S127에서 마스터 장치로부터 송신된 프로그램 로드 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한다.
스텝 S172에서, 서브 프로세서 제어부(171)는, 기능 프로그램(실행 대상 기능 프로그램)을 로드시킨다. 구체적으로는, 서브 프로세서 제어부(171)는, 프로그램 로드 소프트웨어 셀의 프로그램 영역에 저장되어 있는 기능 프로그램을, 프로그램 로드 소프트웨어 셀에 의해 지정된 메인 메모리(22), 또는, 서브 프로세서(32)의 로컬 스토리지(42)에 로드시킨다.
스텝 S173에서, 서브 프로세서 제어부(171)는, 전술한 도 15의 스텝 S134에서 마스터 장치로부터 송신된 프로그램 실행 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한다.
스텝 S174에서, 서브 프로세서 제어부(171)는, 기능 프로그램(실행 대상 기능 프로그램)을 실행시킨다. 구체적으로는, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀에 의해 지정된 서브 프로세서(32)(이하, 프로그램 실행 서브 프로세서라고 함), 즉, 스텝 S172에서 기능 프로그램을 로드시킨 서브 프로세서(32)에, 프로그램 실행 소프트웨어 셀의 데이터 영역에 저장되어 있는, 기능 프로그램의 실행에 필요한 데이터나 파라미터 등을 공급한다. 프로그램 실행 서브 프로세서는, 서브 프로세서 제어부(171)의 제어를 바탕으로, 스텝 S172에서 로드되어 있는 기능 프로그램을 실행한다.
또한, 프로그램 실행 소프트웨어 셀에 의해 메인 CPU(31)가 기능 프로그램을 실행하도록 지정된 경우, 메인 CPU(31)가 기능 프로그램을 실행한다.
스텝 S175에서, 서브 프로세서 제어부(171)는, 스텝 S173에서 수신한 프로그램 실행 소프트웨어 셀에 대한 종료 통지 소프트웨어 셀을 마스터 장치에 송신하고, 기능 프로그램 실행 처리는 종료된다. 구체적으로는, 프로그램 실행 서브 프로세서는, 기능 프로그램의 실행이 종료되었을 때, 그 처리 결과를 나타내는 데이터를 서브 프로세서 제어부(171)에 공급한다.
서브 프로세서 제어부(171)는, DMA 커맨드 영역에 기능 프로그램의 실행의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 프로그램 실행 서브 프로세서로부터 취득한 처리 결과를 나타내는 데이터 등을 저장한 종료 통지 소프트웨어 셀을 생성한다. 서브 프로세서 제어부(171)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
이와 같이, 정보 처리 시스템(1)에 있어서 분산 처리를 행하는 경우, 각 정보 처리 대행 전용 장치(12)가 실행하도록 특화되어 있는 처리를, 그 처리에 대응하는 정보 처리 대행 전용 장치(12)에서 실행하고, 그 밖의 처리를 범용적인 처리를 행하는 정보 처리 장치(11)에서 실행하므로, 각 장치의 능력에 적합한 처리를 실행시킬 수 있다. 따라서, 네트워크(13)에 접속된 각 장치의 자원을 보다 유효하게 이용할 수 있고, 또한, 보다 효율적이고 또한 보다 고속으로 처리를 실행할 수 있다. 또한, 정보 처리 대행 전용 장치(12)에 처리의 실행을 의뢰하는 경우, 기능 프로그램을 송신할 필요가 없기 때문에, 네트워크(13)에 의해 전송되는 데이터량이 감소하여, 네트워크(13)의 트래픽을 경감할 수 있다.
또한, 정보 처리 장치(11)가 실행하는 기능 프로그램을 추가함으로써, 정보 처리 시스템(1)의 기능을 용이하게 확장할 수 있다. 또한, 정보 처리 시스템(1)에 새로운 정보 처리 대행 전용 장치(12)를 추가하여, 정보 처리 장치(11)가 실행하고 있는 처리를 대행시킴으로써, 범용적인 처리를 행하는 정보 처리 장치(11)의 처리 능력을 향상시키는 경우에 비하여, 보다 염가로 정보 처리 시스템(1) 전체의 처리 능력을 향상시킬 수 있다. 또한, 정보 처리 대행 전용 장치(12)의 기능 프로그램 은, 정보 처리 장치(11)의 기능 프로그램에 비하여, 소규모이며, 동일한 기능을 실현하는 경우, 개발 공수를 삭감할 수 있다.
또한, 정보 처리 시스템(1)은, 마스터 장치인 정보 처리 장치(11) 이외의 장치를, 정보 처리 장치(11)만, 또는, 정보 처리 대행 전용 장치(12)만으로 구성하는 것도 가능하다.
다음으로, 도 18 내지 도 36을 참조하여, 본 발명을 적용한 정보 처리 시스템(1)에서의 처리의 보다 구체적인 예에 대해서 설명한다.
도 18은, 본 발명을 적용한 정보 처리 시스템(1)의 구성의 일례인 정보 처리 시스템(1-11)을 도시하는 블록도이다. 정보 처리 시스템(1-11)에서는, 정보 처리 장치(11-1 내지 11-4), 및 정보 처리 대행 전용 장치(12-1, 12-2)가, 네트워크(13)를 통해서 서로 접속되어 있다.
또한, 이하, 정보 처리 시스템(1-11)에 있어서, 사전에 도 7 내지 도 12를 참조하여 전술한 네트워크(13)에의 접속 처리가 실행되고, 정보 처리 장치(11-1)가 마스터 장치로 되고, 정보 처리 장치(11-2 내지 11-4) 및 정보 처리 대행 전용 장치(12-1, 12-2)가 슬레이브 장치로 되어 있는 것으로 한다. 또한, 정보 처리 장치(11-2)는, 전술한 정보 처리 장치(11)의 통신 기능이나 분산 처리 기능 등을 갖고, 외부 기록부(23) 등에 기록되어 있는 AV(Audio Visual) 데이터의 재생을 행하는, 예를 들면, DVD 플레이어 또는 비디오 데크 등의 AV 데이터 재생 장치인 것으로 한다. 또한, 마스터 장치인 정보 처리 장치(11-1)에는, 예를 들면, LCD(Liquid Crystal Display) 등으로 구성되고, 분산 처리의 진척 상황을 표시하는 표시 부(301)가 접속되어 있다. 또한, AV 데이터 재생 장치인 정보 처리 장치(11-2)에는, 모니터(311) 및 스피커(102)가 접속되어 있다.
또한, 이하, 적절히, 정보 처리 장치(11-1)를 마스터 장치, 정보 처리 장치(11-2)를 AV 데이터 재생 장치, 정보 처리 대행 전용 장치(12-1)를 슬레이브 장치 A, 정보 처리 대행 전용 장치(12-2)를 슬레이브 장치 B, 정보 처리 장치(11-3)를 슬레이브 장치 C, 및, 정보 처리 장치(11-4)를 슬레이브 장치 D라고도 칭한다.
도 19는, 정보 처리 시스템(1-11)에 의해 실현되는 AV 데이터 재생 기능의 처리의 흐름을 도시하고 있다. AV 데이터 재생 기능은, 우선, 외부 기록부(23)로부터 AV 데이터를 읽어내는 AV 데이터 읽어내기 처리, 읽어낸 AV 데이터로부터 분리된 영상 데이터를 디코드하는 영상 디코드 처리, 디코드 및 영상 데이터에 노이즈 제거 등을 실시하는 화질 개선 처리, 화질 개선 처리를 실시한 영상 데이터에 기초한 영상을 모니터(311)에 표시시키는 영상 출력 처리, AV 데이터로부터 분리된 음성 데이터를 디코드하는 음성 디코드 처리, 및, 디코드 및 음성 데이터에 기초한 음성을 스피커(312)로부터 출력시키는 음성 출력 처리에 의해 구성된다.
도 20은, 정보 처리 시스템(1-11)에서의, AV 데이터 재생 기능을 구성하는 각 처리의 배분을 도시하는 도면이다.
AV 데이터 재생 장치인 정보 처리 장치(11-2)는, AV 데이터 읽어내기 처리, 영상 출력 처리, 및, 음성 출력 처리를 실행한다. 또한, 정보 처리 장치(11-2)는, 자신이 갖는 기능 프로그램에 속하는 영상 출력 처리용 프로그램을 실행함으로써 영상 출력 처리를 행하고, 음성 출력 처리용 프로그램을 실행함으로써 음성 출력 처리를 행하는 것으로 한다.
슬레이브 장치 A인 정보 처리 대행 전용 장치(12-1)는, 영상 데이터의 디코드 처리를 행하도록 특화된 서브 프로세서(62)(이하, 영상 디코드 처리용 서브 프로세서라고 함)와 음성 데이터의 디코드 처리를 행하도록 특화된 서브 프로세서(62)(이하, 음성 디코드 처리용 서브 프로세서라고 함)를 갖고, 영상 디코드 처리 및 음성 디코드 처리를 행한다.
영상 디코드 처리용 서브 프로세서는, 예를 들면, DSP로 되고, mpeg2_video_decode 커맨드에 의해 실행이 명령되는 기능 프로그램을 실행함으로써, 커맨드 세트 ROM(53)에 기억되어 있는 기능 프로그램을 실행하고, 영상 디코드 처리를 행한다. 음성 디코드 처리용 서브 프로세서는, 예를 들면, DSP로 되고, mpeg2_video_decode 커맨드에 의해 실행이 명령되는 기능 프로그램을 실행함으로써, 커맨드 세트 ROM(53)에 기억되어 있는 기능 프로그램을 실행하고, 음성 디코드 처리를 행하는 것으로 한다.
슬레이브 장치 B인 정보 처리 대행 전용 장치(12-2)는, 영상 데이터의 화질 개선 처리를 행하도록 특화된 서브 프로세서(62)(이하, 화질 개선 처리용 서브 프로세서라고 함)를 갖고, 화질 개선 처리를 행한다. 화질 개선 처리용 서브 프로세서는, 예를 들면, DSP로 되고, video_noise_reduction 커맨드에 의해 실행이 명령되는 기능 프로그램을 실행함으로써, 커맨드 세트 ROM(53)에 기억되어 있는 기능 프로그램을 실행하고, 화질 개선 처리를 행하는 것으로 한다.
슬레이브 장치 C인 정보 처리 장치(11-3)는, 화상 디코드 처리 및 음성 디코 드 처리를 실행할 수 있는 스펙을 갖고, 필요에 따라서, 슬레이브 장치 A 대신에, 영상 디코드 처리 및 음성 디코드 처리를 행한다. 또한, 정보 처리 장치(11-3)는, 기능 프로그램에 속하는 영상 디코드 처리용 프로그램을 실행함으로써 영상 디코드 처리를 행하고, 음성 디코드 처리용 프로그램을 실행함으로써 음성 디코드 처리를 행하는 것으로 한다. 또한, 이하, 슬레이브 장치 C가 갖는 서브 프로세서(32) 중, 마스터 장치에 의해 영상 디코드 처리를 실행하도록 의뢰받은 서브 프로세서(32)를 영상 디코드 처리 의뢰처 서브 프로세서, 및, 마스터 장치에 의해 음성 디코드 처리를 실행하도록 의뢰받은 서브 프로세서(32)를 음성 디코드 처리 의뢰처 서브 프로세서라고도 칭한다.
슬레이브 장치 D인 정보 처리 장치(11-4)는, 화질 개선 처리를 실행할 수 있는 스펙을 갖고, 필요에 따라서, 슬레이브 장치 B 대신에, 화질 개선 처리를 행한다. 또한, 정보 처리 장치(11-4)는, 기능 프로그램에 속하는 화질 개선 처리용 프로그램을 실행함으로써 화질 개선 처리를 행하는 것으로 한다. 또한, 이하, 슬레이브 장치 D가 갖는 서브 프로세서(32) 중, 마스터 장치에 의해 화질 개선 처리를 실행하도록 의뢰받은 서브 프로세서(32)를 화질 개선 처리 의뢰처 서브 프로세서라고도 칭한다.
도 21은, 도 7 내지 도 12를 참조하여 전술한 처리의 실행 후에, 마스터 장치인 정보 처리 장치(11-1)의 메인 메모리(22)에 기억되어 있는 장치 정보 테이블의 예의 일부를 도시하고 있다.
장치 정보 테이블에는, 슬레이브 장치 A의 장치 정보로서, 슬레이브 장치 A 의 장치 ID인 000139, 슬레이브 장치 A가 영상 데이터나 음성 데이터의 데이터 처리를 행하는 장치인 것을 나타내는 장치 종별 ID인 DSP-BOX, 슬레이브 장치 A에 영상 디코드 처리를 실행시키는 기능 실행 커맨드인 mpeg2_video_decode 커맨드, 및, 슬레이브 장치 A에 음성 디코드 처리를 실행시키는 기능 실행 커맨드인 mpeg2_audio_decode 커맨드 등이 등록되어 있다.
또한, 장치 정보 테이블에는, 슬레이브 장치 B의 장치 정보로서, 슬레이브 장치 B의 장치 ID인 000555, 슬레이브 장치 B가 영상 데이터나 음성 데이터의 데이터 처리를 행하는 장치인 것을 나타내는 장치 종별 ID인 DSP-BOX, 및, 슬레이브 장치 B에 화질 개선 처리를 실행시키는 기능 실행 커맨드인 video_noise_reduction 커맨드 등이 등록되어 있다.
또한, 장치 정보 테이블에는, AV 데이터 재생 장치의 장치 정보로서, AV 데이터 재생 장치의 장치 ID인 002030, 및, AV 데이터 재생 장치인 것을 나타내는 장치 종별 ID인 AV-PLAYER 등이 등록되어 있다.
또한, 장치 정보 테이블에는, 슬레이브 장치 C의 장치 정보로서, 슬레이브 장치 C의 장치 ID인 003001, 및, 슬레이브 장치 C가 특정한 기능을 갖지 않는 범용적인 장치인 것을 나타내는 장치 종별 ID인 GENERAL 등이 등록되어 있다.
또한, 장치 정보 테이블에는, 슬레이브 장치 D의 장치 정보로서, 슬레이브 장치 D의 장치 ID인 003002, 및, 슬레이브 장치 D가 특정한 기능을 갖지 않는 범용적인 장치인 것을 나타내는 장치 종별 ID인 GENERAL 등이 등록되어 있다.
다음으로, 도 22 내지 도 36을 참조하여, 정보 처리 시스템(1-11)에서의 AV 데이터의 재생 처리를 설명한다.
우선, 도 22의 플로우차트를 참조하여, AV 데이터 재생 장치인 정보 처리 장치(11-2)에 의해 실행되는 AV 데이터 재생 처리를 설명한다.
스텝 S201에서, 서브 프로세서 제어부(171)는, AV 데이터 재생 장치의 도시하지 않은 조작부를 조작함으로써, 유저에 의해 입력된 AV 데이터의 재생 명령을 취득하고, 취득한 명령을 분산 처리 매니저(114)에 공급한다.
스텝 S202에서, 시퀀스 처리 의뢰부(185)는, 외부 기록부(23)로부터 AV 데이터를 읽어낸다. 구체적으로는, DMAC(33)는, 시퀀스 처리 의뢰부(185)의 제어를 바탕으로, 외부 기록부(23)로부터 소정의 량(예를 들면, 20초 분)의 AV 데이터를 읽어내고, 시퀀스 처리 의뢰부(185)에 공급한다.
스텝 S203에서, 도 13의 스텝 S102와 마찬가지의 처리에 의해, 마스터 장치에 시퀀스 처리의 실행을 의뢰한다. 이 때 송신되는 시퀀스 처리 의뢰 소프트웨어 셀의 데이터 영역에는, 시퀀스 처리를 나타내는 정보(예를 들면, AV 데이터의 고화질 디코드 처리를 나타내는 정보), 스텝 S202에서 읽어낸 AV 데이터, AV 데이터의 디코드 등에 필요한 각종 파라미터 등이 저장된다.
후술하는 도 24의 스텝 S231에서, 마스터 장치는, AV 데이터 재생 장치로부터 송신된 시퀀스 처리 의뢰 소프트웨어 셀을 수신한다.
스텝 S204에서, 진척 통지부(186)는, 시퀀스 처리의 진척 상황이 통지되었는지의 여부를 판정한다. 구체적으로는, 진척 통지부(186)가, 후술하는 도 27의 스텝 S268에서, 마스터 장치로부터 송신되는 시퀀스 처리의 진척 상황을 통지하는 소 프트웨어 셀(이하, 진척 상황 통지 소프트웨어 셀이라고 함)을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한 경우, 시퀀스 처리의 진척 상황이 통지되었다고 판정하고, 처리는 스텝 S205로 진행된다.
스텝 S205에서, 진척 통지부(186)는, 진척 상황 통지 소프트웨어 셀에 기초하여, 시퀀스 처리의 진척 상황을 통지한다. 구체적으로는, 진척 상황 통지 소프트웨어 셀의 데이터 영역에는, 시퀀스 처리에 포함되는 각 처리를 실행하고 있는 슬레이브 장치 A 내지 D의 처리 및 진척 상황을 나타내는 데이터가 저장되어 있다. 예를 들면, 화상 디코드 처리의 진척 상황을 나타내는 데이터로서, 전체의 처리를 100으로 하고, 종료한 처리의 비율을 0에서부터 100까지의 값으로 나타낸 데이터가 설정된다.
예를 들면, AV 데이터 재생 장치의 메인 CPU(31)에 의해 실행되는 모니터 출력 드라이버(152)(도 3)는, 진척 통지부(186)에 제어를 바탕으로, 도 23에 도시하는 바와 같은 각 처리의 진척 상황을 막대 그래프로 한 화상을 모니터(311)에 표시시킨다. 도 23의 예에서는, 영상 디코드 처리의 진척도가 30%이고, 음성 디코드 처리의 진척도가 85%이고, 화질 개선 처리의 진척도가 0%인 것이 나타내져 있다. 이와 같이 해서, 각 처리의 진척 상황을 유저에게 알림으로써, 처리의 종료를 대기하고 있는 동안의 유저의 스트레스를 경감시킬 수 있다. 또한, 장치의 이상에 의해 처리가 정지하고 있는 경우, 그것을 신속하고도 또한 용이하게 알 수 있다. 또한, 각 처리의 진척 상황을 개별적으로 파악함으로써, 보틀네크로 되어 전체의 처리를 지연시키고 있는 처리를 용이하게 특정할 수 있도록 된다.
스텝 S204에서, 시퀀스 처리의 진척 상황이 통지되어 있지 않다고 판정된 경우, 스텝 S205의 처리는 스킵되고, 처리는 스텝 S206으로 진행된다.
스텝 S206에서, 시퀀스 처리 의뢰부(185)는, 종료 통지 소프트웨어 셀을 수신했는지의 여부를 판정한다. 시퀀스 처리 의뢰부(185)가, 스텝 S203에서 송신한 시퀀스 처리 의뢰 소프트웨어 셀에 대한 응답인, 후술하는 도 26의 스텝 S264에서, 마스터 장치로부터 송신되는 종료 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S207로 진행된다.
스텝 S207에서, 시퀀스 처리 의뢰부(185)는, 마스터 장치로부터 수신한 데이터를 메인 메모리(22)에 기억시킨다. 구체적으로는, 마스터 장치로부터 송신되는 종료 통지 소프트웨어 셀의 데이터 영역에는, AV 데이터 재생 장치가 시퀀스 처리의 실행을 의뢰한 시퀀스 처리 의뢰 소프트웨어 셀에 저장된 AV 데이터로부터 분리된 영상 데이터를 디코드하고, 화질 개선 처리를 실시한 영상 데이터, 및, AV 데이터로부터 분리된 음성 데이터를 디코드 및 음성 데이터가 저장되어 있다. 시퀀스 처리 의뢰부(185)는, 그 영상 데이터 및 음성 데이터를 메인 메모리(22)에 기억시킨다. 즉, 메인 메모리(22)는, 영상 데이터 및 음성 데이터를 일시적으로 기억하는 버퍼로서 이용된다.
스텝 S208에서, 서브 프로세서 제어부(171)는, AV 데이터의 재생이 개시되어 있는지의 여부를 판정한다. AV 데이터의 재생이 개시되어 있지 않다고 판정된 경우, 처리는 스텝 S209로 진행된다.
스텝 S209에서, 서브 프로세서 제어부(171)는, AV 데이터의 재생을 개시시킨다. 구체적으로는, 예를 들면, 서브 프로세서 제어부(171)는, 외부 기록부(23)에 기록되어 있는 영상 출력용 프로그램 및 음성 출력용 프로그램을 메인 메모리(22), 또는, 소정의 서브 프로세서(32)의 로컬 스토리지(42)에 로드시킨다. 메인 CPU(31) 또는 서브 프로세서(32)는, 영상 출력용 프로그램 및 음성 출력용 프로그램의 실행을 개시하고, 메인 메모리(22)에 기억되어 있는 영상 데이터에 소정의 처리를 실시하고, 영상 데이터를 모니터(311)에 출력하고, 메인 메모리(22)에 기억되어 있는 음성 데이터에 소정의 처리를 실시하고, 음성 데이터를 모니터(311)에 출력한다. 모니터(311)는 영상 데이터에 기초한 영상의 표시를 개시하고, 스피커(312)는 음성 데이터에 기초한 음성의 출력을 개시한다.
스텝 S208에서, AV 데이터의 재생이 이미 개시되어 있다고 판정된 경우, 스텝 S209의 처리는 스킵되고, 처리는 스텝 S210으로 진행된다.
스텝 S206에서, 종료 통지 소프트웨어 셀을 수신하지 않았다고 판정된 경우, 스텝 S207 내지 S209의 처리는 스킵되고, 처리는 스텝 S210으로 진행된다.
스텝 S210에서, 서브 프로세서 제어부(171)는, 유저에 의해 AV 데이터의 재생이 명령되었는지의 여부를 판정한다. 유저에 의해 AV 데이터의 재생의 정지가 명령되어 있지 않다고 판정된 경우, 처리는 스텝 S211로 진행된다.
스텝 S211에서, 시퀀스 처리 의뢰부(185)는, 시퀀스 처리의 실행을 의뢰하는 타이밍인지의 여부를 판정한다. 예를 들면, 시퀀스 처리 의뢰부(185)는, 소정의 타이밍마다(예를 들면, 소정의 간격마다, 마스터 장치로부터 종료 통지 소프트웨어 셀을 수신할 때마다, 메인 메모리(22)(버퍼)에 기억되어 있는 영상 데이터 및 음성 데이터의 데이터량이 소정의 량 이하로 될 때마다 등), 시퀀스 처리(AV 데이터의 고화질 디코드 처리)를 마스터 장치에 의뢰한다. 현재, 시퀀스 처리의 실행을 의뢰하는 타이밍이라고 판정된 경우, 처리는 스텝 S202로 되돌아가고, 전술한 스텝 S202 이후의 처리가 실행된다. 즉, 마스터 장치에 새로운 시퀀스 처리의 실행이 의뢰된다.
스텝 S211에서, 시퀀스 처리의 실행을 의뢰하는 타이밍이 아니라고 판정된 경우, 처리는 스텝 S204로 되돌아가고, 전술한 스텝 S204 이후의 처리가 실행된다.
스텝 S210에서, 유저에 의해 AV 데이터의 재생의 정지가 명령되었다고 판정된 경우, 즉, AV 데이터 재생 장치의 도시하지 않은 조작부를 조작함으로써, 유저에 의해 입력된 AV 데이터의 재생의 정지의 명령이 서브 프로세서 제어부(171)에 입력된 경우, 처리는 스텝 S212로 진행된다.
스텝 S212에서, 서브 프로세서 제어부(171)는, AV 데이터의 재생을 종료시키고, AV 데이터 재생 처리는 종료된다. 구체적으로는, 서브 프로세서 제어부(171)는, 메인 CPU(31-2) 또는 서브 프로세서(32)에 영상 출력용 프로그램 및 음성 출력용 프로그램의 실행을 정지시킨다. 또한, 서브 프로세서 제어부(171)는, 분산 처리 매니저(114)에, AV 데이터의 재생의 종료를 통지한다.
예를 들면, 이 때, 시퀀스 처리 의뢰부(185)는, 시퀀스 처리의 중지를 통지하는 소프트웨어 셀을 마스터 장치에 송신하고, 시퀀스 처리를 중지시키도록 해도 되고, 시퀀스 처리를 중지시키지 않고, 마스터 장치로부터 송신되는 시퀀스 처리의 종료를 통지하는 종료 통지 소프트웨어 셀을 그대로 파기하도록 하여도 된다.
다음으로, 도 24 내지 도 27의 플로우차트를 참조하여, 도 22의 AV 데이터 재생 장치에서의 AV 데이터 재생 처리에 대응하여, 마스터 장치인 정보 처리 장치(11-1)에 의해 실행되는 시퀀스 처리 실행 처리에 대해서 설명한다.
스텝 S231에서, 전술한 도 12의 스텝 S121과 마찬가지의 처리에 의해, 시퀀스 처리 관리부(181)는, 도 22의 스텝 S203에 있어서 AV 데이터 재생 장치로부터 송신된 시퀀스 처리 의뢰 소프트웨어 셀을 수신한다.
스텝 S232에서, 시퀀스 처리 관리부(181)는, 수신한 시퀀스 처리 의뢰 소프트웨어 셀을 메인 메모리(22)에 기억시킨다.
스텝 S233에서, 전술한 도 14의 스텝 S122와 마찬가지의 처리에 의해, 시퀀스 처리를 행하기 위해서 필요한 실행 대상 기능 프로그램이 결정된다. 지금의 경우, 실행 대상 기능 프로그램으로서, 영상 디코드 처리용 프로그램, 음성 디코드 처리용 프로그램, 및, 화질 개선 처리용 프로그램이 결정된다.
스텝 S234에서, 도 14의 스텝 S123과 마찬가지의 처리에 의해, 처리의 실행을 의뢰하는 정보 처리 대행 전용 장치(12)가 결정된다.
스텝 S235에서, 도 14의 스텝 S124와 마찬가지의 처리에 의해, 스텝 S234의 처리의 결과에 기초하여, 실행 의뢰처가 결정되어 있지 않은 실행 대상 기능 프로그램이 있는지의 여부가 판정된다. 실행 의뢰처가 결정되어 있지 않은 실행 대상 기능 프로그램이 있다고 판정된 경우, 예를 들면, 전원이 투입되어 있지 않거나, 처리중인 부하가 크다는 등의 이유에 의해, 슬레이브 장치 A 및 슬레이브 장치 B 중 적어도 한 방향으로 처리의 실행을 의뢰할 수 없는 경우, 처리는 스텝 S236으로 진행된다.
스텝 S236에서, 전술한 도 14의 스텝 S125와 마찬가지의 처리에 의해, 처리의 실행을 의뢰하는 정보 처리 장치(11)가 결정된다.
스텝 S237에서, 분산 처리 관리부(184)는, 분산 처리 관리 테이블에 기초하여, 실행 대상 기능 프로그램의 실행을 의뢰하는 정보 처리 장치(11)에서, 실행 대상 기능 프로그램이 로드 완료인지의 여부를 판정한다. 로드되어 있지 않은 실행 대상 기능 프로그램이 있다고 판정된 경우, 처리는 스텝 S238로 진행된다.
스텝 S238에서, 전술한 도 14의 스텝 S126과 마찬가지의 처리에 의해, 스텝 S237에서 로드 완료가 아니라고 판정된 실행 대상 기능 프로그램을 로드시키기 위한 프로그램 로드 소프트웨어 셀이 생성된다.
구체적으로는, 영상 디코드 처리용 프로그램 또는 음성 디코드 처리용 프로그램을 슬레이브 장치 C에 로드시키는 경우, DMA 커맨드 영역에, 로드 커맨드, 슬레이브 장치 C의 영상 디코드 처리 의뢰처 서브 프로세서 또는 음성 디코드 처리 의뢰처 서브 프로세서의 서브 프로세서 ID, 및, 영상 디코드 처리용 프로그램 또는 음성 디코드 처리용 프로그램 로드처인 영상 디코드 처리 의뢰처 서브 프로세서 또는 음성 디코드 처리 의뢰처 서브 프로세서의 로컬 스토리지(72)의 어드레스가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 C의 송수신용 ID가 설정되고, 프로그램 영역에 영상 디코드 처리용 프로그램 또는 음성 디코드 처리용 프로그램이 저장된 프로그램 로드 소프트웨어 셀이 생성된다.
또한, 화질 개선 처리용 프로그램을 슬레이브 장치 D에 로드시키는 경우, DMA 커맨드 영역에, 로드 커맨드, 슬레이브 장치 D의 화질 개선 처리 의뢰처 서브 프로세서의 서브 프로세서 ID, 및, 화질 개선 처리용 프로그램의 로드처인 화질 개선 처리 의뢰처 서브 프로세서의 로컬 스토리지(72)의 어드레스가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 D의 송수신용 ID가 설정되고, 프로그램 영역에 화질 개선 처리용 프로그램이 저장된 프로그램 로드 소프트웨어 셀이 생성된다.
스텝 S239에서, 도 14의 스텝 S127의 처리와 마찬가지로, 생성된 프로그램 로드 소프트웨어 셀이 네트워크(13)에 송신된다.
슬레이브 장치 C 또는 D는, 후술하는 도 32의 스텝 S401에서, 마스터 장치로부터 송신된 프로그램 로드 소프트웨어 셀을 수신한다.
스텝 S240에서, 전술한 도 14의 스텝 S128과 마찬가지의 처리에 의해, 분산 처리 관리 테이블이 갱신된다. 구체적으로는, 스텝 S239에서 송신된 프로그램 로드 소프트웨어 셀에 기초한 기능 프로그램 로드 정보가 분산 처리 관리 테이블에 추가된다.
스텝 S241에서, 정보 교환부(151)는, 후술하는 도 32의 스텝 S404에서, 슬레이브 장치 C 또는 D로부터 송신되는 장치 정보 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한다.
스텝 S242에서, 전술한 도 11의 스텝 S45와 마찬가지의 처리에 의해, 장치 정보 테이블이 갱신된다.
스텝 S237에서, 실행 대상 기능 프로그램이 로드 완료라고 판정된 경우, 스텝 S238 내지 S242의 처리는 스킵되고, 처리는 스텝 S243으로 진행된다.
스텝 S235에서, 실행 의뢰처가 결정되어 있지 않은 실행 대상 기능 프로그램이 없다고 판정된 경우, 즉, 스텝 S233에서, 영상 디코드 처리 및 음성 디코드 처리를 슬레이브 장치 A에 의뢰하고, 화질 개선 처리를 슬레이브 장치 B에 의뢰하도록 결정되어 있는 경우, 스텝 S236 내지 S242의 처리는 스킵되고, 처리는 스텝 S243으로 진행된다.
스텝 S243에서, 분산 처리 관리부(184)는, 영상 디코드 처리의 실행을 정보 처리 대행 전용 장치(12)에 의뢰할지의 여부를 판정한다. 영상 디코드 처리의 실행을 정보 처리 대행 전용 장치(12)에 의뢰한다고 판정된 경우, 즉, 영상 디코드 처리의 실행을 슬레이브 장치 A에 의뢰하는 경우, 처리는 스텝 S244로 진행된다.
스텝 S244에서, 전술한 도 15의 스텝 S131과 마찬가지의 처리에 의해, mpeg2_video_decode 커맨드의 실행을 의뢰하는 커맨드 실행 소프트웨어 셀이 생성된다. 구체적으로는, DMA 커맨드의 영역에, mpeg2_video_decode 커맨드, 슬레이브 장치 A의 영상 디코드 처리용 서브 프로세서의 서브 프로세서 ID, 및, mpeg2_video_decode 커맨드에 의해 실행이 명령되는 기능 프로그램을 로드하는 영상 디코드 처리용 서브 프로세서의 로컬 스토리지(72)의 어드레스가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 A의 송수신용 ID가 설정된 커맨드 실행 소프트웨어 셀이 생성된다.
또한, 이 커맨드 실행 소프트웨어 셀의 데이터 영역에는, 스텝 S231에서 수신한 시퀀스 처리 통지 소프트웨어 셀의 데이터 영역에 저장되어 있는 AV 데이터로부터 분리한 영상 데이터, 및, mpeg2_video_decode 커맨드의 실행에 필요한 각종 파라미터 등이 저장된다.
스텝 S245에서, 전술한 도 15의 스텝 S132와 마찬가지의 처리에 의해, 생성한 커맨드 실행 소프트웨어 셀이 네트워크(13)에 송신된다. 그 후, 처리는 스텝 S248로 진행된다.
후술하는 도 28의 스텝 S281에서, 슬레이브 장치 A는, 마스터 장치로부터 송신된 커맨드 실행 소프트웨어 셀을 수신한다.
스텝 S243에서, 영상 디코드 처리의 실행을 정보 처리 장치(11)에 의뢰한다고 판정된 경우, 즉, 영상 디코드 처리의 실행을 슬레이브 장치 C에 의뢰하는 경우, 처리는 스텝 S246으로 진행된다.
스텝 S246에서, 전술한 도 15의 스텝 S133과 마찬가지의 처리에 의해, 영상 디코드 처리용 프로그램의 실행을 의뢰하는 프로그램 실행 소프트웨어 셀이 생성된다. 구체적으로는, DMA 커맨드의 영역에, 킥 커맨드, 슬레이브 장치 C의 영상 디코드 처리 의뢰처 서브 프로세서의 서브 프로세서 ID, 및, 영상 디코드 처리용 프로그램의 처리를 개시하는 어드레스에 관한 정보를 나타내는 프로그램 카운터가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 C의 송수신용 ID가 설정된 프로그램 실행 소프트웨어 셀이 생성된다. 또한, 이 프로그램 실행 소프트웨어 셀의 데이터 영역에는, 스텝 S231에서 수신한 시퀀스 처리 통지 소프트웨어 셀의 데이터 영역에 저장되어 있는 AV 데이터로부터 분리한 영상 데이터, 및, 영상 데이터의 디코드에 필요한 각종 파라미터 등이 저장된다.
스텝 S245에서, 전술한 도 15의 스텝 S134와 마찬가지의 처리에 의해, 생성한 프로그램 실행 소프트웨어 셀이 네트워크(13)에 송신된다.
후술하는 도 33의 스텝 S421에서, 슬레이브 장치 C는, 마스터 장치로부터 송신된 프로그램 실행 소프트웨어 셀을 수신한다.
스텝 S248에서, 분산 처리 관리부(184)는, 음성 디코드 처리의 실행을 정보 처리 대행 전용 장치(12)에 의뢰할지의 여부를 판정한다. 음성 디코드 처리의 실행을 정보 처리 대행 전용 장치(12)에 의뢰한다고 판정된 경우, 즉, 음성 디코드 처리의 실행을 슬레이브 장치 A에 의뢰하는 경우, 처리는 스텝 S249로 진행된다.
스텝 S249에서, 전술한 도 15의 스텝 S131과 마찬가지의 처리에 의해, mpeg2_audio_decode 커맨드의 실행을 의뢰하는 커맨드 실행 소프트웨어 셀이 생성된다. 구체적으로는, DMA 커맨드의 영역에, mpeg2_audio_decode 커맨드, 슬레이브 장치 A의 음성 디코드 처리용 서브 프로세서의 서브 프로세서 ID, 및, mpeg2_audio_decode에 의해 실행이 명령되는 기능 프로그램을 로드하는 음성 디코드 처리용 서브 프로세서의 로컬 스토리지(72)의 어드레스가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 A의 송수신용 ID가 설정된 커맨드 실행 소프트웨어 셀이 생성된다.
또한, 이 커맨드 실행 소프트웨어 셀의 데이터 영역에는, 스텝 S231에서 수 신한 시퀀스 처리 통지 소프트웨어 셀의 데이터 영역에 저장되어 있는 AV 데이터로부터 분리한 음성 데이터, 및, mpeg2_audio_decode 커맨드의 실행에 필요한 각종 파라미터 등이 저장된다.
스텝 S250에서, 전술한 도 15의 스텝 S132와 마찬가지의 처리에 의해, 생성한 커맨드 실행 소프트웨어 셀이 네트워크(13)에 송신된다. 그 후, 처리는 스텝 S253으로 진행된다.
후술하는 도 28의 스텝 S281에서, 슬레이브 장치 A는, 마스터 장치로부터 송신된 커맨드 실행 소프트웨어 셀을 수신한다.
스텝 S248에서, 음성 디코드 처리의 실행을 정보 처리 장치(11)에 의뢰한다고 판정된 경우, 즉, 음성 디코드 처리의 실행을 슬레이브 장치 C에 의뢰하는 경우, 처리는 스텝 S251로 진행된다.
스텝 S251에서, 전술한 도 15의 스텝 S133과 마찬가지의 처리에 의해, 음성 디코드 처리용 프로그램의 실행을 의뢰하는 프로그램 실행 소프트웨어 셀이 생성된다. 구체적으로는, DMA 커맨드의 영역에, 킥 커맨드, 슬레이브 장치 C의 음성 디코드 처리 의뢰처 서브 프로세서의 서브 프로세서 ID, 및, 음성 디코드 처리용 프로그램의 처리를 개시하는 어드레스에 관한 정보를 나타내는 프로그램 카운터가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 C의 송수신용 ID가 설정된 프로그램 실행 소프트웨어 셀이 생성된다. 또한, 이 프로그램 실행 소프트웨어 셀의 데이터 영역에는, 스텝 S231에서 수신한 시퀀스 처리 통지 소프트웨어 셀의 데이터 영역에 저장되어 있는 AV 데이터로부터 분리한 음성 데이터, 및, 음성 데이터의 디코드에 필요한 각종 파라미터 등이 저장된다.
스텝 S252에서, 전술한 도 15의 스텝 S134와 마찬가지의 처리에 의해, 생성한 프로그램 실행 소프트웨어 셀이 네트워크(13)에 송신된다.
후술하는 도 33의 스텝 S421에서, 슬레이브 장치 C는, 마스터 장치로부터 송신된 프로그램 실행 소프트웨어 셀을 수신한다.
스텝 S253에서, 전술한 도 15의 스텝 S135와 마찬가지의 처리에 의해, 분산 처리 관리 테이블이 갱신된다. 구체적으로는, 슬레이브 장치 A 또는 C에, 영상 디코드 처리 및 음성 디코드 처리의 실행을 의뢰했음을 나타내는 기능 프로그램 실행 정보가 분산 처리 관리 테이블에 추가된다.
스텝 S254에서, 분산 처리 관리부(184)는, 종료 통지 소프트웨어 셀을 수신했는지의 여부를 판정한다. 분산 처리 관리부(184)가, 후술하는 도 29의 스텝 S295 또는 S297에서, 슬레이브 장치 A로부터 송신되는 종료 통지 소프트웨어 셀, 후술하는 도 30의 스텝 S330에서, 슬레이브 장치 B로부터 송신되는 종료 통지 소프트웨어 셀, 후술하는 도 34의 스텝 S433 또는 S435에서, 슬레이브 장치 D로부터 송신되는 종료 통지 소프트웨어 셀, 또는, 후술하는 도 35의 스텝 S469에서, 슬레이브 장치 D로부터 송신되는 종료 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S255로 진행된다.
스텝 S255에서, 분산 처리 관리부(184)는, 수신한 종료 통지 소프트웨어 셀 을 메인 메모리(22)에 기억시킨다.
스텝 S256에서, 분산 처리 관리부(184)는, 영상 디코드 처리의 종료가 통지되었는지의 여부를 판정한다. 분산 처리 관리부(184)는, 스텝 S255에서, 슬레이브 장치 A 또는 C로부터, 영상 디코드 처리의 종료를 통지하는 종료 통지 소프트웨어 셀을 수신한 경우, 영상 디코드 처리의 종료가 통지되었다고 판정하고, 처리는 스텝 S257로 진행된다.
스텝 S257에서, 분산 처리 관리부(184)는, 화질 개선 처리의 실행을 정보 처리 대행 전용 장치(12)에 의뢰할지의 여부를 판정한다. 화질 개선 처리의 실행을 정보 처리 대행 전용 장치(12)에 의뢰한다고 판정된 경우, 즉, 화질 개선 처리의 실행을 슬레이브 장치 B에 의뢰하는 경우, 처리는 스텝 S258로 진행된다.
스텝 S258에서, 전술한 도 15의 스텝 S131과 마찬가지의 처리에 의해, video_noise_reduction 커맨드의 실행을 의뢰하는 커맨드 실행 소프트웨어 셀이 생성된다. 구체적으로는, DMA 커맨드의 영역에, video_noise_reduction 커맨드, 슬레이브 장치 B의 화질 개선 처리용 서브 프로세서의 서브 프로세서 ID, 및, video_noise_reduction 커맨드에 의해 실행이 명령되는 기능 프로그램을 로드하는 화질 개선 처리용 서브 프로세서의 로컬 스토리지(72)의 어드레스가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 B의 송수신용 ID가 설정된 커맨드 실행 소프트웨어 셀이 생성된다.
또한, 이 커맨드 실행 소프트웨어 셀의 데이터 영역에는, 스텝 S254에서 수신한 영상 디코드 처리의 종료를 통지하는 종료 통지 소프트웨어 셀의 데이터 영역 에 저장되어 있는 디코드된 영상 데이터, 및, video_noise_reduction 커맨드의 실행에 필요한 각종 파라미터 등이 저장된다.
스텝 S259에서, 전술한 도 15의 스텝 S132와 마찬가지의 처리에 의해, 생성한 커맨드 실행 소프트웨어 셀이 네트워크(13)에 송신된다. 그 후, 처리는 스텝 S262로 진행된다.
후술하는 도 30의 스텝 S321에서, 슬레이브 장치 B는, 마스터 장치로부터 송신된 커맨드 실행 소프트웨어 셀을 수신한다.
스텝 S257에서, 화질 개선 처리의 실행을 정보 처리 장치(11)에 의뢰한다고 판정된 경우, 즉, 화질 개선 처리의 실행을 슬레이브 장치 D에 의뢰하는 경우, 처리는 스텝 S260으로 진행된다.
스텝 S260에서, 전술한 도 15의 스텝 S133과 마찬가지의 처리에 의해, 화질 개선 처리용 프로그램의 실행을 의뢰하는 프로그램 실행 소프트웨어 셀이 생성된다. 구체적으로는, DMA 커맨드의 영역에, 킥 커맨드, 화질 개선 처리 의뢰처 서브 프로세서의 서브 프로세서 ID, 및, 슬레이브 장치 D의 화질 개선 처리용 프로그램의 처리를 개시하는 어드레스에 관한 정보를 나타내는 프로그램 카운터가 설정되고, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 슬레이브 장치 D의 송수신용 ID가 설정된 프로그램 실행 소프트웨어 셀이 생성된다. 또한, 이 프로그램 실행 소프트웨어 셀의 데이터 영역에는, 스텝 S254에서 수신된 종료 통지 소프트웨어 셀의 데이터 영역에 저장되어 있는 디코드된 영상 데이터, 및, 화질 개선 처리에 필요한 각종 파라미터 등이 저장된다.
스텝 S261에서, 전술한 도 15의 스텝 S134와 마찬가지의 처리에 의해, 생성한 프로그램 실행 소프트웨어 셀이 네트워크(13)에 송신된다.
후술하는 도 35의 스텝 S461에서, 슬레이브 장치 D는, 마스터 장치로부터 송신된 프로그램 실행 소프트웨어 셀을 수신한다.
스텝 S262에서, 전술한 도 15의 스텝 S135와 마찬가지의 처리에 의해, 분산 처리 관리 테이블이 갱신된다. 구체적으로는, 슬레이브 장치 B 또는 D에, 화질 개선 처리의 실행을 의뢰했음을 나타내는 기능 프로그램 실행 정보가 분산 처리 관리 테이블에 추가된다.
스텝 S256에서, 영상 디코드 처리의 종료가 통지되지 않았다고 판정된 경우, 스텝 S257 내지 S262의 처리는 스킵되고, 처리는 스텝 S263으로 진행된다.
스텝 S263에서, 분산 처리 관리부(184)는, 모든 처리가 종료된 시퀀스 처리 의뢰 소프트웨어 셀이 있는지의 여부를 판정한다. 구체적으로는, 분산 처리 관리부(184)는, 1개의 시퀀스 처리 의뢰 소프트웨어 셀에 기초하여 슬레이브 장치 A 내지 D에 의뢰한 처리에 대한 종료 결과 통지를 모두 수신한 경우, 즉, 그 시퀀스 처리 의뢰 소프트웨어 셀에 저장된 AV 데이터로부터 분리된 영상 데이터의 디코드 및 화질 개선 처리가 종료함과 함께, AV 데이터로부터 분리된 음성 데이터의 디코드가 종료된 경우, 모든 처리가 종료된 시퀀스 처리 의뢰 소프트웨어 셀이 있다고 판정하고, 처리는 스텝 S264로 진행된다.
스텝 S264에서, 도 15의 스텝 S141과 마찬가지의 처리에 의해, 스텝 S263에서 모든 처리가 종료되었다고 판정된 시퀀스 처리 의뢰 소프트웨어 셀에 대한 종료 통지 소프트웨어 셀이 네트워크(13)에 송신된다. 이 때 송신되는 종료 통지 소프트웨어 셀에 있어서, DMA 커맨드 영역에 시퀀스 처리의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID가 자기 자신의 송수신용 ID, 송신처 ID에 처리 의뢰원인 AV 데이터 재생 장치의 송수신용 ID가 설정된다. 또한, 이 종료 통지 소프트웨어 셀의 데이터 영역에는, 디코드 및 화질 개선 처리를 실시한 화상 데이터 및 디코드 및 음성 데이터가 저장된다.
스텝 S263에서, 모든 처리가 종료된 시퀀스 처리 의뢰 소프트웨어 셀이 없다고 판정된 경우, 스텝 S264의 처리는 스킵되고, 처리는 스텝 S265로 진행된다.
스텝 S254에서, 종료 통지 소프트웨어 셀을 수신하지 않았다고 판정된 경우, 스텝 S255 내지 S264의 처리는 스킵되고, 처리는 스텝 S265로 진행된다.
스텝 S265에서, 정보 교환부(151)는, 장치 정보가 통지되었는지의 여부를 판정한다. 정보 교환부(151)는, 후술하는 도 29의 S300에서, 슬레이브 장치 A로부터 송신되는 장치 정보 통지 소프트웨어 셀, 후술하는 도 31의 S333에서, 슬레이브 장치 B로부터 송신되는 장치 정보 통지 소프트웨어 셀, 후술하는 도 34의 S438에서, 슬레이브 장치 C로부터 송신되는 장치 정보 통지 소프트웨어 셀, 또는, 후술하는 도 36의 S472에서, 슬레이브 장치 D로부터 송신되는 장치 정보 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S266으로 진행된다.
스텝 S266에서, 전술한 도 11의 스텝 S45와 마찬가지의 처리에 의해, 장치 정보 테이블이 갱신된다.
스텝 S265에서, 장치 정보가 통지되어 있지 않다고 판정된 경우, 스텝 S266의 처리는 스킵되고, 처리는 스텝 S267로 진행된다.
스텝 S267에서, 진척 통지부(186)는, 슬레이브 장치 A 내지 D로부터 처리의 진척 상황이 통지되었는지의 여부를 판정한다. 진척 통지부(186)는, 후술하는 도 29의 스텝 S293에서, 슬레이브 장치 A로부터 송신되는 진척 상황 통지 소프트웨어 셀, 후술하는 도 30의 스텝 S328에서, 슬레이브 장치 B로부터 송신되는 진척 상황 통지 소프트웨어 셀, 후술하는 도 34의 스텝 S431에서, 슬레이브 장치 C로부터 송신되는 진척 상황 통지 소프트웨어 셀, 또는, 후술하는 도 35의 스텝 S467에서, 슬레이브 장치 D로부터 송신되는 진척 상황 통지 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한 경우, 처리의 진척이 통지되었다고 판정하고, 처리는 스텝 S268로 진행된다.
스텝 S268에서, 진척 통지부(186)는, 스텝 S267에서 수신한 진척 상황 통지 소프트웨어 셀의 송신원 ID와 응답처 ID를 자기 자신의 송수신용 ID로 변경하고, 송신처 ID를 AV 데이터 재생 장치의 송수신용 ID로 변경한 진척 상황 통지 소프트웨어 셀을 네트워크(13)에 송신한다. 즉, 자신 앞으로 온 진척 상황 통지 소프트웨어 셀을, AV 데이터 재생 장치에 전송한다.
스텝 S269에서, 진척 통지부(186)는, 수신한 진척 상황 통지 소프트웨어 셀에 기초하여, 시퀀스 처리의 진척 상황을 통지한다. 구체적으로는, AV 데이터 재생 장치에서의 전술한 도 22의 스텝 S205와 마찬가지의 처리에 의해, 표시부(301)에 도 23에 도시하는 시퀀스 처리의 진척 상황을 통지하는 화상을 표시시킨다.
스텝 S267에서, 처리의 진척 상황이 통지되어 있지 않다고 판정된 경우, 스텝 S268 및 S269의 처리는 스킵되고, 처리는 스텝 S270으로 진행된다.
스텝 S270에서, 시퀀스 처리 관리부(181)는, AV 데이터 재생 장치로부터 새로운 시퀀스 처리 의뢰 소프트웨어 셀을 수신했는지의 여부를 판정한다. AV 데이터 재생 장치로부터 새로운 시퀀스 처리 의뢰 소프트웨어 셀을 수신하지 않았다고 판정된 경우, 처리는 스텝 S271로 진행된다.
스텝 S271에서, 시퀀스 처리 관리부(181)는, 모든 시퀀스 처리 의뢰 소프트웨어 셀에 대한 처리가 종료되었는지의 여부를 판정한다. 구체적으로는, 시퀀스 처리 관리부(181)는, 스텝 S231 또는 스텝 S269에서, AV 데이터 재생 장치로부터 수신한 시퀀스 처리 의뢰 소프트웨어 셀 중, 그 시퀀스 처리의 종료를 통지하는 종료 통지 소프트웨어 셀을 AV 데이터 재생 장치에 송신하고 있지 않는 시퀀스 처리 의뢰 소프트웨어 셀이 있는 경우, 모든 시퀀스 처리 의뢰 소프트웨어 셀에 대한 처리가 종료되어 있지 않다고 판정되어, 처리는 스텝 S254로 되돌아가고, 전술한 스텝 S254 이후의 처리가 실행된다.
스텝 S271에서, 모두의 시퀀스 처리 의뢰 소프트웨어 셀에 대한 처리가 종료되었다고 판정된 경우, 즉, AV 데이터 재생 장치로부터 수신한 모든 시퀀스 처리 의뢰 소프트웨어 셀에 대하여, 그 시퀀스 처리의 종료를 통지하는 종료 통지 소프트웨어 셀을 AV 데이터 재생 장치에 송신 완료인 경우, 시퀀스 처리 실행 처리는 종료된다.
스텝 S270에서, 전술한 도 22의 스텝 S203에서, AV 데이터 재생 장치로부터 새롭게 송신된 시퀀스 처리 의뢰 소프트웨어 셀을 수신했다고 판정된 경우, 처리는 스텝 S232로 되돌아가고, 전술한 스텝 S232 이후의 처리가 실행된다.
다음으로, 도 28 및 도 29의 플로우차트를 참조하여, 도 24 내지 도 27의 마스터 장치에서의 시퀀스 처리 실행 처리에 대응하여, 슬레이브 장치 A인 정보 처리 대행 전용 장치(12-1)에 의해 실행되는 기능 실행 커맨드 실행 처리를 설명한다.
스텝 S281에서, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀을 수신했는지의 여부를 판정한다. 서브 프로세서 제어부(271)가, 전술한 도 25의 스텝 S245 또는 스텝 S250에서, 마스터 장치로부터 송신된 커맨드 실행 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(231)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S282로 진행된다.
스텝 S282에서, 서브 프로세서 제어부(271)는, 수신한 커맨드 실행 소프트웨어 셀을 메인 메모리(52)에 기억시킨다.
스텝 S281에서, 커맨드 실행 소프트웨어 셀을 수신하지 않았다고 판정된 경우, 스텝 S282의 처리는 스킵되고, 처리는 스텝 S283으로 진행된다.
스텝 S283에서, 서브 프로세서 제어부(271)는, 처리되어 있지 않은 영상 데이터가 있는지의 여부를 판정한다. 구체적으로는, 서브 프로세서 제어부(271)는, 메인 메모리(52)에 기억되어 있는 커맨드 실행 소프트웨어 셀 중, 영상 디코드 처리가 실행되어 있지 않은 커맨드 실행 소프트웨어 셀이 있는 경우, 처리되어 있지 않은 영상 데이터가 있다고 판정하고, 처리는 스텝 S284로 진행된다.
스텝 S284에서, 서브 프로세서 제어부(271)는, 영상 디코드 처리가 실행되어 있지 않은 커맨드 실행 소프트웨어 셀 중 1개(예를 들면, 가장 오래된 시간에 마스터 장치로부터 수신한 커맨드 실행 소프트웨어 셀)를 선택한다.
스텝 S285에서, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 의해 지정되어 있는 서브 프로세서(62), 즉, 영상 디코드 처리용 서브 프로세서가, 영상 디코드 처리를 실행 중인지의 여부를 판정한다. 영상 디코드 처리용 서브 프로세서가 영상 디코드 처리를 실행 중이 아니라고 판정된 경우, 처리는 스텝 S286으로 진행된다.
스텝 S286에서, 전술한 도 16의 스텝 S152와 마찬가지의 처리에 의해, mpeg2_video_decode 커맨드에 의해 실행이 명령되는 기능 프로그램이, 영상 디코드 처리용 서브 프로세서의 로컬 스토리지(72)에 로드된다.
스텝 S287에서, 서브 프로세서 제어부(271)는, 영상 디코드 처리를 개시시킨다. 구체적으로는, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 포함되는 영상 데이터 및 영상 디코드 처리에 필요한 각종 파라미터를, 영상 디코드 처리용 서브 프로세서에 공급한다. 영상 디코드 처리용 서브 프로세서는, 서브 프로세서 제어부(271)의 제어를 바탕으로, 스텝 S286에서 로드된 기능 프로그램의 실행을 개시하고, 영상 데이터의 디코드를 개시한다.
스텝 S285에서, 영상 디코드 처리용 서브 프로세서가 영상 디코드 처리를 실행 중이라고 판정된 경우, 스텝 S286 및 S287의 처리는 스킵되고, 처리는 스텝 S288로 진행된다.
스텝 S283에서, 처리되어 있지 않은 영상 데이터가 없다고 판정된 경우, 스 텝 S284 내지 S287의 처리는 스킵되고, 처리는 스텝 S288로 진행된다.
스텝 S288에서, 서브 프로세서 제어부(271)는, 처리되어 있지 않은 음성 데이터가 있는지의 여부를 판정한다. 구체적으로는, 서브 프로세서 제어부(271)는, 메인 메모리(52)에 기억되어 있는 커맨드 실행 소프트웨어 셀 중, 음성 디코드 처리가 실행되어 있지 않은 커맨드 실행 소프트웨어 셀이 있는 경우, 처리되어 있지 않은 음성 데이터가 있다고 판정하고, 처리는 스텝 S289로 진행된다.
스텝 S289에서, 서브 프로세서 제어부(271)는, 음성 디코드 처리가 실행되어 있지 않은 커맨드 실행 소프트웨어 셀 중 1개(예를 들면, 가장 오래된 시간에 마스터 장치로부터 수신한 커맨드 실행 소프트웨어 셀)를 선택한다.
스텝 S290에서, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 의해 지정되어 있는 서브 프로세서(62), 즉, 음성 디코드 처리용 서브 프로세서가, 음성 디코드 처리를 실행 중인지의 여부를 판정한다. 음성 디코드 처리용 서브 프로세서가 음성 디코드 처리를 실행 중이 아니라고 판정된 경우, 처리는 스텝 S291로 진행된다.
스텝 S291에서, 전술한 도 16의 스텝 S152와 마찬가지의 처리에 의해, mpeg2_audio_decode 커맨드에 의해 실행이 명령되는 기능 프로그램이, 음성 디코드 처리용 서브 프로세서의 로컬 스토리지(72)에 로드된다.
스텝 S292에서, 서브 프로세서 제어부(271)는, 음성 디코드 처리를 개시시킨다. 구체적으로는, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 포함되는 음성 데이터 및 음성 디코드 처리에 필요한 각종 파라미터를, 음성 디코 드 처리용 서브 프로세서에 공급한다. 음성 디코드 처리용 서브 프로세서는, 서브 프로세서 제어부(271)의 제어를 바탕으로, 스텝 S291에서 로드된 기능 프로그램의 실행을 개시하고, 음성 데이터의 디코드를 개시한다.
스텝 S290에서, 음성 디코드 처리용 서브 프로세서가 음성 디코드 처리를 실행 중이라고 판정된 경우, 스텝 S291 및 S292의 처리는 스킵되고, 처리는 스텝 S293으로 진행된다.
스텝 S288에서, 처리되어 있지 않은 음성 데이터가 없다고 판정된 경우, 스텝 S289 내지 S292의 처리는 스킵되고, 처리는 스텝 S293으로 진행된다.
스텝 S293에서, 진척 통지부(272)는, 적절히 마스터 장치에 처리의 진척 상황을 통지한다. 구체적으로는, 영상 디코드 처리용 서브 프로세서 및 음성 디코드 처리용 서브 프로세서는, 예를 들면, 소정의 간격마다, 실행 중인 영상 디코드 처리 또는 음성 디코드 처리의 진척율을 나타내는 데이터를, 서브 프로세서 제어부(271)에 공급한다. 서브 프로세서 제어부(271)는, 취득한 진척율을 나타내는 데이터를 진척 통지부(272)에 공급한다.
진척 통지부(272)는, DMA 커맨드 영역에 처리의 진척 상황을 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에, 영상 디코드 처리 및 음성 디코드 처리의 각각에 대해서, 전체의 처리를 100으로 하고, 종료한 처리의 비율을 0에서부터 100까지의 값으로 나타낸 데이터가 저장된 진척 상황 통지 소프트웨어 셀을 생성한다. 진척 통지부(272)는, 생성한 진척 상황 통 지 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서 네트워크(13)에 송신한다.
스텝 S294에서, 영상 디코드 처리용 서브 프로세서는, 영상 데이터의 디코드가 종료되었는지의 여부를 판정한다. 영상 데이터의 디코드가 종료되었다고 판정된 경우, 처리는 스텝 S295로 진행된다.
스텝 S295에서, 서브 프로세서 제어부(271)는, 디코드 및 영상 데이터를 송신한다. 구체적으로는, 영상 디코드 처리용 서브 프로세서는, 디코드가 종료된 영상 데이터를 서브 프로세서 제어부(271)에 공급한다. 서브 프로세서 제어부(271)는, DMA 커맨드 영역에 기능 실행 커맨드의 실행의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 디코드 및 영상 데이터 등을 저장한 종료 통지 소프트웨어 셀을 생성한다. 서브 프로세서 제어부(271)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서 네트워크(13)에 송신한다.
스텝 S294에서, 영상 데이터의 디코드가 종료되어 있지 않다고 판정된 경우, 스텝 S295의 처리는 스킵되고, 처리는 스텝 S296으로 진행된다.
스텝 S296에서, 음성 디코드 처리용 서브 프로세서는, 음성 데이터의 디코드가 종료되었는지의 여부를 판정한다. 음성 데이터의 디코드가 종료되었다고 판정된 경우, 처리는 스텝 S297로 진행된다.
스텝 S297에서, 서브 프로세서 제어부(271)는, 디코드 및 음성 데이터를 송 신한다. 구체적으로는, 음성 디코드 처리용 서브 프로세서는, 디코드가 종료된 음성 데이터를 서브 프로세서 제어부(271)에 공급한다. 서브 프로세서 제어부(271)는, DMA 커맨드 영역에 기능 실행 커맨드의 실행의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 디코드 및 음성 데이터 등을 저장한 종료 통지 소프트웨어 셀을 생성한다. 서브 프로세서 제어부(271)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서 네트워크(13)에 송신한다.
스텝 S296에서, 음성 데이터의 디코드가 종료되어 있지 않다고 판정된 경우, 스텝 S297의 처리는 스킵되고, 처리는 스텝 S298로 진행된다.
스텝 S298에서, 장치 정보 관리부(252)는, 장치의 상태가 변화되었는지 여부를 판정한다. 장치 정보 관리부(252)가, 예를 들면, 기능 프로그램의 로드, 영상 디코드 처리 또는 음성 디코드 처리의 개시 또는 종료 등에 의해, 슬레이브 장치 A의 상태가 변화되었다고 판정한 경우, 처리는 스텝 S299로 진행된다.
스텝 S299에서, 장치 정보 관리부(252)는, 슬레이브 장치 A의 상태의 변화에 따라서, 메인 메모리(52)에 기억되어 있는 자기 자신의 장치 정보를 갱신하고, 자기 자신의 장치 정보를 갱신하였음을 정보 교환부(251)에 통지한다.
스텝 S300에서, 전술한 도 10의 스텝 S24와 마찬가지의 처리에 의해, 마스터 장치에 장치 정보가 통지된다. 이 때 송신되는 장치 정보 통지 소프트웨어 셀의 송신처 ID에는 마스터 장치의 송수신용 ID가 설정된다. 그 후, 처리는 스텝 S281 로 되돌아가고, 전술한 스텝 S281 이후의 처리가 실행된다.
스텝 S298에서, 장치의 상태가 변화되어 있지 않다고 판정된 경우, 처리는 스텝 S281로 되돌아가고, 전술한 스텝 S281 이후의 처리가 실행된다.
다음으로, 도 30 및 도 31의 플로우차트를 참조하여, 도 24 내지 도 27의 마스터 장치에서의 시퀀스 처리 실행 처리에 대응하여, 슬레이브 장치 B인 정보 처리 대행 전용 장치(12-2)에 의해 실행되는 기능 실행 커맨드 실행 처리를 설명한다.
스텝 S321에서, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀을 수신했는지의 여부를 판정한다. 서브 프로세서 제어부(271)가, 전술한 도 26의 스텝 S259에서, 마스터 장치로부터 송신된 커맨드 실행 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(231)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S322로 진행된다.
스텝 S322에서, 서브 프로세서 제어부(271)는, 수신한 커맨드 실행 소프트웨어 셀을 메인 메모리(52)에 기억시킨다.
스텝 S321에서, 커맨드 실행 소프트웨어 셀을 수신하지 않았다고 판정된 경우, 스텝 S322의 처리는 스킵되고, 처리는 스텝 S323으로 진행된다.
스텝 S323에서, 서브 프로세서 제어부(271)는, 처리되어 있지 않은 영상 데이터가 있는지의 여부를 판정한다. 구체적으로는, 서브 프로세서 제어부(271)는, 메인 메모리(52)에 기억되어 있는 커맨드 실행 소프트웨어 셀 중, 화질 개선 처리가 실행되어 있지 않은 커맨드 실행 소프트웨어 셀이 있는 경우, 처리되어 있지 않은 영상 데이터가 있다고 판정하고, 처리는 스텝 S324로 진행된다.
스텝 S324에서, 서브 프로세서 제어부(271)는, 화질 개선 처리가 실행되어 있지 않은 커맨드 실행 소프트웨어 셀 중 1개(예를 들면, 가장 오래된 시간에 마스터 장치로부터 수신한 커맨드 실행 소프트웨어 셀)를 선택한다.
스텝 S325에서, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 의해 지정되어 있는 서브 프로세서(62), 즉, 화질 개선 처리용 서브 프로세서가, 화질 개선 처리를 실행 중인지의 여부를 판정한다. 화질 개선 처리용 서브 프로세서가 화질 개선 처리를 실행 중이 아니라고 판정된 경우, 처리는 스텝 S326으로 진행된다.
스텝 S326에서, 전술한 도 16의 스텝 S152와 마찬가지의 처리에 의해, video_noise_reduction 커맨드에 의해 실행이 명령되는 기능 프로그램이, 화질 개선 처리용 서브 프로세서의 로컬 스토리지(72)에 로드된다.
스텝 S327에서, 서브 프로세서 제어부(271)는, 화질 개선 처리를 개시시킨다. 구체적으로는, 서브 프로세서 제어부(271)는, 커맨드 실행 소프트웨어 셀에 포함되는 영상 데이터 및 화질 개선 처리에 필요한 각종 파라미터를, 화질 개선 처리용 서브 프로세서에 공급한다. 화질 개선 처리용 서브 프로세서는, 서브 프로세서 제어부(271)의 제어를 바탕으로, 스텝 S326에서 로드된 기능 프로그램의 실행을 개시한다. 이에 의해, 영상 데이터의 노이즈 제거 등의 화질 개선 처리가 개시된다.
스텝 S325에서, 화질 개선 처리용 서브 프로세서가 화질 개선 처리를 실행 중이라고 판정된 경우, 스텝 S326 및 S327의 처리는 스킵되고, 처리는 스텝 S328로 진행된다.
스텝 S323에서, 처리되어 있지 않은 영상 데이터가 없다고 판정된 경우, 스텝 S324 내지 S327의 처리는 스킵되고, 처리는 스텝 S328로 진행된다.
스텝 S328에서, 진척 통지부(272)는, 적절히 마스터 장치에 처리의 진척 상황을 통지한다. 구체적으로는, 화질 개선 처리용 서브 프로세서는, 예를 들면, 소정의 간격마다, 실행 중인 화질 개선 처리의 진척율을 나타내는 데이터를, 서브 프로세서 제어부(271)에 공급한다. 서브 프로세서 제어부(271)는, 취득한 진척율을 나타내는 데이터를 진척 통지부(272)에 공급한다.
진척 통지부(272)는, DMA 커맨드 영역에 처리의 진척 상황을 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에, 화질 개선 처리에 대해서, 전체의 처리를 100으로 하고, 종료한 처리의 비율을 0에서부터 100까지의 값으로 나타낸 데이터가 저장된 진척 상황 통지 소프트웨어 셀을 생성한다. 진척 통지부(272)는, 생성한 진척 상황 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서 네트워크(13)에 송신한다.
스텝 S329에서, 화질 개선 처리용 서브 프로세서는, 영상 데이터의 화질 개선 처리가 종료되었는지의 여부를 판정한다. 영상 데이터의 화질 개선 처리가 종료되었다고 판정된 경우, 처리는 스텝 S330으로 진행된다.
스텝 S330에서, 서브 프로세서 제어부(271)는, 화질 개선 처리를 실시한 영상 데이터를 송신한다. 구체적으로는, 화질 개선 처리용 서브 프로세서는, 화질 개선 처리가 종료된 영상 데이터를 서브 프로세서 제어부(271)에 공급한다. 서브 프로세서 제어부(271)는, DMA 커맨드 영역에 기능 실행 커맨드의 실행의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 화질 개선 처리를 실시한 영상 데이터 등을 저장한 종료 통지 소프트웨어 셀을 생성한다. 서브 프로세서 제어부(271)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(231)를 통해서 네트워크(13)에 송신한다.
스텝 S329에서, 영상 데이터의 화질 개선 처리가 종료되어 있지 않다고 판정된 경우, 스텝 S330의 처리는 스킵되고, 처리는 스텝 S331로 진행된다.
스텝 S331에서, 장치 정보 관리부(252)는, 장치의 상태가 변화되었는지 여부를 판정한다. 장치 정보 관리부(252)가, 예를 들면, 기능 프로그램의 로드, 화질 개선 처리의 개시 또는 종료 등에 의해, 슬레이브 장치 B의 상태가 변화되었다고 판정한 경우, 처리는 스텝 S332로 진행된다.
스텝 S332에서, 장치 정보 관리부(252)는, 슬레이브 장치 B의 상태의 변화에 따라서, 메인 메모리(52)에 기억되어 있는 자기 자신의 장치 정보를 갱신하고, 자기 자신의 장치 정보를 갱신하였음을 정보 교환부(251)에 통지한다.
스텝 S333에서, 전술한 도 10의 스텝 S24와 마찬가지의 처리에 의해, 마스터 장치에 장치 정보가 통지된다. 이 때 송신되는 장치 정보 통지 소프트웨어 셀의 송신처 ID에는 마스터 장치의 송수신용 ID가 설정된다. 그 후, 처리는 스텝 S321로 되돌아가고, 전술한 스텝 S321 이후의 처리가 실행된다.
스텝 S331에서, 장치의 상태가 변화되어 있지 않다고 판정된 경우, 처리는 스텝 S321로 되돌아가고, 전술한 스텝 S321 이후의 처리가 실행된다.
다음으로, 도 32의 플로우차트를 참조하여, 도 24 내지 도 27의 마스터 장치에서의 시퀀스 처리 실행 처리에 대응하여, 슬레이브 장치 C인 정보 처리 장치(11-3)에 의해 실행되는 기능 프로그램 로드 처리를 설명한다.
스텝 S401에서, 서브 프로세서 제어부(171)는, 전술한 도 24의 스텝 S239에서, 마스터 장치로부터 송신된 프로그램 로드 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신한다.
스텝 S402에서, 전술한 도 17의 스텝 S172와 마찬가지의 처리에 의해, 기능 프로그램이 로드된다. 즉, 영상 디코드 처리 의뢰처 서브 프로세서에 영상 디코드 처리용 프로그램이 로드된다든지, 또는, 음성 디코드 처리 의뢰처 서브 프로세서에 음성 디코드 처리용 프로그램이 로드된다.
스텝 S403에서, 장치 정보 관리부(153)는, 기능 프로그램을 로드하는 것에 의한 슬레이브 장치 C의 상태의 변화에 따라서, 메인 메모리(22)에 기억되어 있는 장치 정보 테이블의 자기 자신의 장치 정보를 갱신하고, 자기 자신의 장치 정보를 갱신하였음을 정보 교환부(151)에 통지한다.
스텝 S404에서, 전술한 도 11의 스텝 S43과 마찬가지의 처리에 의해, 마스터 장치에 장치 정보가 통지되고, 기능 프로그램 로드 처리는 종료된다. 이 때 송신되는 장치 정보 통지 소프트웨어 셀의 송신처 ID에는 마스터 장치의 송수신용 ID가 설정된다.
또한, 슬레이브 장치 D에서의 기능 프로그램 로드 처리는, 도 32를 참조하여 전술한 슬레이브 장치 C에서의 기능 프로그램 로드 처리와 마찬가지이며, 그 설명은 생략한다.
다음으로, 도 33 및 도 34의 플로우차트를 참조하여, 도 24 내지 도 27의 마스터 장치에서의 시퀀스 처리 실행 처리에 대응하여, 슬레이브 장치 C인 정보 처리 장치(11-3)에 의해 실행되는 기능 프로그램 실행 처리를 설명한다.
스텝 S421에서, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀을 수신했는지의 여부를 판정한다. 서브 프로세서 제어부(171)가, 전술한 도 25의 스텝 S247 또는 스텝 S252에서, 마스터 장치로부터 송신된 프로그램 실행 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S422로 진행된다.
스텝 S422에서, 서브 프로세서 제어부(171)는, 수신한 프로그램 실행 소프트웨어 셀을 메인 메모리(22)에 기억시킨다.
스텝 S421에서, 프로그램 실행 소프트웨어 셀을 수신하지 않았다고 판정된 경우, 스텝 S422의 처리는 스킵되고, 처리는 스텝 S423으로 진행된다.
스텝 S423에서, 서브 프로세서 제어부(171)는, 처리되어 있지 않은 영상 데이터가 있는지의 여부를 판정한다. 구체적으로는, 서브 프로세서 제어부(171)는, 메인 메모리(22)에 기억되어 있는 프로그램 실행 소프트웨어 셀 중, 영상 디코드 처리가 실행되어 있지 않은 프로그램 실행 소프트웨어 셀이 있는 경우, 처리되어 있지 않은 영상 데이터가 있다고 판정하고, 처리는 스텝 S424로 진행된다.
스텝 S424에서, 서브 프로세서 제어부(171)는, 영상 디코드 처리가 실행되어 있지 않은 프로그램 실행 소프트웨어 셀 중 1개(예를 들면, 가장 오래된 시간에 마스터 장치로부터 수신한 프로그램 실행 소프트웨어 셀)를 선택한다.
스텝 S425에서, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀에 의해 지정되어 있는 서브 프로세서(32), 즉, 영상 디코드 처리 의뢰처 서브 프로세서가 영상 디코드 처리를 실행 중인지의 여부를 판정한다. 영상 디코드 처리 의뢰처 서브 프로세서가 영상 디코드 처리를 실행 중이 아니라고 판정된 경우, 처리는 스텝 S426으로 진행된다.
스텝 S426에서, 서브 프로세서 제어부(171)는, 영상 디코드 처리를 개시시킨다. 구체적으로는, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀에 포함되는 영상 데이터, 및, 영상 디코드 처리에 필요한 각종 파라미터를, 영상 디코드 처리 의뢰처 서브 프로세서에 공급한다. 영상 디코드 처리 의뢰처 서브 프로세서는, 서브 프로세서 제어부(271)의 제어를 바탕으로, 전술한 도 32의 스텝 S402에서 로드되어 있는 영상 디코드 처리용 프로그램의 실행을 개시하고, 영상 데이터의 디코드가 개시된다.
스텝 S425에서, 영상 디코드 처리 의뢰처 서브 프로세서가 영상 디코드 처리를 실행 중이라고 판정된 경우, 스텝 S426의 처리는 스킵되고, 처리는 스텝 S427로 진행된다.
스텝 S423에서, 처리되어 있지 않은 영상 데이터가 없다고 판정된 경우, 스텝 S424 내지 S426의 처리는 스킵되고, 처리는 스텝 S427로 진행된다.
스텝 S427에서, 서브 프로세서 제어부(171)는, 처리되어 있지 않은 음성 데이터가 있는지의 여부를 판정한다. 구체적으로는, 서브 프로세서 제어부(171)는, 메인 메모리(22)에 기억되어 있는 프로그램 실행 소프트웨어 셀 중, 음성 디코드 처리가 실행되어 있지 않은 프로그램 실행 소프트웨어 셀이 있는 경우, 처리되어 있지 않은 음성 데이터가 있다고 판정하고, 처리는 스텝 S428로 진행된다.
스텝 S428에서, 서브 프로세서 제어부(171)는, 음성 디코드 처리가 실행되어 있지 않은 프로그램 실행 소프트웨어 셀 중 1개(예를 들면, 가장 오래된 시간에 마스터 장치로부터 수신한 프로그램 실행 소프트웨어 셀)를 선택한다.
스텝 S429에서, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀에 의해 지정되어 있는 서브 프로세서(32), 즉, 음성 디코드 처리 의뢰처 서브 프로세서가 음성 디코드 처리를 실행 중인지의 여부를 판정한다. 음성 디코드 처리 의뢰처 서브 프로세서가 음성 디코드 처리를 실행 중이 아니라고 판정된 경우, 처리는 스텝 S430으로 진행된다.
스텝 S430에서, 서브 프로세서 제어부(171)는, 음성 디코드 처리를 개시시킨다. 구체적으로는, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀에 포함되는 음성 데이터, 및, 음성 디코드 처리에 필요한 각종 파라미터를, 음성 디코드 처리 의뢰처 서브 프로세서에 공급한다. 음성 디코드 처리 의뢰처 서브 프로세서는, 서브 프로세서 제어부(271)의 제어를 바탕으로, 전술한 도 32의 스텝 S402에서 로드되어 있는 음성 디코드 처리용 프로그램의 실행을 개시하고, 음성 데이터의 디코드를 개시한다.
스텝 S429에서, 음성 디코드 처리 의뢰처 서브 프로세서가 음성 디코드 처리를 실행 중이라고 판정된 경우, 스텝 S430의 처리는 스킵되고, 처리는 스텝 S431로 진행된다.
스텝 S427에서, 처리되어 있지 않은 음성 데이터가 없다고 판정된 경우, 스텝 S428 내지 S430의 처리는 스킵되고, 처리는 스텝 S431로 진행된다.
스텝 S431에서, 진척 통지부(172)는, 적절히 마스터 장치에 처리의 진척 상황을 통지한다. 구체적으로는, 영상 디코드 처리 의뢰처 서브 프로세서 및 음성 디코드 처리 의뢰처 서브 프로세서는, 예를 들면, 소정의 간격마다, 현재 처리중인 영상 디코드 처리 또는 음성 디코드 처리의 진척율을 나타내는 데이터를, 서브 프로세서 제어부(171)에 공급한다. 서브 프로세서 제어부(171)는, 취득한 진척율을 나타내는 데이터를 진척 통지부(172)에 공급한다.
진척 통지부(172)는, DMA 커맨드 영역에 처리의 진척 상황을 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에, 영상 디코드 처리 및 음성 디코드 처리의 각각에 대해서, 전체의 처리를 100으로 하고, 종료한 처리의 비율을 0에서부터 100까지의 값으로 나타낸 데이터가 저장된 진척 상황 통지 소프트웨어 셀을 생성한다. 진척 통지부(172)는, 생성한 진척 상황 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
스텝 S432에서, 영상 디코드 처리 의뢰처 서브 프로세서는, 영상 데이터의 디코드가 종료되었는지의 여부를 판정한다. 영상 데이터의 디코드가 종료되었다고 판정된 경우, 처리는 스텝 S433으로 진행된다.
스텝 S433에서, 서브 프로세서 제어부(171)는, 디코드 및 영상 데이터를 송신한다. 구체적으로는, 영상 디코드 처리 의뢰처 서브 프로세서는, 디코드가 종료된 영상 데이터를 서브 프로세서 제어부(171)에 공급한다. 서브 프로세서 제어부(171)는, DMA 커맨드 영역에 기능 프로그램의 실행의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 디코드 및 영상 데이터 등을 저장한 종료 통지 소프트웨어 셀을 생성한다. 서브 프로세서 제어부(171)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
스텝 S432에서, 영상 데이터의 디코드가 종료되어 있지 않다고 판정된 경우, 스텝 S433의 처리는 스킵되고, 처리는 스텝 S434로 진행된다.
스텝 S434에서, 음성 디코드 처리 의뢰처 서브 프로세서는, 음성 데이터의 디코드가 종료되었는지의 여부를 판정한다. 음성 데이터의 디코드가 종료되었다고 판정된 경우, 처리는 스텝 S435로 진행된다.
스텝 S435에서, 서브 프로세서 제어부(171)는, 디코드 및 음성 데이터를 송신한다. 구체적으로는, 음성 디코드 처리 의뢰처 서브 프로세서는, 디코드가 종료된 음성 데이터를 서브 프로세서 제어부(171)에 공급한다. 서브 프로세서 제어부(171)는, DMA 커맨드 영역에 기능 프로그램의 실행의 종료를 통지하는 것을 나타 내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 디코드 및 음성 데이터 등을 저장한 종료 통지 소프트웨어 셀을 생성한다. 서브 프로세서 제어부(171)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
스텝 S434에서, 음성 데이터의 디코드가 종료되어 있지 않다고 판정된 경우, 스텝 S435의 처리는 스킵되고, 처리는 스텝 S436으로 진행된다.
스텝 S436에서, 장치 정보 관리부(153)는, 장치의 상태가 변화되었는지 여부를 판정한다. 구체적으로는, 장치 정보 관리부(153)는, 예를 들면, 영상 디코드 처리 또는 음성 디코드 처리의 개시 또는 종료 등에 의해, 슬레이브 장치 C의 상태가 변화되었다고 판정한 경우, 처리는 스텝 S437로 진행된다.
스텝 S437에서, 장치 정보 관리부(153)는, 슬레이브 장치 C의 상태의 변화에 따라서, 메인 메모리(22)에 기억되어 있는 장치 정보 테이블의 자기 자신의 장치 정보를 갱신하고, 자기 자신의 장치 정보를 갱신하였음을 정보 교환부(151)에 통지한다.
스텝 S438에서, 전술한 도 11의 스텝 S43과 마찬가지의 처리에 의해, 마스터 장치에 장치 정보가 통지된다. 이 때 송신되는 장치 정보 통지 소프트웨어 셀의 송신처 ID에는 마스터 장치의 송수신용 ID가 설정된다. 그 후, 처리는 스텝 S421로 되돌아가고, 전술한 스텝 S421 이후의 처리가 실행된다.
스텝 S438에서, 장치의 상태가 변화되어 있지 않다고 판정된 경우, 처리는 스텝 S421로 되돌아가고, 전술한 스텝 S421 이후의 처리가 실행된다.
다음으로, 도 35 및 도 36의 플로우차트를 참조하여, 도 24 내지 도 27의 마스터 장치에서의 시퀀스 처리 실행 처리에 대응하여 실행되는, 슬레이브 장치 D인 정보 처리 장치(11)에서의 기능 프로그램 실행 처리를 설명한다.
스텝 S461에서, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀을 수신했는지의 여부를 판정한다. 서브 프로세서 제어부(171)가, 전술한 도 26의 스텝 S261에서, 마스터 장치로부터 송신된 프로그램 실행 소프트웨어 셀을, 네트워크(13) 및 네트워크 입출력 드라이버(131)를 통해서 수신했다고 판정한 경우, 처리는 스텝 S462로 진행된다.
스텝 S462에서, 서브 프로세서 제어부(171)는, 수신한 프로그램 실행 소프트웨어 셀을 메인 메모리(22-4)에 기억시킨다.
스텝 S461에서, 프로그램 실행 소프트웨어 셀을 수신하지 않았다고 판정된 경우, 스텝 S462의 처리는 스킵되고, 처리는 스텝 S463으로 진행된다.
스텝 S463에서, 서브 프로세서 제어부(171)는, 처리되어 있지 않은 영상 데이터가 있는지의 여부를 판정한다. 구체적으로는, 서브 프로세서 제어부(171)는, 메인 메모리(22)에 기억되어 있는 프로그램 실행 소프트웨어 셀 중, 화질 개선 처리가 실행되어 있지 않은 프로그램 실행 소프트웨어 셀이 있는 경우, 처리되어 있지 않은 영상 데이터가 있다고 판정하고, 처리는 스텝 S464로 진행된다.
스텝 S464에서, 서브 프로세서 제어부(171)는, 화질 개선 처리가 실행되어 있지 않은 프로그램 실행 소프트웨어 셀 중 1개(예를 들면, 가장 오래된 시간에 마 스터 장치로부터 수신한 프로그램 실행 소프트웨어 셀)를 선택한다.
스텝 S465에서, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀에 의해 지정되어 있는 서브 프로세서(32), 즉, 화질 개선 처리 의뢰처 서브 프로세서가 화질 개선 처리를 실행 중인지의 여부를 판정한다. 화질 개선 처리 의뢰처 서브 프로세서가 화질 개선 처리를 실행 중이 아니라고 판정된 경우, 처리는 스텝 S466으로 진행된다.
스텝 S466에서, 서브 프로세서 제어부(171)는, 화질 개선 처리를 개시시킨다. 구체적으로는, 서브 프로세서 제어부(171)는, 프로그램 실행 소프트웨어 셀에 포함되는 영상 데이터, 및, 화질 개선 처리에 필요한 각종 파라미터를, 화질 개선 처리 의뢰처 서브 프로세서에 공급한다. 화질 개선 처리 의뢰처 서브 프로세서는, 서브 프로세서 제어부(271)의 제어를 바탕으로, 전술한 도 32의 스텝 S402에서 로드되어 있는 화질 개선 처리용 프로그램의 실행을 개시한다. 이에 의해, 영상 데이터의 화질 개선 처리가 개시된다.
스텝 S465에서, 화질 개선 처리 의뢰처 서브 프로세서가 화질 개선 처리를 실행 중이라고 판정된 경우, 스텝 S466의 처리는 스킵되고, 처리는 스텝 S467로 진행된다.
스텝 S463에서, 처리되어 있지 않은 영상 데이터가 없다고 판정된 경우, 스텝 S464 내지 S466의 처리는 스킵되고, 처리는 스텝 S467로 진행된다.
스텝 S467에서, 진척 통지부(172)는, 적절히 마스터 장치에 처리의 진척 상황을 통지한다. 구체적으로는, 화질 개선 처리 의뢰처 서브 프로세서는, 예를 들 면, 소정의 간격마다, 현재 처리중인 화질 개선 처리의 진척율을 나타내는 데이터를, 서브 프로세서 제어부(171)에 공급한다. 서브 프로세서 제어부(171)는, 취득한 진척율을 나타내는 데이터를 진척 통지부(172)에 공급한다.
진척 통지부(172)는, DMA 커맨드 영역에 진척 상황을 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에, 화질 개선 처리에 대해서, 전체의 처리를 100으로 하고, 종료한 처리의 비율을 0에서부터 100까지의 값으로 나타낸 데이터가 저장된 진척 상황 통지 소프트웨어 셀을 생성한다. 진척 통지부(172)는, 생성한 진척 상황 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
스텝 S468에서, 화질 개선 처리 의뢰처 서브 프로세서는, 화질 개선 처리가 종료되었는지의 여부를 판정한다. 화질 개선 처리가 종료되었다고 판정된 경우, 처리는 스텝 S469로 진행된다.
스텝 S469에서, 서브 프로세서 제어부(171)는, 화질 개선 처리를 실시한 영상 데이터를 송신한다. 구체적으로는, 화질 개선 처리 의뢰처 서브 프로세서는, 화질 개선 처리가 종료된 영상 데이터를 서브 프로세서 제어부(171)에 공급한다. 서브 프로세서 제어부(171)는, DMA 커맨드 영역에 기능 프로그램의 실행의 종료를 통지하는 것을 나타내는 스테이터스 회신 커맨드, 송신원 ID와 응답처 ID에 자기 자신의 송수신용 ID, 및, 송신처 ID에 마스터 장치의 송수신용 ID가 설정되고, 데이터 영역에 화질 개선 처리를 실시한 영상 데이터 등을 저장한 종료 통지 소프트 웨어 셀을 생성한다. 서브 프로세서 제어부(171)는, 생성한 종료 통지 소프트웨어 셀을, 네트워크 입출력 드라이버(131)를 통해서 네트워크(13)에 송신한다.
스텝 S468에서, 화질 개선 처리가 종료되어 있지 않다고 판정된 경우, 스텝 S469의 처리는 스킵되고, 처리는 스텝 S470으로 진행된다.
스텝 S470에서, 장치 정보 관리부(153)는, 장치의 상태가 변화되었는지 여부를 판정한다. 구체적으로는, 장치 정보 관리부(153)는, 예를 들면, 화질 개선 처리의 개시 또는 종료 등에 의해, 슬레이브 장치 D의 상태가 변화되었다고 판정한 경우, 처리는 스텝 S471로 진행된다.
스텝 S471에서, 장치 정보 관리부(153)는, 슬레이브 장치 D의 상태의 변화에 따라서, 메인 메모리(22)에 기억되어 있는 장치 정보 테이블의 자기 자신의 장치 정보를 갱신하고, 자기 자신의 장치 정보를 갱신하였음을 정보 교환부(151)에 통지한다.
스텝 S472에서, 전술한 도 11의 스텝 S43과 마찬가지의 처리에 의해, 마스터 장치에 장치 정보가 통지된다. 이 때 송신되는 장치 정보 통지 소프트웨어 셀의 송신처 ID에는 마스터 장치의 송수신용 ID가 설정된다. 그 후, 처리는 스텝 S421로 되돌아가고, 전술한 스텝 S461 이후의 처리가 실행된다.
스텝 S470에서, 장치의 상태가 변화되어 있지 않다고 판정된 경우, 처리는 스텝 S461로 되돌아가고, 전술한 스텝 S461 이후의 처리가 실행된다.
또한, 이상의 설명에서는, 마스터 장치로부터 슬레이브 장치 A 내지 D에 모든 처리의 실행을 의뢰하는 예를 서술하였지만, 예를 들면, 슬레이브 장치 C에 있 어서, 영상 디코드 처리가 종료된 후, 슬레이브 장치 C로부터 직접 슬레이브 장치 B 또는 D에 디코드 및 영상 데이터를 송신하고, 화질 개선 처리의 실행을 의뢰하도록 하여도 된다.
이상과 같이, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 장치와, 제3 정보 처리 장치가 네트워크를 통해서 서로 접속되어 있고, 제1 정보 처리 장치 또는 제2 정보 처리 장치와, 제3 정보 처리 장치에 의해 분산 처리를 행하는 정보 처리 시스템에 있어서, 제1 정보 처리 장치에 의해, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보를, 제3 정보 처리 장치에 통지하고, 제3 정보 처리 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리가 실행시켜지고, 제2 정보 처리 장치에 의해, 제2 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를, 제3 정보 처리 장치에 통지하고, 제3 정보 처리 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보에 기초하여, 제2 프로세서에 제2 처리가 실행시켜지고, 제3 정보 처리 장치에 의해, 통지된 제1 장치 정보 또는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하고, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 장치에 의뢰하고, 제2 처리의 실행을 제2 정보 처리 장치에 의뢰하도록 처리의 의뢰처를 결정하고, 제1 정보 처리 장치에, 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 장치에, 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 경우에는, 네트워크에 접속된 복수의 정보 처리 장치에 의해 분산 처리를 행할 수 있다. 또한, 분산 처리에 있어서, 개개의 정보 처리 장치의 능력에 의해 적합한 처리를 실행시킬 수 있어, 처리 능력을 향상시킬 수 있다.
또한, 이상과 같이, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치에 있어서, 제1 정보 처리 단말 장치로부터 송신되는 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 제2 정보 처리 단말 장치로부터 송신되는 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하고, 장치 관리 정보에 기초하여, 제1 처리의 실행을 제1 정보 처리 단말 장치에 의뢰하고, 제1 처리와는 상이한 제2 처리의 실행을 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하고, 제1 정보 처리 단말 장치에, 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보를 송신함으로써 제1 처리를 의뢰하고, 제2 정보 처리 단말 장치에, 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써 제2 처리의 실행을 의뢰하는 경우에는, 네트워크에 접속된 복수의 정보 처리 장치에 의해 분산 처리를 행할 수 있다. 또한, 분산 처리에 있어서, 개개의 정보 처리 장치의 능력에 의해 적합한 처리를 실행시킬 수 있어, 처리 능력을 향상시킬 수 있다.
또한, 이상과 같이, 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치에 있어서, 제1 프로세서가 행하는 제1 처리를 나타내는 정보 및 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 제2 정보 처리 단말 장치에 통지하고, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제1 처리를 실행시키는 경우에는, 네트워크에 접속된 복수의 정보 처리 장치에 의해 분산 처리를 행할 수 있다. 또한, 분산 처리에 있어서, 개개의 정보 처리 장치의 능력에 의해 적합한 처리를 실행시킬 수 있어, 처리 능력을 향상시킬 수 있다.
또한, 이상과 같이, 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치에 있어서, 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치에 통지하고, 제2 정보 처리 단말 장치로부터 송신되는 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 제1 프로세서에 제2 처리가 실행시키는 경우에는, 네트워크에 접속된 복수의 정보 처리 장치에 의해 분산 처리를 행할 수 있다. 또한, 분산 처리에 있어서, 개개의 정보 처리 장치의 능력에 의해 적합한 처리를 실행시킬 수 있어, 처리 능력을 향상시킬 수 있다.
전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다.
또한, 본 명세서에 있어서, 프로그램 저장 매체에 저장되는 프로그램을 기술하는 스텝은, 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서, 시스템의 용어는, 복수의 장치, 수단 등으로 구성되는 전체적인 장치를 의미하는 것이다.

Claims (24)

  1. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 장치와, 제3 정보 처리 장치가 네트워크를 통해서 서로 접속되어 있고, 상기 제1 정보 처리 장치 또는 상기 제2 정보 처리 장치와, 상기 제3 정보 처리 장치에 의해 분산 처리를 행하는 정보 처리 시스템으로서,
    상기 제1 정보 처리 장치는,
    상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 제1 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보를, 상기 제3 정보 처리 장치에 통지하는 제1 장치 정보 통지 수단과,
    상기 제3 정보 처리 장치로부터 송신되는 상기 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제1 처리를 실행시키는 제1 프로세서 제어 수단
    을 포함하고,
    상기 제2 정보 처리 장치는,
    상기 제2 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를, 상기 제3 정보 처리 장치에 통지하는 제2 장치 정보 통지 수단과,
    상기 제3 정보 처리 장치로부터 송신되는 상기 제1 처리와는 상이한 제2 처 리의 실행을 의뢰하는 제2 처리 의뢰 정보에 기초하여, 상기 제2 프로세서에 상기 제2 처리를 실행시키는 제2 프로세서 제어 수단
    을 포함하고,
    상기 제3 정보 처리 장치는,
    통지된 상기 제1 장치 정보 또는 상기 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 수단과,
    상기 장치 관리 정보에 기초하여, 상기 제1 처리의 실행을 상기 제1 정보 처리 장치에 의뢰하고, 상기 제2 처리의 실행을 상기 제2 정보 처리 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 수단과,
    상기 제1 정보 처리 장치에, 상기 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리를 의뢰하고, 상기 제2 정보 처리 장치에, 상기 제2 처리 의뢰 정보를 송신함으로써 상기 제2 처리의 실행을 의뢰하는 처리 의뢰 수단
    을 포함하는 것을 특징으로 하는 정보 처리 시스템.
  2. 제1항에 있어서,
    상기 제1 정보 처리 장치는,
    소정의 실행 커맨드에 의해 실행이 명령되고, 상기 제1 처리를 행하는 기능 프로그램을 기억하는 기억 수단
    을 더 포함하고,
    상기 제1 장치 정보 통지 수단은, 상기 실행 커맨드를 포함하는 상기 제1 장 치 정보를 상기 제3 정보 처리 장치에 통지하고,
    상기 처리 의뢰 수단은, 상기 제1 정보 처리 장치에, 상기 실행 커맨드를 포함하는 상기 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리의 실행을 의뢰하고,
    상기 제1 프로세서 제어 수단은, 상기 제1 프로세서에, 상기 제1 처리 의뢰 정보에 포함되는 상기 실행 커맨드에 의해 실행이 명령된 상기 기능 프로그램을 실행시킴으로써 상기 제1 처리를 실행시키는
    것을 특징으로 하는 정보 처리 시스템.
  3. 제1항에 있어서,
    상기 처리 의뢰 수단은, 상기 제2 정보 처리 장치에, 상기 제2 처리를 행하는 기능 프로그램을 더 송신함과 함께, 상기 기능 프로그램의 실행을 의뢰하는 상기 제2 처리 의뢰 정보를 송신함으로써, 상기 제2 정보 처리 장치에 상기 제2 처리를 의뢰하고,
    상기 제2 프로세서 제어 수단은, 상기 제2 프로세서에, 수신한 상기 기능 프로그램을 로드시키고, 상기 제2 처리 의뢰 정보에 기초하여, 상기 기능 프로그램을 실행시킴으로써 상기 제2 처리를 실행시키는
    것을 특징으로 하는 정보 처리 시스템.
  4. 제1항에 있어서,
    상기 제1 정보 처리 장치는,
    상기 제1 프로세서에 의해 실행되고 있는 상기 제1 처리의 진척을 통지하는 제1 진척 정보를 상기 제3 정보 처리 장치에 송신하는 제1 진척 통지 수단
    을 더 포함하고,
    상기 제2 정보 처리 장치는,
    상기 제2 프로세서에 의해 실행되고 있는 상기 제2 처리의 진척을 통지하는 제2 진척 정보를 상기 제3 정보 처리 장치에 송신하는 제2 진척 통지 수단
    을 더 포함하고,
    상기 제3 정보 처리 장치는,
    수신한 상기 제1 진척 정보 또는 상기 제2 진척 정보에 기초하여, 상기 제1 처리 또는 제2 처리의 진척을 유저에게 통지하는 진척 통지 수단
    을 더 포함하는 것을 특징으로 하는 정보 처리 시스템.
  5. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 장치와, 제3 정보 처리 장치가 네트워크를 통해서 서로 접속되어 있고, 상기 제1 정보 처리 장치 또는 상기 제2 정보 처리 장치와, 상기 제3 정보 처리 장치에 의해 분산 처리를 행하는 정보 처리 시스템의 정보 처리 방법으로서,
    상기 제1 정보 처리 장치에 의해 실행되는,
    상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 제1 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보를, 상기 제3 정보 처리 장치에 통지하는 제1 장치 정보 통지 스텝과,
    상기 제3 정보 처리 장치로부터 송신되는 상기 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제1 처리를 실행시키는 제1 프로세서 제어 스텝
    을 포함하고,
    상기 제2 정보 처리 장치에 의해 실행되는,
    상기 제2 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 제2 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를, 상기 제3 정보 처리 장치에 통지하는 제2 장치 정보 통지 스텝과,
    상기 제3 정보 처리 장치로부터 송신되는 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보에 기초하여, 상기 제2 프로세서에 상기 제2 처리를 실행시키는 제2 프로세서 제어 스텝
    을 포함하고,
    상기 제3 정보 처리 장치에 의해 실행되는,
    통지된 상기 제1 장치 정보 또는 상기 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스텝과,
    상기 장치 관리 정보에 기초하여, 상기 제1 처리의 실행을 상기 제1 정보 처리 장치에 의뢰하고, 상기 제2 처리의 실행을 상기 제2 정보 처리 장치에 의뢰하도 록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과,
    상기 제1 정보 처리 장치에, 상기 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리를 의뢰하고, 상기 제2 정보 처리 장치에, 상기 제2 처리 의뢰 정보를 송신함으로써 상기 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝
    을 포함하는 것을 특징으로 하는 정보 처리 방법.
  6. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치로서,
    상기 제1 정보 처리 단말 장치로부터 송신되는 상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 수단과,
    상기 장치 관리 정보에 기초하여, 상기 제1 처리의 실행을 상기 제1 정보 처리 단말 장치에 의뢰하고, 상기 제1 처리와는 상이한 상기 제2 처리의 실행을 상기 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 수 단과,
    상기 제1 정보 처리 단말 장치에, 상기 제1 처리의 실행을 의뢰하는 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리를 의뢰하고, 상기 제2 정보 처리 단말 장치에, 상기 제2 처리의 실행을 의뢰하는 제2 처리 의뢰 정보를 송신함으로써 상기 제2 처리의 실행을 의뢰하는 처리 의뢰 수단
    을 포함하는 것을 특징으로 하는 정보 처리 장치.
  7. 제6항에 있어서,
    상기 제1 장치 정보는, 상기 제1 처리를 행하는 기능 프로그램의 실행을 명령하는 실행 커맨드를 포함하고,
    상기 처리 의뢰 수단은, 상기 제1 정보 처리 단말 장치에, 상기 실행 커맨드를 포함하는 상기 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리의 실행을 의뢰하는
    것을 특징으로 하는 정보 처리 장치.
  8. 제6항에 있어서,
    상기 처리 의뢰 수단은, 상기 제2 정보 처리 단말 장치에, 상기 제2 처리를 행하는 기능 프로그램을 더 송신함과 함께, 상기 기능 프로그램의 실행을 의뢰하는 상기 제2 처리 의뢰 정보를 송신함으로써, 상기 제2 정보 처리 단말 장치에 상기 제2 처리의 실행을 의뢰하는
    것을 특징으로 하는 정보 처리 장치.
  9. 제6항에 있어서,
    상기 제1 정보 처리 단말 장치로부터 송신되는 상기 제1 프로세서에 의해 실행되고 있는 상기 제1 처리의 진척을 통지하는 제1 진척 정보, 또는, 상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제2 프로세서에 의해 실행되고 있는 상기 제2 처리의 진척을 통지하는 제2 진척 정보에 기초하여, 상기 제1 처리 또는 제2 처리의 진척을 유저에게 통지하는 진척 통지 수단
    을 더 포함하는 것을 특징으로 하는 정보 처리 장치.
  10. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치의 정보 처리 방법으로서,
    상기 제1 정보 처리 단말 장치로부터 송신되는 상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스 텝과,
    상기 장치 관리 정보에 기초하여, 상기 제1 처리의 실행을 상기 제1 정보 처리 단말 장치에 의뢰하고, 상기 제1 처리와는 상이한 상기 제2 처리의 실행을 상기 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과,
    상기 제1 정보 처리 단말 장치에, 상기 제1 처리의 실행을 의뢰하는 상기 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리를 의뢰하고, 상기 제2 정보 처리 단말 장치에, 상기 제2 처리의 실행을 의뢰하는 상기 제2 처리 의뢰 정보를 송신함으로써 상기 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝
    을 포함하는 것을 특징으로 하는 정보 처리 방법.
  11. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치의 정보 처리용의 프로그램으로서,
    상기 제1 정보 처리 단말 장치로부터 송신되는 상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하 는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스텝과,
    상기 장치 관리 정보에 기초하여, 상기 제1 처리의 실행을 상기 제1 정보 처리 단말 장치에 의뢰하고, 상기 제1 처리와는 상이한 상기 제2 처리의 실행을 상기 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과,
    상기 제1 정보 처리 단말 장치에, 상기 제1 처리의 실행을 의뢰하는 상기 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리를 의뢰하고, 상기 제2 정보 처리 단말 장치에, 상기 제2 처리의 실행을 의뢰하는 상기 제2 처리 의뢰 정보를 송신함으로써 상기 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝
    을 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  12. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 1대 이상의 제1 정보 처리 단말 장치, 또는, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 1대 이상의 제2 정보 처리 단말 장치와 네트워크를 통해서 접속되어 있는 정보 처리 장치의 컴퓨터에, 정보 처리를 행하게 하는 프로그램으로서,
    상기 제1 정보 처리 단말 장치로부터 송신되는 상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 제1 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제1 장치 정보, 및, 상기 제2 정보 처리 단말 장치로부 터 송신되는 상기 제2 정보 처리 단말 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 제2 정보 처리 단말 장치의 처리 능력을 나타내는 정보를 포함하는 제2 장치 정보를 포함하는 장치 관리 정보를 생성하는 장치 관리 정보 생성 스텝과,
    상기 장치 관리 정보에 기초하여, 상기 제1 처리의 실행을 상기 제1 정보 처리 단말 장치에 의뢰하고, 상기 제1 처리와는 상이한 상기 제2 처리의 실행을 상기 제2 정보 처리 단말 장치에 의뢰하도록 처리의 의뢰처를 결정하는 의뢰처 결정 스텝과,
    상기 제1 정보 처리 단말 장치에, 상기 제1 처리의 실행을 의뢰하는 상기 제1 처리 의뢰 정보를 송신함으로써 상기 제1 처리를 의뢰하고, 상기 제2 정보 처리 단말 장치에, 상기 제2 처리의 실행을 의뢰하는 상기 제2 처리 의뢰 정보를 송신함으로써 상기 제2 처리의 실행을 의뢰하는 처리 의뢰 스텝
    을 포함하는 것을 특징으로 하는 프로그램.
  13. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치에 있어서,
    상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 자신의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 수단과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제1 처리를 실행시키는 프로세서 제어 수단
    을 포함하는 것을 특징으로 하는 정보 처리 장치.
  14. 제13항에 있어서,
    소정의 실행 커맨드에 의해 실행이 명령되고, 상기 제1 처리를 행하는 기능 프로그램을 기억하는 기억 수단
    을 더 포함하고,
    상기 장치 정보 통지 수단은, 상기 실행 커맨드를 포함하는 상기 장치 정보를 상기 제2 정보 처리 단말 장치에 통지하고,
    상기 프로세서 제어 수단은, 상기 제1 프로세서에, 상기 처리 의뢰 정보에 포함되는 상기 실행 커맨드에 의해 실행이 명령된 상기 기능 프로그램을 실행시킴으로써 상기 제1 처리를 실행시키는
    것을 특징으로 하는 정보 처리 장치.
  15. 제13항에 있어서,
    상기 제1 프로세서에 의해 실행되고 있는 상기 제1 처리의 진척을 통지하는 진척 정보를 상기 제2 정보 처리 단말 장치에 송신하는 진척 통지 수단
    을 더 포함하는 것을 특징으로 하는 정보 처리 장치.
  16. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리 방법으로서,
    상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제1 처리를 실행시키는 프로세서 제어 스텝
    을 포함하는 것을 특징으로 하는 정보 처리 방법.
  17. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리용의 프로그램으로서,
    상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제1 처리를 실행시키는 프로세서 제어 스텝
    을 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  18. 미리 정해진 제1 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 범용적인 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 컴퓨터에, 정보 처리를 행하게 하는 프로그램으로서,
    상기 제1 프로세서가 행하는 상기 제1 처리를 나타내는 정보 및 상기 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제1 처리를 실행시키는 프로세서 제어 스텝
    을 포함하는 것을 특징으로 하는 프로그램.
  19. 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 상기 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치에 있어서,
    자신이 범용적인 처리를 행하는 것을 나타내는 정보 및 자신의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 수단과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제2 처리를 실행시키는 프로세서 제어 수단
    을 포함하는 것을 특징으로 하는 정보 처리 장치.
  20. 제19항에 있어서,
    상기 프로세서 제어 수단은, 상기 제1 프로세서에, 상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제2 처리를 행하는 기능 프로그램을 로드시키고, 상기 기능 프로그램의 실행을 의뢰하는 상기 처리 의뢰 정보에 기초하여, 상기 기능 프로그램을 실행시킴으로써 상기 제2 처리를 실행시키는
    것을 특징으로 하는 정보 처리 장치.
  21. 제19항에 있어서,
    상기 제1 프로세서에 의해 실행되고 있는 상기 제2 처리의 진척을 통지하는 진척 정보를 상기 정보 처리 단말 장치에 송신하는 진척 통지 수단
    을 더 포함하는 것을 특징으로 하는 정보 처리 장치.
  22. 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 상기 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리 방법으로서,
    상기 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제2 처리를 실행시키는 프로세서 제어 스텝
    을 포함하는 것을 특징으로 하는 정보 처리 방법.
  23. 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처 리 단말 장치에 상기 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 정보 처리용의 프로그램으로서,
    상기 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제2 처리를 실행시키는 프로세서 제어 스텝
    을 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  24. 범용적인 처리를 행하는 1개 이상의 제1 프로세서를 갖는 정보 처리 장치로서, 미리 정해진 제1 처리를 행하는 1개 이상의 제2 프로세서를 갖는 제1 정보 처리 단말 장치에 상기 제1 처리의 실행을 의뢰하는 제2 정보 처리 단말 장치와 네트워크를 통해서 서로 접속되어 있는 정보 처리 장치의 컴퓨터에, 정보 처리를 행하게 하는 프로그램으로서,
    상기 정보 처리 장치가 범용적인 처리를 행하는 것을 나타내는 정보 및 상기 정보 처리 장치의 처리 능력을 나타내는 정보를 포함하는 장치 정보를, 상기 제2 정보 처리 단말 장치에 통지하는 장치 정보 통지 스텝과,
    상기 제2 정보 처리 단말 장치로부터 송신되는 상기 제1 처리와는 상이한 제2 처리의 실행을 의뢰하는 처리 의뢰 정보에 기초하여, 상기 제1 프로세서에 상기 제2 처리를 실행시키는 프로세서 제어 스텝
    을 포함하는 것을 특징으로 하는 프로그램.
KR1020077012077A 2004-11-29 2005-10-25 정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및프로그램 KR20070085510A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00344179 2004-11-29
JP2004344179A JP2006155187A (ja) 2004-11-29 2004-11-29 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム。

Publications (1)

Publication Number Publication Date
KR20070085510A true KR20070085510A (ko) 2007-08-27

Family

ID=36497873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077012077A KR20070085510A (ko) 2004-11-29 2005-10-25 정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및프로그램

Country Status (6)

Country Link
US (1) US20080140756A1 (ko)
EP (1) EP1837761A4 (ko)
JP (1) JP2006155187A (ko)
KR (1) KR20070085510A (ko)
CN (1) CN101069160A (ko)
WO (1) WO2006057130A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040858A (ja) * 2006-08-08 2008-02-21 Hitachi Ltd 情報処理機器及び情報処理システム
WO2008021024A2 (en) * 2006-08-13 2008-02-21 Mentor Graphics Corporation Multiprocessor architecture with hierarchical processor organization
JP4897404B2 (ja) 2006-09-12 2012-03-14 株式会社ソニー・コンピュータエンタテインメント 映像表示システム、映像表示装置、その制御方法及びプログラム
US9088747B2 (en) 2006-09-12 2015-07-21 Sony Corporation Video display system, video display device, its control method, and information storage medium
JP2008242948A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 情報処理装置および同装置の動作制御方法
JP2008276395A (ja) * 2007-04-26 2008-11-13 Toshiba Corp 情報処理装置およびプログラム実行制御方法
US8429299B2 (en) * 2008-10-03 2013-04-23 Advanced Micro Devices, Inc. Distributed audio and video processing
JP4691153B2 (ja) * 2008-12-10 2011-06-01 富士通株式会社 マルチコアプロセッサ,制御方法および情報処理装置
KR101748318B1 (ko) * 2010-11-22 2017-06-27 삼성전자 주식회사 휴대 단말기의 어플리케이션 실행 방법 및 장치
JP5259784B2 (ja) * 2011-07-25 2013-08-07 株式会社東芝 情報処理装置およびプログラム実行制御方法
US9733977B2 (en) 2013-05-31 2017-08-15 Nec Corporation Distributed processing system, distributed processing device, distributed processing method, and distributed processing program
JP6465672B2 (ja) * 2015-01-29 2019-02-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法
US20160328279A1 (en) * 2015-05-07 2016-11-10 Ebay Inc. Method and System for Providing a Framework as a Service

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0342765A (ja) * 1989-07-10 1991-02-22 Nec Corp 分散処理装置
US6463446B1 (en) * 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
JPH1115799A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd 並列処理システム
US7386586B1 (en) * 1998-12-22 2008-06-10 Computer Associates Think, Inc. System for scheduling and monitoring computer processes
US6694345B1 (en) * 1999-10-05 2004-02-17 International Business Machines Corporatioin External job scheduling within a distributed processing system having a local job control system
JP2001290788A (ja) * 2000-04-10 2001-10-19 Mitsubishi Electric Corp 分散処理システム
JP2003006175A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd プロセス実行時のプログラム動作特性に基づくプロセススケジューリング方法及びこれを用いたプログラム及びデータ処理装置
JP2003178037A (ja) * 2001-12-10 2003-06-27 Canon Inc 最適オブジェクトコード選択方法
WO2003088142A2 (en) * 2002-04-10 2003-10-23 Instasolv, Inc. Method and system for managing computer systems
JP2004102934A (ja) * 2002-09-12 2004-04-02 Dainippon Printing Co Ltd 自動処理汎用制御システム、ジョブ入力装置、自動処理汎用制御装置、自動処理汎用制御方法、プログラム、及び、記録媒体
JP2004178290A (ja) * 2002-11-27 2004-06-24 Hitachi Ltd 管理サーバ装置,apサーバ,及びプログラムを記憶した記憶媒体
US7383550B2 (en) * 2002-12-23 2008-06-03 International Business Machines Corporation Topology aware grid services scheduler architecture
US8412822B1 (en) * 2004-01-27 2013-04-02 At&T Intellectual Property Ii, L.P. Optimized job scheduling and execution in a distributed computing grid
US7523317B2 (en) * 2004-04-29 2009-04-21 International Business Machines Corporation Computer grid access management system
US7908313B2 (en) * 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
CA2586763C (en) * 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US20060117317A1 (en) * 2004-11-12 2006-06-01 International Business Machines Corporation On-demand utility services utilizing yield management

Also Published As

Publication number Publication date
CN101069160A (zh) 2007-11-07
EP1837761A1 (en) 2007-09-26
WO2006057130A1 (ja) 2006-06-01
EP1837761A4 (en) 2012-04-25
US20080140756A1 (en) 2008-06-12
JP2006155187A (ja) 2006-06-15

Similar Documents

Publication Publication Date Title
KR20070085510A (ko) 정보 처리 시스템, 정보 처리 장치 및 방법, 기록 매체, 및프로그램
EP1569114B1 (en) Network system, distributed processing method and information processing apparatus
US8103771B2 (en) Distributing processing apparatus, method, and system
JP5359295B2 (ja) 負荷分散装置、負荷分散方法および負荷分散プログラム
JP4606404B2 (ja) 計算資源管理プログラムおよび計算資源管理装置
US6314447B1 (en) System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
US8161475B2 (en) Automatic load and balancing for virtual machines to meet resource requirements
US20080253673A1 (en) Information Processing System, Information Processing Method, and Computer Program
CN106302565A (zh) 业务服务器的调度方法及系统
JP2004302937A (ja) プログラム配置方法及びその実施システム並びにその処理プログラム
CN110333961B (zh) 多系统音频管理设备、方法及计算机可读存储介质
US8065403B2 (en) Information processing system, information processing method, and computer program
WO2015067044A1 (zh) 一种数据压缩方法及存储系统
EP1473906A2 (en) Service management system, and method, communications unit and integrated circuit for use in such system
Han et al. EdgeTuner: Fast scheduling algorithm tuning for dynamic edge-cloud workloads and resources
CN109117384A (zh) 一种内存清理的提示方法和装置
WO2012151802A1 (zh) 一种基于云节点自主学习的云计算方法和装置
JP2005352909A (ja) 情報処理装置および方法、記録媒体、並びに予約処理プログラム
JP3975795B2 (ja) タスク管理装置、同方法およびプログラム
JP4349189B2 (ja) ネットワークシステム、番組録画予約方法および情報処理装置
US20050246595A1 (en) Network system, information processing apparatus, master apparatus, and apparatus information display method
JP4709857B2 (ja) 情報処理装置
JP2004348715A (ja) サービス管理システム、ならびにそれに用いられる方法、通信機器および集積回路
JP2010146215A (ja) クラスタストレージ装置、クラスタストレージシステム、及びその制御方法
JP2005267150A (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
NORF Unpaid initial registration fee