JP2005235019A - ネットワークシステム、分散処理方法、情報処理装置 - Google Patents

ネットワークシステム、分散処理方法、情報処理装置 Download PDF

Info

Publication number
JP2005235019A
JP2005235019A JP2004045486A JP2004045486A JP2005235019A JP 2005235019 A JP2005235019 A JP 2005235019A JP 2004045486 A JP2004045486 A JP 2004045486A JP 2004045486 A JP2004045486 A JP 2004045486A JP 2005235019 A JP2005235019 A JP 2005235019A
Authority
JP
Japan
Prior art keywords
information processing
information
processing apparatus
master
communication speed
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2004045486A
Other languages
English (en)
Other versions
JP2005235019A5 (ja
Inventor
Yuichi Araki
祐一 荒木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004045486A priority Critical patent/JP2005235019A/ja
Priority to TW094102344A priority patent/TWI267002B/zh
Priority to EP05250423A priority patent/EP1569114B1/en
Priority to MYPI20050483A priority patent/MY141368A/en
Priority to US11/054,146 priority patent/US7487221B2/en
Priority to KR1020050013423A priority patent/KR101089965B1/ko
Priority to CNB2005100082799A priority patent/CN100370450C/zh
Publication of JP2005235019A publication Critical patent/JP2005235019A/ja
Publication of JP2005235019A5 publication Critical patent/JP2005235019A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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

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)

Abstract

【課題】 システム全体としての処理速度を向上させることのできるネットワークシステムを提供する。
【解決手段】 ネットワークを通じて接続された複数の情報処理装置で処理を分散して実行することの可能なネットワークシステムであって、各情報処理装置はそれぞれ、ネットワークに接続されている情報処理装置の一つをマスターとして、その他をスレーブとしてそれぞれ設定する。マスターとして設定されている情報処理装置は、ネットワークに接続されている個々の情報処理装置の利用可能なハードウェア資源に関する情報を装置情報として管理するとともに、ネットワークに接続されている個々の情報処理装置の通信速度を管理する。そして、これら管理情報に基づいて、処理を実行させる1つ以上の情報処理装置を特定して該処理の実行を要求する。
【選択図】図20

Description

本発明は、ネットワークを通じて接続された複数の情報処理装置にて処理を分散して行うことの可能なネットワークシステム、分散処理方法、情報処理装置に関するものである。
最近、グリッド・コンピューティングが注目されている。グリッド・コンピューティングとは、ネットワークにつながる複数の情報処理装置を協調動作させて高い演算性能を実現する技術である。この種の技術としては、例えば、特許文献1、特許文献2、特許文献3、特許文献4、特許文献5などがある。
これら公知の技術において、情報処理装置内のサブプロセッサは、自身の情報処理装置、および他の情報処理装置のメインメモリ内のデータにアクセスして、サブプロセッサ専用のローカルストレージにデータを読み出して処理を行うことが可能である。また、ソフトウェアセルを用いることで、プログラム本体、およびデータを情報処理装置間で伝送することができるので、アプリケーションを一定時間内に処理させたい場合には、あらかじめ必要な数のサブプロセッサにそのアプリケーションプログラムを伝送し、データを伝送させることで処理を分散して行わせることが可能である。
特開2002−342165号公報 特開2002−351850号公報 特開2002−358289号公報 特開2002−366533号公報 特開2002−366534号公報
しかし、一般的には、情報処理装置間の通信速度はネットワークの混雑状況や個々の情報処理装置内のハードウェア資源の使用状況等によりたえず変化する。このため、アプリケーションを実行させる情報処理装置を、その利用可能なハードウェア資源のスペックのみを考慮して特定するだけでは、一定時間内に処理することが求められているアプリケーションを一定時間内で処理できない状況が生じるおそれがあった。
本発明は、斯かる実情に鑑み、システム全体としての処理速度を向上させることのできるネットワークシステム、分散処理方法、情報処理装置を提供しようとするものである。
上記の課題を解決するために、この発明のネットワークシステムは、ネットワークを通じて接続された複数の情報処理装置で処理を分散して実行することの可能なネットワークシステムであって、各情報処理装置はそれぞれ、ネットワークに接続されている情報処理装置の一つをマスターとして、その他をスレーブとしてそれぞれ設定するマスター/スレーブ設定手段と、マスター/スレーブ設定手段によってマスターとして設定されているとき、ネットワークに接続されている個々の情報処理装置の利用可能なハードウェア資源に関する情報を装置情報として管理する装置情報管理手段と、マスター/スレーブ設定手段によってマスターとして設定されているとき、ネットワークに接続されている個々の情報処理装置の通信速度を管理する通信速度管理手段と、装置情報管理手段および通信速度管理手段により管理されている情報に基づいて、処理を実行させる1つ以上の情報処理装置を特定して該処理の実行を要求する分散処理要求手段とを具備することを特徴とする。
この発明によれば、各情報処理装置の装置情報と各情報処理装置間における通信速度を管理し、これらの管理情報に基づき、処理を実行させる1つ以上の情報処理装置を特定することで、システム全体としての処理速度の向上を図ることができる。
また、本発明のネットワークシステムにおいて、情報処理装置は、マスター/スレーブ設定手段によってマスターとして設定されているとき、処理を実行中の情報処理装置の処理データの通信速度を管理するデータ通信速度管理手段をさらに具備するものとしてもよい。
このように処理を実行中の情報処理装置の処理データの通信速度を管理することで、実行中の処理の進捗や完了を把握することができるとともに、データ通信速度の低下や不必要な向上を契機に、分散処理を行う情報処理装置の増減によるネットワークシステムの再構成を行うことができる。
さらに、本発明のネットワークシステムにおいて、情報処理装置は、ネットワークを通じて接続されている他の情報処理装置に送信時刻の情報を含む通信速度計測コマンドを定期的に送信する通信速度計測コマンド送信手段と、通信速度計測コマンドを受信したとき、この受信時刻と、通信速度計測コマンドに含まれる送信時刻に基づいて通信速度を算出し、マスターとして設定されている情報処理装置に応答する通信速度応答手段とをさらに具備するものとしてもよい。
この発明によれば、ネットワークに接続されている各情報処理装置間で相互に通信速度計測コマンドをやりとりし、各々の情報処理装置で算出された通信速度をマスターの情報処理装置に応答することで、マスターの情報処理装置に定期的に各情報処理装置間の通信速度が収集され、通信速度の管理が容易になる。また、定期的に各情報処理装置間の通信速度が取得されるので、常に最新の通信速度情報をマスターの情報処理装置にて保持することができる。
また、本発明のネットワークシステムにおいて、情報処理装置は、プロセッサによりスケジュール管理が行われる1つ以上のサブプロセッサを有し、分散処理要求手段は、予め規定された、通信速度と必要なサブプロセッサ数との相関に基づいて、処理を実行させる1つ以上の情報処理装置を特定することを特徴とする。
これにより、処理を決められた時間内に実行させるのに必要なスペックの一つであるサブプロセッサ数を考慮して、処理を実行させる1つ以上の情報処理装置を特定することができる。
また、上記の課題を解決するために、本発明の別の観点に基づく分散処理方法は、ネットワークを通じて接続された複数の情報処理装置で処理を分散して実行する方法であって、前記各情報処理装置の一つをマスターとして、その他をスレーブとしてそれぞれ設定し、前記マスターとして設定された情報処理装置は、前記ネットワークに接続されている個々の前記情報処理装置の利用可能なハードウェア資源に関する情報を装置情報として管理するとともに、前記ネットワークに接続されている個々の前記情報処理装置の通信速度を管理し、前記装置情報管理手段および前記通信速度管理手段により管理されている情報に基づいて、処理を実行させる1つ以上の情報処理装置を特定して該処理の実行を要求することを特徴とする。
この発明によれば、各情報処理装置の装置情報と各情報処理装置間における通信速度を管理し、これらの管理情報に基づき、処理を実行させる1つ以上の情報処理装置を特定することで、システム全体としての処理速度の向上を図ることができる。
また、本発明の分散処理方法において、情報処理装置は、マスターとして設定されているとき、処理を実行中の情報処理装置の処理データの通信速度を管理するものとしてよい。
このようにして処理を実行中の情報処理装置の処理データの通信速度を管理することで、実行中の処理の進捗や完了を把握することができるとともに、データ通信速度の低下や不必要な向上を契機に、分散処理を行う情報処理装置の増減によるネットワークシステムの再構成を行うことができる。
さらに、本発明の分散処理方法において、情報処理装置は、ネットワークを通じて接続されている他の情報処理装置に送信時刻の情報を含む通信速度計測コマンドを定期的に送信し、通信速度計測コマンドを受信したとき、この受信時刻と、通信速度計測コマンドに含まれる送信時刻に基づいて通信速度を算出し、マスターとして設定されている情報処理装置に応答するようにしてもよい。
この発明によれば、ネットワークに接続されている各情報処理装置間で相互に通信速度計測コマンドをやりとりし、各々の情報処理装置で算出された通信速度をマスターの情報処理装置に応答することで、マスターの情報処理装置に定期的に各情報処理装置間の通信速度が収集され、通信速度の管理が容易になる。また、定期的に各情報処理装置間の通信速度が取得されるので、常に最新の通信速度情報をマスターの情報処理装置にて保持することができる。
また、本発明の分散処理方法において、情報処理装置は、プロセッサによりスケジュール管理が行われる1つ以上のサブプロセッサを有し、マスターとして設定されているとき、予め規定された、通信速度と必要サブプロセッサ数との相関に基づいて、処理を実行させる1つ以上の情報処理装置を特定するようにしてもよい。
この発明により、処理を決められた時間内に実行させるのに必要なスペックの一つであるサブプロセッサ数を考慮して、処理を実行させる1つ以上の情報処理装置を特定することができる。
さらに、上記の課題を解決するために、本発明の別の観点に基づく情報処理装置は、ネットワークを通じて他の情報処理装置との間で通信を行う通信手段と、自情報処理装置をネットワークに接続されている各情報処理装置における唯一のマスターまたはその他のスレーブとして設定するマスター/スレーブ設定手段と、マスター/スレーブ設定手段によってマスターとして設定されているとき、ネットワークに接続されている個々の情報処理装置の利用可能なハードウェア資源に関する情報を装置情報として管理する装置情報管理手段と、マスター/スレーブ設定手段によってマスターとして設定されているとき、ネットワークに接続されている個々の情報処理装置の通信速度を管理する通信速度管理手段と、装置情報管理手段および通信速度管理手段により管理されている情報に基づいて、処理を実行させる1つ以上の情報処理装置を特定して該処理の実行を要求する分散処理要求手段とを具備することを特徴とする。
この発明によれば、各情報処理装置の装置情報と各情報処理装置間における通信速度を管理し、これらの管理情報に基づき、処理を実行させる1つ以上の情報処理装置を特定することで、システム全体としての処理速度の向上を図ることができる。
また、本発明の情報処理装置において、マスター/スレーブ設定手段によってマスターとして設定されているとき、処理を実行中の情報処理装置の処理データの通信速度を管理するデータ通信速度管理手段をさらに具備するものであってよい。
このように処理を実行中の情報処理装置の処理データの通信速度を管理することで、実行中の処理の進捗や完了を把握することができるとともに、データ通信速度の低下や不必要な向上を契機に、分散処理を行う情報処理装置の増減によるネットワークシステムの再構成を行うことができる。
さらに、本発明の情報処理装置は、ネットワークを通じて接続されている他の情報処理装置に送信時刻の情報を含む通信速度計測コマンドを定期的に送信する通信速度計測コマンド送信手段と、通信速度計測コマンドを受信したとき、この受信時刻と、通信速度計測コマンドに含まれる送信時刻に基づいて通信速度を算出し、マスターとして設定されている情報処理装置に応答する通信速度応答手段とをさらに具備するものとして構成できる。この発明によれば、ネットワークに接続されている各情報処理装置間で相互に通信速度計測コマンドをやりとりし、各々の情報処理装置で算出された通信速度をマスターの情報処理装置に応答することで、マスターの情報処理装置に定期的に各情報処理装置間の通信速度が収集され、通信速度の管理が容易になる。また、定期的に各情報処理装置間の通信速度が取得されるので、常に最新の通信速度情報をマスターの情報処理装置にて保持することができる。
また、本発明の情報処理装置は、プロセッサによりスケジュール管理が行われる1つ以上のサブプロセッサを有し、分散処理要求手段は、予め規定された、通信速度と必要サブプロセッサ数との相関に基づいて、処理を実行させる1つ以上の情報処理装置を特定することを特徴とする。
これにより、処理を決められた時間内に実行させるのに必要なスペックの一つであるサブプロセッサ数を考慮して、処理を実行させる1つ以上の情報処理装置を特定することができる。
本発明のネットワークシステム、分散処理方法、情報処理装置によれば、複数の情報処理装置で処理を分散して実行する際の、システム全体としての処理速度の向上を図ることができる。
〔ネットワークシステムおよび情報処理装置の基本的構成:図1〜図4〕
図1は、この発明のネットワークシステムの一例を示し、ネットワーク9を介して複数の情報処理装置1、2、3、4が接続されたものである。
(情報処理装置および情報処理コントローラ)
情報処理装置1、2、3、4は、それぞれ後述のような各種のAV(Audio and Visual)機器やポータブル機器である。
情報処理装置1について示すと、情報処理装置1は、コンピュータ機能部として情報処理コントローラ11を備える。情報処理コントローラ11は、メインプロセッサ21−1、サブプロセッサ23−1,23−2,23−3、DMAC(ダイレクトメモリアクセスコントローラ)25−1およびDC(ディスクコントローラ)27−1を有する。
メインプロセッサ21−1は、サブプロセッサ23−1,23−2,23−3によるプログラム実行(データ処理)のスケジュール管理と、情報処理コントローラ11(情報処理装置1)の全般的な管理とを行う。ただし、メインプロセッサ21−1内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ21−1はサブプロセッサとしても機能することになる。メインプロセッサ21−1は、LS(ローカルストレージ)22−1を有する。
サブプロセッサは、1つでもよいが、望ましくは複数とする。この例は、複数の場合である。
各サブプロセッサ23−1,23−2,23−3は、メインプロセッサ21−1の制御によって並列的かつ独立に、プログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ21−1内のプログラムがサブプロセッサ23−1,23−2,23−3内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ21−1内で動作するプログラムである。各サブプロセッサ23−1,23−2,23−3も、LS(ローカルストレージ)24−1,24−2,24−3を有する。
DMAC25−1は、情報処理コントローラ11に接続されたDRAM(ダイナミックRAM)などからなるメインメモリ26−1に格納されているプログラムおよびデータにアクセスするものであり、DC27−1は、情報処理コントローラ11に接続された外部記録部28−1,28−2にアクセスするものである。
外部記録部28−1,28−2は、固定ディスク(ハードディスク)でも、リムーバブルディスクでもよく、また、MO,CD±RW,DVD±RWなどの光ディスク、メモリディスク、SRAM(スタティックRAM)、ROMなど、各種のものを用いることができる。したがって、DC27−1は、ディスクコントローラと称するが、外部記録部コントローラである。
図1の例のように、情報処理コントローラ11に対して外部記録部28を複数接続できるように、情報処理コントローラ11を構成することができる。
メインプロセッサ21−1、各サブプロセッサ23−1,23−2,23−3、DMAC25−1およびDC27−1は、バス29−1によって接続される。
情報処理コントローラ11には、当該の情報処理コントローラ11を備える情報処理装置1をネットワーク全体を通して一意的に識別できる識別子が、情報処理装置IDとして割り当てられる。
メインプロセッサ21−1および各サブプロセッサ23−1,23−2,23−3に対しても同様に、それぞれを特定できる識別子が、メインプロセッサIDおよびサブプロセッサIDとして割り当てられる。
情報処理コントローラ11は、ワンチップIC(集積回路)として構成することが望ましい。
他の情報処理装置2、3、4も、同様に構成される。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
(各サブプロセッサからメインメモリへのアクセス)
上述したように、1つの情報処理コントローラ内の各サブプロセッサ23は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ26内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ23からメインメモリ26へのアクセスは、以下のような手順によって行う。
図2(A)に示すように、メインメモリ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内のLS24も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
サブプロセッサ23がメインメモリ26内のデータを自身のLS24のメモリロケーションに読み出すときには、対応するビジービットを1に設定して予約する。ビジービットが1であるメモリロケーションには、他のデータは格納することができない。LS24のメモリロケーションに読み出し後、ビジービットは0になり、任意の目的に使用できるようになる。
図2(A)に示すように、さらに、各情報処理コントローラと接続されたメインメモリ26には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ26内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ23に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ23は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。
メインメモリ26は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
さらに、メインメモリ26の排他的な制御を実現するために、図2(C)に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のSRAMのような比較的高速のメモリに格納され、DMAC25と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサID、サブプロセッサキーおよびキーマスクが含まれる。
サブプロセッサ23がメインメモリ26を使用する際のプロセスは、以下のとおりである。まず、サブプロセッサ23はDMAC25に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサIDと、使用要求先であるメインメモリ26のアドレスが含まれる。
DMAC25は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、DMAC25は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ26内の図2(A)に示したメモリロケーションに割り振られたアクセスキーとを比較して、2つのキーが一致した場合にのみ、上記のコマンドを実行する。
図2(C)に示したキー管理テーブル上のキーマスクは、その任意のビットが1になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが0または1になることができる。
例えば、サブプロセッサキーが1010であるとする。通常、このサブプロセッサキーによって1010のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが0001に設定されている場合には、キーマスクのビットが1に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー1010によってアクセスキーが1010または1011のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
以上のようにして、メインメモリ26のサンドボックスの排他性が実現される。すなわち、1つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ26の所定アドレスにアクセスできるようになり、データを保護することができる。
例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第1のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第2のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的の処理を可能にする。
より具体的には、他の情報処理装置からのデータ→第1のサブプロセッサによる処理→第1のメインメモリ領域→第2のサブプロセッサによる処理→第2のメインメモリ領域、という手順で多段階処理が行われるときには、
第1のサブプロセッサのサブプロセッサキー:0100、
第1のメインメモリ領域のアクセスキー :0100、
第2のサブプロセッサのサブプロセッサキー:0101、
第2のメインメモリ領域のアクセスキー :0101
のような設定のままだと、第2のサブプロセッサは第1のメインメモリ領域にアクセスすることができない。そこで、第2のサブプロセッサのキーマスクを0001にすることにより、第2のサブプロセッサによる第1のメインメモリ領域へのアクセスを可能にすることができる。
(ソフトウェアセルの生成および構成)
図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のLS24内のメモリ量が設定される。
前回のソフトウェアセルIDは、ストリーミングデータなどのシーケンシャルな実行を要求する1グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
ソフトウェアセルの実行セクションは、DMAコマンド、プログラムおよびデータから構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサ23によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
さらに、DMAコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
ロードコマンドは、メインメモリ26内の情報をサブプロセッサ23内のLS24にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサIDおよびLSアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ26内の所定領域のアドレスを示す。サブプロセッサIDおよびLSアドレスは、情報のロード先であるサブプロセッサ23の識別子およびLS24のアドレスを示す。
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサ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を単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ23の数を表す。サブプロセッサIDは、当該の情報処理コントローラ内の各サブプロセッサ23を識別するための識別子である。
サブプロセッサステータスは、各サブプロセッサ23の状態を表すものであり、unused,reserved,busyなどの状態がある。unusedは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。reservedは、現在は使用されていないが、予約されている状態を示す。busyは、現在使用中であることを示す。
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがbusyである場合には、現在の使用率を示し、サブプロセッサステータスがreservedである場合には、後に使用される予定の推定使用率を示す。
サブプロセッサID、サブプロセッサステータスおよびサブプロセッサ使用率は、1つのサブプロセッサ23に対して一組設定され、1つの情報処理コントローラ内のサブプロセッサ23に対応する組数が設定される。
メインメモリ総容量およびメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ26の総容量および現在使用中の容量を表す。
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部28の数を表す。外部記録部IDは、当該の情報処理コントローラに接続されている外部記録部28を一意的に識別する情報である。外部記録部種別IDは、当該の外部記録部の種類(例えば、ハードディスク、CD±RW、DVD±RW、メモリディスク、SRAM、ROMなど)を表す。
外部記録部総容量および外部記録部使用量は、それぞれ、外部記録部IDによって識別される外部記録部28の総容量および現在使用中の容量を表す。
外部記録部ID、外部記録部種別ID、外部記録部総容量および外部記録部使用量は、1つの外部記録部28に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部28の数の組数だけ設定される。すなわち、1つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部IDが割り当てられ、外部記録部種別ID、外部記録部総容量および外部記録部使用量も別々に管理される。
(ソフトウェアセルの実行)
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、以上のような構成のソフトウェアセルを生成し、ネットワーク9を介して他の情報処理装置および当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、および各装置内の情報処理コントローラは、それぞれ、上記の送信元ID、送信先IDおよび応答先IDによって識別される。
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、そのソフトウェアセルをメインメモリ26に格納する。さらに、送信先のメインプロセッサ21は、ソフトウェアセルを読み出し、それに含まれるDMAコマンドを処理する。
具体的に、送信先のメインプロセッサ21は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサIDおよびLSアドレスで特定されるサブプロセッサ内のLS24の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
次に、メインプロセッサ21は、キックコマンドを、これに含まれるサブプロセッサIDで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。
指示されたサブプロセッサは、そのキックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ26に格納した後、実行を完了したことをメインプロセッサ21に通知する。
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ23に限定されるものではなく、メインプロセッサ21がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそのメインメモリ用プログラムによって処理されるデータを含み、DMAコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ26にメインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムIDなどの識別子、およびプログラムカウンタを含み、DMAコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ21に当該メインメモリ用プログラムを実行させる。
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ23にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。
したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。さらに、各サブプロセッサ間ではDMA方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、1つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
〔ネットワークシステムとしての分散処理:図5〜図15〕
ソフトウェアセルの使用による分散処理の結果、図5の上段に示すようにネットワーク9に接続されている複数の情報処理装置1、2、3、4は、図5の下段に示すように、仮想的な1台の情報処理装置7として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
(システムのソフトウェア構成とプログラムのロード)
図6に、個々の情報処理コントローラのメインメモリ26が記憶するソフトウェアの構成を示す。これらのソフトウェア(プログラム)は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部28に記録されているものである。
各プログラムは、機能または特徴によって、制御プログラム、機能プログラムおよびデバイスドライバにカテゴライズされる。
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ21が実行するもので、後述のMS(マスター/スレーブ)マネージャおよび能力交換プログラムを含む。
機能プログラムは、メインプロセッサ21が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
デバイスドライバは、情報処理コントローラ(情報処理装置)の入出力(送受信)用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク9に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク9に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ21は、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ26にロードする。
ロード手順としては、メインプロセッサ21は、まず、DC27に読み出し命令を実行させることによって、外部記録部28からプログラムを読み出し、次に、DMAC25に書き込み命令を実行させることによって、そのプログラムをメインメモリ26に書き込む。
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部28に記録されている必要はなく、いずれか1つの情報処理装置の外部記録部28に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図5の下段に示すように、仮想的な1台の情報処理装置7として機能プログラムを実行することができる。
ここで前述したようにメインプロセッサ21によって処理される機能プログラムは、サブプロセッサ23によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ21が外部記録部28から機能プログラムを読み出し、メインメモリ26に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ26に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは1個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ26に書き込むことになる。メインメモリ26に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ23内のLS24に書き込まれ、メインプロセッサ21によって処理される機能プログラムと連携動作する。
図3のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムIDとして割り当てられる。機能プログラムIDは、機能プログラムの作成の段階で、作成日時や情報処理装置IDなどから決定される。
そしてサブプロセッサプログラムにもサブプロセッサプログラムIDが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムIDは、連携動作する相手となる機能プログラムの機能プログラムIDと関連性のある識別子、例えば機能プログラムIDを親番号とした上で最後尾に枝番号を付加させたもの等であることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムIDとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムIDを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個ある全てのサブプロセッサプログラムのサブプロセッサプログラムIDを記憶しておくことになる。
メインプロセッサ21は、自身が動作する情報処理装置の装置情報(動作状態に関する情報)を格納するための領域をメインメモリ26に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図4に示した情報処理装置ID以下の各情報である。
(システムにおけるマスター/スレーブの決定)
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ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の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
(マスター装置およびスレーブ装置における装置情報の取得)
メインプロセッサ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マネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
(情報処理装置がネットワークから切断された場合)
マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにMSマネージャから、ネットワーク9に接続されている情報処理装置の主電源が遮断され、またはネットワーク9から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ26から削除する。
さらに、このようにネットワーク9から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
具体的に、例えば、ネットワーク9から切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置IDを数値に置き換えて、自装置の情報処理装置IDを他装置の情報処理装置IDと比較し、自装置の情報処理装置IDがネットワーク9から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、MSステータスを0に設定し、マスター装置として、上述したように、ネットワーク9に接続されている全ての他装置(各スレーブ装置)の装置情報を取得して、メインメモリ26に記録する。
(装置情報に基づく分散処理)
図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に機能プログラムを送信してもよい。
機能プログラムには、その実行単位ごとに必要となる、図4に示した各情報として表される情報処理装置種別ID、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの、装置に関する要求スペックが規定されている。
マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ26−1に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図4に示した情報処理装置ID以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリおよび外部記録部に関する情報である。
マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、ネットワーク9上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別IDに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から1つの実行要求候補装置を特定して選択する。
実行要求するスレーブ装置が特定されたら、マスター装置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は、ステップ81で、その操作情報をマスター装置1に送信する。
マスター装置1は、ステップ72で、その操作情報を受信し、さらにステップ73に進んで、自装置のメインメモリ26−1に記録されている自装置および他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Bが選択される場合である。
次に、マスター装置1は、ステップ74で、その選択したスレーブ装置Bに対して機能プログラムの実行を要求する。
スレーブ装置Bは、ステップ95で、その実行要求を受信し、さらにステップ96に進んで、実行要求された機能プログラムを実行する。
以上のように、ユーザは、1台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置1、2、3、4を仮想的な1台の情報処理装置7として動作させることができる。
(各情報処理装置およびシステムの具体例)
ネットワーク9を介して互いに接続される情報処理装置1、2、3、4は、基本的に上記のような情報処理コントローラ11、12、13、14によって情報処理を行うものであれば、どのようなものでもよいが、図9に、その一例を示す。
この例では、情報処理コントローラ11を備える情報処理装置1は、ハードディスクレコーダで、図10に示すように、ハードウェア構成としては、図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マネージャおよび能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、素材検索および番組録画予約のためのプログラムを備え、デバイスドライバとして、放送受信、映像出力、音声出力、外部記録部入出力およびネットワーク入出力のためのプログラムを備える。
図9の例の、情報処理コントローラ13を備える情報処理装置3は、PDA(Personal Digital Assistants)で、図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を有する。
情報処理装置(PDA)3、すなわち情報処理コントローラ13のソフトウェア構成としては、図13に示すように、制御プログラムとして、MSマネージャおよび能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、電話帳、ワープロおよび表計算のためのプログラム、およびWebブラウザを備え、デバイスドライバとして、映像出力、音声出力、カメラ映像入力、マイク音声入力およびネットワーク入出力のためのプログラムを備える。
図9の例の、情報処理コントローラ14を備える情報処理装置4は、ポータブルCDプレーヤで、図14に示すように、ハードウェア構成としては、図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を有する。
情報処理装置(ポータブルCDプレーヤ)4、すなわち情報処理コントローラ14のソフトウェア構成としては、図15に示すように、制御プログラムとして、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として動作させることができる。
ここで、ネットワーク接続状況によっては情報処理装置間における通信速度に差が生じることがあり得る。例えば、通信速度が非常に遅い情報処理装置間で機能プログラム、サブプロセッサプログラムの通信または実行要求を行った場合には、複数の情報処理装置が接続され分散処理が可能なネットワークシステムであるにも関わらず、ユーザが意図していた程のシステム全体としての処理速度が達成できないことも考えられる。
そこで、ネットワークシステムの各情報処理装置間における通信速度を管理し、当該通信速度に応じた分散処理を行うことにより、システム全体としての処理速度をさらに向上させることができる。そのための実施形態を以下に記載する。
図16では、図9に示されたネットワークシステムにさらに情報処理装置5、6が含まれている。情報処理装置5はTV放送を受信可能なTV放送チューナであり、情報処理装置6は、情報処理装置1、2と同様のハードディスクレコーダであるとする。
図16のネットワークシステムに含まれる各情報処理装置内の情報処理コントローラのメインメモリが記憶するソフトウェアの構成図を図17に示す。図6と比較して、制御プログラムにカテゴライズされるプログラムとしてネットワーク通信管理プログラムが新たに追加されている。
ネットワーク通信管理プログラムはMSマネージャ、能力交換プログラムが実行された後に実行されるプログラムであり、MSマネージャ、能力交換プログラムと同様に情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
ネットワーク通信管理プログラムは、自身が動作する情報処理装置がマスター装置であってもスレーブ装置であっても、同一のネットワークに含まれる他の全ての情報処理装置に対して定期的に図18に示されるネットワーク通信速度計測コマンドとしてのソフトウェアセルを送信する。ネットワーク通信速度計測コマンドはデータとして当該ソフトウェアセルの送信時刻Tsを含み、またこのネットワーク通信速度計測コマンドとしてのソフトウェアセルのサイズはCsで固定である。そして当該ネットワーク通信速度計測コマンドを受信した情報処理装置は、受信時刻Trから通信速度=Cs/(Tr−Ts)にて通信速度を求める。
その後、求めた通信速度をデータとして含む、ネットワーク通信速度応答コマンドとしてのソフトウェアセルをマスター装置に送信する。ネットワーク通信速度応答コマンドは図19に示されるものであり、データとして他に計測コマンド送信元IDを含む。計測コマンド送信元IDとは、自装置にネットワーク通信速度計測コマンドを送信した情報処理装置の情報処理装置IDを示す。ネットワークに含まれる全ての情報処理装置においてネットワーク通信管理プログラムが上記のように動作することにより、マスター装置には各情報処理装置間における全ての通信速度が収集させることになる。
マスター装置におけるネットワーク通信管理プログラムは、ネットワーク内における全通信速度を例えば、図20に示されるネットワーク通信速度管理テーブルとして記憶する。図20において(装置1)には、情報処理装置1の情報処理装置IDが記憶されることになる。情報処理装置1から情報処理装置2への通信速度は300ということになる。
また、前述の通り、ネットワーク通信管理プログラムは常駐プログラムであり、定期的にネットワーク通信速度計測コマンドを他の全ての情報処理装置に送信し、それに対応するネットワーク通信速度応答コマンドもマスター装置に送信されるので、マスター装置内のネットワーク通信速度管理テーブルも常に更新され、最新の通信速度情報が管理されることになる。
図16に示される状態で、やはりユーザによってスレーブ装置である情報処理装置(PDA)3で2時間の放送番組の録画予約の操作が行われた場合を示す。
この場合、スレーブ装置である情報処理装置(PDA)3は、ユーザから録画開始時刻、録画終了時刻、録画対象放送チャネル、録画品質などの情報を含む録画予約情報の入力を受け付け、当該録画予約情報およびDMAコマンドとしての録画予約コマンドを含むソフトウェアセルを生成して、マスター装置である情報処理装置1に送信する。
DMAコマンドが録画予約コマンドであるソフトウェアセルを受信した情報処理装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、録画予約コマンドを読み出すとともに、メインメモリ26−1内の装置情報テーブルを参照して、当該録画予約コマンドを実行可能な情報処理装置を特定する。
まず、メインプロセッサ21−1は、装置情報テーブルに含まれる各情報処理装置1、2、3、4、5、6の情報処理装置種別IDを読み出して、録画予約コマンドを実行可能な情報処理装置を抽出する。ここでは、録画機能を示す情報処理装置種別IDを有する情報処理装置1、2、6が候補装置として特定され、情報処理装置3、4、5は候補装置から除外される。
次に、マスター装置である情報処理装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、装置情報テーブルを参照して、情報処理装置1、2、6のメインプロセッサまたはサブプロセッサの処理能力、メインメモリに関する情報などの、装置に関する情報を読み出し、情報処理装置1、2、6が録画予約コマンドの実行に必要な要求スペックを満足するか否かを判断する。ここでは、情報処理装置1、2、6とも、録画予約コマンドの実行に必要な要求スペックを満足するものとする。
さらに、メインプロセッサ21−1は、装置情報テーブルを参照して、情報処理装置1、2、6の外部記録部に関する情報を読み出し、外部記録部の空き容量が当該録画予約コマンドの実行に必要な容量を満足するか否かを判断する。情報処理装置1、2、6は全てハードディスクレコーダであるので、それぞれハードディスク28−1、28−3、28−8の、総容量と使用量との差分が、それぞれの空き容量に相当する。
この場合、情報処理装置1のハードディスク28−1の空き容量が、録画時間に換算して10分であり、情報処理装置2のハードディスク28−3の空き容量が、録画時間に換算して20時間、情報処理装置6のハードディスク28−8の空き容量も、録画時間に換算して20時間であるとする。
このとき、マスター装置である情報処理装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、当該録画予約コマンドの実行に必要な2時間分の空き容量を確保できる情報処理装置を、実行要求先スレーブ装置として特定するわけだが、まずは情報処理装置2、6が実行要求先スレーブ装置の候補として選択されることになる。
ここで機能プログラムには、その実行単位ごとに必要となる、図4に示した各情報として表される情報処理装置に関する要求スペックが規定されている。マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、上記要求スペックと各情報処理装置の装置情報とを上述の通り順次比較し、実行要求先スレーブ装置を特定するわけだが、機能プログラムは、さらに図21に示される通信速度による必要サブプロセッサ数が規定されており、メインプロセッサは各機能プログラムから当該通信速度による必要サブプロセッサ数を読み出すことができる。図21の意味するところは例えば、録画予約コマンドを実行するのに必要な機能プログラムが、ID=1で表される機能プログラムであるとする。その時、当該機能プログラムを所定処理速度、例えば100MIPS以上で実行させるために必要なサブプロセッサ数は、ネットワーク内における情報処理装置間の通信速度が50未満の場合には、3個であるということを示す。それよりも高速な50以上200未満の場合には、2個あれば済むことになる。
マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1が実行要求先スレーブ装置を特定する際に、前記情報処理装置に関する要求スペックと各情報処理装置の装置情報との比較に加えて、図20に示されるネットワーク通信速度管理テーブルと図21に示される機能プログラム別必要サブプロセッサ数との比較を行うことにより、より効率の良い実行処理を実現できる。
より具体的には、前述の録画予約コマンドを実行可能な情報処理装置として、情報処理装置2、6が候補となった状態において、録画予約コマンドを実行するためには、情報処理装置2または6は、情報処理装置5で示されるTV放送チューナから録画コンテンツを受信する必要がある。ここでマスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、録画予約コマンドを実行するのに必要なID=1で表される機能プログラムから、図21に示される必要サブプロセッサ数を読み出す。そしてメインプロセッサ21−1は、読み出した必要サブプロセッサ数と図20に示されるネットワーク通信速度管理テーブルを比較し、録画予約コマンドを実行させる情報処理装置として情報処理装置2を特定した場合には、(装置5)から(装置2)への通信速度が100であることから、2個のサブプロセッサが必要であることを認識する。同様に情報処理装置6を特定した場合には、(装置5)から(装置6)への通信速度が300であることから、1個のサブプロセッサが必要であることを認識する。
以上のことから、録画予約コマンドを実行させる情報処理装置として情報処理装置6を特定することにより、より効率的な実行処理を実現できる。ここで、このような通信速度の違いによる情報処理装置の特定は、プロセッサ処理能力等の他の判断要素だけでは、特定し切れない場合に行われることにしてもよい。
このようにして、マスター装置は特定した情報処理装置に対して、処理の実行を要求することになる。この時、特定した情報処理装置は処理の実行に必要な機能プログラムまたはサブプロセッサプログラムを有していない場合が考えられる。マスター装置がそれらのプログラムを有していれば、ロードコマンドで送信することが可能であるが、マスター装置も有していない場合には、マスター装置は特定した情報処理装置に対して、図22に示されるリモートロードコマンドを送信することになる。
リモートロードコマンドは、ある情報処理装置に対して、リモートロードコマンド送信元ではない別の情報処理装置からのプログラムまたはデータのロードを要求するコマンドである。図22において、ロード元情報処理装置IDはロード元である情報処理装置IDであり、ロード元記憶/記録部IDはロード元である情報処理装置内の記憶/記録部IDである。例えばID=0はメインメモリ、ID=1は1台目の外部記録部、ID=2は2台目の外部記録部を意味する。ロード元アドレスはプログラムまたはデータが記憶/記録されている、ロード元であるアドレスであり、ロードサイズは、ロード対象であるプログラムまたはデータのサイズである。ロード先記憶/記録部IDはロード先である情報処理装置内の記憶/記録部IDである。例えばID=0はメインメモリ、ID=1は1個目のサブプロセッサ内LS、ID=2は2個目のサブプロセッサ内LSを意味する。
ロード先アドレスはプログラムまたはデータが記憶/記録する、ロード先であるメインメモリまたはサブプロセッサ内LSのアドレスである。マスター装置からリモートロードコマンドを受信した情報処理装置は、当該リモートロードコマンドに含まれるロード元情報に示される他の情報処理装置から必要な機能プログラムまたはサブプロセッサプログラムを取得し、ロード先情報に示される自装置のメモリアドレスへロードする。リモートロードコマンド完了後にマスター装置は、特定した情報処理装置に対してキックコマンドまたは機能プログラム実行コマンドを送信することにより、それらのプログラムを動作させる。
情報処理装置6は録画予約コマンドに従い、予約時刻になると情報処理装置5で示されるTV放送チューナから録画コンテンツを受信する。そしてサブプロセッサにより復号処理、デコード処理等の記録に必要な処理を施し、自装置内のハードディスク28−8に2時間分の放送番組を記録する。ここで前述の通り、ネットワーク通信管理プログラムは常駐プログラムであり、その結果、図20に示されるネットワーク通信速度管理テーブルも常に更新され、最新の通信速度情報が管理されるので、録画予約コマンドを実行させる情報処理装置として情報処理装置6が特定された後であっても、ネットワーク通信速度の変化により録画予約コマンドを実行させる情報処理装置が変わることもあり得る。
さらに情報処理装置6は、録画処理中において図23に示されるネットワーク通信状況報告コマンドとしてのソフトウェアセルをマスター装置である情報処理装置1へ送信する。図23においてプロセッサIDは、自装置(情報処理装置6)内で他の情報処理装置と通信を行っているメインプロセッサIDまたはサブプロセッサIDである。通信種類は通信の種類であり、データ読み出し時は0、データ書き込み時は1である。通信相手の情報処理装置IDは、データ読み出しまたは書き込みを行う通信相手としての情報処理装置IDであり、通信相手の記憶/記録部IDは、データ読み出しまたは書き込みを行う通信相手の情報処理装置内の記憶/記録部IDである。例えばID=0はメインメモリ、ID=1は1台目の外部記録部、ID=2は2台目の外部記録部を意味する。通信相手のアドレスは、通信するデータが記憶/記録されている記憶/記録部内のアドレスであり、通信サイズは通信するデータのサイズである。通信オプションIDは、データの書き込み時にのみ使用されるもので、通信されるデータに対して暗号化や圧縮等の何らかの後処理が必要とされる場合に、どのような後処理を行うべきかを特定するためのIDである。通信速度Dsptはデータの読み出し時または書き込み時の通信速度であり、その計算方法を以下に記す。
まず、情報処理装置6のメインプロセッサまたはサブプロセッサは、自装置または他の情報処理装置内のメインメモリまたは外部記憶部からデータを読み出すときに、読み出しを実行した開始時刻Troを記憶しておく。その後、読み出し元からデータを読み出し、読み出し先へのデータ記憶が完了した完了時刻Trcも記憶しておく。同様に自装置または他の情報処理装置内のメインメモリまたは外部記憶部へデータを書き込むときも、書き込みを実行した開始時刻Twoを記憶しておく。
その後、読み出し元からデータを読み出し、書き込み先へのデータ記憶/記録が完了した完了時刻Twcも記憶しておく。読み出し速度としての通信速度Dsptは、読み出すデータサイズをDrsとすると、Dspt=Drs/(Trc−Tro)、書き込み速度としての通信速度Dsptは、書き込むデータサイズをDwsとすると、Dspt=Dws/(Twc−Two)として計算する。
このようにして情報処理装置6は、計算した通信速度Dsptをデータとして含むネットワーク通信状況報告コマンドとしてのソフトウェアセルをマスター装置である情報処理装置1へ送信する。また、マスター装置である情報処理装置1へのネットワーク通信状況報告コマンドの送信を、データ通信が行われる度に毎回行うのではなく、例えば5回のデータ通信に対して1回の割合で行う等に設定により変更可能であっても構わない。
また、図24は読み出し時のネットワーク通信状況報告コマンドであり、図25は書き込み時のものである。マスター装置である情報処理装置1は、ネットワーク上の各情報処理装置からネットワーク通信状況報告コマンドを受信することになり、受信した通信状況は例えば、図26に示されるネットワーク通信状況管理テーブルとして記憶される。図26に示されるのは、ハードディスクレコーダとしての情報処理装置6内のサブプロセッサ(ID=000058)が、TV放送チューナとしての情報処理装置5内の外部記録部28−7からデータサイズ1024byteの録画コンテンツを読み出しが完了したこと、およびその際の通信速度Dsptが40であったことを示す。同様に情報処理装置6内のサブプロセッサ(ID=000058)において、復号処理、デコード処理等の記録に必要な処理を施した後に、自装置内の外部記録部28−8へのデータサイズ1024byteの録画コンテンツの書き込みが完了したこと、およびその際の通信速度Dsptが30であったことを示す。図26に示されるネットワーク通信状況管理テーブル上にリストアップされているということは、当該データ通信が完了していることを意味する。
マスター装置はこのネットワーク通信状況管理テーブルを利用することにより、実行中の機能プログラムまたはサブプロセッサプログラムの進捗を把握できる。例えば通信状況管理テーブルを監視することにより、機能プログラムまたはサブプロセッサプログラムの処理完了を確認したら、図27に示されるプログラムストップコマンドとしてのソフトウェアセルを実行した情報処理装置へ送信することにより、直ちに機能プログラムまたはサブプロセッサプログラムを終了させることができる。
また、マスター装置は図26に示される通信状況管理テーブルを用いてネットワークシステム全体として、より効率的な実行処理を実現できる。すなわち通信状況管理テーブルにおける読み出し速度としての通信速度Dsptまたは書き込み速度としての通信速度Dsptを監視することにより、例えば読み出し通信速度Dsptまたは書き込み通信速度Dsptが低下した場合には、より高速または効率的なネットワークシステムを再構成することができる。その際には図20に示されるネットワーク通信速度管理テーブルを併用してもよい。逆に、通信状況管理テーブルを監視することにより、例えば読み出し通信速度Dsptまたは書き込み通信速度Dsptが不必要に向上したことが判明した場合にもやはり、必要十分なネットワークシステムを再構成できる。この際にもネットワーク通信速度管理テーブルを併用することが考えられる。
なお、本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
この発明のネットワークシステムの一例を示す図である。 この発明の情報処理装置が備える情報処理コントローラの説明に供する図である。 ソフトウェアセルの一例を示す図である。 DMAコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示す図である。 複数の情報処理装置が仮想的な1台の情報処理装置として動作する様子を示す図である。 情報処理コントローラのソフトウェア構成の一例を示す図である。 4台の情報処理装置が仮想的な1台の情報処理装置として動作する様子を示す図である。 図7のシステムにおける分散処理の例を示す図である。 各情報処理装置およびシステムの具体例を示す図である。 図9中のハードディスクレコーダのハードウェア構成を示す図である。 図9中のハードディスクレコーダのソフトウェア構成を示す図である。 図9中のPDAのハードウェア構成を示す図である。 図9中のPDAのソフトウェア構成を示す図である。 図9中のポータブルCDプレーヤのハードウェア構成を示す図である。 図9中のポータブルCDプレーヤのソフトウェア構成を示す図である。 通信速度に応じた分散処理の具体例を示す図である。 通信速度に応じた分散処理を行うネットワークシステムにおける情報処理コントローラのソフトウェア構成の一例を示す図である。 DMAコマンドがネットワーク通信速度計測コマンドである場合のソフトウェアセルを示す図である。 DMAコマンドがネットワーク通信速度応答コマンドである場合のソフトウェアセルを示す図である。 マスター装置が管理するネットワーク通信速度管理テーブルを示す図である。 機能プログラム毎に必要となるサブプロセッサ数を示す図である。 DMAコマンドがリモートロードコマンドである場合のソフトウェアセルを示す図である。 DMAコマンドがネットワーク通信状況報告コマンドである場合のソフトウェアセルを示す図である。 図23におけるネットワーク通信状況報告コマンドが、読み出し時の場合を示す図である。 図23におけるネットワーク通信状況報告コマンドが、書き込み時の場合を示す図である。 マスター装置が管理するネットワーク通信状況管理テーブルを示す図である。 DMAコマンドがプログラムストップコマンドである場合のソフトウェアセルを示す図である。
符号の説明
1、2、3、4、5、6 情報処理装置
7 仮想的な1台の情報処理装置
11、12、13、14、15、16 情報処理コントローラ
21−1〜21−4 メインプロセッサ
22−1〜22−4 メインプロセッサ内LS(ローカルストレージ)
23−1〜23−12 サブプロセッサ
24−1〜24−12 サブプロセッサ内LS(ローカルストレージ)
25−1〜25−4 DMAC
26−1〜26−4 メインメモリ
27−1〜27−4 DC
28−1〜28−9 外部記録部

Claims (12)

  1. ネットワークを通じて接続された複数の情報処理装置で処理を分散して実行することの可能なネットワークシステムであって、
    前記各情報処理装置はそれぞれ、
    前記ネットワークに接続されている情報処理装置の一つをマスターとして、その他をスレーブとしてそれぞれ設定するマスター/スレーブ設定手段と、
    前記マスター/スレーブ設定手段によって前記マスターとして設定されているとき、前記ネットワークに接続されている個々の前記情報処理装置の利用可能なハードウェア資源に関する情報を装置情報として管理する装置情報管理手段と、
    前記マスター/スレーブ設定手段によって前記マスターとして設定されているとき、前記ネットワークに接続されている個々の前記情報処理装置の通信速度を管理する通信速度管理手段と、
    前記装置情報管理手段および前記通信速度管理手段により管理されている情報に基づいて、処理を実行させる1つ以上の情報処理装置を特定して該処理の実行を要求する分散処理要求手段と
    を具備することを特徴とするネットワークシステム。
  2. 前記情報処理装置は、
    前記マスター/スレーブ設定手段によって前記マスターとして設定されているとき、前記処理を実行中の前記情報処理装置の処理データの通信速度を管理するデータ通信速度管理手段をさらに具備することを特徴とする請求項1に記載のネットワークシステム。
  3. 前記情報処理装置は、
    前記ネットワークを通じて接続されている他の情報処理装置に送信時刻の情報を含む通信速度計測コマンドを定期的に送信する通信速度計測コマンド送信手段と、
    前記通信速度計測コマンドを受信したとき、この受信時刻と、前記通信速度計測コマンドに含まれる送信時刻に基づいて通信速度を算出し、前記マスターとして設定されている情報処理装置に応答する通信速度応答手段と
    をさらに具備することを特徴とする請求項1に記載のネットワークシステム。
  4. 前記情報処理装置は、プロセッサによりスケジュール管理が行われる1つ以上のサブプロセッサを有し、
    前記分散処理要求手段は、予め規定された、通信速度と必要なサブプロセッサ数との相関に基づいて、処理を実行させる1つ以上の情報処理装置を特定することを特徴とする請求項1に記載のネットワークシステム。
  5. ネットワークを通じて接続された複数の情報処理装置で処理を分散して実行する方法であって、
    前記各情報処理装置の一つをマスターとして、その他をスレーブとしてそれぞれ設定し、
    前記マスターとして設定された情報処理装置は、前記ネットワークに接続されている個々の前記情報処理装置の利用可能なハードウェア資源に関する情報を装置情報として管理するとともに、前記ネットワークに接続されている個々の前記情報処理装置の通信速度を管理し、
    前記装置情報管理手段および前記通信速度管理手段により管理されている情報に基づいて、処理を実行させる1つ以上の情報処理装置を特定して該処理の実行を要求する
    ことを特徴とする分散処理方法。
  6. 前記情報処理装置は、前記マスターとして設定されているとき、前記処理を実行中の前記情報処理装置の処理データの通信速度を管理する
    ことを特徴とする請求項5に記載の分散処理方法。
  7. 前記情報処理装置は、前記ネットワークを通じて接続されている他の情報処理装置に送信時刻の情報を含む通信速度計測コマンドを定期的に送信し、前記通信速度計測コマンドを受信したとき、この受信時刻と、前記通信速度計測コマンドに含まれる送信時刻に基づいて通信速度を算出し、前記マスターとして設定されている情報処理装置に応答する
    ことを特徴とする請求項5に記載の分散処理方法。
  8. 前記情報処理装置は、プロセッサによりスケジュール管理が行われる1つ以上のサブプロセッサを有し、前記マスターとして設定されているとき、予め規定された、通信速度と必要サブプロセッサ数との相関に基づいて、処理を実行させる1つ以上の情報処理装置を特定することを特徴とする請求項5に記載の分散処理方法。
  9. ネットワークを通じて他の情報処理装置との間で通信を行う通信手段と、
    自情報処理装置を前記ネットワークに接続されている各情報処理装置における唯一のマスターまたはその他のスレーブとして設定するマスター/スレーブ設定手段と、
    前記マスター/スレーブ設定手段によって前記マスターとして設定されているとき、前記ネットワークに接続されている個々の前記情報処理装置の利用可能なハードウェア資源に関する情報を装置情報として管理する装置情報管理手段と、
    前記マスター/スレーブ設定手段によって前記マスターとして設定されているとき、前記ネットワークに接続されている個々の前記情報処理装置の通信速度を管理する通信速度管理手段と、
    前記装置情報管理手段および前記通信速度管理手段により管理されている情報に基づいて、処理を実行させる1つ以上の情報処理装置を特定して該処理の実行を要求する分散処理要求手段と
    を具備することを特徴とする情報処理装置。
  10. 前記マスター/スレーブ設定手段によって前記マスターとして設定されているとき、前記処理を実行中の前記情報処理装置の処理データの通信速度を管理するデータ通信速度管理手段をさらに具備することを特徴とする請求項9に記載の情報処理装置。
  11. 前記ネットワークを通じて接続されている他の情報処理装置に送信時刻の情報を含む通信速度計測コマンドを定期的に送信する通信速度計測コマンド送信手段と、
    前記通信速度計測コマンドを受信したとき、この受信時刻と、前記通信速度計測コマンドに含まれる送信時刻に基づいて通信速度を算出し、前記マスターとして設定されている情報処理装置に応答する通信速度応答手段と
    をさらに具備することを特徴とする請求項9に記載の情報処理装置。
  12. プロセッサによりスケジュール管理が行われる1つ以上のサブプロセッサを有し、
    前記分散処理要求手段は、予め規定された、通信速度と必要サブプロセッサ数との相関に基づいて、処理を実行させる1つ以上の情報処理装置を特定することを特徴とする請求項9に記載の情報処理装置。
JP2004045486A 2004-02-20 2004-02-20 ネットワークシステム、分散処理方法、情報処理装置 Pending JP2005235019A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004045486A JP2005235019A (ja) 2004-02-20 2004-02-20 ネットワークシステム、分散処理方法、情報処理装置
TW094102344A TWI267002B (en) 2004-02-20 2005-01-26 Network system, distributed processing method and information processing apparatus
EP05250423A EP1569114B1 (en) 2004-02-20 2005-01-27 Network system, distributed processing method and information processing apparatus
MYPI20050483A MY141368A (en) 2004-02-20 2005-02-08 Network system, distributed processing method and information processing apparatus
US11/054,146 US7487221B2 (en) 2004-02-20 2005-02-09 Network system, distributed processing method and information processing apparatus
KR1020050013423A KR101089965B1 (ko) 2004-02-20 2005-02-18 네트워크 시스템, 분산 처리 방법, 및 정보 처리 장치
CNB2005100082799A CN100370450C (zh) 2004-02-20 2005-02-21 网络***、分布式处理方法和信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004045486A JP2005235019A (ja) 2004-02-20 2004-02-20 ネットワークシステム、分散処理方法、情報処理装置

Publications (2)

Publication Number Publication Date
JP2005235019A true JP2005235019A (ja) 2005-09-02
JP2005235019A5 JP2005235019A5 (ja) 2007-01-18

Family

ID=34747418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004045486A Pending JP2005235019A (ja) 2004-02-20 2004-02-20 ネットワークシステム、分散処理方法、情報処理装置

Country Status (7)

Country Link
US (1) US7487221B2 (ja)
EP (1) EP1569114B1 (ja)
JP (1) JP2005235019A (ja)
KR (1) KR101089965B1 (ja)
CN (1) CN100370450C (ja)
MY (1) MY141368A (ja)
TW (1) TWI267002B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293864A (ja) * 2006-04-26 2007-11-08 Hewlett-Packard Development Co Lp クラスタ化コンピューティングシステムにおける互換性エンフォースメント
JP2007305075A (ja) * 2006-05-15 2007-11-22 Hitachi Ltd 複数のテープ装置を備えるストレージシステム
WO2011111230A1 (ja) * 2010-03-12 2011-09-15 富士通株式会社 マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム
WO2012147206A1 (ja) * 2011-04-28 2012-11-01 富士通株式会社 データ割り当て方法およびデータ割り当てシステム
JP2018147025A (ja) * 2017-03-01 2018-09-20 株式会社日立製作所 プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080151824A1 (en) * 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US8300652B2 (en) * 2006-01-31 2012-10-30 Sigma Designs, Inc. Dynamically enabling a secondary channel in a mesh network
US20080151795A1 (en) * 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US8626251B2 (en) * 2006-01-31 2014-01-07 Niels Thybo Johansen Audio-visual system energy savings using a mesh network
US7680041B2 (en) * 2006-01-31 2010-03-16 Zensys A/S Node repair in a mesh network
US20150187209A1 (en) 2006-01-31 2015-07-02 Sigma Designs, Inc. Method and system for synchronization and remote control of controlling units
US10277519B2 (en) 2006-01-31 2019-04-30 Silicon Laboratories Inc. Response time for a gateway connecting a lower bandwidth network with a higher speed network
US8223783B2 (en) 2006-01-31 2012-07-17 Sigma Designs, Inc. Using battery-powered nodes in a mesh network
US8194569B2 (en) * 2006-01-31 2012-06-05 Sigma Designs, Inc. Static update controller enablement in a mesh network
US20070177576A1 (en) * 2006-01-31 2007-08-02 Niels Thybo Johansen Communicating metadata through a mesh network
US20080154396A1 (en) * 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US8219705B2 (en) * 2006-01-31 2012-07-10 Sigma Designs, Inc. Silent acknowledgement of routing in a mesh network
US10326537B2 (en) 2006-01-31 2019-06-18 Silicon Laboratories Inc. Environmental change condition detection through antenna-based sensing of environmental change
US8509790B2 (en) * 2006-01-31 2013-08-13 Tommas Jess Christensen Multi-speed mesh networks
US8626178B2 (en) * 2006-01-31 2014-01-07 Niels Thybo Johansen Audio-visual system control using a mesh network
US9166812B2 (en) 2006-01-31 2015-10-20 Sigma Designs, Inc. Home electrical device control within a wireless mesh network
US7725922B2 (en) * 2006-03-21 2010-05-25 Novell, Inc. System and method for using sandboxes in a managed shell
US7743414B2 (en) * 2006-05-26 2010-06-22 Novell, Inc. System and method for executing a permissions recorder analyzer
US7805707B2 (en) * 2006-07-21 2010-09-28 Novell, Inc. System and method for preparing runtime checks
US7739735B2 (en) * 2006-07-26 2010-06-15 Novell, Inc. System and method for dynamic optimizations using security assertions
US7856654B2 (en) * 2006-08-11 2010-12-21 Novell, Inc. System and method for network permissions evaluation
US7823186B2 (en) * 2006-08-24 2010-10-26 Novell, Inc. System and method for applying security policies on multiple assembly caches
US8522017B2 (en) * 2006-11-01 2013-08-27 Cisco Technology, Inc. Systems and methods for signal reduction in wireless communication
US8437274B2 (en) * 2007-03-09 2013-05-07 Telefonaktiebolaget L M Ericsson (Publ) Discovery of disconnected components in a distributed communication network
CN101453313B (zh) * 2007-12-06 2013-03-20 鸿富锦精密工业(深圳)有限公司 主从设备通信电路
US20090307651A1 (en) * 2008-06-05 2009-12-10 Shanmugam Senthil Computing Platform for Structured Data Processing
WO2010082773A2 (ko) * 2009-01-16 2010-07-22 한국전자통신연구원 중앙 집중형 네트워크에서 자원 예약 방법
KR101748318B1 (ko) * 2010-11-22 2017-06-27 삼성전자 주식회사 휴대 단말기의 어플리케이션 실행 방법 및 장치
JP5744489B2 (ja) * 2010-11-29 2015-07-08 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、サーバ、サーバの制御方法、プログラム及びWebシステム
US20140237018A1 (en) * 2011-12-23 2014-08-21 Matteo Monchiero Tracking distributed execution on on-chip multinode networks without a centralized mechanism
US10637681B2 (en) 2014-03-13 2020-04-28 Silicon Laboratories Inc. Method and system for synchronization and remote control of controlling units
US10637673B2 (en) 2016-12-12 2020-04-28 Silicon Laboratories Inc. Energy harvesting nodes in a mesh network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883257A (ja) * 1994-09-13 1996-03-26 Hitachi Ltd 並列コンピュータシステムのプロセス実行最適化方法
JPH08137811A (ja) * 1994-11-10 1996-05-31 Nippon Telegr & Teleph Corp <Ntt> ネットワーク資源割当変更方法
JP2003058519A (ja) * 2001-08-09 2003-02-28 Sharp Corp 分散処理システム、それに使用されるサーバ装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
JP2004046372A (ja) * 2002-07-09 2004-02-12 Nippon Telegr & Teleph Corp <Ntt> 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031657A (ja) * 1996-07-17 1998-02-03 Shimadzu Corp 分散形制御装置
JP2000194674A (ja) * 1998-12-28 2000-07-14 Nec Corp 分散ジョブ統合管理システム
EP1212680B1 (en) * 1999-08-13 2007-07-04 Sun Microsystems, Inc. Graceful distribution in application server load balancing
GB9923863D0 (en) * 1999-10-09 1999-12-08 Koninkl Philips Electronics Nv Low power radio network
US20030200252A1 (en) * 2000-01-10 2003-10-23 Brent Krum System for segregating a monitor program in a farm system
JP3667610B2 (ja) * 2000-08-30 2005-07-06 エヌイーシーコンピュータテクノ株式会社 分散メモリ型並列計算機における分散処理方法及びコンピュータ可読記録媒体
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6809734B2 (en) 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a 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
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
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
JPWO2003003659A1 (ja) * 2001-06-27 2004-10-21 ソニー株式会社 無線通信制御装置及び無線通信制御方法、記憶媒体、並びにプログラム
US6883065B1 (en) * 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
JP4286481B2 (ja) * 2001-12-07 2009-07-01 株式会社野村総合研究所 クラスタリングシステム
US7171668B2 (en) * 2001-12-17 2007-01-30 International Business Machines Corporation Automatic data interpretation and implementation using performance capacity management framework over many servers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883257A (ja) * 1994-09-13 1996-03-26 Hitachi Ltd 並列コンピュータシステムのプロセス実行最適化方法
JPH08137811A (ja) * 1994-11-10 1996-05-31 Nippon Telegr & Teleph Corp <Ntt> ネットワーク資源割当変更方法
JP2003058519A (ja) * 2001-08-09 2003-02-28 Sharp Corp 分散処理システム、それに使用されるサーバ装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
JP2004046372A (ja) * 2002-07-09 2004-02-12 Nippon Telegr & Teleph Corp <Ntt> 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293864A (ja) * 2006-04-26 2007-11-08 Hewlett-Packard Development Co Lp クラスタ化コンピューティングシステムにおける互換性エンフォースメント
JP4726852B2 (ja) * 2006-04-26 2011-07-20 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. クラスタ化コンピューティングシステムにおける互換性エンフォースメント
US8370416B2 (en) 2006-04-26 2013-02-05 Hewlett-Packard Development Company, L.P. Compatibility enforcement in clustered computing systems
JP2007305075A (ja) * 2006-05-15 2007-11-22 Hitachi Ltd 複数のテープ装置を備えるストレージシステム
WO2011111230A1 (ja) * 2010-03-12 2011-09-15 富士通株式会社 マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム
WO2012147206A1 (ja) * 2011-04-28 2012-11-01 富士通株式会社 データ割り当て方法およびデータ割り当てシステム
JP5880548B2 (ja) * 2011-04-28 2016-03-09 富士通株式会社 データ割り当て方法およびデータ割り当てシステム
US9363331B2 (en) 2011-04-28 2016-06-07 Fujitsu Limited Data allocation method and data allocation system
JP2018147025A (ja) * 2017-03-01 2018-09-20 株式会社日立製作所 プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム

Also Published As

Publication number Publication date
TW200529010A (en) 2005-09-01
EP1569114A2 (en) 2005-08-31
CN100370450C (zh) 2008-02-20
US20050204044A1 (en) 2005-09-15
MY141368A (en) 2010-04-16
KR20060042959A (ko) 2006-05-15
TWI267002B (en) 2006-11-21
US7487221B2 (en) 2009-02-03
KR101089965B1 (ko) 2011-12-05
CN1658184A (zh) 2005-08-24
EP1569114B1 (en) 2011-12-14
EP1569114A3 (en) 2007-07-04

Similar Documents

Publication Publication Date Title
JP2005235019A (ja) ネットワークシステム、分散処理方法、情報処理装置
US8103771B2 (en) Distributing processing apparatus, method, and system
KR20060043201A (ko) 정보 처리 시스템 및 정보 처리 방법과, 컴퓨터 프로그램
JP4599923B2 (ja) 情報処理システム及び情報処理方法、並びにコンピュータプログラム
KR101119870B1 (ko) 정보 처리 시스템 및 정보 처리 방법
KR20060042399A (ko) 콘텐츠 처리 시스템 및 콘텐츠 처리 방법과, 컴퓨터 프로그램
JP4715100B2 (ja) 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
EP1589753A2 (en) Content reproduction apparatus, content recording apparatus, network system, and content recording/reproduction method
TWI276969B (en) Information processing apparatus, method, system and information processing program of accessible media
JP4349189B2 (ja) ネットワークシステム、番組録画予約方法および情報処理装置
JP2005339174A (ja) 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP2005234929A (ja) サーバ装置、音響制御システム及び音響制御方法
JP2005339401A (ja) 情報処理装置及びその制御方法、情報処理コントローラ、情報処理ユニット及びその制御方法、並びにコンピュータプログラム
JP2005267150A (ja) 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP2005352909A (ja) 情報処理装置および方法、記録媒体、並びに予約処理プログラム
JP2005251163A (ja) 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム
JP2005235246A (ja) サーバ装置
JP2005244577A (ja) 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP4552116B2 (ja) 録画システム、録画依頼装置および録画依頼方法、録画予約装置および録画予約方法、録画装置および録画方法、並びにプログラム
JP2005293418A (ja) 情報処理装置、ネットワークシステム、処理能力呈示方法および処理能力呈示用プログラム
JP2005301678A (ja) ネットワークシステム、代理表示方法、情報処理装置
JP2006018343A (ja) 情報処理装置、ネットワークシステム、および情報処理装置の機能拡張方法
KR20060071069A (ko) 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템 및정보 처리용 컴퓨터 프로그램

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100406