KR101119870B1 - 정보 처리 시스템 및 정보 처리 방법 - Google Patents
정보 처리 시스템 및 정보 처리 방법 Download PDFInfo
- Publication number
- KR101119870B1 KR101119870B1 KR1020050017202A KR20050017202A KR101119870B1 KR 101119870 B1 KR101119870 B1 KR 101119870B1 KR 1020050017202 A KR1020050017202 A KR 1020050017202A KR 20050017202 A KR20050017202 A KR 20050017202A KR 101119870 B1 KR101119870 B1 KR 101119870B1
- Authority
- KR
- South Korea
- Prior art keywords
- information processing
- information
- function
- processing apparatus
- network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
가상적인 1대의 기기에서의 잉여의 처리 능력을 용이하게 파악함과 함께, 기능 확장을 효율적으로 행한다. 가상 정보 처리 장치의 잉여 처리 능력에 기초하여, 사용 가능한 기능 일람을 추출하여 표시한다. 잉여 처리 능력의 부족으로부터 동작 불가능한 기능이 존재하는 경우, 다시 필요한 처리 능력을 산출하여, 어떤 정보 처리 장치를 증설하면 해당 기능이 사용 가능하게 될지를 정보 처리 장치명이나 코드 번호 등으로 구체적으로 제시한다. 또한, 정보 처리 장치가 접속 가능한 네트워크 상에 정보 제공 서버를 배치하여, 소정의 타이밍에서 각 정보 처리 장치의 성능?기능 정보, 소프트웨어를 취득한다.
서버, 네트워크, 데이터베이스
Description
도 1은 본 발명의 일 실시 형태에 따른 네트워크 시스템의 구성을 도시한 도면.
도 2는 서브 프로세서(23)로부터 메인 메모리(24)에의 액세스 수순을 설명하기 위한 도면.
도 3은 소프트웨어 셀의 구성예를 도시한 도면.
도 4는 DMA 커맨드가 스테이터스 회신 커맨드인 경우의 소프트웨어 셀의 데이터 영역을 도시한 도면.
도 5는 복수의 정보 처리 장치가 가상적인 1대의 정보 처리 장치로서 동작하는 모습을 도시한 도면.
도 6은 정보 처리 컨트롤러의 소프트웨어 구성의 일례를 도시한 도면.
도 7은 4대의 정보 처리 장치가 가상적인 1대의 정보 처리 장치로서 동작하는 모습을 도시한 도면.
도 8은 도 7에 도시한 시스템에서의 분산 처리의 예를 도시한 도면.
도 9는 각 정보 처리 장치 및 시스템의 구체예를 도시한 도면.
도 10은 도 9 중 하드 디스크 레코더의 하드웨어 구성을 도시한 도면.
도 11은 도 9 중 하드 디스크 레코더의 소프트웨어 구성을 도시한 도면.
도 12는 도 9 중 PDA의 하드웨어 구성을 도시한 도면.
도 13은 도 9 중 PDA의 소프트웨어 구성을 도시한 도면.
도 14는 도 9 중 포터블 CD 플레이어의 하드웨어 구성을 도시한 도면.
도 15는 도 9 중 포터블 CD 플레이어의 소프트웨어 구성을 도시한 도면.
도 16은 본 발명의 일 실시 형태에 따른 네트워크 시스템의 구성을 모식적으로 도시한 도면.
도 17은 장치 정보의 구성예를 도시한 도면.
도 18은 기능 정보 데이터베이스(60)의 구성예를 도시한 도면.
도 19는 네트워크 상의 가상 정보 처리 장치(20)와 서버(50)와의 협동적인 동작에 의해 가상 정보 처리 장치에서의 잉여의 처리 능력의 파악과, 기능의 실행에 필요한 성능 정보를 제공하기 위한 동작 수순을 도시한 시퀀스도.
도 20은 가상 정보 처리 장치(20)에서, 능력 교환 프로그램의 실행으로부터, 복수의 정보 처리 장치의 제휴 동작에 의한 확장 기능 실현에 필요한 정보 처리 장치 정보를 사용자에게 제시하는 것에 이르기까지의 처리 수순을 도시한 흐름도.
도 21은 네트워크에 새롭게 접속하는 것이 추장(推奬)되는 정보 처리 장치를 선택하기 위한 처리 수순을 상세히 도시한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
10, 11, 12 : 정보 처리 장치
20 : 가상 정보 처리 장치
30 : 로컬 네트워크
40 : 통신 네트워크
50 : 서버
60 : 기능 정보 데이터베이스
61 : 소프트웨어 데이터베이스
71 : 정보 처리 장치 기능 데이터베이스
72 : 기능 데이터베이스
73 : 제휴 기능 데이터베이스
특허 문헌 1 : 일본 특개 2002-342165호 공보
특허 문헌 2 : 일본 특개 2002-351850호 공보
특허 문헌 3 : 일본 특개 2002-358289호 공보
특허 문헌 4 : 일본 특개 2002-366533호 공보
특허 문헌 5 : 일본 특개 2002-366534호 공보
본 발명은, 네트워크 접속된 2 이상의 기기 간에서의 동작을 제휴시키는 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램에 관한 것으로, 특히 네트워크로 접속된 2 이상의 기기 간에서의 동작을 제휴시키는 정보 처리 시스템 및 정 보 처리 방법, 및 컴퓨터 프로그램에 관한 것이다.
더 자세하게는, 본 발명은 네트워크 접속된 복수의 기기가 협조 동작에 의해 분산 처리를 행함으로써, 가상적으로 1대의 기기로서 동작하는 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램에 관한 것으로, 특히 네트워크 접속된 복수의 기기에 의해 구성되는 가상적인 1대의 기기에서의 잉여의 처리 능력을 파악함과 함께, 기능 확장을 행하는 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램에 관한 것이다.
복수의 컴퓨터끼리 네트워크로 서로 접속함으로써, 정보 자원의 공유, 하드웨어 자원의 공유, 복수의 사용자 간에의 콜레보레이션이 실현되는 것이 알려져 있다. 컴퓨터 간의 접속 미디어로서, LAN(Local Area Network), WAN(Wide Area Network), 인터넷 등 다양하다.
특히 최근에는, 일반 가정 내에도 컴퓨터나 네트워크 등의 기술이 깊게 침투되어 왔다. 가정 내의 퍼스널 컴퓨터나 PDA(Personal Digital Assistants) 등의 정보 기기, 또한 텔레비전 수상기나 비디오 재생 장치 등 AV 기기나, 각종 정보 가전, CE(Consumer Electronics) 기기 등이 홈 네트워크를 경유하여 서로 접속되어 있다. 또한, 이러한 홈 네트워크는, 대부분의 경우, 라우터를 경유하여 인터넷을 비롯한 외부의 광역 네트워크에 서로 접속되어 있다.
이와 같이 홈 네트워크 상에 복수의 AV 기기가 접속된다고 하는 이용 형태가 상정되지만, 지금까지는, AV 기기 간에 충분한 제휴가 이루어져 있지 않다는 문제가 있다.
이러한 문제에 대하여, 최근에는, 네트워크 상의 기기끼리 제휴시키기 위해서, 기기의 협조 동작에 의해 높은 연산 성능을 실현한다고 하는 그리드 컴퓨팅 기술에 관한 연구 개발이 진행되고 있다(예를 들면, 특허 문헌 1~5을 참조할 것).
이 그리드 컴퓨팅 기술에 따르면, 네트워크 상의 복수의 정보 처리 장치가 강조 동작하여 분산 처리를 행하여, 사용자로부터는 가상적으로 1대의 정보 처리 장치로서 동작할 수 있다.
예를 들면, 녹화 예약 기능을 갖는 복수대의 정보 처리 장치가 네트워크 상에 접속되어 있는 경우, 녹화 예약의 제휴 동작을 실현할 수 있다. 즉, 복수대의 정보 처리 장치가 홈 네트워크를 경유하여 녹화 예약의 동작을 제휴시키고 있는 경우, 홈 네트워크 상에서는 가상적으로 1대의 녹화 기기로서 동작한다. 그리고, 사용자는 어느 하나의 기기의 사용자 인터페이스를 이용하여, 홈 네트워크에 접속되어 있는 임의의 기기를 이용하여 녹화 예약을 행할 수 있다.
또한 이러한 녹화 예약 기능의 제휴에 의해, 예약 시간이 중복된 프로그램(소위 대항 프로그램)을 동시 녹화하는 것이 가능하다. 마찬가지로, 기록한 콘텐츠의 재생 동작을 복수의 기기 사이에서 제휴시켜, 동시?동기적인 콘텐츠 재생을 실현할 수 있다. 이 콘텐츠 재생 기능의 제휴에 의해, 별개의 기기로 기록된 콘텐츠의 재생을 동시, 동기적으로 진행시킴으로써, 콘텐츠 재생에서 채널 전환의 개념을 도입할 수 있다.
이러한 가상적인 1대의 기기에 따르면, 1대의 기기의 하드웨어 자원이나 처리 능력만으로는 사용자로부터의 요구에 따를 수 없는 경우에도, 네트워크 상에서 제휴?협조 동작하는 것 외의 기기에서의 잉여의 처리 능력을 활용함으로써, 사용자의 요구에 따를 수 있고, 또한 통상의 1대의 기기로서는 현실적이지 않은 서비스를 실현할 수 있다.
그런데, 이러한 가상적인 1대의 기기에서, 예를 들면 기능 확장을 행하고자 하는 경우에, 현재의 처리 능력을 알기 어렵다는 문제가 있다. 이 때문에, 이용 가능해지는 확장 기능이 어떤 것인지나, 확장 기능을 실현하기 위해 필요해지는 장치 구성을 알기 어렵다.
통상의 1대의 정보 처리 장치에서는, 하드웨어나 소프트웨어 등의 장치 구성을 파악하는 것은 비교적 용이하다. 이에 대하여, 네트워크를 경유하여 복수의 정보 처리 장치가 협조 동작하고 있는 경우, 어떤 장치로부터는 다른 장치의 구성은 시각화되어 있지 않고, 이 때문에 가상적인 1대의 정보 처리 장치에서의 현재의 잉여의 처리 능력을 용이하게 파악할 수 없다.
예를 들면, 가상적인 1대의 정보 처리 장치에 대하여 임의의 요구를 행하고자 하는 경우, 네트워크 접속되는 정보 처리 장치 사이에 서로의 잉여의 처리 능력이 판명될 때까지, 실제로 어떠한 기능이 실현 가능한 것인지를 판단할 수 없다.
또한, 정보 처리 장치의 조합에 의해 부가 기능이 실행 가능해지는 경우에도, 접속 이전에는 어떠한 기능이 실행 가능해지는 것인지, 미리 제시되지 않는다.
일반적으로는, 정보 처리 장치는 주변 기기의 증설 등에 의해, 기능 확장을 실현할 수 있다. 이에 대하여, 가상적인 1대의 정보 처리 장치에서는, 잉여 기능의 파악이 곤란하기 때문에, 사용자가 새롭게 요구하는 확장 기능에 대하여, 어떠 한 기기를 네트워크에 신규 접속하면 될지를 판단하기 어렵다.
본 발명의 목적은, 네트워크 접속된 복수의 기기가 협조 동작에 의해 분산 처리를 행함으로써, 가상적으로 1대의 기기로서 동작할 수 있는, 우수한 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램을 제공하는 것에 있다.
본 발명의 또 다른 목적은, 네트워크 접속된 복수의 기기에 의해 구성되는 가상적인 1대의 기기에서의 잉여의 처리 능력을 용이하게 파악함과 함께, 기능 확장을 효율적으로 행할 수 있는, 우수한 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램을 제공하는 것에 있다.
본 발명은, 상기 과제를 참작하여 이루어진 것으로, 그 제1 측면은 복수의 기기로 구성되는 정보 처리 시스템으로서,
상기한 시스템 전체로서의 장치 정보를 취득하는 장치 정보 취득 수단과,
상기한 시스템을 구성하는 각 기기를 이용하여 실행되는 확장 기능을 제시하는 확장 기능 제시 수단과,
각 확장 기능을 실행 가능하게 하기 위해 필요해지는 성능 또는 장치 구성을 관리하는 기능 관리 수단과,
상기 확장 기능 제시 수단에 의해 제시된 확장 기능의 실행을 가능하게 하기 위해 필요한 성능 또는 장치 구성을 추출하여, 상기 장치 정보 취득 수단에 의해 취득된 장치 정보의 총합과 비교하여, 해당 확장 기능이 실행 가능한지의 여부를 판별하는 실행 가능성 판별 수단
을 구비하는 것을 특징으로 하는 정보 처리 시스템이다.
본 발명에 따른 정보 처리 시스템은, 상기 실행 가능성 판별 수단에 의한 판별 결과가 부정적인 경우에, 해당 확장 기능의 실행을 가능하게 하기 위해 추가가 필요해지는 장치 정보를 제시하는 추가 장치 정보 제시 수단을 더 구비하고 있다.
단, 여기서 말하는 「시스템」이란, 복수의 장치(또는 특정한 기능을 실현하는 기능 모듈)가 논리적으로 집합한 것을 의미하며, 각 장치나 기능 모듈이 단일의 케이스 내에 있는지의 여부는 특별히 묻지 않는다.
본 발명에 따른 정보 처리 시스템은, 구체적으로는, 네트워크 접속되는 복수의 정보 처리 장치의 제휴 동작에 의해 가상적으로 1대의 가상 정보 처리 장치로서 동작한다. 이러한 경우, 상기 장치 정보 취득 수단은, 상기 네트워크에 접속되는 각 정보 처리 장치로부터 장치 정보 또는 잉여 처리 능력을 취득하여, 시스템 전체의 장치 정보의 총합을 얻을 수 있다.
따라서, 본 발명에 따르면, 그리드 컴퓨팅 기술의 적용에 의해, 네트워크 접속된 복수의 정보 처리 장치가 상호 제휴함으로써 1대의 가상적인 정보 처리 장치를 실현할 수 있다. 그리고, 가상 정보 처리 장치의 성능이나 기능이 제휴하여, 각 정보 처리 장치의 총합으로서 구성되는 시스템에서, 각 기능의 실행에 필요한 성능 정보를 취득하는 수단을 설치할 수 있다. 이러한 시스템의 성능 정보를 취득하는 수단에 따르면, 가상적인 1대의 정보 처리 장치에서의 잉여의 처리 능력을 용이하게 파악함과 함께, 기능 확장을 효율적으로 행할 수 있어, 사용자의 편리성을 향상시킬 수 있다.
여기서, 상기 기능 관리 수단은, 각 정보 처리 장치에서의 성능 및 실행 가능한 기능, 각 기능을 실현하기 위해 필요한 정보 처리 장치의 성능, 복수의 정보 처리 장치의 제휴 동작에 의해 새롭게 실행 가능해지는 기능을 각각 데이터베이스 관리하도록 해도 된다. 그리고, 이들 데이터베이스를 통신 네트워크 상에 배치하여, 소정의 서버를 경유하여 이용할 수 있도록 해도 된다.
또한, 상기 확장 기능 제시 수단은, 상기 네트워크에 접속되는 각 정보 처리 장치가 타 정보 처리 장치와의 제휴 동작에 의해 실행 가능해지는 기능을 데이터베이스로부터 추출하여, 확장 기능으로서 리스트업하여 제시할 수 있다.
또한, 상기 추가 장치 정보 제시 수단은, 상기 네트워크 상에 접속되어 있는 정보 처리 장치와는 다른 종류의 정보 처리 장치가 접속되었다고 가정하고, 그 조합에 의해 새롭게 사용 가능해지는 확장 기능이 존재하는 경우에는, 해당하는 정보 처리 장치를 명시하는 정보를 표시하도록 해도 된다.
또한, 상기 가상 정보 처리 장치 내에서는 과거에 이용된 기능의 이력 및 과거에 상기 네트워크에 접속된 정보 처리 장치의 이력을 관리하고 있는 경우에는, 상기 추가 장치 정보 제시 수단은, 정보 처리 장치를 명시하는 정보를 표시할 때에, 과거에 접속된 적이 있는 정보 처리 장치를 우선적으로 표시할 수 있다.
또한, 상기 실행 가능성 판별 수단은, 확장 기능을 실행하기 위해 필요해지는 성능 또는 장치 구성과, 상기 네트워크에 접속되는 각 정보 처리 장치의 장치 정보 또는 잉여 처리 능력의 총합을 비교하여, 필요해지는 성능 또는 장치 구성에 대하여 해당 장치 정보의 총합 또는 잉여 처리 능력이 부족한지의 여부로써 해당 확장 기능이 실행 가능한지의 여부를 판별할 수 있다.
또한, 상기 추가 장치 정보 제시 수단은, 확장 기능을 실행하기 위해 부족한 성능 또는 장치 구성을 만족하고, 해당 확장 기능의 실행을 가능하게 하는 정보 처리 장치를 데이터베이스로 탐색하여, 그 결과를 제시할 수 있다. 이 때, 상기 추가 장치 정보 제시 수단은, 탐색한 정보 처리 장치의 상기 네트워크에의 접속을 재촉하는 것과 같은 사용자 표시를 행하도록 해도 된다.
또한, 본 발명의 제2 측면은, 복수의 기기에 의한 제휴 동작을 컴퓨터 시스템 상에서 처리하도록 컴퓨터 판독 가능 형식으로 기술된 컴퓨터 프로그램으로서,
상기한 각 기기로부터 장치 정보를 취득하는 장치 정보 취득 단계와,
상기한 각 기기를 이용하여 실행되는 확장 기능을 제시하는 확장 기능 제시 단계와,
각 확장 기능을 실행 가능하게 하기 위해 필요해지는 성능 또는 장치 구성을 관리하는 기능 관리 단계와,
상기 확장 기능 제시 단계에서 제시된 확장 기능의 실행을 가능하게 하기 위해 필요한 성능 또는 장치 구성을 추출하여, 상기 장치 정보 취득 단계에서 취득된 장치 정보의 총합과 비교하여, 해당 확장 기능이 실행 가능한지의 여부를 판별하는 실행 가능성 판별 단계
를 구비하는 것을 특징으로 하는 컴퓨터 프로그램이다.
본 발명의 제2 측면에 따른 컴퓨터 프로그램은, 컴퓨터 시스템 상에서 소정 의 처리를 실현하도록 컴퓨터 판독 가능 형식으로 기술된 컴퓨터 프로그램을 정의한 것이다. 즉, 본 발명의 제2 측면에 따른 컴퓨터 프로그램을 컴퓨터 시스템에 인스톨함으로써, 컴퓨터 시스템 상에서는 협동적 작용이 발휘되어, 본 발명의 제1 측면에 따른 정보 처리 시스템과 마찬가지의 작용 효과를 얻을 수 있다.
본 발명의 또 다른 목적, 특징이나 이점은, 후술하는 본 발명의 실시 형태나 첨부하는 도면에 기초하여 보다 상세한 설명에 의해서 명확해질 것이다.
<실시 형태>
이하, 도면을 참조하면서 본 발명의 실시 형태에 대하여 상세히 설명한다.
A. 시스템 구성
본 발명은, 2 이상의 정보 처리 장치 사이에서의 동작을 홈 네트워크를 경유하여 적합하게 제휴시킴으로써, 별개의 장소에 설정되어 있는 각 기기에서의 녹화 예약 조작을 간이하고 또한 효율적으로 하는 것이다. 네트워크 상의 기기끼리 제휴시키기 위해서, 기기의 협조 동작에 의해 높은 연산 성능을 실현하기 위한 그리드 컴퓨팅 기술을 활용한다.
도 1에는, 그리드 컴퓨팅을 적용하여 구성되는, 네트워크 시스템의 구성을 모식적으로 도시하고 있다.
네트워크는, 인터넷이나 그 밖의 광역 네트워크, 및, 광역 네트워크와는 게이트웨이 등을 통하여 접속되는 LAN(Local Area Network)나 홈 네트워크 등의 사적인 네트워크로 구성된다. 홈 네트워크는, 물리적으로는, 10BaseT나 100BaseTX, Giga eather 등의 표준 네트워크 인터페이스로 구성할 수 있다. 또한, 홈 네트워 크 상에서 다른 기기를 발견하는 구조로서 Upnp(Universal Plug and Play)를 이용할 수 있다. Upnp에 따르면, 네트워크 접속된 기기 사이에서, XML(eXtended Markup Language) 형식으로 기술된 정의 파일을 교환하여, 어드레싱 처리, 디스커버리 처리, 서비스 요구 처리를 거쳐서 서로 인증을 행한다. 혹은 동일 세그먼트 내에서의 규정된 기기 정보를 기술한 패킷의 브로드캐스트에 의해서도 실현 가능하다.
네트워크 상에는, 복수의 정보 처리 장치가 접속되어 있다. 정보 처리 장치의 예로서, DVD 레코더나 HD 레코더와 같은, 기록 미디어를 탑재하여 녹화 예약 기능을 구비한 AV 기기, 혹은 컴팩트 디스크 등의 기록 기능을 갖지 않는 재생 전용 AV 기기, 그 밖의 정보 처리 장치를 들 수 있다. 또한, 정보 처리 장치의 다른 예는, PDA나 퍼스널 컴퓨터 등의 계산기 처리 시스템을 들 수 있다. 도 1에 도시한 예에서는, 네트워크(9)를 통하여 복수의 정보 처리 장치(1, 2, 3, 4)가 접속되어 있다.
A-1. 정보 처리 장치 및 정보 처리 컨트롤러
정보 처리 장치(1, 2, 3, 4)는, 예를 들면 각종 AV(Audio and Visual) 기기나 포터블 기기이다(후술).
도시한 바와 같이, 정보 처리 장치(1)는, 컴퓨터 기능부로서 정보 처리 컨트롤러(11)를 구비한다. 정보 처리 컨트롤러(11)는, 메인 프로세서(21-1), 서브 프로세서(23-1, 23-2, 23-3), DMAC(다이렉트 메모리 액세스 컨트롤러)(25-1), 및 DC(디스크 컨트롤러)(27-1)를 구비하고 있다. 정보 처리 컨트롤러(11)는, 원 칩 IC( 집적 회로)로서 구성하는 것이 바람직하다.
메인 프로세서(21-1)는, 서브 프로세서(23-1, 23-2, 23-3)에 의한 프로그램 실행(데이터 처리)의 스케줄 관리와, 정보 처리 컨트롤러(11)(정보 처리 장치(1))의 전반적인 관리를 행한다. 단, 메인 프로세서(21-1) 내에서 관리를 행하기 위한 프로그램 이외의 프로그램이 동작하도록 구성할 수도 있다. 이 경우, 메인 프로세서(21-1)는 서브 프로세서로서도 기능하게 된다. 메인 프로세서(21-1)는, LS(로컬 스토리지)(22-1)를 구비하고 있다.
1대의 정보 처리 장치에 갖춰지는 서브 프로세서는 1개라도 되지만, 바람직하게는 복수로 한다. 도시한 예에서는, 복수인 경우이다. 각 서브 프로세서(23-1, 23-2, 23-3)는, 메인 프로세서(21-1)의 제어 하에서, 병렬적이고 또한 독립적으로 프로그램을 실행하여, 데이터를 처리한다. 또한, 경우에 따라서 메인 프로세서(21-1) 내의 프로그램이 서브 프로세서(23-1, 23-2, 23-3) 내의 프로그램과 제휴하여 동작할 수도 있다. 각 서브 프로세서(23-1, 23-2, 23-3)도, 각각 LS(로컬 스토리지)(24-1, 24-2, 24-3)를 구비하고 있다.
DMAC(직접 메모리 액세스 컨트롤러)(25-1)는, 정보 처리 컨트롤러(11)에 접속된 DRAM(다이내믹 RAM) 등으로 이루어진 메인 메모리(26-1)에 저장되어 있는 프로그램 및 데이터에 프로세서의 개재없이 액세스하는 것이다. 또한, DC(디스크 컨트롤러)(27-1)는, 정보 처리 컨트롤러(11)에 접속된 외부 기록부(28-1, 28-2)에의 액세스 동작을 제어한다.
외부 기록부(28-1, 28-2)는, 고정 디스크(하드 디스크), 혹은 리무버블 디스 크 중 어느 하나의 형태라도 좋다. 또한, 리무버블 디스크로서, MO(자기 디스크), CD±RW, DVD±RW 등의 광 디스크, 메모리 디스크, SRAM(스태틱 RAM), ROM 등 각종의 기록 미디어를 이용할 수 있다. DC(27-1)는, 디스크 컨트롤러라고 칭하지만, 요컨대 외부 기록부 컨트롤러이다. 도 1에 도시한 바와 같이, 외부 기록부(28)를 복수 접속할 수 있도록, 정보 처리 컨트롤러(11)를 구성할 수 있다.
메인 프로세서(21-1), 각 서브 프로세서(23-1, 23-2, 23-3), DMAC(25-1), 및 DC(27-1)는, 버스(29-1)에 의해서 서로 접속되어 있다.
정보 처리 컨트롤러(11)에는, 해당 정보 처리 컨트롤러(11)를 탑재하는 정보 처리 장치(1)를 네트워크 전체를 통해서 일의적으로 식별할 수 있는 식별자가, 정보 처리 장치 ID로서 할당되어 있다. 또한, 메인 프로세서(21-1) 및 각 서브 프로세서(23-1, 23-2, 23-3)에 대해서도 마찬가지로, 각각을 특정할 수 있는 식별자가, 메인 프로세서 ID 및 서브 프로세서 ID로서 할당된다.
타 정보 처리 장치(2, 3, 4)도 마찬가지로 구성되므로, 여기서는 설명을 생략한다. 여기서, 부모 번호가 동일한 유닛은 브랜치 번호가 다르더라도, 특별한 사정이 없는 한 동일한 기능을 하는 것으로 한다. 또한, 이하의 설명에서 브랜치 번호가 생략되어 있는 경우에는, 브랜치 번호의 차이에 따른 차이를 발생하지 않는 것으로 한다.
A-2. 각 서브 프로세서로부터 메인 메모리에의 액세스
전술한 바와 같이, 하나의 정보 처리 컨트롤러 내의 각 서브 프로세서(23)는, 독립적으로 프로그램을 실행하여, 데이터를 처리하지만, 다른 서브 프로세서가 메인 메모리(26) 내의 동일 영역에 대하여 동시에 판독하거나 또는 기입을 행한 경우에는, 데이터의 부정합이 생길 수 있다. 따라서, 서브 프로세서(23)로부터 메인 메모리(26)에의 액세스는, 이하와 같은 수순에 의해서 행한다.
도 2의 (a)에는, 메인 메모리(26) 내의 로케이션을 도시하고 있다. 도 2에 도시한 바와 같이, 메인 메모리(26)는 복수의 어드레스를 지정할 수 있는 메모리 로케이션에 의해서 구성되고, 각 메모리 로케이션에 대하여 데이터의 상태를 나타내는 정보를 저장하기 위한 추가 세그먼트가 할당된다. 추가 세그먼트는, F/E 비트, 서브 프로세서 ID 및 LS 어드레스(로컬 스토리지 어드레스)를 포함하게 된다. 또한, 각 메모리 로케이션에는, 후술하는 액세스 키도 할당된다. F/E 비트는, 이하와 같이 정의된다.
F/E 비트=0은, 서브 프로세서(23)에 의해서 판독되고 있는 처리 중 데이터, 또는 빈 상태이기 때문에 최신 데이터가 아닌 무효 데이터로서, 판독 불가능인 것을 나타낸다. 또한, F/E 비트=0은, 해당 메모리 로케이션에 데이터 기입 가능한 것을 나타내며, 기입 후에 1로 설정된다.
F/E 비트=1은, 해당 메모리 로케이션의 데이터가 서브 프로세서(23)에 의해서 판독되지 않은, 미처리의 최신 데이터인 것을 나타낸다. 해당 메모리 로케이션의 데이터는 판독 가능하고, 서브 프로세서(23)에 의해서 판독된 후에 0으로 설정된다. 또한, F/E 비트=1은, 해당 메모리 로케이션이 데이터 기입 불가능인 것을 나타낸다.
또한, 상기 F/E 비트=0(판독 불가능/기입 가능)의 상태에서, 해당 메모리 로 케이션에 대하여 판독 예약을 설정하는 것은 가능하다. F/E 비트=0의 메모리 로케이션에 대하여 판독 예약을 행하는 경우에는, 서브 프로세서(23)는, 판독 예약을 행하는 메모리 로케이션의 추가 세그먼트에, 판독 예약 정보로서 해당 서브 프로세서(23)의 서브 프로세서 ID 및 LS 어드레스를 기입한다.
그 후, 데이터 기입측의 서브 프로세서(23)에 의해, 판독 예약된 메모리 로케이션에 데이터가 기입되어, F/E 비트=1(판독 가능/기입 불가능)로 설정되었을 때, 미리 판독 예약 정보로서 추가 세그먼트에 기입된 서브 프로세서 ID 및 LS 어드레스가 판독된다.
복수의 서브 프로세서에 의해서 데이터를 다단계로 처리할 필요가 있는 경우, 이와 같이 각 메모리 로케이션의 데이터의 판독/ 기입을 제어함으로써, 전단층의 처리를 행하는 서브 프로세서(23)가 처리 완료한 데이터를 메인 메모리(26) 상의 소정의 어드레스에 기입한 후에 바로, 후단층의 처리를 행하는 다른 서브 프로세서(23)가 전처리 후의 데이터를 판독하는 것이 가능해진다.
또한, 도 2의 (b)에는, 각 서브 프로세서(23) 내의 LS(24)에서의 메모리 로케이션을 나타내고 있다. 도 2에 도시한 바와 같이, 각 서브 프로세서(23) 내의 LS(24)도, 복수의 어드레스를 지정할 수 있는 메모리 로케이션에 의해서 구성된다. 각 메모리 로케이션에 대해서는, 마찬가지로 추가 세그먼트가 할당된다. 추가 세그먼트는, 비지 비트를 포함하게 된다.
서브 프로세서(23)가 메인 메모리(26) 내의 데이터를 자신의 LS(24)의 메모리 로케이션에 판독할 때에는, 대응하는 비지 비트를 1로 설정하여 예약한다. 비 지 비트가 1인 메모리 로케이션에는, 다른 데이터는 저장할 수 없다. LS(24)의 메모리 로케이션에 판독 후, 비지 비트는 0이 되어, 임의의 목적으로 사용할 수 있게 된다.
도 2의 (a)에 도시한 바와 같이, 또한 각 정보 처리 컨트롤러와 접속된 메인 메모리(26)에는, 메인 메모리(26) 내의 영역을 획정하는 복수의 샌드 박스가 포함된다. 메인 메모리(26)는, 복수의 메모리 로케이션으로 구성되지만, 샌드 박스는 이들 메모리 로케이션의 집합이다. 각 샌드 박스는, 서브 프로세서(23)마다 할당되고, 해당하는 서브 프로세서를 배타적으로 사용할 수 있다. 즉, 각각의 서브 프로세서(23)는, 자신에게 할당된 샌드 박스를 사용할 수 있지만, 이 영역을 넘어 데이터의 액세스를 행할 수는 없다.
또한, 메인 메모리(26)의 배타적인 제어를 실현하기 위해, 도 2의 (c)에 도시한 바와 같은 키 관리 테이블이 이용된다. 키 관리 테이블은, 정보 처리 컨트롤러 내의 SRAM과 같은 비교적 고속의 메모리에 저장되어, DMAC(25)와 관련지어진다. 키 관리 테이블 내의 각 엔트리에는, 서브 프로세서 ID, 서브 프로세서 키 및 키 마스크가 포함된다.
서브 프로세서(23)가 메인 메모리(26)를 사용할 때의 프로세스는, 이하와 같다. 우선, 서브 프로세서(23)는 DMAC(25)에, 판독 또는 기입의 커맨드를 출력한다. 이 커맨드에는, 자신의 서브 프로세서 ID와, 사용 요구처인 메인 메모리(26)의 어드레스가 포함된다.
DMAC(25)는, 이 커맨드를 실행하기 전에 키 관리 테이블을 참조하여, 사용 요구원의 서브 프로세서의 서브 프로세서 키를 조사한다. 다음으로, DMAC(25)는, 조사한 사용 요구원의 서브 프로세서 키와, 사용 요구처인 메인 메모리(26) 내의 도 2의 (a)에 도시한 메모리 로케이션에 할당된 액세스 키를 비교하여, 2개의 키가 일치한 경우에만, 상기한 커맨드를 실행한다.
도 2의 (c)에 도시한 키 관리 테이블 상의 키 마스크는, 그 임의의 비트가 1로 됨으로써, 그 키 마스크에 관련지어진 서브 프로세서 키의 대응하는 비트가 0 또는 1이 될 수 있다.
예를 들면, 서브 프로세서 키가 1010이라고 한다. 통상적으로, 이 서브 프로세서 키에 의해서 1010의 액세스 키를 갖는 샌드 박스에의 액세스만이 가능해진다. 그러나, 이 서브 프로세서 키와 관련지어진 키 마스크가 0001로 설정되어 있는 경우에는, 키 마스크의 비트가 1로 설정된 디지트에 대해서만, 서브 프로세서 키와 액세스 키와의 일치 판정이 마스크되고, 이 서브 프로세서 키 1010에 의해서 액세스 키가 1010 또는 1011 중 어느 하나인 액세스 키를 갖는 샌드 박스에의 액세스가 가능해진다.
이상과 같이 하여, 메인 메모리(26)의 샌드 박스의 배타성이 실현된다. 즉, 하나의 정보 처리 컨트롤러 내에 배치된 복수의 서브 프로세서에 의해서 데이터를 다단계로 처리할 필요가 있는 경우, 전단층의 처리를 행하는 서브 프로세서와, 후단층의 처리를 행하는 서브 프로세서만이, 메인 메모리(26)의 소정 어드레스에 액세스할 수 있게 되어, 데이터를 보호할 수 있다.
이러한 메모리의 배타 제어는, 예를 들면 이하와 같이 사용할 수 있다. 우 선, 정보 처리 장치의 기동 직후에 있어서는, 키 마스크의 값은 전부 제로이다. 메인 프로세서 내의 프로그램이 실행되어, 서브 프로세서 내의 프로그램과 제휴 동작하는 것으로 한다. 제1 서브 프로세서에 의해 출력된 처리 결과 데이터를 일단 메인 메모리에 저장하고, 제2 서브 프로세서에 입력하고자 할 때에는, 해당하는 메인 메모리 영역은, 당연히 어느 서브 프로세서로부터도 액세스 가능할 필요가 있다. 이러한 경우에, 메인 프로세서 내의 프로그램은, 키 마스크의 값을 적절하게 변경하여, 복수의 서브 프로세서로부터 액세스할 수 있는 메인 메모리 영역을 설치함으로써, 서브 프로세서에 의한 다단계적인 처리를 가능하게 한다.
보다 구체적으로는, 타 정보 처리 장치로부터의 데이터→제1 서브 프로세서에 의한 처리→제1 메인 메모리 영역→제2 서브 프로세서에 의한 처리→제2 메인 메모리 영역이라는 수순으로 다단계 처리가 행해질 때에는, 이하와 같은 설정 그대로는, 제2 서브 프로세서는 제1 메인 메모리 영역에 액세스할 수 없다.
제1 서브 프로세서의 서브 프로세서 키 : 0100
제1 메인 메모리 영역의 액세스 키 : 0100
제2 서브 프로세서의 서브 프로세서 키 : 0101
제2 메인 메모리 영역의 액세스 키 : 0101
따라서, 제2 서브 프로세서의 키 마스크를 0001로 함으로써, 제2 서브 프로세서에 의한 제1 메인 메모리 영역에의 액세스를 가능하게 할 수 있다.
A-3. 소프트웨어 셀의 생성 및 구성
도 1의 네트워크 시스템에서는, 정보 처리 장치(1, 2, 3, 4) 사이에서의 분 산 처리를 위해, 정보 처리 장치(1, 2, 3, 4) 사이에서 소프트웨어 셀이 전송된다. 즉, 어떤 정보 처리 장치 내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 커맨드, 프로그램 및 데이터를 포함하는 소프트웨어 셀을 생성하여, 네트워크(9)를 통하여 타 정보 처리 장치로 송신함으로써, 처리를 분산할 수 있다.
도 3에는 소프트웨어 셀의 구성의 일례를 도시하고 있다. 도시한 소프트웨어 셀은, 송신원 ID, 송신처 ID, 응답처 ID, 셀 인터페이스, DMA 커맨드, 프로그램, 및 데이터에 의해서 구성된다.
송신원 ID에는, 소프트웨어 셀의 송신원인 정보 처리 장치의 네트워크 어드레스 및 해당 정보 처리 장치 내의 정보 처리 컨트롤러의 정보 처리 장치 ID, 또한 해당 정보 처리 장치 내의 정보 처리 컨트롤러가 구비하는 메인 프로세서(21) 및 각 서브 프로세서(23)의 식별자(메인 프로세서 ID 및 서브 프로세서 ID)가 포함된다.
송신처 ID 및 응답처 ID에는, 소프트웨어 셀의 송신처인 정보 처리 장치, 및 소프트웨어 셀의 실행 결과의 응답처인 정보 처리 장치에 대한 동일한 정보가 각각 포함된다.
셀 인터페이스는, 소프트웨어 셀의 이용에 필요한 정보로서, 글로벌 ID, 필요한 서브 프로세서의 정보, 샌드 박스 사이즈, 및 전회의 소프트웨어 셀 ID로 구성된다.
글로벌 ID는, 네트워크 전체를 통해서 해당 소프트웨어 셀을 일의적으로 식별할 수 있는 것으로, 송신원 ID와, 소프트웨어 셀의 작성 또는 송신의 일시(날짜 및 시각)에 기초하여 작성된다.
필요한 서브 프로세서의 정보로는, 해당 소프트웨어 셀의 실행에 필요한 서브 프로세서의 수가 설정된다. 샌드 박스 사이즈로는, 해당 소프트웨어 셀의 실행에 필요한 메인 메모리(26) 내 및 서브 프로세서(23)의 LS(24) 내의 메모리량이 설정된다.
전회의 소프트웨어 셀 ID는, 스트리밍 데이터 등의 시퀀셜한 실행을 요구하는 1 그룹의 소프트웨어 셀 내의, 전회의 소프트웨어 셀의 식별자이다.
소프트웨어 셀의 실행 섹션은, DMA 커맨드, 프로그램 및 데이터로 구성된다. DMA 커맨드에는, 프로그램의 기동에 필요한 일련의 DMA 커맨드가 포함되고, 프로그램에는, 서브 프로세서(23)에 의해서 실행되는 서브 프로세서 프로그램이 포함된다. 여기서의 데이터는, 이 서브 프로세서 프로그램을 포함하는 프로그램에 의해서 처리되는 데이터이다.
또한, DMA 커맨드에는, 로드 커맨드, 킥 커맨드, 기능 프로그램 실행 커맨드, 스테이터스 요구 커맨드, 및 스테이터스 회신 커맨드가 포함된다.
로드 커맨드는, 메인 메모리(26) 내의 정보를 서브 프로세서(23) 내의 LS(24)에 로드하는 커맨드로서, 로드 커맨드 자체 외에, 메인 메모리 어드레스, 서브 프로세서 ID 및 LS 어드레스를 포함한다. 메인 메모리 어드레스는, 정보의 로드원인 메인 메모리(26) 내의 소정 영역의 어드레스를 나타낸다. 서브 프로세서 ID 및 LS 어드레스는, 정보의 로드처인 서브 프로세서(23)의 식별자 및 LS(24)의 어드레스를 나타낸다.
킥 커맨드는, 프로그램의 실행을 개시하는 커맨드로서, 킥 커맨드 자체 외에, 서브 프로세서 ID 및 프로그램 카운터를 포함한다. 서브 프로세서 ID는, 킥 대상의 서브 프로세서(23)를 식별하고, 프로그램 카운터는, 프로그램 실행용 프로그램 카운터를 위한 어드레스를 부여한다.
기능 프로그램 실행 커맨드는, 어떤 정보 처리 장치가 타 정보 처리 장치에 대하여, 기능 프로그램의 실행을 요구하는 커맨드이다(후술). 기능 프로그램 실행 커맨드를 수신한 정보 처리 장치 내의 정보 처리 컨트롤러는, 기능 프로그램 ID(후술)에 의해서, 기동할 기능 프로그램을 식별한다.
스테이터스 요구 커맨드는, 송신처 ID에서 나타내는 정보 처리 장치의 현재의 동작 상태(상황)에 관한 장치 정보를, 응답처 ID에서 나타내는 정보 처리 장치로 송신 요구하는 커맨드이다. 기능 프로그램에 대해서는 후술하지만, 도 6에 도시한 정보 처리 컨트롤러의 메인 메모리(26)가 기억하는 소프트웨어의 구성도에서 기능 프로그램에 카테고라이즈되는 프로그램이다. 기능 프로그램은, 메인 메모리(26)에 로드되어, 메인 프로세서(21)에 의해 실행된다.
스테이터스 회신 커맨드는, 상기한 스테이터스 요구 커맨드를 수신한 정보 처리 장치가, 자신의 장치 정보를 해당 스테이터스 요구 커맨드에 포함되는 응답처 ID에서 나타내는 정보 처리 장치에 응답하는 커맨드이다. 스테이터스 회신 커맨드는, 실행 섹션의 데이터 영역에 장치 정보를 저장한다.
도 4에는, DMA 커맨드가 스테이터스 회신 커맨드인 경우의 소프트웨어 셀의 데이터 영역의 구조를 나타내고 있다.
정보 처리 장치 ID는, 정보 처리 컨트롤러를 구비하는 정보 처리 장치를 식별하기 위한 식별자로서, 스테이터스 회신 커맨드를 송신하는 정보 처리 장치의 ID를 나타낸다. 정보 처리 장치 ID는, 전원 투입 시에, 그 정보 처리 장치 내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)에 의해서, 전원 투입 시의 일시, 정보 처리 장치의 네트워크 어드레스 및 정보 처리 장치 내의 정보 처리 컨트롤러에 포함되는 서브 프로세서(23)의 수 등에 기초하여 생성된다.
정보 처리 장치 종별 ID에는, 해당 정보 처리 장치의 특징을 나타내는 값이 포함된다. 여기서 말하는 정보 처리 장치의 특징이란, 예를 들면 하드 디스크 레코더(후술), PDA(Personal Digital Assistants), 포터블 CD(Compact Disc) 플레이어 등이다. 또한, 정보 처리 장치 종별 ID는, 영상 음성 기록, 영상 음성 재생 등, 정보 처리 장치가 갖는 기능을 나타내는 것이어도 되고, 정보 처리 장치의 특징이나 기능을 나타내는 값은 미리 정해져 있는 것으로 하고, 정보 처리 장치 종별 ID를 호출함으로써 해당 정보 처리 장치의 특징이나 기능을 파악하는 것이 가능하다.
MS(마스터/슬레이브) 스테이터스는, 후술하는 바와 같이 정보 처리 장치가 마스터 장치 또는 슬레이브 장치 중 어느 것으로 동작하고 있는지를 나타내는 것으로, 이것이 0으로 설정되어 있는 경우에는 마스터 장치로서 동작하고 있는 것을 나타내고, 1로 설정되어 있는 경우에는 슬레이브 장치로서 동작하고 있는 것을 나타낸다.
메인 프로세서 동작 주파수는, 정보 처리 컨트롤러 내의 메인 프로세서(21) 의 동작 주파수를 나타낸다. 메인 프로세서 사용율은, 메인 프로세서(21)로 현재 동작하고 있는 모든 프로그램에 대한, 메인 프로세서(21)에서의 사용율을 나타낸다. 메인 프로세서 사용율은, 대상 메인 프로세서의 전체 처리 능력에 대한 사용 중 처리 능력의 비율을 나타낸 값으로, 예를 들면 프로세서 처리 능력 평가를 위한 단위인 MIPS[Million Instructions Per Second]를 단위로 하여 산출되거나, 또는 단위 시간 당의 프로세서 사용 시간에 기초하여 산출된다. 후술하는 서브 프로세서 사용율에 대해서도 마찬가지이다.
서브 프로세서 수는, 해당 정보 처리 컨트롤러가 구비하는 서브 프로세서(23)의 수를 나타낸다. 서브 프로세서 ID는, 해당 정보 처리 컨트롤러 내의 각 서브 프로세서(23)를 식별하기 위한 식별자이다.
서브 프로세서 스테이터스는, 각 서브 프로세서(23)의 상태를 나타내는 것으로, unused, reserved, busy 등의 상태가 있다. unused는, 해당 서브 프로세서가 현재 사용되고 있지 않고, 사용의 예약도 되어 있지 않은 것을 나타낸다. reserved는, 현재는 사용되고 있지 않지만, 예약되어 있는 상태를 나타낸다. busy는, 현재 사용 중에 있는 것을 나타낸다.
서브 프로세서 사용율은, 해당 서브 프로세서로 현재 실행하고 있거나, 또는 해당 서브 프로세서에 실행이 예약되어 있는 프로그램에 대한, 해당 서브 프로세서에서의 사용율을 나타낸다. 즉, 서브 프로세서 사용율은, 서브 프로세서 스테이터스가 busy인 경우에는, 현재의 사용율을 나타내고, 서브 프로세서 스테이터스가 reserved인 경우에는, 후에 사용될 예정인 추정 사용율을 나타낸다.
서브 프로세서 ID, 서브 프로세서 스테이터스 및 서브 프로세서 사용율은, 하나의 서브 프로세서(23)에 대하여 1조 설정되고, 하나의 정보 처리 컨트롤러 내의 서브 프로세서(23)에 대응하는 조 수가 설정된다.
메인 메모리 총 용량 및 메인 메모리 사용량은, 각각 해당 정보 처리 컨트롤러에 접속되어 있는 메인 메모리(26)의 총 용량 및 현재 사용 중인 용량을 나타낸다.
외부 기록부 수는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 기록부(28)의 수를 나타낸다. 외부 기록부 ID는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 기록부(28)를 일의적으로 식별하는 정보이다. 외부 기록부 종별 ID는, 해당 외부 기록부의 종류(예를 들면, 하드 디스크, CD±RW, DVD±RW, 메모리 디스크, SRAM, ROM 등)를 나타낸다.
외부 기록부 총 용량 및 외부 기록부 사용량은, 각각 외부 기록부 ID에 의해서 식별되는 외부 기록부(28)의 총 용량 및 현재 사용 중인 용량을 나타낸다.
외부 기록부 ID, 외부 기록부 종별 ID, 외부 기록부 총 용량 및 외부 기록부 사용량은, 하나의 외부 기록부(28)에 대하여 1조 설정되는 것으로, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 기록부(28)의 수의 조 수만큼 설정된다. 즉, 하나의 정보 처리 컨트롤러에 복수의 외부 기록부가 접속되어 있는 경우, 각각의 외부 기록부에는 서로 다른 외부 기록부 ID가 할당되고, 외부 기록부 종별 ID, 외부 기록부 총 용량 및 외부 기록부 사용량도 별도로 관리된다.
A-4 소프트웨어 셀의 실행
임의의 정보 처리 장치 내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 전술한 바와 같은 구성의 소프트웨어 셀을 생성하여, 네트워크(9)를 통하여 타 정보 처리 장치 및 해당 장치 내의 정보 처리 컨트롤러에 송신한다. 송신원의 정보 처리 장치, 송신처의 정보 처리 장치, 응답처의 정보 처리 장치, 및 각 장치 내의 정보 처리 컨트롤러는, 각각 상기한 송신원 ID, 송신처 ID 및 응답처 ID에 의해서 식별된다.
소프트웨어 셀을 수신한 정보 처리 장치 내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 그 소프트웨어 셀을 메인 메모리(26)에 저장한다. 또한, 송신처의 메인 프로세서(21)는, 소프트웨어 셀을 판독하고, 그에 포함되는 DMA 커맨드를 처리한다.
구체적으로는, 송신처의 메인 프로세서(21)는, 우선, 로드 커맨드를 실행한다. 이에 의해서, 로드 커맨드로 지시된 메인 메모리 어드레스로부터, 로드 커맨드에 포함되는 서브 프로세서 ID 및 LS 어드레스에서 특정되는 서브 프로세서 내의 LS(24)의 소정 영역에 정보가 로드된다. 여기서 로드되는 정보는, 수신한 소프트웨어 셀에 포함되는 서브 프로세서 프로그램 또는 데이터, 혹은 그 밖의 지시된 데이터이다.
다음으로, 메인 프로세서(21)는, 킥 커맨드를, 이것에 포함되는 서브 프로세서 ID에서 지시된 서브 프로세서에, 마찬가지로 킥 커맨드에 포함되는 프로그램 카운터와 함께 출력한다.
지시된 서브 프로세서는, 그 킥 커맨드 및 프로그램 카운터에 따라서, 서브 프로세서 프로그램을 실행한다. 그리고, 실행 결과를 메인 메모리(26)에 저장한 후, 실행을 완료한 것을 메인 프로세서(21)에 통지한다.
또한, 송신처의 정보 처리 장치 내의 정보 처리 컨트롤러에서 소프트웨어 셀을 실행하는 프로세서는 서브 프로세서(23)에 한정되는 것은 아니고, 메인 프로세서(21)가 소프트웨어 셀에 포함되는 기능 프로그램 등의 메인 메모리용 프로그램을 실행하도록 지정하는 것도 가능하다.
이 경우에는, 송신원의 정보 처리 장치는, 송신처의 정보 처리 장치로, 서브 프로세서 프로그램 대신에, 메인 메모리용 프로그램 및 그 메인 메모리용 프로그램에 의해서 처리되는 데이터를 포함하여, DMA 커맨드가 로드 커맨드인 소프트웨어 셀을 송신하여, 메인 메모리(26)에 메인 메모리용 프로그램 및 그것에 의하여 처리되는 데이터를 기억시킨다.
다음으로, 송신원의 정보 처리 장치는, 송신처의 정보 처리 장치로, 송신처의 정보 처리 장치 내의 정보 처리 컨트롤러에 대한 메인 프로세서 ID, 메인 메모리 어드레스, 메인 메모리용 프로그램을 식별하기 위한 후술하는 기능 프로그램 ID 등의 식별자, 및 프로그램 카운터를 포함하여, DMA 커맨드가 킥 커맨드 또는 기능 프로그램 실행 커맨드인 소프트웨어 셀을 송신하여, 메인 프로세서(21)에 해당 메인 메모리용 프로그램을 실행시킨다.
이상과 같이, 본 실시 형태에 따른 네트워크 시스템에서는, 송신원의 정보 처리 장치는, 서브 프로세서 프로그램 또는 메인 메모리용 프로그램을 소프트웨어 셀에 의해서 송신처의 정보 처리 장치로 송신함과 함께, 해당 서브 프로세서 프로 그램을 송신처의 정보 처리 장치 내의 정보 처리 컨트롤러에 포함되는 서브 프로세서(23)에 로드시켜, 해당 서브 프로세서 프로그램 또는 해당 메인 메모리용 프로그램을 송신처의 정보 처리 장치에 실행시킬 수 있다.
송신처의 정보 처리 장치 내의 정보 처리 컨트롤러에서는, 수신한 소프트웨어 셀에 포함되는 프로그램이 서브 프로세서 프로그램인 경우에는, 해당 서브 프로세서 프로그램을 지정된 서브 프로세서에 로드시킨다. 그리고, 소프트웨어 셀에 포함되는 서브 프로세서 프로그램 또는 메인 메모리용 프로그램을 실행시킨다.
따라서, 사용자가 송신처의 정보 처리 장치를 조작하지 않아도, 해당 서브 프로세서 프로그램 또는 해당 메인 메모리용 프로그램을 송신처의 정보 처리 장치 내의 정보 처리 컨트롤러에서 자동적으로 실행시킬 수 있다.
이와 같이 하여 정보 처리 장치는, 자(自)장치 내의 정보 처리 컨트롤러가 서브 프로세서 프로그램 또는 기능 프로그램 등의 메인 메모리용 프로그램을 구비하고 있지 않은 경우에는, 네트워크에 접속된 타 정보 처리 장치로부터 이들을 취득할 수 있다. 또한, 각 서브 프로세서 사이에서는 DMA 방식에 의해 데이터 전송을 행하고, 또한 전술한 샌드 박스를 사용함으로써, 하나의 정보 처리 컨트롤러 내에서 데이터를 다단계로 처리할 필요가 있는 경우라도, 고속으로 또한 높은 시큐러티로 처리를 실행할 수 있다.
A-5. 네트워크 시스템으로서의 분산 처리
도 5에는, 복수의 정보 처리 장치가 가상적인 1대의 정보 처리 장치로서 동작하고 있는 모습을 나타내고 있다. 소프트웨어 셀의 사용에 의한 분산 처리의 결 과, 도 5의 상단에 도시한 바와 같이, 네트워크(9)에 접속되어 있는 복수의 정보 처리 장치(1, 2, 3, 4)는, 도 5의 하단에 도시한 바와 같이, 가상적인 1대의 정보 처리 장치(7)로서 동작한다. 단, 이러한 가상적인 동작을 실현하기 위해는, 이하와 같은 구성에 의해서, 이하와 같은 처리가 실행될 필요가 있다.
A-6. 시스템의 소프트웨어 구성과 프로그램의 로드
도 6에는, 개개의 정보 처리 컨트롤러의 메인 메모리(26)가 기억하는 소프트웨어의 구성을 나타내고 있다. 이들 소프트웨어(프로그램)는, 정보 처리 장치에 전원이 투입되기 전에, 해당 정보 처리 컨트롤러에 접속되는 외부 기록부(28)에 기록되어 있는 것이다. 각 프로그램은, 기능 또는 특징에 따라, 제어 프로그램, 기능 프로그램 및 디바이스 드라이버로 분류된다.
제어 프로그램은, 각 정보 처리 컨트롤러가 같은 것을 구비하여, 각 정보 처리 컨트롤러의 메인 프로세서(21)가 실행함으로써, 후술하는 MS(마스터/슬레이브) 매니저 및 능력 교환 프로그램을 포함한다.
기능 프로그램은, 메인 프로세서(21)가 실행함으로써, 기록용, 재생용, 소재 검색용 등, 정보 처리 컨트롤러마다 정보 처리 장치에 따른 것이 구비된다.
디바이스 드라이버는, 정보 처리 컨트롤러(정보 처리 장치)의 입출력(송수신)용으로, 방송 수신, 모니터 출력, 비트 스트림 입출력, 네트워크 입출력 등, 정보 처리 컨트롤러마다 정보 처리 장치에 따른 것이 구비된다.
케이블의 삽입 등에 따라서 정보 처리 장치가 물리적으로 네트워크(9)에 접속된 상태에서, 정보 처리 장치에 주전원이 투입되어, 정보 처리 장치가 전기적? 기능적으로도 네트워크(9)에 접속되면, 그 정보 처리 장치의 정보 처리 컨트롤러의 메인 프로세서(21)는, 제어 프로그램에 속하는 각 프로그램, 및 디바이스 드라이버에 속하는 각 프로그램을, 메인 메모리(26)에 로드한다.
프로그램의 로드 수순으로서는, 메인 프로세서(21)는, 우선, DC(27)에 판독 명령을 실행시킴으로써, 외부 기록부(28)로부터 프로그램을 판독하고, 다음으로, DMAC(25)에 기입 명령을 실행시킴으로써, 그 프로그램을 메인 메모리(26)에 기입한다.
기능 프로그램에 속하는 각 프로그램에 대해서는, 필요할 때에 필요한 프로그램만을 메모리에 로드하도록 구성해도 되고, 혹은 다른 카테고리에 속하는 프로그램과 마찬가지로, 주 전원 투입 직후에 각 프로그램을 로드하도록 구성해도 된다.
기능 프로그램에 속하는 각 프로그램은, 네트워크에 접속된 모든 정보 처리 장치의 외부 기록부(28)에 기록되어 있을 필요는 없고, 어느 하나의 정보 처리 장치의 외부 기록부(28)에 기록되어 있으면, 전술한 방법에 의해서 타 정보 처리 장치로부터 로드할 수 있으므로, 결과적으로 도 5의 하단에 도시한 바와 같이, 가상적인 1대의 정보 처리 장치(7)로서 기능 프로그램을 실행할 수 있다.
여기서, 상술한 바와 같이 메인 프로세서(21)에 의해서 처리되는 기능 프로그램은, 서브 프로세서(23)에 의해서 처리되는 서브 프로세서 프로그램과 제휴 동작하는 경우가 있다. 그래서 메인 프로세서(21)가 외부 기록부(28)로부터 기능 프로그램을 판독하여, 메인 메모리(26)에 기입할 때에 대상으로 되는 기능 프로그램 과 제휴 동작하는 서브 프로세서 프로그램이 존재하는 경우에는, 해당 서브 프로세서 프로그램도 더불어 동일한 메인 메모리(26)에 기입하는 것으로 한다. 이 경우, 제휴 동작하는 서브 프로세서 프로그램은 1개인 경우도 있고, 복수개인 경우도 있을 수 있다. 복수개인 경우에는, 모든 제휴 동작하는 서브 프로세서 프로그램을 메인 메모리(26)에 기입하는 것으로 된다. 메인 메모리(26)에 기입된 서브 프로세서 프로그램은, 그 후 서브 프로세서(23) 내의 LS(24)에 기입되어, 메인 프로세서(21)에 의해서 처리되는 기능 프로그램과 제휴 동작한다.
그리고, 서브 프로세서 프로그램에도 서브 프로세서 프로그램 ID가 할당되고, 이에 따라 서브 프로세서 프로그램을 일의적으로 식별 가능하다. 할당되는 서브 프로세서 프로그램 ID는, 제휴 동작하는 상대로 되는 기능 프로그램의 기능 프로그램 ID와 관련성이 있는 식별자, 예를 들면 기능 프로그램 ID를 부모 번호로 한 후에 최후미에 브랜치 번호를 부가시킨 것 등인 경우도 있을 수 있으며, 제휴 동작하는 상대로 되는 기능 프로그램의 기능 프로그램 ID와는 관련성이 없는 식별자라도 된다. 어찌되었든간에 기능 프로그램과 서브 프로세서 프로그램이 제휴 동작하는 경우에는, 양자 모두 상대의 식별자인 프로그램 ID를 자 프로그램 내에 서로 기억해둘 필요가 있다. 기능 프로그램이 복수개의 서브 프로세서 프로그램과 제휴 동작하는 경우에도, 해당 기능 프로그램은 복수개 있는 모든 서브 프로세서 프로그램의 서브 프로세서 프로그램 ID를 기억해 두는 것으로 된다.
도 3의 소프트웨어 셀에 도시한 바와 같이, 기능 프로그램에는, 프로그램마다 프로그램을 일의적으로 식별할 수 있는 식별자가 기능 프로그램 ID로서 할당된 다. 기능 프로그램 ID는, 기능 프로그램의 작성의 단계에서, 작성 일시나 정보 처리 장치 ID 등으로부터 결정된다.
메인 프로세서(21)는, 자신이 동작하는 정보 처리 장치의 장치 정보(동작 상태에 관한 정보)를 저장하기 위한 영역을 메인 메모리(26)에 확보하여, 해당 정보를 자장치의 장치 정보 테이블로서 기록한다. 여기서 말하는 장치 정보는, 도 4에 도시한 스테이터스 회신 커맨드의 데이터 영역에서의 정보 처리 장치 ID 이하의 각 정보이다.
A-7. 시스템에서의 마스터/슬레이브의 결정
전술한 네트워크 시스템에서는, 임의의 정보 처리 장치에의 주 전원 투입 시에, 그 정보 처리 장치의 정보 처리 컨트롤러의 메인 프로세서(21)는, 마스터/슬레이브 매니저(이하, MS 매니저)를 메인 메모리(26)에 로드하여, 실행한다.
MS 매니저는, 자신이 동작하는 정보 처리 장치가 네트워크(9)에 접속되어 있는 것을 검지하면, 동일한 네트워크(9)에 접속되어 있는 타 정보 처리 장치의 존재를 확인한다. 여기서의 「접속」 또는 「존재」는, 전술한 바와 같이, 정보 처리 장치가 물리적으로 네트워크(9)에 접속되어 있을 뿐만 아니라, 전기적?기능적으로도 네트워크(9)에 접속되어 있는 것을 나타낸다.
또한, 자신이 동작하는 정보 처리 장치를 자장치, 타 정보 처리 장치를 타장치라고 칭한다. 해당 장치도, 해당 정보 처리 장치를 나타내는 것으로 한다.
MS 매니저가 동일한 네트워크(9)에 접속되어 있는 타 정보 처리 장치의 존재를 확인하는 방법에 대하여 이하에 설명한다.
MS 매니저는, DMA 커맨드가 스테이터스 요구 커맨드이고, 송신원 ID 및 응답처 ID가 해당 정보 처리 장치에서, 송신처 ID를 특정하지 않는 소프트웨어 셀을 생성하여, 해당 정보 처리 장치가 접속된 네트워크 상에 송신하고, 네트워크 접속 확인용의 타이머를 설정한다. 타이머의 타임 아웃 시간은, 예를 들면 10분이다.
해당 네트워크 시스템 상에 타 정보 처리 장치가 접속되어 있는 경우, 그 타장치는, 상기 스테이터스 요구 커맨드의 소프트웨어 셀을 수신하여, 상기 응답처 ID에서 특정되는 스테이터스 요구 커맨드를 발행한 정보 처리 장치에 대하여, DMA 커맨드가 스테이터스 회신 커맨드로, 또한 데이터로서 자신(그 타장치)의 장치 정보를 포함하는 소프트웨어 셀을 송신한다. 이 스테이터스 회신 커맨드의 소프트웨어 셀에는, 적어도 해당 타장치를 특정하는 정보(정보 처리 장치 ID, 메인 프로세서에 관한 정보, 서브 프로세서에 관한 정보 등), 및 해당 타장치의 MS 스테이터스가 포함된다.
스테이터스 요구 커맨드를 발행한 정보 처리 장치의 MS 매니저는, 상기 네트워크 접속 확인용 타이머가 타임아웃할 때까지, 해당 네트워크 상의 타장치로부터 송신되는 스테이터스 회신 커맨드의 소프트웨어 셀의 수신을 감시한다. 그 결과, MS 스테이터스=0(마스터 장치)을 나타내는 스테이터스 회신 커맨드가 수신된 경우에는, 자장치의 장치 정보 테이블에서의 MS 스테이터스를 1로 설정한다. 이것에 의해서, 해당 장치는 슬레이브 장치로 된다.
한편, 상기 네트워크 접속 확인용 타이머가 타임아웃할 때까지의 사이에 스테이터스 회신 커맨드가 전혀 수신되지 않은 경우, 또는 MS 스테이터스=0(마스터 장치)을 나타내는 스테이터스 회신 커맨드가 수신되지 않은 경우에는, 자장치의 장치 정보 테이블에서의 MS 스테이터스를 0으로 설정한다. 이것에 의해서, 해당 장치는 마스터 장치로 된다.
즉, 어느 장치도 네트워크(9)에 접속되어 있지 않은 상태, 또는 네트워크(9) 상에 마스터 장치가 존재하지 않는 상태에서, 새로운 정보 처리 장치가 네트워크(9)에 접속되면, 해당 장치는 자동적으로 마스터 장치로서 설정된다. 한편, 네트워크(9)상에 이미 마스터 장치가 존재하는 상태에서, 새로운 정보 처리 장치가 네트워크(9)에 접속되면, 해당 장치는 자동적으로 슬레이브 장치로서 설정된다.
마스터 장치 및 슬레이브 장치 중 어느 것에 대해서도, MS 매니저는, 정기적으로 스테이터스 요구 커맨드를 네트워크(9) 상의 타장치로 송신하여 스테이터스 정보를 조회함으로써, 타장치의 상황을 감시한다. 그 결과, 네트워크(9)에 접속되어 있는 정보 처리 장치의 주 전원이 차단되거나, 또는 네트워크(9)로부터 정보 처리 장치가 분리됨으로써, 미리 판정용으로 설정된 소정 기간 내에 특정한 타장치로부터 스테이터스 회신 커맨드가 회신되지 않은 경우나, 네트워크(9)에 새로운 정보 처리 장치가 접속된 경우 등, 네트워크(9)의 접속 상태에 변화가 있었던 경우에는, 그 정보를 후술하는 능력 교환 프로그램에 통지한다.
A-8. 마스터 장치 및 슬레이브 장치에서의 장치 정보의 취득
메인 프로세서(21)는, MS 매니저로부터, 네트워크(9)에 접속된 타 정보 처리 장치의 조회 및 자장치의 MS 스테이터스의 설정 완료의 통지를 받으면, 능력 교환 프로그램을 실행한다.
능력 교환 프로그램은, 자장치가 마스터 장치인 경우에는, 네트워크(9)에 접속되어 있는 다른 모든 정보 처리 장치에 대한 장치 정보, 즉 각 슬레이브 장치의 장치 정보를 취득한다.
타장치의 장치 정보의 취득은, 전술한 바와 같이, DMA 커맨드가 스테이터스 요구 커맨드인 소프트웨어 셀을 생성하여 타장치로 송신하고, 그 후 DMA 커맨드가 스테이터스 회신 커맨드로, 또한 데이터로서 타장치의 장치 정보를 포함하는 소프트웨어 셀을 타장치로부터 수신함으로써 가능하다.
능력 교환 프로그램은, 마스터 장치인 자장치의 장치 정보 테이블과 마찬가지로, 네트워크(9)에 접속되어 있는 다른 모든 장치(각 슬레이브 장치)에 대한 장치 정보를 저장하기 위한 영역을 자장치의 메인 메모리(26)에 확보하여, 이들 정보를 타장치(슬레이브 장치)의 장치 정보 테이블로서 기록한다. 즉, 마스터 장치의 메인 메모리(26)에는, 자장치를 포함하는 네트워크(9)에 접속되어 있는 모든 정보 처리 장치의 장치 정보가 장치 정보 테이블로서 기록된다.
한편, 능력 교환 프로그램은, 자장치가 슬레이브 장치인 경우에는, 네트워크(9)에 접속되어 있는 다른 모든 장치에 대한 장치 정보, 즉 마스터 장치 및 자장치 이외의 각 슬레이브 장치의 장치 정보를 취득하여, 이들 장치 정보에 포함되는 정보 처리 장치 ID 및 MS 스테이터스를, 자장치의 메인 메모리(26)에 기록한다. 즉, 슬레이브 장치의 메인 메모리(26)에는, 자장치의 장치 정보가, 장치 정보 테이블로서 기록됨과 함께, 자장치 이외의 네트워크(9)에 접속되어 있는 마스터 장치 및 각 슬레이브 장치에 대한 정보 처리 장치 ID 및 MS 스테이터스가, 별도의 장치 정보 테이블로서 기록된다.
또한, 마스터 장치 및 슬레이브 장치 중 어느 것에 대해서도, 능력 교환 프로그램은, 상기한 바와 같이 MS 매니저로부터, 새롭게 네트워크(9)에 정보 처리 장치가 접속된 것이 통지되었을 때에는, 그 정보 처리 장치의 장치 정보를 취득하여, 전술한 바와 같이 메인 메모리(26)에 기록한다.
또한, MS 매니저 및 능력 교환 프로그램은, 메인 프로세서(21)로 실행되는 것에 한하지 않고, 어느 하나의 서브 프로세서(23)로 실행되어도 된다. 또한, MS 매니저 및 능력 교환 프로그램은, 정보 처리 장치의 주 전원이 투입되어 있는 동안에는 항상 동작하는 상주 프로그램인 것이 바람직하다.
A-9. 정보 처리 장치가 네트워크로부터 접속 해제된 경우
마스터 장치 및 슬레이브 장치 중 어느 것에 대해서도, 능력 교환 프로그램은, 상기한 바와 같이 MS 매니저로부터, 네트워크(9)에 접속되어 있는 정보 처리 장치의 주 전원이 차단되거나, 또는 네트워크(9)로부터 정보 처리 장치가 분리된 것이 통지되었을 때에는, 그 정보 처리 장치의 장치 정보 테이블을 자장치의 메인 메모리(26)로부터 삭제한다.
또한, 이와 같이 네트워크(9)로부터 접속 해제된 정보 처리 장치가 마스터 장치인 경우에는, 이하와 같은 방법에 의해서, 새롭게 마스터 장치가 결정된다.
예를 들면, 네트워크(9)로부터 접속 해제되어 있지 않은 정보 처리 장치는, 각각 자장치 및 타장치의 정보 처리 장치 ID를 수치로 치환하여, 자장치의 정보 처리 장치 ID를 타장치의 정보 처리 장치 ID와 비교하여, 자장치의 정보 처리 장치 ID가 네트워크(9)로부터 접속 해제되어 있지 않은 정보 처리 장치 중에서 최소인 경우, 그 슬레이브 장치는, 마스터 장치로 이행하여, MS 스테이터스를 0으로 설정하고, 마스터 장치로서, 전술한 바와 같이, 네트워크(9)에 접속되어 있는 다른 모든 정보 처리 장치(각 슬레이브 장치)로부터 장치 정보를 취득하여, 메인 메모리(26)에 기록한다.
A-10. 장치 정보에 기초하는 분산 처리
도 5의 하단에 도시한 바와 같이 네트워크(9)에 접속되어 있는 복수의 정보 처리 장치(1, 2, 3, 4)를 가상적인 1대의 정보 처리 장치(7)로서 동작시키기 위해서는, 마스터 장치가 사용자의 조작 및 슬레이브 장치의 동작 상태를 파악할 필요가 있다.
도 7에는, 4대의 정보 처리 장치가 가상적인 1대의 정보 처리 장치(7)로서 동작하는 모습을 나타내고 있다. 도시한 예에서는, 정보 처리 장치(1)가 마스터 장치, 정보 처리 장치(2, 3, 4)가 슬레이브 장치 A, B, C로서 각각 동작하고 있는 것으로 한다.
사용자가 네트워크(9)에 접속되어 있는 정보 처리 장치를 조작한 경우, 조작 대상이 마스터 장치(1)이면, 그 조작 정보는 마스터 장치(1)에서 직접 파악된다. 또한, 조작 대상이 슬레이브 장치이면, 그 조작 정보는 조작된 슬레이브 장치로부터 마스터 장치(1)에 송신된다. 즉, 사용자의 조작 대상이 마스터 장치(1)와 슬레이브 장치 중 어느 것인가에 상관없이, 그 조작 정보는 항상 마스터 장치(1)에 있어서 파악된다. 조작 정보의 송신은, 예를 들면 DMA 커맨드가 조작 정보 송신 커 맨드인 소프트웨어 셀에 의해서 행해진다.
그리고, 마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 그 조작 정보에 따라서, 실행하는 기능 프로그램을 선택한다. 그 때, 필요하면, 마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 상기한 방법에 의해서 자장치의 외부 기록부(28-1, 28-2)로부터 메인 메모리(26-1)에 기능 프로그램을 로드하지만, 타 정보 처리 장치(슬레이브 장치)가 마스터 장치(1)에 기능 프로그램을 송신해도 된다.
기능 프로그램에는, 그 실행 단위마다 필요해지는, 정보 처리 장치 종별 ID, 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리 사용량, 외부 기록부에 관한 조건 등의 장치에 관한 요구 스펙(도 4를 참조의 것)이 규정되어 있다.
마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 각 기능 프로그램에 대하여 필요해지는 상기한 요구 스펙을 판독한다. 또한, 미리 능력 교환 프로그램에 의해서 메인 메모리(26-1)에 기록된 장치 정보 테이블을 참조하여, 각 정보 처리 장치의 장치 정보를 판독한다. 여기서의 장치 정보는, 도 4에 도시한 정보 처리 장치 ID 이하의 각 정보를 나타내는 것으로, 메인 프로세서, 서브 프로세서, 메인 메모리 및 외부 기록부에 관한 정보이다.
마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 네트워크(9) 상에 접속된 각 정보 처리 장치의 상기 장치 정보와, 기능 프로그램 실행에 필요해지는 상기 요구 스펙을 순차적으로 비교한다.
예를 들면, 기능 프로그램이 녹화 기능을 필요로 하는 경우에는, 정보 처리 장치 종별 ID에 기초하여, 녹화 기능을 갖는 정보 처리 장치만을 특정하여 추출한다. 또한, 기능 프로그램을 실행하기 위해 필요한 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리 사용량, 외부 기록부에 관한 조건을 확보할 수 있는 슬레이브 장치를, 실행 요구 후보 장치로서 특정한다. 여기서, 복수의 실행 요구 후보 장치가 특정된 경우에는, 해당 후보 장치로부터 하나의 실행 요구 후보 장치를 특정하여 선택한다.
실행 요구하는 슬레이브 장치가 특정되면, 마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 그 특정된 슬레이브 장치에 대하여, 자장치 내의 정보 처리 컨트롤러(11)에 포함되는 메인 메모리(26-1)에 기록되어 있는 해당 슬레이브 장치의 장치 정보 테이블을 갱신한다.
또한, 마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, DMA 커맨드가 기능 프로그램 실행 커맨드인 소프트웨어 셀을 생성하여, 해당 소프트웨어 셀의 셀 인터페이스에, 해당 기능 프로그램에 관한 필요한 서브 프로세서의 정보 및 샌드 박스 사이즈(도 3을 참조할 것)를 설정하고, 상기 실행 요구되는 슬레이브 장치에 대하여 송신한다.
기능 프로그램의 실행을 요구받은 슬레이브 장치는, 그 기능 프로그램을 실행함과 함께, 자장치의 장치 정보 테이블을 갱신한다. 그 때, 필요하면, 슬레이브 장치 내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 상기한 방법에 의해서 자장치의 외부 기록부(28)로부터 메인 메모리(26)에 기능 프로그램 및 해당 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램을 로드한다.
기능 프로그램의 실행을 요구받은 슬레이브 장치의 외부 기록부(28)에 필요한 기능 프로그램 또는 해당 기능 프로그램과 제휴 동작하는 서브 프로세서 프로그램이 기록되어 있지 않은 경우에는, 타 정보 처리 장치가 해당 기능 프로그램 또는 서브 프로세서 프로그램을 그 기능 프로그램 실행 요구처 슬레이브 장치로 송신하도록, 시스템을 구성하면 된다.
서브 프로세서 프로그램에 대해서는, 전술한 로드 커맨드 및 킥 커맨드를 이용하여 타 정보 처리 장치에 실행시킬 수도 있다.
기능 프로그램의 실행 종료 후, 기능 프로그램을 실행한 슬레이브 장치 내의 정보 처리 컨트롤러에 포함되는 메인 프로세서(21)는, 종료 통지를 마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)에 송신함과 함께, 자장치의 장치 정보 테이블을 갱신한다. 마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 그 종료 통지를 수신하여, 기능 프로그램을 실행한 슬레이브 장치의 장치 정보 테이블을 갱신한다.
마스터 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 자장치 및 타장치의 장치 정보 테이블의 참조 결과로부터, 해당 기능 프로그램을 실행할 수 있는 정보 처리 장치로서, 자신을 선택하는 경우도 있을 수 있다. 그 경우에는, 마스터 장치(1)가 해당 기능 프로그램을 실행한다.
도 7에 도시한 예로, 사용자가 슬레이브 장치 A(정보 처리 장치(2))를 조작하여, 해당 조작에 따른 기능 프로그램을 다른 슬레이브 장치 B(정보 처리 장치(3))가 실행하는 경우의 분산 처리에 대하여, 도 8을 참조하여 설명한다.
도 8에 도시한 예에서는, 사용자가 슬레이브 장치 A를 조작함으로써, 슬레이브 장치 A를 포함하는 네트워크 시스템 전체의 분산 처리가 개시되고, 우선, 슬레이브 장치 A는, 그 조작 정보를 마스터 장치(1)에 송신한다(단계 81).
마스터 장치(1)는, 그 조작 정보를 수신하고(단계 72), 또한 자장치의 메인 메모리(26-1)에 기록되어 있는 자장치 및 타장치의 장치 정보 테이블로부터 각 정보 처리 장치의 동작 상태를 조사하여, 수신한 조작 정보에 따른 기능 프로그램을 실행할 수 있는 정보 처리 장치를 선택한다(단계 73). 도시한 예에서는, 슬레이브 장치 B가 선택되는 경우를 나타내고 있다.
다음으로, 마스터 장치(1)는, 그 선택한 슬레이브 장치 B에 대하여 기능 프로그램의 실행을 요구한다(단계 74).
슬레이브 장치 B는, 그 실행 요구를 수신하고(단계 95), 또한 실행 요구된 기능 프로그램을 실행한다(단계 96).
이상과 같이, 사용자는, 1대의 정보 처리 장치만을 조작함으로써, 타 정보 처리 장치를 조작하지 않고, 복수의 정보 처리 장치(1, 2, 3, 4)를 가상적인 1대의 정보 처리 장치(7)로서 동작시킬 수 있다.
A-11. 각 정보 처리 장치 및 시스템의 구체예
네트워크(9)를 통하여 서로 접속되는 정보 처리 장치(1, 2, 3, 4)는, 상기한 바와 같은 정보 처리 컨트롤러(11, 12, 13, 14)에 의해서 정보 처리를 행하는 것이면, 기본적으로는 어떠한 구성이어도 된다. 도 9에는, 정보 처리 장치의 일 구성예를 나타내고 있다.
정보 처리 컨트롤러(11)를 구비하는 정보 처리 장치(1)의 일례는, 하드 디스크 레코더이다. 도 10 및 도 11에는, 도면 중 하드 디스크 레코더의 하드웨어 구성 및 소프트웨어 구성을 각각 나타내고 있다. 하드 디스크 레코더의 하드웨어 구성으로서는, 도 1에 도시한 외부 기록부(28-1)로서 하드 디스크를 내장하며, 도 1에 도시한 외부 기록부(28-2)로서 DVD±R/RW, CD±R/RW, Bluray-Disc(등록상표) 등의 광 디스크를 장착할 수 있도록 구성됨과 함께, 정보 처리 컨트롤러(11)의 버스(29-1)에 접속된 버스(31-1)에, 방송 수신부(32-1), 영상 입력부(33-1), 음성 입력부(34-1), 영상 출력부(35-1), 음성 출력부(36-1), 조작 패널부(37-1), 리모콘 수광부(38-1) 및 네트워크 접속부(39-1)가 접속되어 있다.
방송 수신부(32-1), 영상 입력부(33-1) 및 음성 입력부(34-1)는, 방송 신호를 수신하거나, 또는 정보 처리 장치(1)의 외부로부터 영상 신호 및 음성 신호를 입력하여, 각각 소정 포맷의 디지털 데이터로 변환하여, 정보 처리 컨트롤러(11)에서의 처리를 위해 버스(31-1)에 송출한다. 영상 출력부(35-1) 및 음성 출력부(36-1)는, 정보 처리 컨트롤러(11)로부터 버스(31-1)에 송출된 영상 데이터 및 음성 데이터를 처리하여, 디지털 데이터 그대로, 또는 아날로그 신호로 변환하여, 정보 처리 장치(1)의 외부에 송출하는 것이며, 리모콘 수광부(38-1)는, 리모콘 송신기(43-1)로부터의 리모콘(원격 조작) 적외선 신호를 수신한다.
도 9 및 도 10에 도시한 바와 같이, 정보 처리 장치(하드 디스크 레코더)(1)의 영상 출력부(35-1) 및 음성 출력부(36-1)에는, 모니터 표시 장치(41) 및 스피커 장치(42)가 접속된다.
도 9에 예시한 정보 처리 컨트롤러(12)를 구비하는 정보 처리 장치(2)도, 하드 디스크 레코더로, 도 10에서 괄호 내에 참조 번호를 붙여서 나타낸 바와 같이, 정보 처리 장치(1)와 같이 구성된다. 단, 도 9에 도시한 바와 같이, 정보 처리 장치(하드 디스크 레코더)(2)에는, 모니터 표시 장치 및 스피커 장치는 접속되지 않는다.
정보 처리 장치(하드 디스크 레코더)(1, 2), 즉 정보 처리 컨트롤러(11, 12)의 소프트웨어 구성으로서는, 도 11에 도시한 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하며, 기능 프로그램으로서, 영상 음성 기록, 영상 음성 재생, 소재 검색 및 프로그램 녹화 예약을 위한 프로그램을 구비하며, 디바이스 드라이버로서, 방송 수신, 영상 출력, 음성 출력, 외부 기록부 입출력 및 네트워크 입출력을 위한 프로그램을 구비한다.
또한, 정보 처리 컨트롤러(13)를 구비하는 정보 처리 장치(3)의 다른 예는, PDA(Personal Digital Assistants)이다. 도 12에는, PDA로서 구성되는 정보 처리 장치(3)의 하드웨어 구성을 나타내고 있다. 도 12에 도시한 예에서는, 도 1에 도시한 외부 기록부(28-5)로서, 메모리 카드 디스크를 장착할 수 있도록 구성되고, 정보 처리 컨트롤러(13)의 버스(29-3)에 접속된 버스(51)에, 액정 표시부(52), 음성 출력부(53), 카메라부(54), 음성 입력부(55), 키보드부(56) 및 네트워크 접속부(57)가 접속되어 있다.
또한, 도 1에서는 내부를 생략한 정보 처리 컨트롤러(13)는, 메인 프로세서(21-3), 서브 프로세서(23-7, 23-8, 23-9), DMAC(다이렉트 메모리 액세스 컨트롤 러)(25-3), DC(디스크 컨트롤러)(27-3) 및 버스(29-3)를 구비하며, 그 메인 프로세서(21-3)는, LS(로컬 스토리지)(22-3)를 갖고, 각 서브 프로세서(23-7, 23-8, 23-9)는, LS(로컬 스토리지)(24-7, 24-8, 24-9)를 구비하고 있다.
또한, 도 13에는, 정보 처리 장치(PDA)(3), 즉 정보 처리 컨트롤러(13)의 소프트웨어 구성을 나타내고 있다. 도 13에 도시한 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하며, 기능 프로그램으로서, 영상 음성 기록, 영상 음성 재생, 전화번호부, 워드 프로세서 및 표계산을 위한 프로그램, 및 Web 브라우저를 구비하며, 디바이스 드라이버로서, 영상 출력, 음성 출력, 카메라 영상 입력, 마이크 음성 입력 및 네트워크 입출력을 위한 프로그램을 구비하고 있다.
또한, 정보 처리 컨트롤러(14)를 구비하는 정보 처리 장치(4)는, 포터블 CD 플레이어이다. 도 14에는, 포터블 CD 플레이어의 하드웨어 구성을 나타내고 있다. 도시한 예에서는, 포터블 CD 플레이어는, 도 1에 도시한 외부 기록부(28-6)로서, CD(Compact Disc)를 장착할 수 있도록 구성되고, 정보 처리 컨트롤러(14)의 버스(29-4)에 접속된 버스(61)에, 액정 표시부(62), 음성 출력부(63), 조작 버튼부(64) 및 네트워크 접속부(65)가 접속되어 있다.
또한, 도 1에서는 내부를 생략한 정보 처리 컨트롤러(14)는, 메인 프로세서(21-4), 서브 프로세서(23-10, 23-11, 23-12), DMAC(25-4), DC(27-4) 및 버스(29-4)를 구비하며, 그 메인 프로세서(21-4)는, LS(22-4)을 갖고, 각 서브 프로세서(23-10, 23-11, 23-12)는, LS(24-10, 24-11, 24-12)를 갖는다.
도 15에는, 정보 처리 장치(포터블 CD 플레이어)(4), 즉 정보 처리 컨트롤러(14)의 소프트웨어 구성을 도시하고 있다. 도시한 바와 같이, 제어 프로그램으로서, MS 매니저 및 능력 교환 프로그램을 구비하고, 기능 프로그램으로서, 음악 재생을 위한 프로그램을 구비하고, 디바이스 드라이버로서, 음성 출력, CD 제어 및 네트워크 입출력을 위한 프로그램을 구비한다.
도 9에 예시한 네트워크 시스템에서는, 정보 처리 장치(1, 3, 4)가 네트워크(9) 상에 접속되어 있고, 정보 처리 장치(1)가 마스터 장치(MS 스테이터스=0)로서, 정보 처리 장치(3, 4)가 슬레이브 장치(MS 스테이터스=1)로서, 설정되어 있는 것으로 한다.
이 상태에서, 새롭게 정보 처리 장치(2)가 네트워크(9)에 접속되면, 전술한 방법에 의해서, 정보 처리 장치(2) 내의 정보 처리 컨트롤러(12)에 포함되는 메인 프로세서(21-2)로 실행되고 있는 MS 매니저는, 타 정보 처리 장치(1, 3, 4)에 MS 스테이터스를 조회하여, 정보 처리 장치(1)가 이미 마스터 장치로서 존재하는 것을 인식하여, 자장치(정보 처리 장치(2))를 슬레이브 장치(MS 스테이터스=1)로 설정한다. 또한, 마스터 장치에 설정되어 있는 정보 처리 장치(1)는, 새롭게 추가된 정보 처리 장치(2)를 포함하는 각 장치의 장치 정보를 수집하여, 메인 메모리(26-1) 내의 장치 정보 테이블을 갱신한다.
이러한 상태에서, 사용자에 의해서 슬레이브 장치인 정보 처리 장치(PDA)(3)로 2 시간의 방송 프로그램을 녹화 예약하기 위한 조작이 행하여진 경우에 대해, 이하에 설명한다.
이 경우, 슬레이브 장치인 정보 처리 장치(PDA)(3)는, 사용자로부터 녹화 개시 시각, 녹화 종료 시각, 녹화 대상 방송 채널, 녹화 품질 등의 정보를 포함하는 녹화 예약 정보의 입력을 접수하여, 해당 녹화 예약 정보 및 DMA 커맨드로서의 녹화 예약 커맨드를 포함하는 소프트웨어 셀을 생성하여, 마스터 장치인 정보 처리 장치(1)에 송신한다.
DMA 커맨드가 녹화 예약 커맨드인 소프트웨어 셀을 수신한 정보 처리 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 녹화 예약 커맨드를 판독함과 함께, 메인 메모리(26-1) 내의 장치 정보 테이블을 참조하여, 해당 녹화 예약 커맨드를 실행 가능한 정보 처리 장치를 특정한다.
우선, 메인 프로세서(21-1)는, 장치 정보 테이블에 포함되는 각 정보 처리 장치(1, 2, 3, 4)의 정보 처리 장치 종별 ID를 판독하여, 녹화 예약 커맨드에 대응하는 기능 프로그램을 실행 가능한 정보 처리 장치를 추출한다. 여기서는, 녹화 기능을 나타내는 정보 처리 장치 종별 ID를 갖는 정보 처리 장치(1, 2)가 후보 장치로서 특정되며, 정보 처리 장치(3, 4)는 후보 장치로부터 제외된다.
다음으로, 마스터 장치인 정보 처리 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 장치 정보 테이블을 참조하여, 정보 처리 장치(1, 2)의 메인 프로세서 또는 서브 프로세서의 처리 능력, 메인 메모리에 관한 정보 등의 장치에 관한 정보를 판독하여, 정보 처리 장치(1, 2)가 녹화 예약 커맨드에 대응하는 기능 프로그램의 실행에 필요한 요구 스펙을 만족하는지의 여부를 판단한다. 여기서는, 정보 처리 장치(1, 2) 모두, 녹화 예약 커맨드에 대응하는 기 능 프로그램의 실행에 필요한 요구 스펙을 만족하는 것으로 한다.
또한, 메인 프로세서(21-1)는, 장치 정보 테이블을 참조하여, 정보 처리 장치(1, 2)의 외부 기록부에 관한 정보를 판독하여, 외부 기록부의 빈 용량이 해당 녹화 예약 커맨드의 실행에 필요한 용량을 만족하는지의 여부를 판단한다. 정보 처리 장치(1, 2)는 하드 디스크 레코더이기 때문에, 각각 하드 디스크(28-1, 28-3)의 총 용량과 사용량과의 차분이, 각각의 빈 용량에 상당한다.
이 경우, 정보 처리 장치(1)의 하드 디스크(28-1)의 빈 용량이, 녹화 시간으로 환산하여 10분이고, 정보 처리 장치(2)의 하드 디스크(28-3)의 빈 용량이, 녹화 시간으로 환산하여 20 시간이라고 한다.
이 때, 마스터 장치인 정보 처리 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 해당 녹화 예약 커맨드의 실행에 필요한 2 시간 분의 빈 용량을 확보할 수 있는 정보 처리 장치를, 실행 요구처 슬레이브 장치로서 특정한다.
그 결과, 정보 처리 장치(2)만이 실행 요구처 슬레이브 장치로서 선택되어, 마스터 장치인 정보 처리 장치(1) 내의 정보 처리 컨트롤러(11)에 포함되는 메인 프로세서(21-1)는, 사용자에 의해 조작된 정보 처리 장치(3)로부터 송신된 녹화 예약 정보를 포함하는 해당 녹화 예약 커맨드를 정보 처리 장치(2)에 송신하여, 상기 2 시간의 방송 프로그램의 녹화 예약의 실행을 요구한다.
그리고, 정보 처리 장치(2) 내의 정보 처리 컨트롤러(12)에 포함되는 메인 프로세서(21-2)는, 해당 녹화 예약 커맨드를 해석하여, 녹화에 필요한 기능 프로그 램을 외부 기록부인 하드 디스크(28-3)로부터 메인 메모리(26-2)에 로드하여, 녹화 예약 정보에 따라서 녹화를 실행한다. 그 결과, 녹화 예약된 2 시간의 방송 프로그램의 영상 음성 데이터가 정보 처리 장치(2)의 하드 디스크(28-3)에 기록된다.
이와 같이, 도 9의 예의 네트워크 시스템에서도, 사용자는, 1대의 정보 처리 장치만을 조작함으로써, 타 정보 처리 장치를 조작하지 않고, 복수의 정보 처리 장치(1, 2, 3, 4)를 가상적인 1대의 정보 처리 장치(7)로서 동작시킬 수 있다.
B. 가상적인 1대의 정보 처리 장치에서의 확장 기능의 실현
전술한 바와 같이, 본 발명에 따르면, 네트워크 접속된 복수의 정보 처리 장치가 서로 제휴함으로써 1대의 가상적인 정보 처리 장치를 실현할 수 있다. 본 발명의 또 다른 실시 형태로서, 각 정보 처리 장치의 총합으로서 구성되는 가상 정보 처리 장치에서, 각 기능의 실행에 필요한 성능 정보를 취득하는 수단을 설치할 수 있다. 이러한 시스템의 성능 정보를 취득하는 수단에 따르면, 가상적인 1대의 정보 처리 장치에서의 잉여의 처리 능력을 용이하게 파악함과 함께, 복수의 정보 처리 장치의 제휴에 의해 실행이 가능해지는 확장 기능을 용이하고 또한 효율적으로 이용할 수 있어, 사용자의 편리성을 향상시킬 수 있다.
도 16에는, 본 발명의 일 실시 형태에 따른 네트워크 시스템의 구성을 모식적으로 나타내고 있다. 도시한 네트워크 시스템은, 홈 네트워크 등의 로컬 네트워크(30)에 의해 서로 접속된 복수의 정보 처리 장치(10, 11…)가 서로 제휴함으로써 1대의 가상적인 정보 처리 장치(20)를 구축하고 있다.
정보 처리 장치(10, 11…) 중 1대는 마스터 장치로서 동작하고, 그 이외는 전부 슬레이브 장치로서 동작한다(전술).
가상 정보 처리 장치(20)는, 각 정보 처리 장치의 총합으로서 구성되는 시스템에서, 각 기능의 실행에 필요한 성능 정보를 취득하는 수단을 포함하고 있다. 구체적으로는, 마스터 장치로서 동작하는 정보 처리 장치가 주체로 되어 이 수단을 실현한다.
가상 정보 처리 장치(20)는, 인터넷 등의 통신 네트워크(40)를 경유하여 서버(50)에 접속하는 것이 가능하다. 서버(50)는, 여러가지의 정보를 공개할 수 있지만, 본 실시 형태에서는, 특히 기능 정보 데이터베이스(60)나, 소프트웨어 데이터베이스(61)를 장비하고 있다.
가상 정보 처리 장치(20)는, 목적으로 하는 데이터나 소프트웨어 등을 서버(50)로부터 취득하는 것이 가능하다. 가상 정보 처리 장치(20)는, 서버(50)로부터 얻어진 정보에 기초하여, 현재 사용 가능한 기능의 일람이나, 새로운 정보 처리 장치의 접속에 의해서는 사용가능해지는 기능의 일람 등을 적절하게 사용자에게 제시할 수 있다. 데이터베이스의 내용이 리얼타임 혹은 소정의 타이밍에서 최신의 것으로 갱신됨으로써, 사용자의 편리성은 더 높아진다.
단, 이 종류의 데이터베이스나 서버의 존재는, 본 발명을 실현하는 데에 있어서 필수적인 구성 요건이 아니고, 예를 들면 정보 처리 장치 정보를 검색?추출하기 위해 사용하는 데이터베이스가 가상 정보 처리 장치(20) 내에 배치되거나, 혹은 그 외의 형태로 가상 정보 처리 장치(20)에 제공되는 구성이어도 된다.
각 정보 처리 장치(10, 11…)의 하드웨어 구성은, 도 1, 도 10, 도 12, 도 14 등에 도시한 바와 같다. 즉, 개개의 현실의 정보 처리 장치(10, 11…)는, 하나의 메인 프로세서, 1 이상의 서브 프로세서, DMAC(다이렉트 메모리 액세스 컨트롤러), DC(디스크 컨트롤러), DRAM 등으로 구성되는 메인 메모리, 외부 기록 장치 등을 장비하고 있다.
각 정보 처리 장치(10, 11…)는, 로컬 네트워크(30)를 경유하여 서로 접속되어 있는 타 정보 처리 장치와 제휴하고, MS 매니저 및 능력 교환 프로그램(전술)의 기동 등을 경유하여, 가상 정보 처리 장치(20)를 구축하는 것이 가능하다. 이 가상 정보 처리 장치(20)를 구축하는 과정에서, 각 정보 처리 장치(10, 11…)는 각각 자신의 장치 정보를 취득할 수 있다.
도 17에는 장치 정보의 구성예를 나타내고 있다.
정보 처리 장치 ID는, 정보 처리 컨트롤러를 구비하는 정보 처리 장치를 식별하기 위한 식별자이고, 스테이터스 회신 커맨드를 송신하는 정보 처리 장치의 ID를 나타낸다.
정보 처리 장치 종별 ID에는, 해당 정보 처리 장치의 특징을 나타내는 값이 포함된다. 여기서 말하는 정보 처리 장치의 특징이란, 예를 들면 하드 디스크 레코더, PDA, 포터블 CD 플레이어 등이다. 또한, 정보 처리 장치 종별 ID는, 영상 음성 기록, 영상 음성 재생 등, 정보 처리 장치가 갖는 기능을 나타내는 것이어도 되고, 정보 처리 장치의 특징이나 기능을 나타내는 값은 미리 정해져 있는 것으로 하여, 정보 처리 장치 종별 ID를 호출함으로써 해당 정보 처리 장치의 특징이나 기능을 파악하는 것이 가능하다.
MS 스테이터스는, 정보 처리 장치가 마스터 장치 또는 슬레이브 장치 중 어느 것으로 동작하고 있는지를 나타내는 것으로, 이것이 0으로 설정되어 있는 경우에는 마스터 장치로서 동작하고 있는 것을 나타내고, 1로 설정되어 있는 경우에는 슬레이브 장치로서 동작하고 있는 것을 나타낸다.
메인 프로세서 동작 주파수는, 정보 처리 컨트롤러 내의 메인 프로세서의 동작 주파수를 나타낸다. 메인 프로세서 사용율은 메인 프로세서로 현재 동작하고 있는 모든 프로그램에 대한, 메인 프로세서에서의 사용율을 나타낸다. 메인 프로세서 사용율은, 대상 메인 프로세서의 전체 처리 능력에 대한 사용 중 처리 능력의 비율을 나타낸 값으로, 예를 들면 프로세서 처리 능력 평가를 위한 단위인 MIPS를 단위로 하여 산출되거나, 또는 단위 시간 당의 프로세서 사용 시간에 기초하여 산출된다. 후술하는 서브 프로세서 사용율에 대해서도 마찬가지이다.
서브 프로세서 수는, 해당 정보 처리 컨트롤러가 구비하는 서브 프로세서의 수를 나타낸다. 서브 프로세서 ID는, 해당 정보 처리 컨트롤러 내의 각 서브 프로세서를 식별하기 위한 식별자이다.
서브 프로세서 스테이터스는, 각 서브 프로세서의 상태를 나타내는 것으로, unused, reserved, busy 등의 상태가 있다. unused는, 해당 서브 프로세서가 현재 사용되고 있지 않고, 사용의 예약도 되어 있지 않은 것을 나타낸다. reserved는, 현재는 사용되고 있지 않지만, 예약되어 있는 상태를 나타낸다. busy는, 현재 사용 중에 있는 것을 나타낸다.
서브 프로세서 사용율은, 해당 서브 프로세서로 현재 실행하고 있거나, 또는 해당 서브 프로세서에 실행이 예약되어 있는 프로그램에 대한, 해당 서브 프로세서에서의 사용율을 나타낸다. 즉, 서브 프로세서 사용율은, 서브 프로세서 스테이터스가 busy인 경우에는, 현재의 사용율을 나타내고, 서브 프로세서 스테이터스가 reserved 인 경우에는, 후에 사용될 예정인 추정 사용율을 나타낸다.
서브 프로세서 ID, 서브 프로세서 스테이터스 및 서브 프로세서 사용율은, 하나의 서브 프로세서에 대하여 1조 설정되어, 하나의 정보 처리 컨트롤러 내의 서브 프로세서에 대응하는 조 수가 설정된다.
메인 메모리 총 용량 및 메인 메모리 사용량은, 각각 해당 정보 처리 컨트롤러에 접속되어 있는 메인 메모리의 총 용량 및 현재 사용 중인 용량을 나타낸다.
외부 기록부 수는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 기록부(28)의 수를 나타낸다. 외부 기록부 ID는, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 기록부(28)를 일의적으로 식별하는 정보이다. 외부 기록부 종별 ID는, 해당 외부 기록부의 종류(예를 들면, 하드 디스크, CD±RW, DVD±RW, 메모리 디스크, SRAM, ROM 등)를 나타낸다.
외부 기록부 총 용량 및 외부 기록부 사용량은, 각각 외부 기록부 ID에 의해서 식별되는 외부 기록부의 총 용량 및 현재 사용 중인 용량을 나타낸다.
외부 기록부 ID, 외부 기록부 종별 ID, 외부 기록부 총 용량 및 외부 기록부 사용량은, 하나의 외부 기록부에 대하여 1조 설정되는 것이고, 해당 정보 처리 컨트롤러에 접속되어 있는 외부 기록부의 수의 조 수만큼 설정된다. 즉, 하나의 정보 처리 컨트롤러에 복수의 외부 기록부가 접속되어 있는 경우, 각각의 외부 기록 부에는 서로 다른 외부 기록부 ID가 할당되고, 외부 기록부 종별 ID, 외부 기록부 총 용량 및 외부 기록부 사용량도 별도로 관리된다.
이러한 장치 정보는, DMA 커맨드의 1개인 스테이터스 요구 커맨드를 발행함으로써 요구할 수 있다. 즉, 스테이터스 요구 커맨드를 수신한 정보 처리 장치는, 이것에 응답하여, 데이터 영역에 도시의 장치 정보를 저장한 스테이터스 회신 커맨드를 회신한다.
마스터 장치로서 동작하는 정보 처리 장치는, 네트워크 상에서 제휴?협조 동작하는 각 정보 처리 장치로부터 장치 정보를 취득하여, 이들의 자원이나 처리 능력을 통합하여, 가상 정보 처리 장치(20)로서의 잉여 처리 능력을 산출한다.
또한, 마스터 장치로서 동작하는 정보 처리 장치는, 통신 네트워크(40)를 경유하여 서버(50)로부터 정보 처리 장치 성능이나 기능(기능 확장)에 관한 데이터나 제휴 기능 실행용 소프트웨어 등을 취득할 수 있다. 또한, 이 마스터 장치는, 서버(50)로부터 얻어진 데이터나 소프트웨어를 자장치 상의 메인 메모리 또는 외부 기억 장치에 보존하거나 혹은 인스톨해둔다.
또한, 가상 정보 처리 장치(20)를 구성하는 어느 하나의 정보 처리 장치(10, 11…) 상에서 어떠한 기능이 실행되면, 마스터 장치 상에서는 기능 이용 이력이 생성되어, 외부 기억 장치에 보존하여, 기능 이용 이력 데이터베이스를 구축한다. 이하의 표 1에는, 가상 정보 처리 장치(20)에서의 기능 이용 이력 데이터베이스의 구성예를 나타내고 있다. 표 1에서는, 사용자가 2004/01/20에 「Z0011」의 정보 처리 장치 ID를 갖는 정보 처리 장치와 접속된 상황으로 고해상도화 처리를 행한 것이나, 2004/01/23에 「Z0020」 및 「Z0021」의 정보 처리 장치 ID를 갖는 각 정보 처리 장치와의 제휴에 의한 녹화 예약 동작에 의해 멀티 채널 녹화 처리를 행한 것 등이 기록되고 있다.
서버(50)는, 기능 정보 데이터베이스(60)나 소프트웨어 데이터베이스(70)를 구비하고 있다. 기능 정보 데이터베이스(60)에는, 가상 정보 처리 장치(20)에 내장될 수 있는 개개의 정보 처리 장치에 대한 정보 처리 장치 성능이나 기능, 혹은 복수의 정보 처리 장치의 조합으로서 실현되는 정보 처리 장치 성능이나 기능에 관한 데이터가 저장되어 있다. 또한, 소프트웨어 데이터베이스(70)에는, 복수의 정보 처리 장치에 의한 제휴 기능을 실행할 때에 필요해지는 소프트웨어가 저장되어 있다.
서버(50)는, 가상 정보 처리 장치(20) 내에서 마스터 장치로서 동작하는 정보 처리 장치로부터 요구가 있었을 때, 혹은 서버(50) 내에 설정된 타이밍 등으로, 정보 처리 장치에 필요한 데이터나 소프트웨어를 제공한다.
기능 정보 데이터베이스(60)는, 예를 들면 정보 처리 장치 기능 데이터베이스(71)와, 기능 데이터베이스(72)와, 제휴 기능 데이터베이스(73)를 구비하고 있다. 정보 처리 장치 기능 데이터베이스(71)는, 각 정보 처리 장치가 어떠한 성능을 갖고, 어떤 기능이 실행 가능하는지를 나타내는 정보를 저장하고 있다. 또한, 기능 데이터베이스(72)는, 각 기능의 실행에 필요하게 되는 성능을 나타내는 정보를 저장하고 있다. 또한, 제휴 기능 데이터베이스(73)에는, 각 정보 처리 장치의 제휴에 의해 새롭게 실행 가능해지는 기능을 나타내는 정보를 저장하고 있다. 이들 데이터베이스(71~73)의 구성예를 각각 이하의 표 2~표 4에 나타내고 있다.
우선, 정보 처리 장치 기능 데이터베이스(71)의 예에서는, 정보 처리 장치(즉, 가상 정보 처리 장치를 구성하는 정보 처리 장치)마다 실행 가능한 기능에 대한 정보가 저장되고, 구체적으로는 정보 처리 장치 엔트리마다, 메인 프로세서 동작 주파수, 메인 메모리 총 용량, 서브 프로세서 총수, 외부 기억 용량, 각 정보 처리 장치 단독으로 실행 가능한 기능 프로그램 ID 등의 정보가 기재되어 있다.
또한, 기능 데이터베이스(72)의 예에서는, 각 기능을 실현하기 위해 가상 정보 처리 장치에 요구되는 장치 구성이나 잉여 처리 능력에 관한 정보가 저장된다. 구체적으로는, 기능 엔트리마다, 필요해지는 메인 프로세서 사용량, 메인 메모리 사용량, 서브 프로세서 사용량, 외부 기억 사용량, 및 기능에 관한 설명 등의 정보가 기재되어 있다.
가상 정보 처리 장치는, 제휴하는 정보 처리 장치의 조합에 따른 제휴 기능 즉 확장 기능을 실현할 수 있다. 제휴 기능 데이터베이스(73)에서는, 예를 들면 마스터 장치로 되는 정보 처리 장치(10)와 타 정보 처리 장치(11, 12…)와의 조합에 따라서 실현 가능해지는 새로운 제휴 기능에 관한 정보가 저장되고, 구체적으로는 마스터 장치와 조합되는 정보 처리 장치 엔트리마다, 정보 처리 장치 ID, 정보 처리 장치명, 기능 프로그램 ID, 기능명 등의 정보가 기재되어 있다.
본 실시 형태에 따른 네트워크 시스템에서는, 복수의 정보 처리 장치의 제휴?협조 동작에 의해 구축되는 가상 정보 처리 장치에서 잉여의 처리 능력을 파악함과 함께, 기능의 실행에 필요한 성능 정보를 제공하는 서비스를 제공할 수 있다.
예를 들면, 사용자가, 가상 정보 처리 장치를 구성하는 어느 하나의 정보 처리 장치상에서 조작을 행하고 있을 때에, 최신의 기능 혹은 확장 기능의 실행을 요구했다고 한다. 이러한 경우, 가상 정보 처리 장치에서 잉여의 처리 능력을 파악하여, 해당 기능의 실행에 필요한 잉여 능력이 가상 정보 처리 장치에 이미 장비되어 있는지의 여부를 판단할 수 있다. 또한, 가상 정보 처리 장치에서 충분한 장치 구성이 갖추어지지 않은 경우에는, 해당 기능의 실행에 필요해지는 성능 정보를 제공할 수 있다. 사용자는, 제공된 성능 정보에 기초하여, 네트워크에 신규의 정보 처리 장치나 주변 기기를 증설하는 등을 행하여, 가상 정보 처리 장치의 기능 확장을 용이하게 행할 수 있다.
이러한 가상 정보 처리 장치의 운용 형태에 대하여, 이하에 상해한다.
(1) 정보 처리 장치(10)는, 마스터 장치로서 동작하고 있다. 그리고, 네트워크 컨트롤러나 제어 프로그램에 의해서, 로컬 네트워크(30)(예를 들면, 홈 네트워크)를 경유하여 서로 접속되어, 슬레이브 장치로서 제휴 동작하는 것 외의 정보 처리 장치(11)로부터 장치 정보를 취득하고, 가상 정보 처리 장치(20)로서의 잉여 처리 능력의 총계를 산출한다.
(2) 또한, 정보 처리 장치(10)는, 소정의 타이밍에서(예를 들면, 사용자가 설정한 기간이 경과한 후, 혹은 서버(50)측에서 정보 처리 장치(10)에의 정보 갱신이 요구된 것을 계기로 하는 시점 등), 서버(50)로부터, 정보 처리 장치 기능 데이터베이스(71), 기능 데이터베이스(72), 제휴 기능 데이터베이스(73)를 취득한다. 또한, 타 정보 처리 장치와의 조합에 의해 제휴 기능이 실현되고, 그 실행 시에 새롭게 소프트웨어를 필요로 하는 경우에는, 사전에 소프트웨어 데이터베이스(61)로부터 제휴용 소프트웨어를 취득한다. 이에 의해, 사용자가 제휴 기능을 이용하려고 했을 때의 소프트웨어?다운로드의 대기 시간이 삭감된다.
또한, 소프트웨어의 다운로드 시에는, 사용자의 허락, 정보 처리 장치의 잔여 기억 용량 등의 조건을 감안하여, 필요성을 판단하는 것으로 한다.
(3) 가상 정보 처리 장치(20)로서는, 잉여 처리 능력값이나, 정보 처리 장치 기능 데이터베이스(71), 기능 데이터베이스(72), 제휴 기능 데이터베이스(73)로부터, 그 시점에서의 가상 정보 처리 장치(20)로서 실행 가능한 기능 리스트를 작성하여, 사용자에게 적절하게 필요한 정보를 표시한다. 이 표시 처리는, 예를 들면 가상 정보 처리 장치(20)를 구성하는 어느 하나의 정보 처리 장치(10, 11…)의 모니터 디스플레이를 사용할 수 있다.
이 때, 기능에 관한 표시 형태는, GUI(Grapical User Interface)에 따라서 변화시켜도 되고, 아이콘이나, 메시지 상자, 리스트 선택 등 형식에는 의하지 않는다. 표 3에 나타낸 제휴 기능 데이터베이스(73)를 예로 들면, 가상 정보 처리 장치(20)가 정보 처리 장치(10) 단독으로 구성되는 경우에는 멀티 채널 녹화 기능만 가능하지만, 정보 처리 장치(10)가 또한 정보 처리 장치(11)와 제휴함으로써, 고해상도화 처리도 가능하게 되기 때문에, 실행 가능 기능 리스트에는 고해상도화 처리의 엔트리가 추가된다. 또한, 해당 기능에 대하여, 기능 데이터베이스(72)를 참조함으로써, 기능에 관한 설명 등도 표시 가능해진다.
(4) 사용자가 가상 정보 처리 장치(20) 상의 기능의 실행, 혹은 그 예약을 행하고자 했을 때, 가상 정보 처리 장치(20)가 보유하고 있는 기능 중에서 처리 능력의 부족으로부터 실행 불가능한 기능이 존재하는 경우에는, 후에 어느 정도의 성능을 갖는 정보 처리 장치가 접속되면 해당 기능이 사용 가능해질지를(또한 제휴를 필요로 하는 정보 처리 장치에 관한 정보), 정보 처리 장치 기능 데이터베이스(71), 기능 데이터베이스(72)에 기초하여 조사하여, 추가?증설이 필요하게 되는 정보 처리 장치를 명시하는 정보(예를 들면 정보 처리 장치명이나 코드 번호 등)를 표시한다.
예를 들면, 가상 정보 처리 장치(20)가 고해상도화 처리를 행하고자 한 경우 로, 해당 가상 정보 처리 장치(20) 상에서는 이미 다른 처리가 행해지고 있는 관계에 의해 고해상도화 처리에 필요한 서브 프로세서 수가 부족할 때에는, 정보 처리 장치 상, 필요한 서브 프로세서 수를 보유하는 정보 처리 장치를 정보 처리 장치 기능 데이터베이스(71)로부터 추출한다. 그리고, 만약 정보 처리 장치(12)가 요구에 합치했으면, 이 정보 처리 장치 정보를 사용자에게 제시하여, 이 장치(12)를 로컬 네트워크(30)에 접속하고 가상 정보 처리 장치(20) 내에 조립하면, 희망하는 고해상도화 처리를 실행할 수 있을 가능성이 있다는 것을 표시한다.
(5) 또한, 상기와는 별도로, 동일한 네트워크 상에 접속되어 있는 정보 처리 장치와는 다른 종류의 정보 처리 장치가 접속되었다고 가정하여, 그 조합에 의해 새롭게 사용 가능해지는 제휴 기능이 존재하는 경우에는, 제휴 기능 데이터베이스(72)로부터, 해당 정보 처리 장치를 명시하는 정보(예를 들면, 정보 처리 장치명이나 코드 번호 등)와 그 정보 처리 장치와의 제휴에 의해 실현되는 기능을 표시한다.
예를 들면, 정보 처리 장치(10)와 정보 처리 장치(11)의 제휴로 구성된 가상 정보 처리 장치(20)가 이미 제휴하여, 현상의 구성으로서는 노이즈 제거 필터의 실행이 불가능한 경우에, 또한 정보 처리 장치(12)가 접속(즉 제휴가 실현)됨으로써 노이즈 제거 필터를 가동할 수 있는 것으로 한다. 이러한 경우, 그 신규로 동작 가능해지는 기능명과, 실행에 필요한 정보 단말기의 구체적인 정보 처리 장치명이나 코드 번호 등을 표시한다.
(6) 정보 처리 장치(10) 혹은 가상 정보 처리 장치(20)는, 실제로 기능이 실행된 경우에는, 이들을 표 1에 나타낸 바와 같은 기능 이용 이력으로서 정보 처리 장치 내의 외부 기억 장치에 보존한다. 그리고, 전술한 신규 부가 기능이나 정보 처리 장치 정보를 표시할 때에는, 정보 처리 장치 내에서 작성된 기능 이용 이력?정보 단말기 접속 이력에 기초하여, 이하에 도시한 바와 같은 사용자에게 있어서 보다 유익하다고 생각되는 정보를 제공한다.
1. 과거에 접속된 적이 있는 정보 처리 장치에 관련한 정보
2. 이용 이력에 추가 기능이 가능해지는 정보 처리 장치가 없는 경우에는, 사용자가 행하고자 하는 동작에 가장 상응한 기능을 행할 수 있는 정보 처리 장치
도 19에는, 네트워크 상의 가상 정보 처리 장치(20)와 서버(50)와의 협동적인 동작에 의해 가상 정보 처리 장치에서의 잉여의 처리 능력의 파악과, 기능의 실행에 필요한 성능 정보를 제공하기 위한 동작 수순에 대하여 도해하고 있다. 단, 가상 정보 처리 장치(20)는, 로컬 네트워크(30) 상에서 서로 접속되는 2대의 정보 처리 장치(10, 11)의 제휴 동작에 의해 실현하고, 정보 처리 장치(10)가 마스터 장치로서, 정보 처리 장치(11)가 슬레이브 장치로서 동작하고 있는 것으로 한다. 또한, 가상 정보 처리 장치(20)와 서버(50)란, 인터넷 등의 통신 네트워크(40)를 경유하여 접속되어 있다.
서버(50)는, 표 2, 표 3, 및 표 4에 도시한 바와 같이, 각 정보 처리 장치가 어떠한 성능을 갖고, 어떤 기능이 실행 가능할지를 나타내는 정보, 각 기능의 실행에 필요하게 되는 성능을 나타내는 정보, 각 정보 처리 장치의 제휴에 의해 새롭게 실행 가능해지는 기능을 나타내는 정보를 각각 관리하고 있다.
마스터 장치는, 능력 교환 프로그램(전술)의 실행에 의해, 로컬 네트워크(30)를 경유하여 제휴하고 있는 모든 정보 처리 장치의 장치 정보를 수집한다. 이 장치 정보 중에는 모니터 플래그(=0: 모니터 기능 없음, =1: 소 모니터 기능 있음, =2: 대 모니터 기능 있음)가 포함되는 것으로 한다. 또한 본 실시 형태에서는, 마스터 장치는, 능력 교환 프로그램의 실행에 의해, 가상 정보 처리 장치를 구성하는 모든 정보 처리 장치(슬레이브 장치)의 장치 정보를 수집하여, 그 총합을 구하고, 이것을 가상 정보 처리 장치(20)의 처리 능력으로서 기억한다. 예를 들면, 로컬 네트워크(30)로 제휴하는 정보 처리 장치 전체의 총 서브 프로세서 수가 32라고 하는 상태이다.
본 실시 형태에서는, 마스터 장치는, 가상 정보 처리 장치에서의 잉여의 처리 능력의 파악과, 기능의 실행에 필요한 성능 정보의 취득을 행하기 위해서, 제휴 동작 프로그램을 인스톨하여, 이 프로그램을 실행한다. 이 제휴 동작 프로그램은, 복수의 장치에 의한 제휴 동작을 프로모트하기 위한 처리를 행하도록 기술된 컴퓨터 프로그램으로, 제어 프로그램의 카테고리에 속한다. 제휴 동작 프로그램을 실행하는 것은 마스터 장치만으로 되기 때문에, MS 매니저 실행에 의해 마스터 장치로 된 장치만이 외부 기록부로부터 로드해 와도 된다.
제휴 동작 프로그램은, 로컬 네트워크(30) 상에서 동작하는(즉 가상 정보 처리 장치(30)를 구성하는) 모든 정보 처리 장치의 정보 처리 장치 ID와 정보 처리 장치 종별 ID를 서버(50)에 송신한다.
이에 대하여, 서버(50)는, 수신한 모든 정보 처리 장치 ID와 정보 처리 장치 종별 ID에 기초하여, 해당 가상 정보 처리 장치(30)의 처리 능력을 산출하고, 그 잉여 처리 능력에 기초하여 사용 가능한 기능 일람을 추출한다. 그리고, 서버(50)는, 제휴 기능 데이터베이스(73)를 참조하여, 각 정보 처리 장치에 대하여, 타 정보 처리 장치와의 제휴에 의해 새롭게 실행할 수 있는 가능성이 있는 기능 즉 확장 기능을 추출하고, 이들을 통합하여 확장 가능성 표로서 작성한다. 그리고, 작성된 확장 가능성 표를 마스터 장치에 송신한다.
표 5에는, 확장 가능성 표의 구성예를 나타내고 있다. 표 5에 나타내는 예에서는, 멀티 채널 녹화, 고해상도화, 전용 채널 수신 등이 확장 가능한 기능으로서 엔트리되어, 각 엔트리에서는, 해당하는 확장 기능을 실행하기 위해 더 추가할 하드웨어나 그 밖의 사양 정보가 기술되어 있다.
마스터 장치는, 수신한 확장 가능성 표와, 기억해 둔 장치 정보의 총합을 비교하여, 현상의 로컬 네트워크(30)에 접속되어 있는 정보 처리 장치로 구성되는 가상 정보 처리 장치에서, 그 잉여 능력에 기초하여 사용 가능해지는 기능을 확장 가능성 표로부터 추출하여, 이것을 확장 가능한 기능 일람으로서 모니터 표시한다. 예를 들면, 도 19에 도시한 예에서는, 슬레이브 장치의 모니터 기능을 사용하여 확장 가능 기능이 표시 출력되지만, 물론, 마스터 장치의 모니터 기능을 사용하는 것도 가능하다.
확장 가능 기능의 표시는, 일람 표시 형식이 아니고, 예를 들면 「기능 XX가 실행 가능합니다. 실행합니까?」라고 조회하는 다이얼로그, 혹은 「실행 가능하기 때문에 실행했습니다」라고 통지하는 다이얼로그라도 된다. 실행의 가부 판정에는, 「네트워크 내에 정보 처리 장치 ID: Z0012(=전용 튜너)의 장치가 포함되는 것」 등도 있을 수 있다. 또한, 확장 기능을 실행하기 위해 어떠한 기능 프로그램, 서브 프로세서 프로그램이 필요해지는 경우에는, 서버(50)에 대하여 프로그램 ID를 송신하여, 소프트웨어 데이터베이스(61)로부터 취득하도록 해도 된다.
또한, 마스터 장치는, 확장 가능성 표와 가상 정보 처리 장치의 장치 정보의 총합과의 비교에 의해, 현상의 로컬 네트워크(30)에 접속되어 있는 정보 처리 장치로 구성되는 가상 정보 처리 장치에서, 그 잉여 처리 능력의 부족에 의해 실행 불가능이라고 판단된 확장 기능에 대해서는, 서버(50)에 통지한다. 서버(50)는, 각 기능의 실행에 필요하게 되는 성능을 나타내는 정보를 기능 데이터베이스(72)로 관리하고 있으며, 해당 확장 기능의 실행을 가능하게 하기 위해 적절한 정보 처리 장치 ID와 정보 처리 장치 종별 ID를 추출하여, 이것을 마스터 장치에 회신한다.
그리고, 마스터 장치는, 서버(50)로부터 보내져 온 확장 기능을 실행 가능하게 하기 위해 추가가 필요해지는 정보 처리 장치에 관한 정보를 표시한다.
확장 기능에 관한 정보 표시 시에는, 예를 들면 이하의 룰을 적용하도록 하여, 사용자에게 있어서 보다 유익한 정보를 제시하도록 해도 된다.
(1) 동일 네트워크 상에 접속되어 있는 정보 처리 장치와는 다른 종류의 정보 처리 장치가 접속되었다고 가정하고, 그 조합에 의해 새롭게 사용 가능해지는 제휴 기능이 존재하는 경우에는, 해당하는 정보 처리 장치를 명시하는 정보(정보 처리 장치명이나 코드 번호 등)를 표시한다.
(2) 정보 처리 장치를 명시하는 정보(정보 처리 장치명이나 코드 번호 등)를 표시할 때에, 정보 처리 장치 내에서 작성된 기능 이용 이력?정보 단말기 접속 이력에 기초하여, 과거에 접속된 적이 있는 정보 처리 장치를 우선적으로 표시한다.
예를 들면, 「정보 처리 장치 XX를 접속하면, 확장 기능 YY를 실행 가능합니다」 등의 다이얼로그에 의해, 확장 기능에 필요한 정보 처리 장치를 표시하도록 해도 된다. 또한, 이 다이얼로그에 대하여 사용자가 긍정적인 응답을 행한 경우에는, 장치 XX를 상품 소개하거나, 혹은 상품 구입으로 유도하는 사이트에의 링크를 행하도록 해도 된다.
도 20에는, 가상 정보 처리 장치(20)에서, 능력 교환 프로그램의 실행으로부터, 복수의 정보 처리 장치의 제휴 동작에 의한 확장 기능 실현에 필요한 정보 처리 장치 정보를 사용자에게 제시하는 것에 이르기까지의 처리 수순을 흐름도의 형식으로 나타내고 있다.
우선, 마스터 장치는, 능력 교환 프로그램의 실행에 의해(단계 S1), 로컬 네트워크(30) 상에서 정보 처리 장치의 장치 정보를 수집한다. 그리고, 가상 정보 처리 장치(20)로서의 잉여 처리 능력이나, 제휴하고 있는 정보 처리 장치의 정보 처리 장치 ID, 정보 처리 장치 종별 ID 등의 각 파라미터를 취득한다(단계 S2). 여기서 말하는 잉여 처리 능력은, 표 2에 나타낸 정보 처리 장치 기능 데이터베이스(71)의 항목에 예를 들고 있다, 잉여로 되는 서브 프로세서의 총수, 사용 가능한 외부 기억부 용량 등으로 표시된다. 마스터 장치는, 취득한 각 정보 처리 장치의 정보 처리 장치 ID 및 정보 처리 장치 종별 ID를 서버(50)로 송신한다.
또한, 서버(50)는, 수신한 로컬 네트워크(30) 상의 각 정보 처리 장치의 정보 처리 장치 ID 및 정보 처리 장치 종별 ID 에 기초하여, 예를 들면 표 4에 나타낸 바와 같은 제휴 기능 데이터베이스(73)를 참조함으로써, 가상 정보 처리 장치(20)로서의 실행할 수 있는 가능성이 있는 제휴 기능의 리스트업 즉 확장 가능성 표를 작성하여, 마스터 장치에 송신한다. 마스터 장치는 이것을 취득한다(단계 S3).
예를 들면, 표 4에 나타낸 예에서는, 가상 정보 처리 장치(20)로서는, 가상 정보 처리 장치(20)는, 정보 처리 장치 ID: Z0011과 제휴함으로써 고해상도화 처리를 실행 가능하고, 또한, 정보 처리 장치 ID:Z0012와 제휴함으로써 노이즈 제거 처리를 실행 가능한 것을 알 수 있다.
또한, 서버(50)는, 가상 정보 처리 장치로서의 장치 구성, 즉 선행 단계 S2에서 얻어진 정보 처리 장치 ID 및 정보 처리 장치 종별 ID와, 표 4에 나타낸 제휴 기능 데이터베이스(71)를 대조하여, 정보 처리 장치의 조합의 불일치로부터 실행 불가능한 제휴 기능을 확장 가능성 표 중에서 추출하여, 마스터 장치에 송신한다. 마스터 장치는 그 결과를 취득한다(단계 S4).
예를 들면, 가상 정보 처리 장치를 구성하는 정보 처리 장치 중에 정보 처리 장치 ID:Z0012가 존재하지 않는 경우에는, 이 가상 정보 처리 장치는 노이즈 제거 필터를 행할 수는 없고, 실행 불가능한 제휴 기능으로서 리스트업된다.
또한, 마스터 장치는, 선행 단계 S2에서 얻어진 잉여 처리 능력과, 표 3에 나타낸 기능 데이터베이스 또는 표 5에 나타낸 확장 가능성 표로 예를 들고 있는 기능 실행에 필요한 최소 처리 능력의 항목을 대조함으로써, 처리 능력의 부족으로부터 실행 불가능한 기능을 추출한다(단계 S5).
예를 들면, 가상 정보 처리 장치를 구성하는 정보 처리 장치 중에 정보 처리 장치 ID:Z0011이 존재하여, 고해상도화 처리를 실행할 수 있는 가능성은 있지만, 다른 병렬 처리를 행하고 있는 관계로, 잉여 처리 능력에서 요구되는 서브 프로세서 수를 만족하지 않는 경우 등은, 처리 능력 부족의 기능으로서 리스트업되는 것으로 된다.
이상의 처리를 행한 뒤에, 마스터 장치는, 선행 단계 S3에서 제시된 확장 가능성 표 중에 실행 불가능한 기능이 존재하는지 확인한다(단계 S6). 그리고, 사양적으로 가능하게 되어 있는 기능이 전부 실행 가능한 상태이면, 선행 단계 S3에서 제시된 확장 가능성 표에 리스트업되어 있는 모든 확장 기능이 실행 가능한 것을, 어떤 형태로든 사용자에게 제시한다(단계 S7).
한편, 확장 가능성 표 중에 실행 불가능한 기능이 존재하는 경우에는(단계 S6), 어떠한 정보 처리 장치를 새롭게 네트워크 접속하면, 현재 실행할 수 없는 해당 기능이 실행 가능해지는지의 여부를 더 확인한다(단계 S8).
예를 들면, 마스터 장치의 메인 메모리의 잉여 처리 능력이 필수 용량에 달하지 않는 등, 가령 접속 기기가 증가하여도 기능의 실현에 기여하지 않는 경우에는, 현재 실행 불가능한 기능이 있고, 그 기능을 실행할 수 없는 이유 등을 어떤 형태로든 사용자에게 제시한다(단계 S9).
한편, 단계 S8에서의 판정 처리에서, 어떠한 정보 처리 장치를 새롭게 네트워크에 접속함으로써, 현재 실행할 수 없는 해당 확장 기능의 실행이 가능해진다고 판단된 경우에는, 그 실행 불가능의 원인이 제휴 대상으로 되는 정보 처리 장치가 존재하지 않기 때문이면, 선행 단계 S3에서 얻어진 정보 처리 장치의 조합의 불일치로부터 실행 불가능한 제휴 기능을 키로 하여, 표 4에 도시한 제휴 기능 데이터베이스(73) 또는 표 5에 도시한 확장 가능성 표와 대조하여, 어떤 정보 처리 장치가 필요한지를 추출한다(단계 S10). 제휴 기능 데이터베이스(73)와의 대조는, 예를 들면 서버(50)를 통하여 행해진다.
앞에서 든 예에서는, 노이즈 제거 처리가 실행 불가능하고, 그 때문에 정보 처리 장치 ID:Z0012가 필요해진다. 또한, 정보 처리 장치의 조합의 불일치가 아니고, 잉여 처리 능력의 부족에 의해서 확장 기능의 실행이 불가능인 경우에는, 표 2에 나타낸 정보 처리 장치 기능 데이터베이스(71)를 대조하여, 필요해지는 처리 능력을 만족하는 정보 처리 장치를 추출한다(단계 S11). 정보 처리 장치 기능 데이터베이스(71)와의 대조는, 예를 들면 서버(50)를 통하여 행해진다.
또한, 상기한 예에서는, 대상으로 되는 기능의 수가 적고, 실행에 필요한 정보 처리 장치도 하나로 한정되었지만, 실제의 운용으로서는 하나의 기능을 행하는 것에도 다종류의 정보 처리 장치와의 조합으로 실현 가능해지는 경우가 상정된다.
확장 기능의 실행에 필요한 정보 처리 장치의 리스트를 작성한 후, 해당 리스트에 기초하여, 네트워크에 새롭게 접속하는 것이 추장되는 정보 처리 장치를 선택한다(단계 S12). 그리고, 이 처리 단계에서 얻어진 정보 처리 장치의 1개 또는 복수를, 사용자에게 제시하여, 현재는 실행할 수 없지만 접속하면 실행 가능해지는 취지를 통지한다(단계 S13).
또한, 단계 S13에서의 통지에서는, 다이얼로그 등을 이용하여 구체적으로 「정보 처리 장치 XX를 접속하면, 확장 기능 YY를 실행 가능합니다」라고 문장으로 표시하는 방법 외에, 해당하는 정보 처리 장치의 아이콘이나 정보 처리 장치 사진 등이어도 된다. 또한, 표 3에 나타낸 기능 데이터베이스(72)를 참조하여 제휴 기능을 추출하여, 이 기능 설명도 더불어 표시해도 된다.
도 21에는, 도 20에 도시한 흐름도의 단계 S12에서 실행되는, 정보 처리 장치 리스트 중에서 네트워크에 새롭게 접속하는 것이 추장되는 정보 처리 장치를 선택하기 위한 처리 수순을 더 상세히 나타내고 있다.
우선, 접속 후보의 정보 처리 장치 리스트 중에, 과거, 해당 네트워크에 접속하여 마스터 장치와 제휴한 경우가 있는 장치가 존재하는지의 여부를 확인한다(단계 S14). 이 처리는, 표 1에 나타낸 바와 같은 기능 이용 이력 데이터베이스에 기초하여 대조함으로써 행해진다.
그리고, 기능 이용 이력 데이터베이스 내에 대상으로 되는 기기가 존재하는 경우에는, 기기 선택의 우선 순위에 기초하여 선택한다. 이 선택 동작에서는, 과거에 가장 많이 접속된 정보 처리 장치를 우선하여 선택한다(단계 S15, S16). 그 다음으로, 가장 가까운 일시에 접속된 정보 처리를 우선하여 선택한다(단계 S17, S18). 단, 본 발명의 요지는 반드시 이 우선 순위에 한정되는 것은 아니고, 사용자에 있어서 보다 편리성이 높다고 생각되는 선택 방법을 설정하면 된다.
또한, 단계 S14에서, 기능 이용 이력 데이터베이스 내에 정보 처리 장치 리스트로 예로 들 수 있는 기기가 존재하지 않는다고 판정된 경우에는, 정보 처리 장치 리스트 중에서 임의로 선택한다(단계 S19). 이 경우, 사용자의 성별이나 연령, 기호 정보 등을 기초로 선택하는 것이 생각된다. 또한, 사용자가 보유하지 않는다고 생각되는 정보 처리에 대해서는, 정보 처리 장치의 상세 정보를 제시하거나 혹은 구입 수속으로 유도하는 Web 페이지의 링크를 표시하여, 구입 촉진의 표시를 행하는 것도 가능하다.
<산업 상의 이용 가능성>
이상, 특정한 실시 형태를 참조하면서, 본 발명에 대하여 상세히 설명해왔다. 그러나, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 해당 실시 형태의 수정이나 대용을 할 수 있는 것은 자명하다. 즉, 예시라는 형태로 본 발명을 개시하여 온 것으로, 본 명세서의 기재 내용이 한정적으로 해석되어서는 안된다. 본 발명의 요지를 판단하기 위해서는, 첫머리에 기재한 특허 청구의 범위의 란을 참작해야 한다.
본 발명에 따르면, 네트워크 접속된 복수의 기기가 협조 동작에 의해 분산 처리를 행함으로써, 가상적으로 1대의 기기로서 동작할 수 있는, 우수한 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램을 제공할 수 있다.
또한, 본 발명에 따르면, 네트워크 접속된 복수의 기기에 의해 구성되는 가상적인 1대의 기기에서의 잉여의 처리 능력을 용이하게 파악함과 함께, 기능 확장을 효율적으로 행할 수 있는, 우수한 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램을 제공할 수 있다.
본 발명에 따르면, 복수의 정보 처리 장치의 제휴에 의해 새롭게 사용 가능 해지는 기능을 사용하고자 하는 경우에, 필요한 정보 처리 장치의 종류나 수를, 실제로 기기를 연결하기 전에 파악할 수 있다. 이에 의해, 쓸데 없는 접속을 행하지 않고, 최단으로 필요한 기능을 얻는 것이 가능해진다.
Claims (21)
- 복수의 기기로 구성되는 정보 처리 시스템으로서,상기한 시스템 전체로서의 장치 정보를 취득하는 장치 정보 취득 수단과,상기한 시스템을 구성하는 각 기기를 이용하여 실행되는 확장 기능을 제시하는 확장 기능 제시 수단과,각 확장 기능을 실행 가능하게 하기 위해 필요해지는 성능 또는 장치 구성을 관리하는 기능 관리 수단과,상기 확장 기능 제시 수단에 의해 제시된 확장 기능의 실행을 가능하게 하기 위해 필요한 성능 또는 장치 구성을 추출하여, 추출된 상기 필요한 성능 또는 장치 구성과 상기 장치 정보 취득 수단에 의해 취득된 상기 장치 정보를 비교하여, 해당 확장 기능이 실행 가능한지의 여부를 판별하는 실행 가능성 판별 수단을 구비하는 것을 특징으로 하는 정보 처리 시스템.
- 제1항에 있어서,상기 실행 가능성 판별 수단에 의한 판별 결과가 부정적인 경우에, 해당 확장 기능의 실행을 가능하게 하기 위해 필요한 장치 정보를 추가로 제시하는 추가 장치 정보 제시 수단을 더 구비하는 것을 특징으로 하는 정보 처리 시스템.
- 제1항에 있어서,상기 정보 처리 시스템은 네트워크 접속되는 복수의 정보 처리 장치의 제휴 동작에 의해 가상적으로 1대의 가상 정보 처리 장치로서 동작하고,상기 장치 정보 취득 수단은, 상기 네트워크에 접속되는 각 정보 처리 장치로부터 장치 정보 또는 처리 능력을 취득하는 것을 특징으로 하는 정보 처리 시스템.
- 제3항에 있어서,상기 기능 관리 수단은, 각 정보 처리 장치에서의 성능 및 실행 가능한 기능, 각 기능을 실현하기 위해 필요한 정보 처리 장치의 성능, 복수의 정보 처리 장치의 제휴 동작에 의해 새롭게 실행 가능해지는 기능을 각각 관리하는 것을 특징으로 하는 정보 처리 시스템.
- 제3항에 있어서,상기 확장 기능 제시 수단은 상기 네트워크에 접속되는 각 정보 처리 장치가 타 정보 처리 장치와의 제휴 동작에 의해 실행 가능해지는 기능을 확장 기능으로서 추출하여, 제시하는 것을 특징으로 하는 정보 처리 시스템.
- 제5항에 있어서,상기 확장 기능 제시 수단은, 상기 네트워크 상에 접속되어 있는 정보 처리 장치와는 다른 종류의 정보 처리 장치가 접속된다고 가정하여, 그 조합에 의해 새 롭게 사용 가능해지는 확장 기능이 존재하는 경우에는, 해당하는 정보 처리 장치를 명시하는 정보를 표시하는 것을 특징으로 하는 정보 처리 시스템.
- 제3항에 있어서,상기 실행 가능성 판별 수단은, 확장 기능을 실행하기 위해 필요해지는 성능 또는 장치 구성과, 상기 네트워크에 접속되는 각 정보 처리 장치의 장치 정보 또는 처리 능력을 비교하여, 필요해지는 성능 또는 장치 구성에 대하여 해당 장치 정보의 총합 또는 처리 능력이 부족한지의 여부로써 해당 확장 기능이 실행 가능한지의 여부를 판별하는 것을 특징으로 하는 정보 처리 시스템.
- 제7항에 있어서,상기 추가 장치 정보 제시 수단은, 확장 기능을 실행하기 위해 부족한 성능 또는 장치 구성을 만족하고, 해당 확장 기능의 실행을 가능하게 하는 정보 처리 장치를 탐색하여, 제시하는 것을 특징으로 하는 정보 처리 시스템.
- 제8항에 있어서,상기 추가 장치 정보 제시 수단은, 탐색한 정보 처리 장치의 상기 네트워크에의 접속을 재촉하는 것을 특징으로 하는 정보 처리 시스템.
- 제7항에 있어서,상기 가상 정보 처리 장치 내에서는 과거에 이용된 기능의 이력 및 과거에 상기 네트워크에 접속된 정보 처리 장치의 이력이 관리되고 있고,상기 추가 장치 정보 제시 수단은, 정보 처리 장치를 명시하는 정보를 표시할 때에, 과거에 접속된 적이 있는 정보 처리 장치를 우선적으로 표시하는 것을 특징으로 하는 정보 처리 시스템.
- 복수의 기기에 의한 제휴 동작을 처리하기 위한 정보 처리 방법으로서,상기한 각 기기로부터 장치 정보를 취득하는 장치 정보 취득 단계와,상기한 각 기기를 이용하여 실행되는 확장 기능을 제시하는 확장 기능 제시 단계와,각 확장 기능을 실행 가능하게 하기 위해 필요해지는 성능 또는 장치 구성을 관리하는 기능 관리 단계와,상기 확장 기능 제시 단계에서 제시된 확장 기능의 실행을 가능하게 하기 위해 필요한 성능 또는 장치 구성을 추출하여, 추출된 상기 필요한 성능 또는 장치 구성과 상기 장치 정보 취득 수단에 의해 취득된 상기 장치 정보를 비교하여, 해당 확장 기능이 실행 가능한지의 여부를 판별하는 실행 가능성 판별 단계를 구비하는 것을 특징으로 하는 정보 처리 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004056777A JP4325438B2 (ja) | 2004-03-01 | 2004-03-01 | 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム |
JPJP-P-2004-00056777 | 2004-03-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060043318A KR20060043318A (ko) | 2006-05-15 |
KR101119870B1 true KR101119870B1 (ko) | 2012-03-08 |
Family
ID=34908940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050017202A KR101119870B1 (ko) | 2004-03-01 | 2005-03-02 | 정보 처리 시스템 및 정보 처리 방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8065403B2 (ko) |
EP (1) | EP1589421A3 (ko) |
JP (1) | JP4325438B2 (ko) |
KR (1) | KR101119870B1 (ko) |
CN (1) | CN100412854C (ko) |
MY (1) | MY146702A (ko) |
TW (1) | TW200538949A (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090077162A1 (en) * | 2005-03-22 | 2009-03-19 | Monta Nakatsuka | Medium Management Device and Medium Management Method |
JP4785489B2 (ja) * | 2005-10-14 | 2011-10-05 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
JP4898269B2 (ja) * | 2006-04-14 | 2012-03-14 | キヤノン株式会社 | 通信装置及びそのインストール方法 |
KR101748318B1 (ko) * | 2010-11-22 | 2017-06-27 | 삼성전자 주식회사 | 휴대 단말기의 어플리케이션 실행 방법 및 장치 |
US20130253885A1 (en) * | 2012-03-20 | 2013-09-26 | Sony Corporation | Method and apparatus for providing performance recommendations during data migration |
JP5612012B2 (ja) * | 2012-03-27 | 2014-10-22 | 株式会社日立製作所 | 情報処理システム及びその処理方法 |
JP5921348B2 (ja) * | 2012-06-13 | 2016-05-24 | 三菱電機株式会社 | 映像表示端末 |
JP6361084B2 (ja) * | 2014-03-13 | 2018-07-25 | アイコム株式会社 | 近距離無線通信システム、通信端末、および通信方法 |
US11327808B2 (en) * | 2018-11-13 | 2022-05-10 | Western Digital Technologies, Inc. | Decentralized data processing architecture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000172657A (ja) * | 1998-12-08 | 2000-06-23 | Fujitsu Ltd | 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置 |
US6098091A (en) * | 1996-12-30 | 2000-08-01 | Intel Corporation | Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities |
JP2002163241A (ja) * | 2000-11-29 | 2002-06-07 | Ntt Data Corp | クライアントサーバシステム |
KR20040002785A (ko) * | 2002-06-28 | 2004-01-07 | 마이크로소프트 코포레이션 | 장치 리소스를 위한 실체-기반 분산 컴퓨팅 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5349682A (en) | 1992-01-31 | 1994-09-20 | Parallel Pcs, Inc. | Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors |
JPH08161252A (ja) * | 1994-11-30 | 1996-06-21 | Hitachi Ltd | 情報処理装置およびその機能を拡張するための機能拡張装置 |
US5768615A (en) * | 1995-11-30 | 1998-06-16 | Compaq Computer Corp. | Method and apparatus for functional expansion through predefined signal interfaces |
US6112225A (en) | 1998-03-30 | 2000-08-29 | International Business Machines Corporation | Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time |
JP2001134541A (ja) * | 1999-11-05 | 2001-05-18 | Omron Corp | エージェントシステム及びモバイルエージェントの移動方法 |
JP2002055824A (ja) * | 2000-08-09 | 2002-02-20 | Sony Corp | 電子装置、それを使用する機器及びデータ読み込み方法 |
JP2002132462A (ja) * | 2000-10-26 | 2002-05-10 | Fujitsu Ltd | 印刷代行サービス方法及びシステム |
US6809734B2 (en) | 2001-03-22 | 2004-10-26 | Sony Computer Entertainment Inc. | Resource dedication system and method for a computer architecture for broadband networks |
US6526491B2 (en) | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US7093104B2 (en) | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US6826662B2 (en) | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
JP4057832B2 (ja) * | 2002-04-10 | 2008-03-05 | シャープ株式会社 | デジタルテレビ受信機のソフトウェアを更新するためのシステム |
JP2003330900A (ja) * | 2002-05-09 | 2003-11-21 | Nec Corp | アプリケーション並列処理システム及びアプリケーション並列処理方法 |
US7562143B2 (en) * | 2004-01-13 | 2009-07-14 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
-
2004
- 2004-03-01 JP JP2004056777A patent/JP4325438B2/ja not_active Expired - Fee Related
-
2005
- 2005-02-21 US US11/063,218 patent/US8065403B2/en not_active Expired - Fee Related
- 2005-02-24 EP EP05251074A patent/EP1589421A3/en not_active Withdrawn
- 2005-02-25 TW TW094105910A patent/TW200538949A/zh not_active IP Right Cessation
- 2005-02-26 MY MYPI20050786A patent/MY146702A/en unknown
- 2005-03-01 CN CNB2005100762595A patent/CN100412854C/zh not_active Expired - Fee Related
- 2005-03-02 KR KR1020050017202A patent/KR101119870B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098091A (en) * | 1996-12-30 | 2000-08-01 | Intel Corporation | Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities |
JP2000172657A (ja) * | 1998-12-08 | 2000-06-23 | Fujitsu Ltd | 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置 |
JP2002163241A (ja) * | 2000-11-29 | 2002-06-07 | Ntt Data Corp | クライアントサーバシステム |
KR20040002785A (ko) * | 2002-06-28 | 2004-01-07 | 마이크로소프트 코포레이션 | 장치 리소스를 위한 실체-기반 분산 컴퓨팅 |
Also Published As
Publication number | Publication date |
---|---|
KR20060043318A (ko) | 2006-05-15 |
CN100412854C (zh) | 2008-08-20 |
TW200538949A (en) | 2005-12-01 |
CN1691005A (zh) | 2005-11-02 |
TWI307841B (ko) | 2009-03-21 |
EP1589421A3 (en) | 2007-11-14 |
MY146702A (en) | 2012-09-14 |
JP4325438B2 (ja) | 2009-09-02 |
US8065403B2 (en) | 2011-11-22 |
EP1589421A2 (en) | 2005-10-26 |
JP2005250598A (ja) | 2005-09-15 |
US20050198378A1 (en) | 2005-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101119870B1 (ko) | 정보 처리 시스템 및 정보 처리 방법 | |
KR101089965B1 (ko) | 네트워크 시스템, 분산 처리 방법, 및 정보 처리 장치 | |
KR101096406B1 (ko) | 정보 처리 시스템 및 정보 처리 방법, 및 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체 | |
CN1312592C (zh) | 信息处理***及信息处理方法 | |
US8103771B2 (en) | Distributing processing apparatus, method, and system | |
JP4599923B2 (ja) | 情報処理システム及び情報処理方法、並びにコンピュータプログラム | |
KR20060042399A (ko) | 콘텐츠 처리 시스템 및 콘텐츠 처리 방법과, 컴퓨터 프로그램 | |
KR101210114B1 (ko) | 정보 처리 시스템, 정보 처리 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
EP1589753A2 (en) | Content reproduction apparatus, content recording apparatus, network system, and content recording/reproduction method | |
KR101096308B1 (ko) | 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템 및 기록 매체 | |
JP2005339174A (ja) | 情報処理システム及び情報処理方法、並びにコンピュータプログラム | |
JP4349189B2 (ja) | ネットワークシステム、番組録画予約方法および情報処理装置 | |
JP2005267150A (ja) | 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム | |
JP2005244577A (ja) | 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム | |
JP2005251163A (ja) | 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム | |
JP2005293418A (ja) | 情報処理装置、ネットワークシステム、処理能力呈示方法および処理能力呈示用プログラム | |
KR20060071069A (ko) | 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템 및정보 처리용 컴퓨터 프로그램 | |
JP2005301678A (ja) | ネットワークシステム、代理表示方法、情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |