WO2003100648A1 - Parallel processing system - Google Patents

Parallel processing system Download PDF

Info

Publication number
WO2003100648A1
WO2003100648A1 PCT/JP2003/006551 JP0306551W WO03100648A1 WO 2003100648 A1 WO2003100648 A1 WO 2003100648A1 JP 0306551 W JP0306551 W JP 0306551W WO 03100648 A1 WO03100648 A1 WO 03100648A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
allocation
terminal device
server
request
Prior art date
Application number
PCT/JP2003/006551
Other languages
English (en)
French (fr)
Inventor
Kazunari Iyoda
Toru Nakazawa
Original Assignee
Dai Nippon Printing Co., Ltd.
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
Priority claimed from JP2002221506A external-priority patent/JP2004062622A/ja
Priority claimed from JP2002221297A external-priority patent/JP2004062603A/ja
Priority claimed from JP2002221337A external-priority patent/JP3942979B2/ja
Priority claimed from JP2002222125A external-priority patent/JP3983619B2/ja
Priority claimed from JP2002221272A external-priority patent/JP2004054855A/ja
Priority claimed from JP2002221476A external-priority patent/JP2004062620A/ja
Priority claimed from JP2002221317A external-priority patent/JP2004062606A/ja
Application filed by Dai Nippon Printing Co., Ltd. filed Critical Dai Nippon Printing Co., Ltd.
Priority to AU2003241771A priority Critical patent/AU2003241771A1/en
Priority to US10/513,089 priority patent/US20050188087A1/en
Publication of WO2003100648A1 publication Critical patent/WO2003100648A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Description

並列処理システム 技術分野
本発明は、 1の処理を複数の処理端末装置に分散して処理する並 列処理システム等に関する。 より詳細には、 処理端末装置に並列処 理への参加を募集する並列処理システム等に関する。 背景技術
従来、 一般の並列処理システムは、 並列処理専用の複数の処理端 末装置を設け、 これらの処理端末装置に並列処理を実行させるもの である。 また、 一般 O A用途に用いられているパーソナルコンビュ ータ等の端末装置の未使用時間等を利用するボランティア端末装置 参加型の並列処理システム (例えば、 バイオ計算等) が幾つか存在 する。
しかしながら、 このようなシステムでは、 基本的に膨大な計算資 源に対し、 処理端末装置側から処理データを取りに行き、 実行結果 を返す仕組みであり、 処理端末装置の状態、 処理能力等とは無関係 であり、 指示した処理結果がいつ返って来るか分からないので、 納 期付きの処理実行はできないという問題点がある。 また、 決められ た処理のみ実行可能で、 外部からの並列処理実行依頼を容易に実行 することはできないという問題点がある。
また、 従来の並列処理システムでは、 同一の処理体系、 演算体系 を採る C P Uを対象としたものしかなく、 制御機器や携帯電話機、 情報家電等、 互いに異なる処理体系、 演算体系を採る演算装置を有 する機器を対象と した並列処理手段はない。
更に、 並列処理専用の処理端末装置を有する同一システム内での データ交換は可能であっても、 処理端末装置参加型の並列処理では 、 処理端末装置が他の処理端末装置の演算結果等を参照するのは困 難であり、 処理端末装置の処理状況に関する外部からの問い合わせ にも対応が困難であるという問題点がある。
本発明は、 以上の点に鑑みてなされたものであり、 処理端末装置 に稼働状況、 処理能力等に応じて並列処理に係る処理を実行させ、 処理端末装置における演算結果、 処理状況等を参照可能であり、 並 列処理の効率性及び高速性を向上させることができる並列処理シス テム等を提供することを目的とする。
発明の開示
前述した目的を達成するために第 1の発明は、 複数の処理端末装 置と、 複数の依頼者側の端末装置と、 1又は複数のサーバと、 がネ ッ トワークを介して接続され、 前記端末装置が依頼する依頼処理を 並列処理により処理する並列処理システムであって、 前記サーバは 、 前記端末装置から前記依頼処理を受信する処理受付手段と、 前記 処理端末装置に対して、 前記並列処理への参加募集を行う参加募集 手段と、 前記依頼処理から、 必要に応じて当該依頼処理を分割して 、 割付処理を生成し、 前記参加募集に対して参加応募している処理 端末装置に対して、 当該割付処理を割り付けて送信する処理割付手 段と、 前記処理端末装置から送られた前記割付処理の実行結果を前 記依頼処理毎の実行結果に集約して、 前記端末装置に送信する依頼 処理結果送信手段と、 を具備し、 前記処理端末装置は、 前記サーバ から前記並列処理への参加募集が送られると、 自身の稼働状況から 判断して参加可能な場合、 参加応募の旨を応答する参加応募手段と 、 前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、 前記割付処理の実行結果を前記サーバに送信する割付処理結 果送信手段と、 を具備することを特徴とする ¾列処理システムであ る。
また、 第 2の発明は、 複数の処理端末装置と、 1又は複数のサ一 バと、 がネッ トワークを介して接続され、 前記サーバに入力された 依頼処理を並列処理により処理する並列処理システムであって、 前 記サーバは、 前記処理端末装置に対して、 前記並列処理への参加募 集を行う参加募集手段と、 前記依頼処理から、 必要に応じて当該依 頼処理を分割して、 割付処理を生成し、 前記参加募集に対して参加 応募している処理端末装置に対して、 当該割付処理を割り付けて送 信する処理割付手段と、 前記処理端末装置から送られた前記割付処 理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果 集約手段と、 を具備し、 前記処理端末装置は、 前記サーバから前記 並列処理への参加募集が送られると、 自身の稼働状況から判断して 参加可能な場合、 参加応募の旨を応答する参加応募手段と、 前記サ ーバから送られた前記割付処理を実行する割付処理実行手段と、 前 記割付処理の実行結果を前記サーバに送信する割付処理結果送信手 段と、 を具備することを特徴とする並列処理システムである。
また、 前記参加募集手段または前記参加応募手段は、 ブロードキ ヤスト通信により前記参加募集または前記参加応募を行うことが望 ましい。
また、 前記サーバは、 階層構造をなす複数のサブサーバから構成 され、 前記サブサーバに前記複数の処理端末装置が接続されること が望ましい。
また、 前記サーバまたは前記処理端末装置は、 さらに、 前記割付 処理の命令コードを前記処理端末装置上で実行可能な命令コ一ドへ 変換する命令変換手段を具備することが望ましい。
また、 前記処理端末装置は、 さらに、 前記並列処理に必要な情報 及び手段を記録する外部メモリを具備することが望ましい。
第 1の発明、 第 2の発明では、 依頼者の端末装置から依頼処理を 受信すると (第 1の発明)、 あるいは、 サーバに直接依頼処理が入力 されると (第 2の発明)、 サーバは、 ブロードキャス ト通信等により 、 複数の処理端末装置全体に対して、 依頼処理に係る並列処理への 参加募集を行う。 処理端末装置は、 サーバから並列処理への参加募 集が送られると、 自身の稼働状況から判断して参加可能な場合、 参 加応募の旨を応答する。 サーバは、 依頼処理から、 必要に応じて当 該依頼処理を分割して、 割付処理を生成し、 参加応募している処理 端末装置に対して、 当該割付処理を割り付けて送信し、 処理端末装 置は、 当該割付処理を実行し、 実行結果をサーバ又は端末装置に送 信する。 サーバは、 割付処理の実行結果を依頼処理毎の実行結果に 集約して、 端末装置に送信したりする。
第 1の発明では、 依頼処理は、 依頼者の端末装置からネッ トヮー クを介してサーバに送られるが (「処理受付手段」)、第 2の発明では 、 サーバに直接入力される。
「処理受付手段」 は、 例えば、 W E B (W o r 1 d W i d e W e b ) サーバ機能であり、 この場合、 依頼処理に係る情報は、 端末 装置から W E Bページに入力され、 ネッ トワークを介してサーバに 送られる。 「サーバ」 は、 サーバコンピュータ等であり、 処理端末装置とし てのスレーブを制御する 「マスタ」 として機能する。 サーバは、 依 頼者の端末装置から依頼された処理あるいは当該サーバに直接入力 された処理 (「依頼処理」) から 「割付処理」 を生成して処理端末装 置に割り付け、 実行させる。 尚、 サーバは、 割付処理を生成する際 、 必要に応じて依頼処理を分割する。
「処理端末装置」 は、 並列処理専用のコンピュータ等の端末装置 、 あるいは、 の未使用時間等に係る空き資源 (リ ソース) を有する 場合に並列処理に参加するボラティア端末装置である。 ボランティ ァ端末装置は、 例えば、 一般 OA用途等に用いられているパ一ソナ ルコンピュータ等である。 処理端末装置は、 自身の稼働状況、 利用 状況等を監視する機能を有し、 自身の稼働状況等に応じて並列処理 に参加する。 処理端末装置は、 サーバとしてのマスタにより制御さ れる 「スレーブ」 として機能する。 処理端末装置は、 サーバに割り 付けられた割付処理等を実行する。
処理端末装置は、 コンピュータ等の情報機器、 携帯情報端末 (P e r s o n a l D i g i t a l A s s i s t a n t )、 ferfi舌 、 情報家電等であり、 C PU等の演算装置を有し、 ネッ トワークに 接続可能であればいかなるものであっても構わない。 また、 この処 理端末装置に後述するメモリ · キー等の外部メモリを設けることが できる。
「端末装置」 は、 コンピュータ等の情報機器、 携帯情報端末 (P e r s o n a l D i g i t a l A s s i s t a n t )、擒 ¾¾ϊ 等であり、 ネッ トワークを介して依頼処理をサーバに送信したりす る。
「ネッ トワーク I は、 イ ンタ一ネッ ト、 LAN (口一カノレエリ ア ネッ トワーク) 等のネッ トワークであり、 有線、 無線を問わない。
「処理」 ( 「依頼処理」 あるいは 「割付処理」) は、 処理依頼要求 、 処理プログラム、 処理データ等である。
「並列処理に必要な情報及び手段」 は、 依頼処理あるいは割付処 理に係る処理プログラム、 処理データ、 参加応募手段、 割付処理実 行手段、 通信設定を行う通信設定手段、 命令コードを処理端末装置 上で実行可能な命令コードへ変換する命令変換手段等である。
第 1の発明及び第 2の発明では、 サーバは、 並列処理への参加を 募集し、 処理端末装置は、 稼働状況に応じて並列処理に参加する。 従って、 サーバは、 処理端末装置の稼働状況を管理する必要がなく
、 参加応募した処理端末装置に割付処理を割り当てることにより、 効率的かつ高速な並列処理を実現することができる。
また、 サーバの分散化、 多重化が容易であるので、 耐障害性が向 上する。
また、 第 2の発明では、 ある決められた処理専用のシステムでは なく、 外部 (依頼者の端末装置) からの依頼処理に係る複数の並列 処理を実行することが容易に可能となる。
また、 サーバは、 ブロードキャス ト通信等により複数の処理端末 装置全体に対して並列処理への参加募集を行い、 また、 サーバが複 数の分散サーバから構成される場合、 処理端末装置は、 ブロードキ ヤス ト通信等により複数の分散サーバ全体に対して並列処理への参 加応募を行うことができる。 この場合、 個々の処理端末装置の状態 管理を行う必要がなく、 また、 サーバ (分散サーバ)、 処理端末装置 の双方共、 相手を意識することなく指示、 応答等を行うことが可能 である
また、 サーバは、 階層構造をなす複数のサブサーバから構成する ことができる。 処理端末装置は、 最下層等のサブサーバに接続され る。 処理端末装置との通信に係る処理 (応答等) は、 1のサーバに 集中しないので、 並列処理の高速化を図ることができるとともに、 通信負荷を軽減し、 動作の安定性を向上することができる。
また、 処理端末装置上で実行可能な命令コードへ変換する命令変 換機能を処理端末装置、 サーバ、 外部メモリ等に設けることで、 一 般パーソナルコンピュータだけではなく、 情報家電等の異なる処理 体系、 演算体系を採る演算装置 (C PU等) を有する機器ゃ携帯電 話機を処理端末装置と して用いた並列処理が可能となり、 さらなる 並列処理の高速化が可能となる。
また、 依頼処理及び割付処理は、 処理依頼要求、 処理プログラム 、 処理データ等を有する。 処理プログラム、 処理データ、 参加応募 機能、 命令変換機能等に関しては、 処理端末装置に設けられる us
B (U n i v e r s a l S e r i a l B u s ) メモリ ' キ一等 の外部メモリに格納することもできる。
第 3の発明は、 複数の処理端末装置と、 複数の依頼者側の端末装 置と、 にネッ トワークを介して接続され、 前記端末装置から送られ た依頼処理を並列処理により処理する 1又は複数のサーバであって 、 前記端末装置から前記依頼処理を受信する処理受付手段と、 前記 処理端末装置に対して、 前記並列処理への参加募集を行う参加募集 手段と、 前記依頼処理から、 必要に応じて当該依頼処理を分割して 、 割付処理を生成し、 前記参加募集に対して参加応募している処理 端末装置に対して、 当該割付処理を割り付けて送信する処理割付手 段と、 前記処理端末装置から送られた前記割付処理の実行結果を前 記依頼処理毎の実行結果に集約して、 前記端末装置に送信する依頼 処理結果送信手段と、 を具備することを特徴とするサーバである。 第 4の発明は、 複数の処理端末装置にネッ トヮ一クを介して接続 され、 入力された依頼処理を並列処理により処理する 1又は複数の サーバであって、 前記処理端末装置に対して、 前記並列処理への参 加募集を行う参加募集手段と、 前記依頼処理から、 必要に応じて当 該依頼処理を分割して、 割付処理を生成し、 前記参加募集に対して 参加応募している処理端末装置に対して、 当該割付処理を割り付け て送信する処理割付手段と、 前記処理端末装置から送られた前記割 付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理 結果集約手段と、 を具備することを特徴とするサーバである。
第 3の発明、 第 4の癸明は、 それぞれ、 第 1の発明、 第 2の発明 の並列処理システムで用いられるサーバに関する発明である。
第 5の発明は、 1又は複数のサーバにネッ トヮ一クを介して接続 され、 前記サーバに入力された依頼処理を並列処理により処理する 並列処理システムに用いられる処理端末装置であって、 前記サーバ から前記並列処理への参加募集が送られると、 自身の稼働状況から 判断して参加可能な場合、 参加応募の旨を応答する参加応募手段と 、 前記サーバから送られる割付処理を実行する割付処理実行手段と 、 前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、 を具備することを特徴とする処理端末装置である。
第 5の発明は、 第 1の発明または第 2の発明の並列処理システム で用いられる処理端末装置に関する発明である。
第 6の発明は、 複数の処理端末装置と、 複数の依頼者側の端末装 置と、 1又は複数のサーバと、 がネッ トワーク.を介して接続され、 前記端末装置が依頼する依頼処理を並列処理により処理する並列処 理システムにおける並列処理方法であって、 前記サーバは、 前記端 末装置から前記依頼処理を受信する処理受付工程と、 前記処理端末 装置に対して、 前記並列処理への参加募集を行う参加募集工程と、 前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付処 理を生成し、 前記参加募集に対して参加応募している処理端末装置 に対して、 当該割付処理を割り付けて送信する処理割付工程と、 前 記処理端末装置から送られた前記割付処理の実行結果を前記依頼処 理毎の実行結果に集約して、 前記端末装置に送信する依頼処理結果 送信工程と、 を具備し、 前記処理端末装置は、 前記サーバから前記 並列処理への参加募集が送られると、 自身の稼働状況から判断して 参加可能な場合、 参加応募の旨を応答する参加応募工程と、 前記サ —バから送られた前記割付処理を実行する割付処理実行工程と、 前 記割付処理の実行結果を前記サーバに送信する割付処理結果送信ェ 程と、 を具備することを特徴とする並列処理方法である。
第 7の発明は、 複数の処理端末装置と、 1又は複数のサーバと、 がネッ トワークを介して接続され、 前記サーバに入力された依頼処 理を並列処理により処理する並列処理システムにおける並列処理方 法であって、 前記サーバは、 前記処理端末装置に対して、 前記並列 処理への参加募集を行う参加募集工程と、 前記依頼処理から、 必要 に応じて当該依頼処理を分割して、 割付処理を生成し、 前記参加募 集に対して参加応募している処理端末装置に対して、 当該割付処理 を割り付けて送信する処理割付工程と、 前記処理端末装置から送ら れた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約す る依頼処理結果集約工程と、 を具備し、 前記処理端末装置は、 前記 サーバから前記並列処理への参加募集が送られると、 自身の稼働状 況から判断して参加可能な場合、 参加応募の旨を応答する参加応募 工程と、 前記サーバから送られた前記割付処理を実行する割付処理 実行工程と、 前記割付処理の実行結果を前記サーバに送信する割付 処理結果送信工程と、 を具備することを特徴とする並列処理方法で ある。
第 6の発明、 第 7の発明は、 それぞれ、 第 1の発明、 第 2の発明 の並列処理システムのサーバ及び処理端末装置により実行される並 列処理方法に関する発明である。
第 8の発明は、 コンピュータを第 3の発明または第 4の発明のサ —バと して機能させるプログラムである。
第 9の発明は、 コンピュータを第 3の発明または第 4の発明のサ ーバと して機能させるプログラムを記録した記録媒体である。
第 1 0の発明は、 コンピュータを第 5の発明の処理端末装置とし て機能させるプログラムである。
第 1 1の発明は、 コンピュータを第 5の発明の処理端末装置とし て機能させるプログラムを記録した記録媒体である。
上述のプログラムを C D— R O M等の記録媒体に保持させて流通 させてもよいし、 このプログラムを通信回線を介して送受すること もできる。
第 1 2の発明は、 複数の処理端末装置と、 1又は複数のサーバと 、 がネッ トワークを介して接続され、 前記サーバに入力された依頼 処理を並列処理により処理する並列処理システムであって、 前記サ —バは、 前記依頼処理から、 必要に応じて当該依頼処理を分割して 、 割付処理を生成し、 前記処理端末装置に当該割付処理を割り付け 送信し実行させる処理割付手段と、 前記処理端末装置から所定の制 限時間内に前記割付処理の実行結果が返信されなかった場合、 別の 処理端末装置に当該割付処理を割り付け送信し実行させる再割付手 段と、 を具備し、 前記処理端末装置は、 前記サーバから送られた前 記割付処理を実行する割付処理実行手段と、 前記割付処理の実行結 果を前記サーバに送信する割付処理結果送信手段と、 を具備するこ とを特徴とする並列処理システムである。
前記サーバは、 さらに、 前記処理端末装置毎の処理能力に基づい て、 前記制限時間を設定する制限時間設定手段と、 を具備すること が望ましい。
また、 前記サーバは、 さらに、 前記処理端末装置毎の処理の履歴 を保持する保持手段と、 前記処理の履歴に基づいて前記処理能力を 算出する処理能力算出手段と、 を具備することが望ましい。
また、 前記サーバは、 前記処理端末装置に対して、 ブロードキヤ ス ト通信により、 前記並列処理への参加募集を行い、 前記参加募集 に対して参加応募している処理端末装置に前記割付処理を割り付け 送信し実行させることが望ましい。
第 1 2の発明では、 ネッ トワークを介してあるいは直接サーバに 依頼処理が入力されると、 サーバは、 依頼処理から、 必要に応じて 当該依頼処理を分'劑して、 割付処理を生成し、 処理端末装置に対し て、 当該割付処理を割り付け送信し実行させ、 処理端末装置から所 定の制限時間内に割付処理の実行結果が返信されなかった場合、 別 の処理端末装置に当該割付処理を割り付け送信し実行させる。
処理端末装置は、 当該割付処理を実行し、 実行結果をサーバに送 信する。 サーバは、 割付処理の実行結果を依頼処理毎の実行結果に 集約する。
「制限時間」 は、 処理端末装置に割付処理を割り付け実行させる 際、 サーバが設定する処理制限時間、 タイムアウト時間である。
「処理の履歴」 は、 処理端末装置における処理実績、 処理時間、 平均処理時間等である。 サーバは、 この処理の履歴を処理端末装置 毎に処理履歴テーブル等としてデータベースに保持する。 サーバは 、 この処理の履歴に基づいて上記の制限時間を算出することができ る。
第 1 2の発明では、 処理端末装置から所定の制限時間内に割付処 理の実行結果が返信されない場合、 サーバは、 別の処理端末装置に 当該割付処理を割り付け実行させるので、 処理端末装置が処理途中 で利用不可になった場合、 あるいは、 故障等により処理実行不可能 になった場合であっても、 並列処理を継続することが可能であり、 耐障害性が向上する。 また、 処理端末装置の個々の状態、 処理の状 況等を管理する必要がない。
また、 サーバは、 予め調査、 記録した処理端末装置の処理能力 ( C P U能力等)、 あるいは、処理の履歴から算出した処理端末装置の 処理能力 (C P U能力等) に基づいて、 処理端末装置毎に制限時間 を設定する。 すなわち、 サーバは、 処理端末装置毎に処理能力に応 じて処理制限時間 (タイムアウ ト時間) を設定するので、 一律の処 理制限時間 (タイムアウ ト時間) を設定する場合と比較して、 無駄 な待ち時間を減じて、 並列処理全体として処理の高速化が可能であ る。
第 1 3の発明は、 複数の処理端末装置と、 1又は複数のサーバと 、 がネッ トワークを介して接続され、 前記サーバに入力された依頼 処理を並列処理により処理する並列処理システムであって、 前記サ ーバは、 前記依頼処理から、 必要に応じて当該依頼処理を分割して 、 割付処理を生成し、 前記処理端末装置に当該割付処理を割り付け 送信し実行させる処理割付手段と、 前記処理端末装置毎の処理能力 に基づいて、 一度に割り付ける割付処理量である処理粒度を制御す る粒度制御手段と、 を具備し、 前記処理端末装置は、 前記サーバか ら送られた前記割付処理を実行する割付処理実行手段と、 前記割付 処理の実行結果を前記サーバに送信する割付処理結果送信手段と、 を具備することを特徴とする並列処理システムである。
また、 前記サーバは、 さらに、 前記処理端末装置毎の処理の履歴 を保持する保持手段と、 前記処理の履歴に基づいて前記処理能力を 算出する処理能力算出手段とを具備することが望ましい。
また、 前記サーバは、 さらに、 前記ネッ トワーク上の通信負荷を 監視し、 前記通信負荷が所定の基準以上である場合、 前記処理粒度 を強制的に増加させる第 1の処理制御手段を具備することが望まし レ、。
また、 前記サーバは、 さらに、 前記ネッ トワーク上の通信負荷を 監視し、 前記通信負荷が所定の基準以上である場合、 前記通信負荷 が所定の基準まで下がるまで、 前記処理端末装置への前記割付処理 の割り付けを一時的に停止する第 2の処理制御手段を具備すること が望ましい。
第 1 3の発明では、 ネッ トワークを介して、 あるいは直接サーバ に依頼処理が入力されると、 サーバは、 依賴処理から、 必要に応じ. て当該依頼処理を分割して、 割付処理を生成し、 処理端末装置に、 割付処理を割り付け送信し実行させる。
サーバは、 処理端末装置毎の処理能力に基づいて、 一度に割り付 ける割付処理量である処理粒度を制御する。
処理端末装置は、 サーバから送られた割付処理を実行し、 前記割 付処理の実行結果をサーバに送信する。 サーバは、 割付処理の実行 結果を依頼処理毎の実行結果に集約する。
「処理能力」 は、 処理端末装置に割付処理を割り付け実行させる 際、 サーバが設定する C P U能力である。
「処理粒度」 は、 一度に割り付ける処理量である。 「通信負荷」 は、 測定器を用いてネッ トワーク上の通信負荷を測 定し、 算出する通信負荷率である。
また、 サーバは、 各処理端末装置に、 処理能力に基づいて、 一度 に割り付ける割付処理量である処理粒度を制御するので、 1の処理 端末装置であっても、 1又は複数の割付処理を同時に並行して実行 することができ、 並列処理全体として処理の高速化が可能である。 また、 サーバは、 予め調査、 記録した処理端末装置の処理能力 ( C P U能力等)、 あるいは、処理の履歴から算出した処理端末装置の 処理能力 (C P U能力等) に基づいて、 処理端末装置毎に割付処理 量である処理粒度を設定する。 すなわち、 サーバは、 処理端末装置 毎に処理能力に応じて処理粒度を設定するので、 一律の割付処理量 を設定する場合と比較して、 並列処理全体として処理の高速化が可 能である。
第 1 4の発明は、 複数の処理端末装置と、 1又は複数のサーバと 、 がネッ トワークを介して接続され、 前記サーバに入力された依頼 処理を並列処理により処理する並列処理システムであって、 前記サ —バは、 前記依頼処理から、 必要に応じて当該依頼処理を分割して 、 割付処理を生成し、 前記割付処理の優先順位に基づいて、 前記優 先順位の高い割付処理を、 優先的に当該割付処理の終了予測時間の 早い処理端末装置に割り付け送信し実行させる処理割付手段と、 を 具備し、 前記処理端末装置は、 前記サーバから送られた前記割付処 理を実行する割付処理実行手段と、 前記割付処理の実行結果を前記 サーバに送信する割付処理結果送信手段と、 を具備することを特徴 とする並列処理システムである。
また、 前記サーバは、 さらに、 前記処理端末装置毎の処理能力に 基づいて、 前記割付処理の処理時間を設定する処理時間設定手段と 、 前記処理時間と、 処理中の処理端末装置の場合には残り処理時間 を加え、 前記割付処理の終了予測時間を算出する終了予測時間算出 手段と、 を具備することが望ましい。
また、 前記サーバは、 さらに、 前記処理端末装置毎の処理の履歴 を保持する保持手段と、 前記処理の履歴に基づいて前記処理能力を 算出する処理能力算出手段と、 を具備することが望ましい。
また、 前記サーバは、 前記処理端末装置に対して、 ブロードキヤ ス ト通信により、 前記並列処理への参加募集を行い、 前記参加募集 に対して参加応募している処理端末装置に前記割付処理を割り付け 送信し実行させることが望ましい。
第 1 4の発明では、 ネッ トワークを介して、 あるいは直接サーバ に依頼処理が入力されると、 サーバは、 依頼処理から、 必要に応じ て当該依頼処理を分割して、 割付処理を生成し、 割付処理の優先順 位に基づいて、 優先順位の高い割付処理を、 優先的に当該割付処理 の終了予測時間の早い処理端末装置に割り付け送信し実行させる。 処理端末装置は、 サーバから送られた割付処理を実行し、 前記割 付処理の実行結果をサーバに送信する。 サーバは、 割付処理の実行 結果を依頼処理毎の実行結果に集約する。
「優先順位」 は、 複数段階を表す優先順位レベルであり、 予め、 各割付処理毎に対応付けて設定する。
「処理時間」 は、 1割付処理の平均処理時間である。
「終了予測時間」 は、 割付処理の実行終了予測時間である。
第 1 4の発明では、 サーバは、 割付処理の優先順位に基づいて、 優先順位の高い割付処理を、 優先的に当該割付処理の終了予測時間 の早い処理端末装置に割り付け送信し実行させ、 優先順位の高い処 理を優先スケジュールし、 処理の高速化が可能となる。 第 1 5の発明は、 複数の処理端末装置と、 1又は複数のサーバと 、 がネッ トワークを介して接続され、 前記サーバに入力された依頼 処理を並列処理により処理する並列処理システムであって、 前記サ ーバは、 前記処理端末装置に対して、 前記並列処理への参加募集を 行う参加募集手段と、 前記依頼処理から、 必要に応じて当該依頼処 理を分割して、 割付処理を生成し、 前記参加募集に対して参加応募 している処理端末装置に対して、 当該割付処理を割り付け送信し実 行させる処理割付手段と、 を具備し、 前記処理端末装置は、 自身の 負荷を監視し、 当該負荷に基づいて前記並列処理への参加可否を判 定する判定手段と、 前記サーバから送られた前記割付処理を実行し 、 実行結果を前記サーバに送信する割付処理実行手段と、 前記サー バから前記並列処理への参加募集が送られると、 参加可能な場合、 参加応募の旨を応答する参加応募手段と、 を具備することを特徴と する並列処理システムである。
また、 前記負荷は、 C P U負荷率であり、 前記判定手段は、 当該 C P U負荷率が所定の基準以下である場合、 前記並列処理に参加可 と判定することが望ましい。
また、 前記参加募集手段または前記参加応募手段は、 ブロードキ ャス ト通信により前記参加募集または前記参加応募を行うことが望 ましい。
第 1 5の発明では、 ネッ トワークを介してあるいは直接サーバに 依頼処理が入力されると、 サーバは、 依頼処理から、 必要に応じて 当該依頼処理を分割して、 割付処理を生成し、 処理端末装置に対し て、 当該割付処理を割り付け送信し実行させる。
処理端末装置は、 自身の負荷を監視する。 処理端末装置は、 サー バから並列処理への参加募集 (処理要求) が送られると、 自身の負 荷に基づいて、 並列処理へ参加するかどうか判定し、 参加可能な場 合、 参加応募の旨 (処理要求に応ずる旨) を応答する。 処理端末装 置は、 サーバから送られた割付処理を実行し、 実行結果をサーバに 送信する。
「負荷」 は、 処理端末装置の稼働状況、 使用状況等を示すもので あり、 例えば、 C P U負荷率等である。 処理端末装置は、 常時ある いは所定のタイミングで自身の C P U負荷率等を監視し、 当該 C P u負荷率が所定の基準以下の場合、 並列処理に参加可と判定する。 尚、 所定の基準とは、 参加可能な最大の C P U負荷率 (参加可能 最大 C P U負荷率) 等であり、 処理端末装置全体に一律に定めても よいし、 処理能力に応じて個々の処理端末装置毎に定めてもよい。 第 1 5の発明では、 サーバは、 必要に応じて随時並列処理への参 加を募集し、 処理端末装置は、 自身の負荷、 稼働状況等に応じて並 列処理に参加するので、 サーバは、 処理端末装置の負荷、 稼働状況 等を管理する必要がなく、 参加応募した処理端末装置に割付処理を 割り当てることにより、 効率的かつ高速な並列処理を実現すること ができる。 従って、 処理端末装置は、 並列処理への途中参加が可能 である。
また、 処理端末装置は、 自身の C P U負荷率等の負荷に応じて並 列処理に参加するので、 1の処理端末装置であっても、 1または複 数のマスタに係る複数の割付処理を同時に平行して実行することが できる (マルチタスク)。
第 1 6の発明は、 複数の処理端末装置と、 1又は複数のサーバと 、 がネッ トワークを介して接続され、 前記サーバに入力された依頼 処理を並列処理により処理する並列処理システムであって、 前記サ —バは、 前記依頼処理から、 必要に応じて当該依頼処理を分割して 、 割付処理を生成し、 前記処理端末装置に当該割付処理を割り付け 送信し実行させる処理割付手段と、 を具備し、 前記処理端末装置は 、 前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、 他の処理端末装置に、 ブロードキャス ト通信により、 更新し た共有データを送信する共有データ送信手段と、 他の処理端末装置 から、 ブロードキャス ト通信により、 受信した共有データを更新す る共有データ受信手段と、 前記割付処理の実行結果を前記サーバに 送信する割付処理結果送信手段と、
を具備することを特徴とする並列処理システムである。
は、 サーバから送られた割付処理を実行し、 実行結果をサーバに送 信する。
「共有データ」 は、 各割付処理の処理プログラムの演算結果、 又 は処理データである。
第 1 6の発明では、 処理端末装置は、 並列処理の処理プログラム の演算結果や、 処理データ等の共有データを更新、 作成すると、 ブ ロードキャス ト通信で、 他のスレーブ 7に送出し、 また、 他の処理 端末装置から受け取った当該共有データを更新、 作成することによ り、 処理端末装置間でのデータを共有することを可能とし、 更に、 ブロードキャス ト通信を用いることにより、 一度の通信でデータ転 送が可能となり、 高速な並列処理を実現することができる。
第 1 7の発明は、 複数の処理端末装置と、 1又は複数のサーバと 、 がネッ トワークを介して接続され、 前記サーバに入力された依頼 処理を並列処理により処理する並列処理システムであって、 前記サ ーバは、 前記依頼処理から必要に応じて当該依頼処理を分割して割 付処理を生成し、 前記処理端末装置に当該割付処理を割り付け送信 し実行させる処理割付手段と、 前記依頼処理及び前記割付処理に関 する情報を対応付ける処理テーブルを保持する保持手段と、 前記処 理端末装置から他の処理端末装置における割付処理に関する問合せ を受信した場合、 前記処理テーブルを参照して応答する問合せ応答 手段と、 を具備し、 前記処理端末装置は、 前記サーバから送られた 前記割付処理を実行し、 実行結果を前記サーバに送信する割付処理 実行手段と、 前記サーバに他の処理端末装置における割付処理に関 する問合せを送信する問合せ手段と、
を具備することを特徴とする並列処理システムである。
また、 前記問合せ応答手段は、 さらに、 前記サーバに前記ネッ ト ワークを介して前記依頼処理を送信する 1又は複数の端末装置から 前記依頼処理に関する問合せを受信した場合、 前記処理テーブルを 参照して応答することが望ましい。
また、 前記問合せ応答手段は、 前記処理テーブルから前記問合せ に対応する情報を抽出し、 当該情報を返信することが望ましい。 また、 前記問合せ応答手段は、 さらに、 前記抽出した情報に対し て前記問合せに応じた演算処理を行った結果を返信することが望ま しい。
また、 前記問合せに対応する情報は、 前記依頼処理または前記割 付処理の実行結果または処理状況であることが望ましい。
また、 前記ネッ トワークを介しての通信処理は、 ブロードキャス ト通信により行われることが望ましい。
また、 前記サーバは、 さらに、 前記処理端末装置に前記並列処理 への参加募集を行う参加募集手段を具備し、 前記処理端末装置は、 さらに、 前記サーバから前記並列処理への参加募集が送られると、 参加可能な場合、 参加応募の旨を応答する参加応募手段を具備する ことが望ましい。 第 1 7の発明では、 依頼者の端末装置あるいは処理端末装置が、 特定の処理端末装置における割付処理の実行結果、 演算結果、 デー タ、 処理状況等が必要になった場合等、 サーバに対してこれらの実 行結果、 演算結果、 データ、 処理状況等について問い合わせると、 サーバは、 処理テーブルを参照、 検索して、 問い合わせに該当する 情報を抽出してを返信したり、 抽出した情報に対して問合せに応じ た演算処理を行った結果を返信する。
「問合せに応じた演算処理」 とは、 問合せに対応する情報として 処理テ一ブルから抽出した情報 (実行結果、 処理状況等) に対して 施す情報処理であり、 例えば、 合計値、 平均値、 最大値等を算出す る処理、 ソート処理等である。
第 1 7の発明では、 処理端末装置は、 サーバを介して他の処理端 末装置における実行結果、 演算結果、 データ等を取得可能であるの で、 同一のシステム内における並列処理専用の処理端末装置でなく 、 互いに異なるシステムに属する並列処理への参加型の処理端末装 置であっても、 処理端末装置は、 他の処理端末装置における処理実 行結果等を参照することができる。
また、 端末装置は、 サーバを介して依頼処理の処理状況等を取得 可能であるので、 依頼処理の処理進涉状況を把握したり、 処理状況 によっては、 処理を中止させたりすることができる。
このように、 処理端末装置あるいは端末装置は、 他の処理端末装 置における実行結果、 依頼処理の処理状況等をサーバを介して取得 可能であるので、 並列処理の効率性及び高速性を向上させることが できる。
尚、 問い合わせ及び問い合わせ応答等の処理に係るサーバと処理 端末装置及び端末装置との間の通信は、 ブロードキャス ト通信で行 うことができるので、 サーバの問合せ応答手段 (第 1及び第 2の問 合せ応答手段) 等は、 サーバの外部に設けたり、 サーバを構成する 分散サーバそれぞれに分散して設けることが可能である。 図面の簡単な説明
図 1は、 第 1 の形態に係る並列処理システム 1 0 0の概略構成 を示す図
図 2は、 処理受付、 参加募集、 参加応募、 処理割付等に係る処 理の概略を示す図
図 3は、 処理実行、 実行結果取得等に係る処理の概略を示す図 図 4は、 処理受付、 参加募集、 参加応募、 処理割付等に係る処 理の手順を示すフローチヤ一ト
図 5は、 処理実行、 実行結果取得等に係る処理の手順を示すフ 口一チヤ一ト
図 6は、 スレーブ 7の外部メモリ 8が有する機能に関する説明 図
図 7は、 第 2の実施の形態に係る並列処理システム 2 0 0の概 略構成を示す図
図 8は、 第 3の実施の形態に係る並列処理システム 3 0 0の概 略構成を示す図
図 9は、 第 3の実施の形態に係る並列処理システム 3 0 0の処 理の流れを示す図
図.1 0は、 ブロードキャス ト通信による通信処理の概略を示す 図
図 1 1 は、 第 4の形態に係る並列処理システム 1 0 0の概略構 成を示す図 図 1 2は、 処理受付、 参加募集、 参加応募、 処理割付、 処理履 歴管理等に係る処理の概略を示す図
図 1 3は、 処理実行、 実行結果取得、 処理履歴管理等に係る処 理の概略を示す図
図 1 4は、 処理受付、 参加募集、 参加応募、 処理割付、 処理履 歴管理等に係る処理の手順を示すフ口一チャート
図 1 5は、 処理実行、 実行結果取得、 処理履歴管理等に係る処 理の手順を示すフローチヤ一ト
図 1 6は、 第 5の形態に係る並列処理システム 1 0 0の概略構 成を示す図
図 1 7は、 処理受付、 参加募集、 参加応募、 処理割付、 処理履 歴管理、 通信負荷監視等に係る処理の概略を示す図
図 1 8は、 処理実行、 実行結果取得、 処理履歴管理等に係る処 理の概略を示す図
図 1 9は処理受付、 参加募集、 参加応募、 処理割付、 処理履歴 管理、 通信負荷監視等に係る処理の手順を示すフローチャート 図 2 0は、 処理実行、 実行結果取得、 処理履歴管理等に係る処 理の手順を示すフローチヤ一ト
図 2 1は、 第 6の形態に係る並列処理システム 1 0 0の概略構 成を示す図
図 2 2は、 処理受付、 参加募集、 参加応募、 処理割付、 処理履 歴管理、 通信負荷監視等に係る処理の概略を示す図
図 2 3は、 処理割付機能、 処理履歴管理機能、 優先スケジユー ル機能等に係る処理の概略を示す図
図 2 4は、 処理実行、 実行結果取得、 処理履歴管理等に係る処 理の概略を示す図 図 2 5は、 処理受付、 参加募集、 参加応募、 処理割付、 処理履 歴管理、 通信負荷監視等に係る処理の手順を示すフローチヤ一ト 図 2 6は、 優先スケジュール機能等に係る処理の手順を示すフ 口一チヤ一 卜
図 2 7は、 処理実行、 実行結果取得、 処理履歴管理等に係る処 理の手順を示すフローチヤ一ト
図 2 8は、 第 7の形態に係る並列処理システム 1 0 0の概略構 成を示す図
図 2 9は、 処理受付、 参加募集、 参加応募、 処理割付、 負荷監 視等に係る処理の概略を示す図
図 3 0は、 処理実行、 実行結果取得等に係る処理の概略を示す 図
図 3 1は処理受付、 参加募集、 参加応募、 処理割付、 負荷監視 等に係る処理の手順を示すフローチャート
図 3 2は、 処理実行、 実行結果取得等に係る処理の手順を示す フロ一チヤ一卜
図 3 3は、 第 8の形態に係る並列処理システム 1 0 0の概略構 成を示す図
図 3 4は、 処理受付、 参加募集、 参加応募、 処理割付等に係る 処理の概略を示す図
図 3 5は、 処理実行、 実行結果取得等に係る処理の概略を示す 図
図 3 6は、 処理受付、 参加募集、 参加応募、 処理割付等に係る 処理の手順を示すフローチャート
図 3 7は、 処理実行、 実行結果取得等に係る処理の手順を示す フローチヤ一ト 図 3 8は、 処理実行機能 1 2、 データ共有機能 2 3等に係る処 理の概略を示す図
図 3 9は、 処理実行機能 1 2、 データ共有機能 2 3等に係る処 理の手順を示すフローチャート
図 4 0は、 第 9の形態に係る並列処理システム 1 0 0の概略構 成を示す図
図 4 1は、 処理受付、 参加募集、 参加応募、 処理割付等に係る 処理の概略を示す図
図 4 2は、 処理実行、 実行結果取得等に係る処理の概略を示す 図
図 4 3は、 処理受付、 参加募集、 参加応募、 処理割付等に係る 処理の手順を示すフローチャート
図 4 4は、 処理実行、 実行結果取得等に係る処理の手順を示す フローチヤ一 ト
図 4 5は、 問合せ応答機能、 問合せ機能等に係る処理の概略を 示す図
図 4 6は、 問合せ応答機能、 問合せ機能等に係る処理の手順を 示すフ口一チヤ一ト
図 4 7は、 問合せ応答機能、 問合せ機能等に係る処理の手順を 示すフ口一チヤ一ト 発明を実施するための最良の形態 以下に、 添付図面を参照しながら、 本発明に係る並列処理シス テム等の好適な実施形態について詳細に説明する。 なお、 以下の説 明及び添付図面において、 略同一の機能構成を有する構成要素につ いては、 同一の符号を付することにより重複説明を省略することに する。
図 1は、 本発明の第 1の実施の形態に係る並列処理システム 1 0 0の概略構成を示す図である。
図 1に示すように、 並列処理システム 1 0 0は、 管理者 1のマス タ 2、 複数の依頼者 4一 1、 4一 2、 …の端末装置 5— 1、 5 - 2 、 ···、 スレーブ群 6等が、 ネッ トワーク 9を介して接続されて構成 される。
ネッ トワーク 9は、 イ ンタ一ネッ ト、 ロー力ルェリ アネッ トヮー ク (LAN)、 社內 LAN等のネッ トワークであり、 有線、 無線を問 わない。
管理者 1は、 並列処理システム 1 00を管理する管理者であり、 マスタ 2を有する。マスタ 2は、 「サーバ」 と してのサ一バコンピュ ータ等であり、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機 能 1 5、 実行結果取得機能 1 6等を有する。 マスタ 2は、 複数の分 散マスタ 3— 1、 3— 2、 …により構成することもできる。
処理受付機能 1 3は、 依頼者 4— 1、 4一 2、 …の端末装置 5— 1、 5— 2、 …から処理の依頼を受付ける。 例えば、 処理受付機能 1 3は、 WE B (Wo r l d W i d e We b) サーバとしての 機能を有し、 端末装置 5から WE Bページに入力された処理を依頼 処理として受け付けることができる。 また、 処理受付機能 1 3は、 端末装置 5から WE Bページ等によりネッ トワーク 9を介して依頼 処理を受付けるだけでなく、 マスタ 2に直接入力された処理を依頼 処理として受け付けることができる。
参加募集機能 1 4は、 ス レーブ群 6の各ス レーブ 7— 1、 7 - 2 、 …に対して、 並列処理への参加を募集する。 処理割付機能 1 5は 、 依頼された処理 (依頼処理) から割付処理を生成してス レーブ 7 一 1、 7 _ 2、 …に割付ける。 実行結果取得機能 1 6は、 ス レーブ 7— 1、 7— 2、 …から割付処理の実行結果を取得する。
依頼者 4一 1、 4— 2、 …は、 処理を依頼する依頼者であり、 そ れぞれ、 端末装置 5— 1、 5— 2、 …を有する。 端末装置 5— 1、 5— 2…は、 ネッ トワーク 9を介して、 マスタ 2に処理を依頼し、 ス レーブ群 6から処理の実行結果を受信し取得する実行結果取得機 能 1 7を有する。 尚、 端末装置 5— 1、 5— 2、 …は、 パーソナル コンピュータ、 携帯情報端末 (P e r s o n a l D i g i t a l A s s i s t a n t ) 等である。
ス レーブ群 6は、 複数の 「処理端末装置」 としてのス レーブ 7— 1、 7— 2…を有する。 ス レーブ 7— 1、 7— 2、 …は、 並列処理 専用のコンピュータ等の端末装置、 あるいは、 未使用時間等に係る 空き資源、 リ ソースを有する場合に並列処理に参加するパーソナル コンピュータ等のボランティァ端末装置である。 ス レーブ 7— 1、 7— 2、 …は、 パーソナルコンピュータ、 携帯情報端末 (P e r s o n a 1 D i g i t a l A s s i s t a n t ),携帯電話機、演 算装置を有する機器等である。
スレーブ 7— 1、 7— 2、 …は、 U S B (U n i v e r s a 1 S e r i a 1 B u s ) メモリ ' キー等の外部メモリ 8— 1、 8 - 2 、 …を有する。 スレーブ 7— 1、 7— 2、 ··· (又は、 外部メモリ 8 一 1、 8— 2、 ···) は、 参加応募機能 1 1、 処理実行機能 1 2等を 有する。
尚、 スレーブ 7には、 参加応募機能 1 1、 処理実行機能 1 2等を 有する外部メモリ 8を設けてもよいし、 外部メモリ 8を設けずスレ —ブ 7内に参加応募機能 1 1、 処理実行機能 1 2等を設けるように してもよい。 参加応募機能 1 1は、 マスタ 2から並列処理への参加募集が行わ れると、 自身の稼働状況等から並列処理へ参加できるだけの空き資 源、 リソースが残存しているかどうかを判断し、 参加する場合は、 マスタ 2に対して参加応募の旨を応答する。 尚、 ス レーブ 7は、 自 身の稼働状況、 利用状況等を常時監視することもできる。
処理実行機能 1 2は、 マスタ 2から受け取った処理プログラムに より所定の処理を実行する。
スレーブ 7には、 参加応募機能 1 1、 処理実行機能 1 2、 稼働状 況監視、 利用状況監視等に係るプログラムを常駐させてもよいし、 スクリーンセ一バ等に参加応募機能 1 1、 処理実行機能 1 2、 稼働 状況監視等に係るプログラムを内包させ、 スクリ一ンセーバ起動時 にこれらのプログラムを起動させるようにしてもよレ、。
この場合、 スレーブ 7が未使用時には、 スク リーンセ一バが起動 し、 参加応募機能 1 1、 処理実行機能 1 2に係るプログラムも起動 するので、 ス レーブ 7は、 並列処理への参加募集に対して参加応募 して当該並列処理に参加することができる。 また、 スク リーンセー バが起動すると、 稼働状況監視に係るプログラムも起動するので、 スレーブ 7は、 並列処理に係る処理を実行中であっても、 自身の稼 働状況に応じて、 他の並列処理への参加募集に対して参加応募し、 当該並列処理に参加することが可能である。 すわわち、 スレーブ 7 は、 並列処理に係る複数の処理を同時に実行可能である。
次に、 図 2乃至図 5を参照しながら、 並列処理システム 1 0 0の 処理手順について説明する。
まず、 図 2及び図 4を参照しながら、 マスタ 2が有する処理受付 機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 及び、 スレーブ 7— 1、 7— 2、 …が有する参加応募機能 1 1等による処理につい て説明する。
尚、 「処理」 の区別のため必要に応じて、 端末装置 5— 1、 5 - 2 、 …から依頼された処理を 「依頼処理」 と呼び、 ス レーブ 7— 1、 7— 2、 …に分配、 割り付けられた処理を 「割付処理」 と呼ぶ。 図 2は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応募機能 1 1等に係る処理の概略を示す図である。
図 4は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応募機能 1 1等に係る処理の手順を示すフローチャートで ある。
図 2に示すように、 依賴者 4一 1、 4— 2、 …の端末装置 5— 1 、 5— 2、 …は、 例えば、 依頼処理 A、 B、 …の処理依頼をマスタ 2に行い、 依頼処理 A、 B、 …の処理プログラム及び処理データを マスタ 2に送信する (ステップ 4 0 1 )。
尚、 スレーブ 7 (又はその外部メモリ 8 ) には、 予め、 参加応募 機能 1 1等と共に、 処理実行機能 1 2に係る処理プログラム及び処 理データを記憶させ、 端末装置 5— 1、 5— 2、 …は、 処理プロク ラム及び処理データを送ることなく、 マスタ 2に処理 A、 B、 …の 処理依賴のみ行ってもよい。 あるいは、 スレーブ 7 (又はその外部 メモリ 8 ) に、 予め、 参加応募機能 1 1 と共に、 処理実行機能 1 2 に係る処理プログラム及び処理データの一部を記憶させ、 残りの処 理プログラム及び処理データに関しては、 端末装置 5— 1、 5 - 2 、 …が依頼処理 A、 B、 …の処理依頼を行う際にマスタ 2に送信す るようにしてもよレ、。
マスタ 2は、 各依頼者 4一 1、 4一 2、 …の端末装置 5— 1、 5 一 2、 …からの依頼処理を受信し、 受付ける (ステップ 4 0 2 )。 図 2に示すように、 マスタ 2は、 例えば、 依頼者 4一 1 の端末装 置 5— 1から依頼処理 Aを受付け (ステップ 4 1一 1 )、依頼者 4— 2の端末装置 5— 2から依頼処理 Bを受付け (ステップ 4 1一 2 ) 、 処理受付テーブル 2 1を作成する。 処理受付テ一ブル 2 1は、 端 末装置と依頼処理とを対応付ける。
ここで、 処理受付機能 1 3に W E Bサーバと しての機能を設ける ことにより、 マスタ 2は、 端末装置 5から W E Bページに入力され た処理を依頼処理として受け付けることができる。
尚、 ステップ 4 0 1〜ステップ 4 0 2の処理を随時行うようにす ることができる。
マスタ 2は、 ブロードキャス ト通信で、 ス レーブ群 6の全てのス レーブ 7— 1、 7— 2、 …に対して並列処理への参加を募集する ( ステップ 4 0 3 )。
スレーブ 7— 1、 7— 2、 …は、 自身の稼働状況から並列処理へ 参加できるだけの空き資源、 リ ソースが残存しているかどうかを判 断し、 参加する場合は、 マスタ 2に対して参加応募の旨を応答する (ステップ 4 0 4 )。
図 2に示すように、 例えば、 マスタ 2からの参加募集の打診があ ると (ステップ 4 2 )、 ス レーブ 7— 1、 7— 2、 7 - 4 (ス レーブ 7— 3は、 参加応募せず) は、 それぞれ、 参加応募を行う (ステツ プ 4 3— 1、 4 3 - 2 , 4 3— 4 )。
マスタ 2は、 端末装置 5— 1、 5— 2、 …から送られた依頼処理 から割付処理を生成し、 参加応募の旨の応答があったス レーブ 7— 1、 7— 2、 …に割り付ける (ステップ 4 0 5 )。 尚、 マスタ 2は、 必要に応じて依頼処理を分割して割付処理を生成する。
図 2に示すように、 例えば、 マスタ 2は、 依頼処理 Aを割付処理 A 1 と割付処理 A 2に分割し、 依頼処理 Bを割付処理 Bと して、 参 加応募したスレーブ 7— 1、 7— 2、 7 - 4 (スレーブ 7— 3は、 参加応募せず) に対して、 それぞれ、 割付処理 A 1、 割付処理 A 2 、 割付処理 Bを割り付け、 処理割付テーブル 3 1を作成する。 処理 割付テーブル 3 1は、 ス レーブと割付処理とを対応付ける。
マスタ 2は、 割付処理を割り付けた各ス レーブ 7— 1、 7— 2、 …に、 割付処理に係る処理プログラム、 処理データ等を送信し、 処 理を分配する (ステップ 4 0 6 )。
図 2に示すように、 例えば、 マスタ 2は、 スレーブ 7— 1に割付 処理 A 1に係る処理プログラム、 処理データ等を送信し、 スレーブ 7— 2に割付処理 A 2に係る処理プログラム、 処理データ等を送信 し、 スレーブ 7— 4に割付処理 Bに係る処理プログラム、 処理デ一 タ等を送信する (ステップ 4 4— 1、 4 4 - 2 , 4 4一 4 )。
尚、 端末装置 5— 1、 5— 2、 …からの処理受付の状況に応じて 、 ステップ 4 0 3〜ステップ 4 0 6の処理を随時行うようにするこ とができる。
尚、 プロ一ドキャス ト通信では、 同一データリンク内の全ノード (ネッ トワークに接続されているコンピュータ等の機器) に対して 情報を送信することができるので、 マスタ 2は、 ブロー ドキャス ト 通信により同一データリ ンク内のスレーブ群 6全体に対して、 並列 処理への参加募集を行い、 スレーブ 7は、 ブロー ドキャス ト通信に より同一データリンク內のマスタ 2 (分散マスタ 3 ) 全体に対して 、 参加応募を行うことができる。
次に、 図 3及び図 5を参照しながら、 スレーブ 7— 1、 7— 2、 …が有する処理実行機能 1 2、 マスタ 2が有する実行結果取得機能 1 6、 端末装置 5— 1、 5— 2、 …が有する実行結果取得機能 1 7 等による処理について説明する。 図 3は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果取 得機能 1 7等に係る処理の概略を示す図である。
図 5は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果取 得機能 1 7等に係る処理の手順を示すフローチヤ一トである。
スレーブ 7— 1、 7— 2…は、 マスタ 2から割付処理に係る処理 プログラム、 処理データを受け取る (ステップ 50 1 )。
図 2に示すように、 例えば、 スレーブ 7— 1、 7— 2、 7— 4は 、 割付処理 A 1、 A 2、 Bに係る処理プログラム、 処理データ等を 受け取る (ステップ 44一 1、 44— 2、 44— 4)。
尚、 予め、 処理プログラムや処理データがス レーブ 7— 1、 7 - 2、 …内や外部メモリ 8— 1等に記憶されている場合には、 スレ一 ブ 7— 1、 7— 2、 …は、 マスタ 2から処理実行依頼のみを受信す る。
スレーブ 7— 1、 7— 2…は、 受け取った処理プログラムを起動 し、 割付処理を実行する (ステップ 5 02 )。
図 3に示すように、 例えば、 ス レーブ 7— 1、 7— 2、 7— 4は 、 それぞれ、 割付処理に係る処理プログラム A 1、 A 2、 Bを起動 し、 割付処理 A 1、 A 2、 Bを実行する (ステップ 4 5— 1、 4 5 一 2、 4 5— 4)。
スレーブ 7— 1、 7— 2…は、 処理プログラム終了後、 処理プロ グラムの実行結果 (割付処理の実行結果) をマスタ 2に送信する ( ステップ 5 0 3 )。
図 3に示すように、 例えば、 ス レーブ 7— 1、 7— 2、 7— 4は 、 それぞれ、 実行結果 a 1、 a 2 , b (割付処理の実行結果) をマ スタ 2に送信する (ステップ 4 6— 1、 4 6 - 2, 4 6— 4)。 マスタ 2は、. ス レーブ 7— 1、 7 - 2…から割付処理の実行結果 を受信し、 処理割付テーブル 3 1に対応付けて記録する (ステップ 5 0 4 )。
マスタ 2は、 割付処理の実行結果を依頼処理毎に集約し、 処理受 付テ一ブル 2 1に対応付けて記録する (ステップ 5 0 5 )。
図 3に示すように、 例えば、 マスタ 2は、 割付処理毎の実行結果 a l、 a 2、 bを依頼処理毎の実行結果 A、 Bに集約する (ステツ プ 4 7 )。
マスタ 2は、 依頼処理毎に取得した実行結果を対応する依頼者 4 一 1、 4一 2、 …の端末装置 5— 1、 5— 2、 …に送信し (ステツ プ 5 0 6 )、 端末装置 5— 1、 5— 2、 …は、 依頼した処理の実行結 果を受け取る (ステップ 5 0 7 )。
図 3に示すように、 例えば、 マスタ 2は、 依頼処理 Aの実行結果 Aを端末装置 5 - 1に送信し (ステップ 4 8 — 1 )、依頼処理 Bの実 行結果 Bを端末装置 5— 2に送信する (ステップ 4 8— 2 )。
マスタ 2は、 割付処理実行中のスレーブから所定の期限 (例えば 、 処理実行開始後、 1 日経過) までに実行結果を受信しなかった場 合、 その他、 割付処理実行中のスレーブが正常動作していないと認 められる場合等、 スレーブ群 6に対して並列処理への参加募集を行 レ、、 参加応募した別のスレーブ 7— 1、 7— 2、 …に、 同じ処理を 割振り、 実行させる (ステップ 4 0 3〜ステップ 4 0 6 )。
また、 図 3に示すように、 ス レーブ 7— 1、 7— 2、 …は、 マス タ 2に実行結果を送信せずに、 直接、 依頼者 4一 1、 4一 2、 …の 端末装置 5— 1、 5— 2、 …に実行結果を送信してもよい (ステツ プ 4 9 )。 さらに、 スレーブ 7— 1、 7— 2、 …は、 ブロードキャス ト通信により、 ネッ トワーク 9に実行結果を送出し、 マスタ 2 (分 散マスタ 3 ) もしくは端末装置 5が必要に応じて当該実行結果を受 信するようにしてもよレ、。
また、 マスタ 2は、 並列処理を終了する時は、 参加応募したス レ —ブ 7— 1 、 7— 2、 …に対して、 終了指示を送り、 当該終了指示 を受けたス レーブ 7— 1 、 7— 2、 …は、 参加応募、 割付処理の実 行等を終了する。
尚、 上記のステップ 4 0 1 〜ステップ 4 0 6、 ステップ 5 0 1 〜 ステップ 5 0 7に係る処理は、 依頼処理毎、 割付処理毎に独立、 平 行して実行することができる。 例えば、 ステップ 5 0 4の処理にお いて、 ある時点において、 依頼処理 Aに係る割付処理の実行結果の 全てを受信した場合、 依頼処理 Bに係る割付処理の実行結果の全て を受信していない場合であっても、 依頼処理 Aに関しては、 ステツ プ 5 0 5以降の処理を進めることができる。
次に、 端末装置 5— 1 、 5— 2、 ···、 及び、 ス レーブ 7— 1 、 7 一 2…等が異なる処理体系を採る演算装置 (C P U等) を有する場 合について説明する。
ス レーブ 7— 1 、 7— 2、 …と して、 例えば、 情報家電、 携帯電 話等を用いる場合、 C P Uの処理体系の相違により、 ネッ トワーク あるいは外部メモリを介して依頼者の端末装置から受け取った処理 プログラム等をそのままス レーブ上では実行できないことがある。 この場合、 依頼者から受け取った処理プログラム等に関して、 ス レーブ上で実行可能な処理体系に演算コード等を変換する機能 (C P U命令変換機能) をス レーブ 7— 1 、 7— 2、 …側またはマスタ 2側に設けることにより、 スレーブ上での処理プログラム等の実行 を可能とすることができる。
次に、 上記の参加応募機能 1 1、 処理実行機能 1 2 、 C P U命令 変換機能等をス レーブ 7— 1 、 7— 2、 …側、 例えば、 U S Bメモ リ · キ一等の外部メモリ 8— 1、 8— 2、 …に持たせる場合につい て説明する。
図 6は、 スレーブ 7 - 1 の外部メモリ 8— 1が有する機能に関す る説明図である。
図 6に示すように、 スレーブ 7— 1 、 7— 2、 …は、 外部メモリ 8— 1、 8— 2、 …上に、 前述したスレーブの参加応募機能 1 1 、 依頼された処理プログラム等である処理実行機能 1 2に加えて、 通 信設定 (ポートの設定等) 機能 5 1、 C P U命令変換機能 5 2等を 有する。 スレーブ 7は、 C P U命令変換機能 5 2により必要に応じ て、 処理プログラムを実行可能な命令コードに変換して実行する。 この C P U命令変換機能は、 いわゆるエミ ユ レ一ショ ン機能等を有 する。
スレーブが上記の外部メモリを介して並列処理に参加する場合、 スレーブ上の記憶装置 (ハードディスク、 不揮発性メモリ等) 等に 並列処理に係る機能、 情報等を予め記録、 設定する必要もなく、 ま た、 並列処理参加後のス レーブ側の設定等は、 並列処理参加前の状 態に保たれる。 さらに、 スレーブ上の記憶装置 (ハードディスク、 不揮発性メモリ等) 等に並列処理に係る痕跡等を残すこともない。 以上説明したように、 本発明の第 1の実施の形態によれば、 マス タ 2は、 各依頼者 4の端末装置 5から処理の依頼 (依頼処理) を受 付け、 ブロードキャス ト通信によりス レーブ群 6全体に対して並列 処理への参加寡集を行う。 スレーブ 7は、 自身の稼働状況から並列 処理へ参加できるだけの空き資源、 リ ソースが残存しているかどう かを判断し、 並列処理へ参加する場合は、 マスタ 2に対して参加応 募の旨を応答する。 マスタ 2は、 参加応募したスレーブ 7に処理を 割振り、 割振った処理 (割付処理) を送信する。 スレーブ 7は、 マ スタ 2から受け取った割付処理を実行し、 処理終了後、 実行結果を マスタ 2又は依頼者 4側の端末装置 5に送信し、 マスタ 2あるいは 端末装置 5は、 実行結果を受け取る。
また、 マスタ 2あるいはス レーブ 7は、 処理プログラム等に関し て、 ス レーブ 7上で実行可能な処理体系に演算コード、 命令コード 等を変換する機能 (C P U命令変換機能) を有し、 必要に応じて、 処理プログラム等の演算コード、 命令コード等を変換する。
このように、 マスタ 2 (サーバ) は、 必要に応じて随時並列処理 への参加を募集し、 スレーブ 7 (処理端末装置) は、 稼働状況等に 応じて並列処理に参加するので、 マスタ 2は、 ス レーブ 7の稼働状 況等を管理する必要がなく、 参加応募したス レーブ 7に割付処理を 割り当てることにより、 効率的かつ高速な並列処理を実現すること ができる。 従って、 スレーブ 7は、 並列処理への途中参加が可能で ある。
また、 マスタ 2は、 複数の分散マスタ 3— 1、 3— 2、 …により 構成することもできる。 同一の指示、 同一の返信に対しても、 早着 優先で処理することにより容易に多重化が可能であり、 ひいては耐 障害性が向上する。
また、 マスタ 2は、 ブロードキャス ト通信を用いて、 ス レーブ群 6全体に対して参加募集を行い、 参加応募の旨の応答があったスレ —ブ 7に対して、 処理を割り付けるので、 ス レーブ 7の状態管理を 行う必要がない。 一方、 ス レーブ 7側にしても、 マスタ 2が複数の 分散マスタ 3— 1、 3— 2、 …により構成される場合等、 ブロード キャス ト通信を用いて、 応答を行うようにしてもよい。
この場合、 マスタ 2 (分散マスタ 3— 1、 3 — 2、 · · ·)、 スレーブ 7は、 ポート設定等により、 自身に必要な情報のみを受け取るよう にすればよい。 従って、 マスタ 2 (分散マスタ 3 )、 スレーブ 7双方 共、 相手を意識することなく指示、 応答等を行うことが可能である 尚、 ブロー ドキャス ト通信では、 同一データリンク内の全ノード (ネッ トワークに接続されているコンピュータ等の機器) に対して 情報を送信することができるので、 マスタ 2は、 ブロー ドキャス ト 通信により同一データリンク內のスレーブ群 6全体に対して、 並列 処理への参加募集を行い、 スレーブ 7は、 ブロー ドキャス ト通信に より同一データリンク內のマスタ 2 (分散マスタ 3 ) 全体に対して 、 参加応募を行うことができる。
従来の並列処理では、 並列処理を実行させる処理端末装置のネッ トワーク上の位置あるいは送信先を特定するために I Pア ドレス等 を管理する必要があつたが、 本実施の形態に示した並列処理では、 ブロードキャス ト通信によりネッ トワークにおける通信処理が行わ れるので、 I Pア ドレス等を管理する必要がない。
尚、 本実施の形態では、 処理プログラム及び処理データを依頼者 4側の端末装置 5からマスタ 2に一旦送信し、 各スレーブ 7に送信 したが、 処理アプリケーショ ンに応じて (例えば、 画像データを入 力とする画像生成処理等)、 各スレーブ 7— 1、 7— 2、 …の外部メ モリ 8— 1、 8— 2、 …に予め、 それぞれ参加応募機能 1 1等と共 に、 同じ処理プログラムを格納しておき、 処理依頼の際に、 異なる 処理データを各スレーブ 7— 1、 7— 2、 …に送信し、 実行させて もよい。
また、 スレーブ 7が使用不可能になった場合や指示した処理結果 がなかなか返ってこない場合、 並列処理に参加応募している別のス レーブ 7に再度、 同一処理を割振ることで、 期限付きの処理の実行 を可能にする。 また、 ある決められた処理専用のシステムではなく 、 外部 (依頼者 4の端末装置 5 ) からの複数の並列処理を実行する ことが容易に可能となる。
また、 処理端末装置として、 ボランティア端末装置、 すなわち、 —般 O A用途に用いられているパーソナルコンピュータ等の未使用 時間等に係る空き資源を利用可能であり、 膨大な計算量を要する処 理等に係る並列処理を実現することができる。 この場合、 企業等の パーソナルコンピュータを多数抱えているサイ トでは、 安価に高速 計算機環境を取得できると共に、 ボランティア端末装置 (スレーブ ) の更新毎に計算機環境も自動更新されるため、 新たに計算環境を 構築することなく高速化が図られる。
更に、 命令変換機能を有するメモリ をスレーブ 7側又はマスタ 2 側に持たせることで、 一般のパーソナルコンピュ一タだけではなく 、 情報家電等の異なる処理体系、 演算体系を採る演算装置 (C P U 等) を有する機器や携帯電話機を用いた並列処理が可能となり、 さ らなる並列処理の高速化が可能となる。
尚、 図 4、 図 5等に示す処理を行うプログラムは C D— R O M等 の記録媒体に保持させて流通させてもよいし、 このプログラムを通 信回線を介して送受することもできる。
次に、 本発明の第 2の実施の形態について説明する。
図 7は、 本発明の第 2の実施の形態に係る並列処理システム 2 0 0の概略構成を示す図である。
前述の第 1の実施の形態では、 マスタ 2は、 端末装置 5からネッ トワーク 9を介して処理の依頼 (依頼処理) を受付け、 当該依頼処 理を並列処理により処理するが、 第 2の実施の形態では、 依頼処理 は、 直接マスタ 2に入力される。 すなわち、 マスタ 2の処理受付機 能 1 3は、 W E Bページ等によりネッ トワーク 9を介して依頼処理 を受付けるだけでなく、 マスタ 2に直接入力された処理を依頼処理 と して受け付けることができる。
第 1の実施の形態では、 端末装置 5からネッ トワークを 9を介し てマスタ 2に並列処理を依頼することができるので、 リモートから の並列処理の依頼、 処理実行結果の取得が可能となる。 例えば、 多 数の並列処理専用コンピュータをセンタ内に構築し、 リモートから の運用が可能となる。
—方、 第 2の実施の形態では、 割付処理及ぴ割付処理毎の実行結 果は、 ネッ トワーク 9上を流れるが、 依頼処理全体及び依頼処理毎 の実行結果は、 ネッ トワーク 9上を流れることがないので、 安全性 、 機密性を向上することができる。
次に、 本発明の第 3の実施の形態について説明する。
図 8は、 本発明の第 3の実施の形態に係る並列処理システム 3 0 0の概略構成を示す図である。
図 9は、 本発明の第 3の実施の形態に係る並列処理システム 3 0 0の処理の流れを示す図である。
並列処理システム 3 0 0は、 親マスタ 8 0 1、 親マスタに対応付 けられた複数の子マスタ 8 0 3、 子マスタ 8 0 3に対応付けられた 複数のス レーブ 8 0 4等がネッ トワーク 8 0 6を介して接続されて 構成される。 すなわち、 マスタは、 階層構造をなすように構成され る。
グループ 8 0 2は、 子マスタ 8 0 3及びこれに対応付けられた複 数のスレープ 8 0 4により仮想的に構成されるものである。
親マスタ 8 0 1及び子マスタ 8 0 3は、 「サブサーバ」と してのサ 一バコンピュータ等であり、 親マスタ 8 0 1及び子マスタ 8 0 3全 体として、 第 1及び第 2の実施の形態における 「サーバ」 としての マスタ 2に相当するするものである。
親マスタ 8 0 1は、 第 1の実施の形態におけるマスタ 2と同様に 、 処理受付機能 8 1 1、 参加募集機能 8 1 2、 処理割付機能 8 1 3 、 実行結果取得機能 8 1 4を有する。
子マスタ 8 0 3は、 第 1の実施の形態におけるスレーブ 7と同様 に、 参加応募機能 8 1 5を有し、 マスタ 2と同様に、 参加募集機能 8 1 6、 処理割付機能 8 1 7、 実行結果取得機能 8 1 8を有する。 スレーブ 8 0 4は、 第 1の実施の形態におけるスレーブ 7と同様 に、 参加応募機能 8 1 9、 処理実行機能 8 2 0を有する。
図 9に示すように、 例えば、 親マスタ 8 0 1は、 依頼処理 Cを受 信あるいは入力されると、 ブロー ドキャス ト通信を用いて、 全ての 子マスタ 8 0 3に対して並列処理への参加を募集する。
子マスタ 8 0 3は、 並列処理へ参加する場合、 親マスタ 8 0 1に 対して参加応募の旨を応答する。
親マスタ 8 0 1は、 依頼処理 Cから割付処理 C 1〜割付処理 C 1 0を生成し、 参加応募した子マスタ 8 0 3に当該割付処理を送信す る。
尚、 グループ 8 0 2の処理能力 (子マスタ 8 0 3に対応付けられ るスレーブ 8 0 4の処理能力) に応じて、 連続的に、 例えば、 割付 処理 C 1〜割付処理 C 5を子マスタ 8 0 3— 1に、 割付処理 C 6〜 割付処理 C 1 0を子マスタ 8 0 3— 2に送信する。
子マスタ 8 0 3は、 ブロードキャス ト通信を用いて、 同一グルー プ 8 0 2内の全てのスレーブ 8 0 4に対して並列処理への参加を募 集する。
スレーブ 8 0 4は、 並列処理へ参加する場合、 子マスタ 8 0 3に 対して参加応募の旨を応答する。
子マスタ 8 0 3は、 親マスタ 8 0 1から受信した複数の割付処理 を参加応募したスレーブ 8 0 4それぞれに分配する。
図 9に示すように、 例えば、 子マスタ 8 0 3— 1は、 参加応募し たスレーブ 8 0 4それぞれに割付処理 C 1、 C 2、 · ··、 C 5を送信 し、 子マスタ 8 0 3— 2は、 参加応募したスレーブ 8 0 4それぞれ に割付処理 C 6、 C 7、 ···、 C 1 0を送信する。
スレーブ 8 0 4は、 それぞれ割付処理を実行し、 当該割付処理の 結果は、 子マスタ 8 0 3を介して、 親マスタ 8 0 1に送信される。 親マスタ 8 0 1は、 割付処理の実行結果を集約して、 依頼処理毎 の実行結果を作成する。
このように、 子マスタ 8 0 3は、 親マスタ 8 0 1から割付処理 ( 処理データ、 処理プログラム等) を連続的に受信し、 当該複数の割 付処理を当該子マスタ 8 0 3に対応付けられたスレーブ 8 0 4 (同 —グループ 8 0 2内のスレーブ 8 0 4 ) に分配して実行させること ができるので、 並列処理の高速化を図ることができる。
第 1の実施の形態及び第 2の実施の形態に示すように、 上記の階 層化を行わない場合、 1のマスタ 2に対して全てのスレーブ 7が参 加応募の応答等を行うため、 マスタ 2において通信負荷が増大し、 通信ボトルネックが発生する可能性がある。
上記の第 3の実施の形態では、 マスタは、 階層構成をなし、 スレ ーブ 8 0 4は、 子マスタ 8 0 3に対して応答等を行うため、 並列処 理システム 3 0 0に係る通信負荷を軽減することができ、 動作の安 定性が向上する。
図 8、 図 9では、 マスタは、 2階層構成をなすが、 さらなる多重 の階層構成とすることができる。 この場合であっても、 ス レーブは 、 同一グループ内のマスタ (当該スレーブに対応するマスタ) に対 して応答等を行い、 下層のマスタは、 直上の階層のマスタに対して 応答等を行うため、 並列処理の高速化を図ることができるとともに 、 並列処理システムに係る通信負荷を軽減し、 動作の安定性を向上 することができる。
マスタとその直下階層のマスタと間の処理 (参加募集、 参加応募. 、 処理割付、 実行結果の送信、 実行結果の取得等) については、 第 1の実施の形態、 第 2の実施の形態におけるマスタ 2とスレーブ 7 との間の処理と略同様である。 従って、 マスタの階層化等に係るシ ステム構成の変更も容易であり、 特別の管理アプリケーショ ン等を 開発、 用意する必要もない。
例えば、 図 8に示すように、 マスタの階層化に伴い設けられる子 マスタ 8 0 3は、 上述のスレーブ 7が有する参加応募機能、 及び、 上述のマスタ 2が有する参加募集機能、 処理割付機能、 実行結果取 得機能等を有していればよく、 特別の管理アプリケーショ ン等を開 発、 用意する必要もない。
尚、 第 1の実施の形態及び第 2の実施の形態のいずれにおいても 、 第 3の実施の形態に示したマスタの階層化を実現することができ る。
次に、 並列処理システムにおける、 ブロー ドキャス ト通信による 通信処理の詳細を説明する。
上記の第 1の実施の形態〜第 3の実施の形態に示した並列処理シ ステムでは、 マスタとスレーブ、 端末装置等との間の通信、 ネッ ト ワークを介する通信処理に関しては、 ブロードキャス ト通信を用い て、 通信データ、 情報の授受 (参加募集、 参加応募、 処理割付、 実 行結果の送信、 実行結果の取得等) が行われる。 図 1 0は、 上述のマスタ 2及びスレーブ 7におけるブロードキヤ ス ト通信による通信処理の概略を示す図である。
尚、 所定の通信処理に関する送信元と送信先のポート番号は、 異 なる場合があるが、 説明の容易のため、 所定の通信処理の種類毎に ポー ト番号が設定され、 送信元と送信先のポート番号は、 同一であ るものと して説明する。
図 1 0に示すように、 マスタ 2には、 2 0 0 0番ポート、 2 0 0 1番ポート、 2 0 0 2番ポー ト、 2 0 0 3番ポー ト、 2 0 0 4番ポ ート、 …が設定され、 スレーブ 7— 1には、 2 0 0 0番ポート、 2 0 0 1番ポ一 ト、 ス レーブ 7— 2には、 2 0 0 0番ポ一 ト、 2 0 0 2番ポート、 ス レーブ 7— 3には、 2 0 0 0番ポート、 2 0 0 3番 ポー ト、 ス レーブ 7— 4には、 2 0 0 0番ポート、 2 0 0 4番ポ一 ト、 …が設定される。
' 2 0 0 0番ポ一トは、 マスタ 2及び全てのスレーブ 7の間の通信 (例えば、 参加募集) に関する通信ポー トである。
2 0 0 1番ポ一トは、 マスタ 2 とスレーブ 7— 1 との間の通信 ( 例えば、 参加応募) に関する通信ポートである。
2 0 0 2番ポートは、 マスタ 2 とス レーブ 7— 2 との間の通信 ( 例えば、 参加応募) に関する通信ポートである。
2 0 0 3番ポー トは、 マスタ 2 とス レーブ 7— 3 との間の通信 ( 例えば、 参加応募) に関する通信ポートである。
2 0 0 4番ポートは、 マスタ 2 とス レーブ 7— 4との間の通信 ( 例えば、 参加応募) に関する通信ポートである。
マスタ 2は、 全てのス レーブ 7に対して通信データを送信する場 合 (例えば、 並列処理への参加募集を行う場合)、 送信先ポート番号 2 0 0 0を通信データに付加して、 当該通信データをブロードキヤ ス ト通信によりネッ トワーク 9に送出する。 スレーブ 7— 1、 7 - 2、 7— 3、 7— 4、 …は、 ポー ト番号 2 0 0 0が設定されている ので、 当該通信データ (送信先ポート番号 2 0 0 0 ) を受信する ( ステップ 1 0 0 1 )。
スレーブ 7— 1は、 マスタ 2に対して通信データを送信する場合 (例えば、 並列処理への参加応募を行う場合)、送信先ポート番号 2 0 0 1を通信データに付加して、 当該通信データをブロードキャス ト通信によ りネッ トワーク 9に送出する。 マスタ 2は、 ポート番号 2 0 0 1が設定されているので、 当該通信データ (送信先ポート番 号 2 0 0 1 ) を受信する (ステップ 1 0 0 2 )。
同様にして、 スレーブ 7— 2、 7— 4は、 マスタ 2に対して通信 データを送信する場合、 それぞれ、 送信先ポート番号 2 0 0 2、 2 0 0 4を通信データに付加して、 当該通信データをブロードキャス ト通信によ りネッ トワーク 9に送出し、 マスタ 2は、 ポート番号 2 0 0 2、 2 0 0 4が設定されているので、 当該通信データ (送信先 ポート番号 2 0 0 2、 2 0 0 4 ) を受信する (ステップ 1 0 0 3、 ステップ 1 0 0 4 )。
上記の説明では、 参加募集、 参加応募に関する通信処理を例と し てあげたが、 その他、 割付処理の送受信、 割付処理の実行結果の送 受信等に関する通信処理に関しても、 当該通信処理の種類毎に、 必 要に応じて、 マスタ 2、 ス レーブ 7、 端末装置 5にポート番号を設 定し、 ポー ト番号を付加した通信データをブロー ドキャス ト通信で ネッ トワーク 9に送出することにより、 マスタ 2及ぴスレーブ 7、 端末装置 5の間で通信データの授受を行い、 並列処理を実現するこ とができる。
尚、 マスタ 2が分散化、 多重化されている場合は、 同一の指示、 同一の応答であっても、 早着優先で処理するようにすればよい。 次に、 本発明の第 4の実施の形態について説明する。 以下に示す 各実施の形態の説明では、 第. 1の実施の形態と異なるところを主と して説明し、 重複した説明を避ける。
図 1 1は、 本発明の第 4の実施の形態に係る並列処理システム 1 0 0— 1 の概略構成を示す図である。
この並列処理システム 1 0 0— 1では、 マスタ 2は、 処理受付機 能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 実行結果取得機能 1 6、 処理履歴管理機能 1 8等を有する。
処理履歴管理機能 1 8は、 処理割付の履歴、 ス レーブ群 6の各ス レーブ 7— 1、 7— 2、 …における処理履歴 (割付処理の種類、 処 理開始日時、 処理終了日時等) 及び当該処理履歴から導出される情 報等 (処理実績、 処理時間、 平均処理時間等) を有する処理履歴テ 一ブルを保持する。
次に、 並列処理システム 1 0 0— 1 の処理手順について説明する 図 1 2は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 処理履歴管理機能 1 8、 参加応募機能 1 1等に係る処理の概 略を示す図である。
図 1 4は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 処理履歴管理機能 1 8、 参加応募機能 1 1等に係る処理の手 順を示すフローチャートである。
図 1 4に示すフローチャートでは、 図 4に示すフ口一チャートと 比較してステップ 1 4 0 6の処理が加わったものであるので、 異な る点を主として説明する。 ステップ 1 40 1からステップ 1 40 5までの処理は、 第 1の実 施の形態のステップ 40 1からステップ 4 0 5 (図 4) の処理と同 様である
マスタ 2は、 処理を割り付けたス レーブ 7毎に、 処理制限時間 ( タイムアウ ト時間) を設定する (ステップ 1 40 6 )。
図 1 2に示すように、 例えば、 マスタ 2は、 処理履歴テーブル 3 3 (ス レーブ 7毎の処理実績、 処理時間、 平均処理時間等) を参照 して、 あるいは、 事前調査により入力されたスレーブ 7毎の処理能 力 (C PU能力等) に基づいて、 処理制限時間の設定時間を定め、 処理割付テーブル 3 1に対応付けて記録する (ステップ 45)。
図 1 3は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7、 処理履歴管理機能 1 8等に係る処理の概略を示す図 である。
図 1 5は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7、 処理履歴管理機能 1 8等に係る処理の手順を示すフ ローチャートである。
ステップ 1 50 1からステップ 1 50 4までの処理は、 ステップ 5 0 1からステップ 50 4までの処理と同様である。
マスタ 2は、 依頼処理毎に、 処理制限時間 (タイムアウ ト時間) を経過し、 ス レーブ 7から実行結果を受信していない割付処理があ るかどうかを判定し (ステップ 1 5 05 )、 該当する割付処理が残存 している場合 (ステップ 1 5 0 5の Y e s )、 スレーブ群 6に対して 並列処理への参加募集を行い、 参加応募した別のス レーブ 7— 1、 7— 2、 …に、 同じ処理を割振り、 実行させる (ステップ 1 40 3 〜ステップ 1 40 7)。
例えば、 図 1 3に示すように、 処理制限時間 (タイムアウ ト時間 ) 7 0秒を経過した時点で、 ス レーブ 7— 2に割り付けた割付処理 A 2 の実行結果を受信しなかった場合、 マスタ 2は、 ス レーブ群 6 に対して並列処理への参加募集を行う (ステップ 1 5 3 )。
尚、 ス レーブ 7から実行結果を受信することなく処理制限時間 ( タイムアウ ト時間) が経過した場合とは、 割付処理実行中のス レ一 ブから所定の期限 (例えば、 処理実行開始後、 1 日経過、 3 0秒経 過、 7 0秒経過、 5 0秒経過) までに実行結果を受信しなかった場 合、 その他、 割付処理実行中のス レーブが正常動作していないと認 められる場合、 ス レーブが利用できなくなった場合等である。
マスタ 2は、 依頼処理毎に、 処理制限時間 (タイムアウ ト時間) を経過し、 ス レーブ 7から実行結果を受信していない割付処理があ るかどうかを判定し (ステップ 1 5 0 5 )、該当する割付処理がない 場合(ステップ 1 5 0 5の N o )、割付処理の実行結果を依頼処理毎 に集約し、 処理受付テーブル 2 1に対応付けて記録する (ステップ 1 5 0 6 )。
図 1 3に示すよ うに、 例えば、 マスタ 2は、 割付処理毎の実行結 果 a l、 a 2、 bを依頼処理毎の実行結果 A、 Bに集約する (ステ ップ 1 4 9 )。
その後ステップ 1 5 0 7の処理を経て、 マスタ 2は、 処理割付の 履歴、 ス レーブ群 6 の各ス レーブ 7— 1、 7 _ 2、 …における処理 履歴 (割付処理の種類、 処理開始日時、 処理終了日時等) 及び当該 処理履歴から導出される情報等 (処理実績、 処理時間、 平均処理時 間等) を有する処理履歴テーブル 3 3を更新する (ステップ 1 5 0 9 )
例えば、 図 1 3に示すように、 マスタ 2は、 ス レーブ 7— 1、 7 一 4から実行結果を受信した場合、 処理履歴テーブル 3 3の当該ス レーブに対応する処理履歴を更新する (ステップ 1 5 2 )。
マスタ 2は、 並列処理を終了する時は、 参加応募したス レーブ 7 一 1、 7— 2、 …に対して、 終了指示を送り、 当該終了指示を受け たスレーブ 7— 1、 7— 2、 …は、 参加応募、 割付処理の実行等を 終了する。
以上説明したように第 4の実施の形態によれば、 マスタ 2は、 割 付処理を割り付ける際、 ス レーブ 7毎に処理制限時間 (タイムァゥ ト時間) を設定し、 当該処理制限時間内に割付処理の実行結果が送 信されなかった場合、 他のス レーブ 7に当該割付処理を割り付け実 行させる。
従って、 ス レーブ 7が処理途中で利用不可になった場合、 あるい は、 故障等により処理実行不可能になった場合であっても、 並列処 理を継続することが可能であり、 耐障害性が向上する。 すなわち、 マスタ 2は、 処理途中において、 スレーブを処理から脱落させるこ とが可能である。
また、 処理制限時間内に実行結果を送信しなかったス レーブ 7 ( 以下、 「先に割り付けたスレーブ 7 j という) の割付処理を他のスレ ーブ 7 (以下、 「後に割り付けたスレーブ 7」 とレ、う) に割り付けた 場合、 マスタ 2は、 先に割り付けたスレーブ 7に対して割付処理の 実行を終了するように指示してもよいし、 あるいは、 そのまま放置 し、 先に割り付けたス レーブ 7、 後に割り付けたスレーブ 7のいず れかから先に送信された実行結果を受信し、 後に他方の実行結果が 送信された場合はこれを捨象するようにしてもよい。 この場合、 マ スタ 2は、 スレーブ 7の状態、 処理の状況等を管理する必要がない また、 マスタ 2は、 ス レーブ 7毎の処理履歴等を保持し、 この処 理履歴等を参照して、 あるいは、 事前に入力されたス レーブ 7毎の 処理能力 (C P U能力等) に応じて、 スレーブ 7毎に処理制限時間 (タイムアウト時間) を設定する。
従って、 マスタ 2は、 ス レーブ 7毎に処理能力に応じて処理制限 時間 (タイムアウ ト時間) を設定するので、 一律の処理制限時間 ( タイムアウ ト時間) を設定する場合と比較して、 無駄な待ち時間を 減ずることができる。
例えば、 ある割付処理を実行するのに、 高性能 C P Uを有するス レーブでは 1 0秒で終了するが、 低性能 C P Uを有するス レーブで は 6 0秒を要する場合、 仮に、 処理制限時間 (タイムアウ ト時間) を一律に 7 0秒とした場合、 高性能 C P Uを有するス レーブが割付 処理の処理開始後 1 5秒経過した時点で処理不可となると、 マスタ 2は、 5 5秒間の待ち時間を経てから、 ようやく、 他のス レーブに 対して当該割付処理を割り付けることになる。
しかしながら、 高性能 C P Uを有するスレーブの処理制限時間 ( タイムアウ ト時間) を 1 5秒、 低性能 C P Uを有するスレーブの処 理制限時間 (タイムアウ ト時間) を 7 0秒とすることで、 無駄な待 ち時間を減じて、 並列処理全体として処理の高速化が可能である。 次に本発明の第 5の実施の形態を説明する。 図 1 6、 本発明の第 5の実施の形態に係る並列処理システム 1 0 0— 2の概略構成を示 す図である。
図 1 6に示すように、 第 5の実施の形態では、 マスタ 2は、 処理 受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 実行結果取 得機能 1 6、 処理履歴管理機能 1 8、 通信負荷機能 1 9等を有する 処理割付機能 1 5は、 依頼された処理 (依頼処理) から、 割付処 理を生成して、 スレーブ 7— 1、 7— 2、 …に、 処理能力に基づい た処理量 (粒度) に応じた、 1又は複数の割付処理を割付ける。 通 信負荷監視機能 1 9は、 ネッ トワーク 9上の通信負荷率を測定し、 通信負荷を監視し、 割付処理の処理量を制御する。
次に、 並列処理システム 1 0 0— 2の処理手順について説明する 図 1 7は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 処理履歴管理機能 1 8、 通信負荷監視機能 1 9、 参加応募機 能 1 1等に係る処理の概略を示す図である。
図 1 9は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 処理履歴管理機能 1 8、 通信負荷監視機能 1 9、 参加応募機 能 1 1等に係る処理の手順を示すフ口一チャートである。
ステップ 2 4 0 1から 2 4 0 4までの処理は、 第 1の実施の形態 のステップ 4 0 1から 40 4までの処理と同様である。
マスタ 2は、 参加募集したス レーブ 7毎に、 処理能力 (C PU能 力) を設定する (ステップ 2 4 0 5 )。
図 1 7に示すように、 例えば、 マスタ 2は、 処理履歴テーブル 3 3 (スレーブ 7毎の処理実績、 処理時間、 平均処理時間等) を参照 して、 あるいは、 事前調査により入力されたスレーブ 7毎の C P U 能力、 メモリ量等に基づいて、 処理能力を定め、 処理割付テーブル 3 2に対応付けて記録する (ステップ 2 4 4 a )。
マスタ 2は、 スレーブ毎に処理能力に基づいて、 一度に割り付け る処理量 (処理粒度) を制御し、 設定する (ステップ 2 4 0 6)。 例えば、 マスタ 2は、 処理能力が 「 1 0 0」 であるスレーブ 7—
1に対して処理粒度を 「 1 j ( 1つの割付処理) とし、 処理能力が r 2 0 0」 であるスレーブ 7 — 2に対して処理粒度を 「 2」 ( 2つの割 付処理) と し、 処理能力が 「 3 0 0」 であるスレーブ 7 — 4に対し て処理粒度を 「 3」 ( 3つの割付処理) とする。
マスタ 2は、 常時、 ネッ トワーク 9上の通信負荷を監視し、 通信 負荷率を通信負荷 2 3 4に設定する (ステップ 2 4 0 7)。 マスタ 2 は、 測定器を使ってネッ トワーク 9上を流れるデータの トラフイツ ク測定を行い、 通信負荷率を測定、 算出する。
図 1 7に示すよ うに、 例えば、 マスタ 2は、 測定、 算出した現在 の通信負荷率 " 6 0 %" を通信負荷 2 3 4に設定する (ステップ 2 4 4 b )。
マスタ 2は、 現在の通信負荷率が所定値以上であるかどうか判定 し (ステップ 2 4 0 8 )、 通信負荷率が所定値以上でない場合 (ステ ップ 2 4 0 8の N oの場合)、 マスタ 2は、 端末装置 5 — 1、 5 - 2 、 …から送られた依頼処理から割付処理を生成し、 各スレーブ毎に 処理能力に基づいて設定した処理粒度 (ステップ 2 4 0 6 ) に従つ て、 参加応募の旨の応答があったス レーブ 7— 1、 7— 2、 …に割 り付ける (ステップ 2 4 1 2 )。 すなわち、 マスタ 2は、 各スレーブ 毎に処理能力に基づいて設定した処理粒度 (ステップ 2 4 0 6 ) に 従って、 スレーブに割付処理を割り付ける。 尚、 マスタ 2は、 必要 に応じて依頼処理を分割して割付処理を生成する。
図 1 7に示すよ うに、 例えば、 通信負荷 2 3 4の通信負荷率が 3 0 %であり、 所定の基準 (例えば、 5 0 %) より小さい場合、 マス タ 2は、 各ス レーブ毎に処理能力に基づいて設定した処理粒度 (ス テツプ 2 4 0 6 ) に従って、 ス レーブ 7 — 1に 1つの割付処理 (割 付処理 A 1 ) を割り付け、 ス レーブ 7 — 2 に 2つの割付処理 (割付 処理 A 2、 A 3 ) を割り付け、 スレーブ 7 — 4に 3つの割付処理 ( 割付処理 A 4、 A 5、 A 6) を割り付け、 これらの割付処理とスレ 一ブとを対応付けて処理割付テーブル 3 1を作成する (ステップ 2 4 1 2 )0
マスタ 2は、 現在の通信負荷率が所定値以上であるかどうか判定 し (ステップ 2408)、 通信負荷率が所定値以上であり (ステップ 240 8の Y e s )、ステップ 2 406において設定した処理粒度を 増加させていない場合(ステップ 240 9の N o )、端末装置 5— 1 、 5 _ 2、 …から送られた依頼処理から割付処理を生成し、 各スレ ーブ毎に処理能力に基づいて設定した処理粒度 (ステップ 24 06 ) を増加させて設定変更し、 この増加後の処理粒度に基づいて、 参 加応募したスレーブに割付処理を割り付ける (ステツプ 2 4 1 0 ) 。 すなわち、 マスタ 2は、 ステップ 240 6において設定した処理 粒度を増加させた上で、 割付処理をスレーブ 7に割り付ける。 尚、 マスタ 2は、 必要に応じて依頼処理を分割して割付処理を生成する 図 1 7に示すように、 例えば、 通信負荷 2 34の通信負荷率が 6 0 %であり、 所定の基準 (例えば、 5 0 %) 以上の場合、 マスタ 2 は、 各スレーブ毎に処理能力に基づいて設定した処理粒度 (ステツ プ 240 6 ) を増加させ、 例えば、 スレーブ 7— 1の処理粒度を 「 1」 カゝら 「 2」 ( 2つの割付処理) へ增加させ、 スレーブ 7— 2の処 理粒度を 「 2」 から 「 3」 ( 3つの割付処理) へ増加させ、 スレーブ 7— 4の処理粒度を 「 3」 から 「5」 ( 5つの割付処理) へ増加させ る。 この場合、 マスタ 2は、 ス レーブ 7— 1に 2つの割付処理を割 り付け、 スレーブ 7— 2に 3つの割付処理を割り付け、 ス レーブ 7 一 4に 5つの割付処理を割り付け、 これらの割付処理とス レーブと を対応付けて処理割付テーブル 3 1を作成する (ステップ 24 1 0 )。 すなわち、 マスタ 2は、 増加させて設定した新たな処理粒度に基 づいて、 ス レーブに割付処理を割り付け、 処理割付テーブル 3 1を 作成する。
また、 通信負荷率が所定値以上であり (ステップ 240 8の Y e s )、すでに処理粒度を上げて割付処理を依頼した場合(ステップ 2 4 0 9の Y e s )、通信負荷率が下がるまで、一時的に処理を停止し (ステップ 24 1 1 )、 ステップ 2 40 3に移行する。
マスタ 2は、 割付処理を割り付けた各スレーブ 7— 1、 7— 2、 …に、 割付処理に係る処理プログラム、 処理データ等を送信し、 処 理を分配する (ステップ 24 1 3)。
図 1 8は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7、 処理履歴管理機能 1 8等に係る処理の概略を示す図 である。
図 2 0は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7、 処理履歴管理機能 1 8等に係る処理の手順を示すフ ローチヤ一 トである。
ステップ 2 50 1の処理の後、 スレーブ 7 _ 1、 7— 2…は、 受 け取った 1、 又は複数の処理プログラムを起動し、 1、 又は複数の 割付処理を実行する (ステップ 2 5 0 2 )。
図 1 8に示すように、 例えば、 ス レーブ 7— 1は、 割付処理に係 る処理プログラム A 1を起動し、 割付処理 A 1を実行する (ステツ プ 4 5— 1 )。 ス レーブ 7— 2は、割付処理に係る処理プログラム A 2、 A 3を起動し、 割付処理 A 2、 A 3を実行する (ステップ 4 5 一 2、 4 5— 2 ' )。 ス レーブ 7— 4は、 割付処理に係る処理プログ ラム A4、 A 5、 A 6を起動し、 割付処理 A 4、 A 5、 A 6を実行 する (ステップ 4 5 - 3、 4 5— 3 '、 4 5— 3 ' ' )。 スレーブ 7 (処理端末装置) は、 マスタ 2が定めた当該スレーブ 7自身の処理能力 (C P U能力) に応じて、 1又は複数の割付処理 を同時に並行に実行する。
ス レーブ 7— 1、 7— 2…は、 処理プログラム終了後、 処理プロ グラムの実行結果 (割付処理の実行結果) をマスタ 2に送信する ( ステップ 2 5 0 3 )。
マスタ 2は、 ス レーブ 7— 1、 7— 2…から割付処理の実行結果 を受信し、 処理割付テーブル 3 1に対応付けて記録する (ステップ 2 5 0 4 )。
マスタ 2は、 割付処理の実行結果を依頼処理毎に集約し、 処理受 付テーブル 2 1に対応付けて記録する (ステップ 2 5 0 5 )。
図 1 8に示すように、 例えば、 マスタ 2は、 割付処理毎の実行結 果 a l、 a 2、 a 3、 a 4、 a 5、 a 6を依頼処理毎の実行結果 A に集約する (ステップ 2 4 9 )。
マスタ 2は、 依頼処理毎に取得した実行結果を対応する依頼者 4
— 1、 4 一 2、 …の端末装置 5— 1、 5— 2、 …に送信し (ステツ プ 2 5 0 6 )、 端末装置 5— 1、 5— 2、 …は、 依頼した処理の実行 結果を受け取る (ステップ 2 5 0 7 )。
マスタ 2は、 処理割付の履歴、 スレーブ群 6の各スレーブ 7— 1 、 7— 2、 …における処理履歴 (割付処理の種類、 処理開始日時、 処理終了日時等) 及び当該処理履歴から導出される情報等 (処理実 績、 処理時間、 平均処理時間等) を有する処理履歴テーブル 3 3を 更新する (ステップ 2 5 0 8 )
例えば、 図 1 8に示すように、 マスタ 2は、 スレーブ 7— 1、 7 — 2、 7 _ 4から実行結果を受信した場合、 処理履歴テーブル 3 3 の当該スレーブに対応する処理履歴を更新する (ステップ 2 5 2 ) 以上説明したように第 5の実施の形態によれば、 マスタ 2は、 ス レーブ 7毎に処理能力を設定し、 この処理能力に基づいて一度に割 り付ける割付処理の処理量 (処理粒度) を設定し、 この処理粒度に 従って、 スレーブ 7に 1又は複数の割付処理を割り付け実行させる 。 尚、 マスタ 2は、 スレーブ 7毎の処理履歴等を保持し、 この処理 履歴等を参照して、 あるいは、 事前に入力されたスレーブ 7毎の C P U能力、 メモリ量等に応じて、 スレーブ 7毎に処理能力を設定す る。
従って、 一律の割付処理量を設定する場合と比較して、 C P U使 用率を向上させると共に、 通信回数を減少させ、 通信負荷の低減、 通信環境の安定を図ることができ、 並列処理全体として処理の高速 性、 安定性を向上させることができる。
また、 マスタ 2は、 ネッ トワーク 9上の通信負荷を監視し、 通信 負荷率が所定値以上になった場合、 処理粒度を強制的に増加させた 上でス レーブ 7に割付処理を割り付けて通信回数を減少させ、 ある いは、 処理を一時的に制限することにより、 ネッ トワーク 9上の通 信負荷を低減させる。 従って、 通信環境の安定を図ることができ、 並列処理全体として処理の高速性、 安定性を向上させることができ る。
尚、 本実施の形態では、 マスタ 2は、 通信負荷を監視し、 所定の 基準以上である場合、 各ス レーブ 7に、 処理粒度を上げ、 処理能力 に基づいた処理量に応じた 1又は複数の割付処理を割り付け、 実行 させたが、 通信負荷状況に関係なく、 スレーブ 7毎に処理能力に基 づいた処理量に応じた 1又は複数の割付処理を割り付け、 実行させ てもよい。 次に本発明の第 6の実施の形態について説明する。
図 2 1は、 本発明の第 6の実施の形態に係る並列処理システム 1
0 0 - 3の概略構成を示す図である。
本実施の形態では、 マスタ 2は、 処理受付機能 1 3、 参加募集機 能 1 4、 処理割付機能 (処理制御機能を含む) 1 5、 実行結果取得 機能 1 6、 処理履歴管理機能 1 8、 優先スケジュール機能 1 9 a等 を有する。
処理割付機能 1 5は、 依頼された処理 (依頼処理) から、 割付処 理を生成して、 ス レーブ 7— 1、 7— 2、 …に割付処理の優先順位 に基づいて、 優先順位の高い割付処理を割付ける。 優先スケジユー ル機能 1 9 aは、 割付処理の終了予測時間を算出し、 終了予測時間 の小さい順に処理依頼順位を設定し、 割付処理の優先順位テーブル 3 4に基づいて、 優先順位の高い割付処理を優先的にスケジュール する。
次に、 並列処理システム 1 0 0— 3の処理手順について説明する 図 2 2は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 処理履歴管理機能 1 8、 優先スケジュール機能 1 9 a、 参加 応募機能 1 1等に係る処理の概略を示す図である。
図 2 5は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 処理履歴管理機能 1 8、 優先スケジュール機能 1 9 a、 参加 応募機能 1 1等に係る処理の手順を示すフローチヤ一トである。 図 2 5において、 ステップ 3 4 0 1からステップ 3 4 0 4までの 処理は、 図 4におけるステップ 4 0 1からステップ 4 0 4までの処 理と同様である。 ステップ 3 4 0 4の処理の後、 マスタ 2は、 端末装置 5— 1、 5 一 2、 …から送られた依頼処理から割付処理を生成し、 参加応募し たス レーブ 7 (処理実行中のスレーブも含む) 毎に、 当該割付処理 の終了時間を予測し、 優先順位テーブル 3 4の処理の優先順位に応 じて、 割り付ける (ステップ 3 4 0 5 )。 尚、 マスタ 2は、 必要に応 じて依頼処理を分割して割付処理を生成する。
図 2 2に示すように、 例えば、 マスタ 2は、 依頼処理 Aを割付処 理 A 1、 A 2、 A 3、 A 4に分割レ、 参加応募したスレーブ 7— 1 、 7 - 2 (スレーブ 7— 3、 7— 4は、 参加応募せず) に対して、 優先順位テーブル 3 4の当該割付処理の優先レベルに応じて、 それ ぞれ、 優先レベル"高"の割付処理 A 1、 割付処理 A 2を割り付け、 処理割付テーブル 3 1を作成する (ステップ 3 4 4 )。処理割付テー ブル 3 1は、 スレーブと割付処理とを対応付ける。 優先順位テープ ル 3 4は、 予め、 各割付処理と複数段階に分けた優先レベル (例え ば、 〃高"、 〃低"等) を設定したものである。
マスタ 2は、 割付処理を割り付けた各ス レーブ 7— 1、 7— 2、 …に、 割付処理に係る処理プログラム、 処理データ等を送信し、 処 理を分配する (ステップ 3 4 0 6 )。
次に、 図 2 3及び図 2 6を参照しながら、 ステップ 3 4 0 5の優 先スケジュール機能 1 9 aの処理について詳しく説明する。
図 2 3は、 処理割付機能 1 5、 処理履歴管理機能 1 8、 優先スケ ジュール機能 1 9等に係る処理の概略を示す図である。
図 2 6は、 優先スケジュール機能 1 9 aに係る処理の手順を示す フローチヤ一 トである。
マスタ 2は、 参加応募したスレーブ 7、 及び処理実行中のス レ一 ブ 7に対して、 それぞれ、 処理の平均処理時間を処理時間として設 定する (ステップ 3 5 0 1 )。
図 2 3に示すように、 例えば、 マスタ 2は、 処理実行中のスレー ブ 7— 1、 7— 2を含めた参加応募したス レーブ 7に対して、 処理 履歴テーブル 3 3 (ス レーブ 7毎の処理実績、 処理時間、 平均処理 時間等) を参照して、 あるいは、 事前調査により入力されたスレ一 ブ 7毎の C P U能力、 メモリ量等に基づいて、 処理能力を定め、 こ の処理能力に基づいて、 平均処理時間を定め、 処理割付テーブル 3 1に対応付けて処理時間として記録する (ステップ 3 5 0 )。
マスタ 2は、 各スレーブ 7に対して、 それぞれ、 次処理の終了予 測時間- (処理時間) + (現処理の残り処理時間) を算出し、 設定 する (ステップ 3 5 0 2 )。
図 2 3に示すように、 例えば、 割付処理 A 1実行中であるスレ一 ブ 7— 1の次処理の終了予測時間-処理時間 ( 5 0秒) +現処理の 残り処理時間 (3 0秒) = 8 0秒を算出する (ステップ 3 5 1 )。 す なわち、 スレーブ 7— 1は、 現処理 (割付処理 A 1 ) を 3 0秒後に 終了し、 続いて、 次処理を割り付けると、 8 0秒後に終了すること になる。 同様に、 割付処理 A 2実行中であるスレーブ 7— 2の次処 理の終了予測時間 =処理時間 (8 0秒) +現処理の残り処理時間 ( 1 0秒) = 9 0秒を算出する (ステップ 3 5 1 )。 すなわち、 スレー ブ 7— 2は、 現処理 (割付処理 A 2 ) を 1 0秒後に終了し、 続いて 、 次処理を割り付けると、 9 0秒後に終了することになる。
マスタ 2は、 次処理の終了予測時間に基づいて、 小さい順に処理 依頼順位を設定する (ステップ 3 5 0 3 )。
図 2 3に示すように、 スレーブ 7— 1の次処理の終了予測時間は 8 0秒後、 ス レーブ 7— 2は 9 0秒後であるので、 ス レーブ 7— 1 が処理依頼順位 1番、 ス レーブ 7— 2が処理依頼順位 2番と設定す る。
マスタ 2は、 処理依頼順位と優先順位テーブル 3 4の当該割付処 理の優先レベルに基づいて、 優先レべノレの高い割付処理を、 処理依 頼順位の高いスレーブ 7に割り付ける (ステップ 3 5 0 4 )。 尚、 処 理実行中のスレーブ 7に対しては、 次処理と して割り付ける。
図 2 3に示すように、 予め、 優先順位テーブル 3 4の優先レベル を入力し (ステップ 3 5 2 )、 処理依頼順序と優先レベルに応じて、 処理依頼順位 1番のスレーブ 7— 1に、 次処理として優先レベル " 高" の割付処理 A 3を割り付け、 処理依頼順位 2番のス レーブ 7— 2に、 次処理として優先レベル "低" の割付処理 A 4を割り付ける (ステップ 3 5 3 )。
図 2 4は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7、 処理履歴管理機能 1 8等に係る処理の概略を示す図 である。
図 2 7は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7、 処理履歴管理機能 1 8等に係る処理の手順を示すフ ローチャートである。
図 2 7において、 ステップ 3 6 0 1からステップ 3 6 0 6までの 処理は、 図 5のステップ 5 0 1からステップ 5 0 6の処理と同様で ある。
マスタ 2は、 処理割付の履歴、 スレーブ群 6の各スレーブ 7— 1 、 7— 2、 …における処理履歴 (割付処理の種類、 処理開始日時、 処理終了日時等) 及び当該処理履歴から導出される情報等 (処理実 績、 処理時間、 平均処理時間等) を有する処理履歴テーブル 3 3を 更新する (ステップ 3 6 0 8 )
例えば、 図 2 4に示すように、 マスタ 2は、 スレーブ 7— 1、 7 一 2、 7— 4から実行結果を受信した場合、 処理履歴テーブル 3 3 の当該ス レーブに対応する処理履歴を更新する (ステップ 3 5 8 ) マスタ 2は、 並列処理を終了する時は、 参加応募したス レーブ 7 — 1、 7— 2、 …に対して、 終了指示を送り、 当該終了指示を受け たスレーブ 7— 1、 7— 2、 …は、 参加応募、 割付処理の実行等を 終了する。
以上説明したように、 第 6の実施の形態によれば、 マスタ 2は、 処理に付加する優先順位テーブル 3 4に基づいて、 優先順位の高い 処理を、 優先的に当該処理の終了予測時間の早い処理端末装置に割 り付け送信し実行させる。 また、 マスタ 2は、 スレーブ 7毎の処理 履歴等を保持し、 この処理履歴等を参照して、 あるいは、 事前に入 力されたスレーブ 7毎の C P U能力、 メモリ量等に応じて、 スレ一 ブ 7毎に処理能力を定め、 処理能力に応じた処理時間を設定する。 従って、 優先順位の高い処理をスレーブ 7 (処理端末装置) に優 先的にスケジュールし、 処理の高速化が可能となる。 次に、 本 明の第 7の実施の形態について説明する。
図 2 8は、 本発明の第 7の実施の形態に係る並列処理システム 1 0 0— 4の概略構成を示す図である。
本実施の形態では、 ス レーブ 7— 1、 7— 2、 … (又は、 外部メ モリ) は、 参加応募機能 1 1、 処理実行機能 1 2、 負荷監視機能 1 9 b等を有する。
負荷監視機能 1 9 bは、 ス レーブ 7における現在の負荷、 例えば 、 C P U負荷率を監視し、 並列処理への参加が可能かどうかを判断 したりする。 次に、 並列処理システム 1 0 0— 4の処理手順いついて説明する 図 2 9は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応募機能 1 1、 負荷監視機能 1 9等に係る処理の概略を 示す図である。
図 3 1は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応募機能 1 1、 負荷監視機能 1 9等に係る処理の手順を 示すフ口一チヤ一 トである。
図 3 1において、 ステップ 4 4 0 1からステップ 4 4 0 3までの 処理は、 図 4のステップ 4 0 1から、 ステップ 4 0 3までの処理と 同様である。
スレーブ 7 (又はその外部メモリ) には、 予め、 参加応募機能 1 1、 負荷監視機能 1 9等と共に、 処理実行機能 1 2に係る処理プロ グラム及び処理データを記憶させ、 端末装置 5— 1、 5— 2、 …は 、 処理プロクラム及び処理データを送ることなく、 マスタ 2に処理 A、 B、 …の処理依頼のみ行ってもよレ、。 あるいは、 スレーブ 7 ( 又はその外部メモリ) に、 予め、 参加応募機能 1 1、 負荷監視機能 1 9等と共に、 処理実行機能 1 2に係る処理プログラム及び処理デ ータの一部を記憶させ、 残りの処理プログラム及び処理データに関 しては、 端末装置 5— 1、 5— 2、 …が依頼処理 A、 B、 …の処理 依頼を行う際にマスタ 2に送信するよ うにしてもよい。
ス レーブ 7— 1、 7— 2、 …は、 自身の負荷、 稼働状況等から並 列処理へ参加できるだけの空き資源、 リ ソースが残存しているかど うかを判断する (ステップ 4 4 0 4 )。 ス レーブ 7— 1、 7— 2、 ··· は、 常時または所定のタイ ミングで自身の負荷 (C P U負荷率等) を監視し、 当該負荷に応じて並列処理へ参加できるかどうかを判断 し、 参加する場合 (ステップ 4404の Y e s )、 マスタ 2に対して 参加応募の旨を応答する (ステップ 440 5 )。
図 2 9に示すように、 例えば、 ス レーブ 7— 1、 7— 2、 …は、 それぞれ、 C PU負荷率、 参加可能最大 C P U負荷率、 並列処理へ の参加可否等を記録する負荷状況テーブル 3 4を保持する。 C PU 負荷率は、 ス レーブ 7— 1、 7— 2、 …における現時点での C P U 負荷を示すものである。 参加可能最大 C P U負荷率は、 並列処理へ の参加が可能な C P U負荷率の限界を示すものである。
マスタ 2からの並列処理への参加募集の打診があると (ステップ 4 2 )、 ス レーブ 7— 1、 7— 2、 …は、 負荷状況テーブル 3 4を参 照して当該参加募集に対して参加応募するかどうかを判定する。 ス レーブ 7— 1、 7— 2、 7— 4は、 (C PU負荷率) (参加可 能最大 C PU負荷率) であるので (ステップ 44 04の Y e s )、 そ れぞれ、 マスタ 2からの並列処理への参加募集に対して参加応募を 行う (ステップ 43— 1、 4 3 - 2、 43 - 4)。
ス レーブ 7— 3は、 (C P U負荷率) > (参加可能最大 C P U負荷 率) であるので (ステップ 4404の N o)、 マスタ 2から並列処理 への参加募集があっても、 当該参加募集に対して参加応募を行わな レ、。
図 30は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7等に係る処理の概略を示す図、 図 3 2は、 処理実行機 能 1 2、 実行結果取得機能 1 6、 実行結果取得機能 1 7等に係る処 理の手順を示すフローチャー トであるが、 図 3 2の処理は、 図 5の 処理と同様であるので、 説明を省略する。
以上説明したように、 本発明の第 7の実施の形態によれば、 マス タ 2は、 各依頼者 4の端末装置 5から処理の依頼 (依頼処理) を受 付け、 ブロードキャス ト通信によりスレーブ群 6全体に対して並列 処理への参加募集を行う。
ス レーブ 7は、 自身の C P U負荷率等の負荷を監視し、 並列処理 への参加募集があった場合、 当該負荷が所定の負荷以下であれば、 参加応募の旨を応答する。
マスタ 2は、 参加応募したス レーブ 7に処理を割振り、 割振った 処理 (割付処理) を送信する。 ス レーブ 7は、 マスタ 2から受け取 つた割付処理を実行し、 処理終了後、 実行結果をマスタ 2又は依頼 者 4側の端末装置 5に送信し、 マスタ 2あるいは端末装置 5は、 実 行結果を受け取る。
このように、 マスタ 2 (サーバ) は、 必要に応じて随時並列処理 への参加を募集し、 ス レーブ 7 (処理端末装置) は、 自身の負荷、 稼働状況等に応じて並列処理に参加するので、 マスタ 2は、 ス レ一 ブ 7 の負荷、 稼働状況等を管理する必要がなく、 参加応募したス レ —ブ 7に割付処理を割り当てることにより、 効率的かつ高速な並列 処理を実現することができる。 従って、 ス レーブ 7は、 並列処理へ の途中参加が可能である。
また、 ス レーブ 7 (処理端末装置) は、 自身の C P U負荷率等の 負荷に応じて並列処理に参加するので、 1のス レーブ 7 (処理端末 装置) であっても、 1または複数のマスタに係る複数の割付処理を 同時に平行して実行することができる (マルチタスク)。
尚、 上記の参加可能最大 C P U負荷率は、 ス レーブ 7全体に一律 に定めてもよいし、 処理能力に応じて個々のスレーブ 7毎に定めて もよい。 次に、 本発明の第 8の実施の形態について説明する。 図 3 3は、 本発明の第 8の実施の形態に係る並列処理システム 1 0 0— 5の概 略構成を示す図である。
本実施の形態では、 スレーブ 7— 1、 7— 2、 ··· (又は、 外部メ モリ) は、 参加応募機能 1 1、 処理実行機能 1 2、 データ共有機能 2 3等を有する。
データ共有機能 2 3は、 ス レーブ 7間で、 ブロー ドキャス ト通信 により、 共有データを送受信する。
次に、 並列処理システム 1 0 0— 5の処理手順について説明する 図 3 4は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応募機能 1 1等に係る処理の概略を示す図である。
図 3 6は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応募機能 1 1等に係る処理の手順を示すフローチヤ一ト である。
図 3 6の処理は、 図 4の処理と同様であるので、 説明を省略する 尚、 スレーブ 7 (又はその外部メモリ) には、 予め、 参加応募機 能 1 1、 データ共有機能 2 3 と共に、 処理実行機能 1 2に係る処理 プログラム及び処理データを記憶させ、 端末装置 5— 1、 5— 2、 …は、 処理プロクラム及び処理データを送ることなく、 マスタ 2に 処理 A、 B、 …の処理依頼のみ行ってもよい。 あるいは、 ス レーブ 7 (又はその外部メモリ) に、 予め、 參加応募機能 1 1、 データ共 有機能 2 3等と共に、 処理実行機能 1 2に係る処理プログラム及び 処理データの一部を記憶させ、 残りの処理プログラム及び処理デー タに関しては、 端末装置 5— 1、 5— 2、 …が依頼処理 A、 …の処 理依頼を行う際にマスタ 2に送信するようにしてもよい。 図 3 5は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7等に係る処理の概略を示す図、 図 3 7は、 処理実行機 能 1 2、 実行結果取得機能 1 6、 実行結果取得機能 1 7等に係る処 理の手順を示すフローチャートであるが、 図 3 7の処理は、 図 5と 同様なので、 説明を省略する。
次に、 図 3 8及び図 3 9を参照しながら、 スレーブ 7— 1、 7 - 2、 …が有する処理実行機能 1 2、 データ共有機能 2 3等による処 理について説明する。
図 38は、 処理実行機能 1 2、 データ共有機能 2 3等に係る処理 の概略を示す図である。
図 3 9は、 処理実行機能 1 2、 データ共有機能 2 3等に係る処理 の手順を示すフローチヤ一トである。
ス レーブ 7— 1は、 受け取った処理プログラムを起動し、 割付処 理を実行する (ステップ 5 7 0 1 )。 同様に、 スレーブ 7— 2、 7— 4も、 受け取った処理プログラムを起動し、 割付処理を実行する。 図 35に示すように、 例えば、 ス レーブ 7— 1、 7— 2、 7 - 4 は、 それぞれ、 割付処理に係る処理プログラム A 1、 A 2、 A 4を 起動し、 割付処理 A 1、 A 2、 A 4を実行する (ステップ 4 7— 1 、 4 7 - 2 , 47— 4)。
ス レーブ 7— 1は、 割付処理 A 1実行中、 共有データを更新、 作 成する (ステップ 5 70 2)。 共有データは、 処理プログラムの演算 結果や、 処理データである。
図 38に示すように、 例えば、 スレーブ 7— 1は、 割付処理 A 1 実行中、 処理プログラムの演算結果、 処理データ等を格納するメモ リテ一ブル 3 5— 1の共有データ Xを 「 1 00」 力 ら 「 2 5 6」 に 更新し、 更新後のメモリテーブル 3 6— 1の共有データ は 「 2 5 6 J となる。
スレーブ 7— 1は、 ブロードキャス ト通信で、 共有データの更新 内容、 作成内容等をネッ トワーク 9に送出する (ステップ 5 7 0 3 )0
図 3 8に示すように、 例えば、 ス レーブ 7— 1は、 他の全てのス レーブ 7— 2、 …に対して、 共有データ Xを送信する場合、 ス レー ブ 7— 1は、 予め、 設定した送信先ポート番号 2 1 00を共有デ一 タ X (「 1 00」 一 > 「 2 5 6」) に付加して、 共有データ Xをブロ ードキャス ト通信によ りネッ トワーク 9に送出する。
他のス レーブ 7— 2、 …は、 受信した当該共有データを更新、 作 成する (ステップ 5 7 04)。
図 3 8に示すように、 例えば、 ス レーブ 7— 2、 7— 3、 7 - 4 …は、 ポー ト番号 2 1 00が設定されており、 処理実行中のス レ一 ブ 7— 2、 7— 4は、 当該共有データ X (「 1 0 0」 —> 「 2 5 6」 ) (送信先ポート番号 2 1 00) を受信し、 自身のメモリテーブル 3 5— 2、 3 5 - 4の当該共有データ X 「 1 00」 を、 それぞれ、 メ モリテ一ブル 3 6— 2、 3 6— 4の共有データ X 「 2 5 6」 に更新 する。
ス レーブ 7— 1は、 割付処理 A 1を実行しながら、 共有データの 値を変更すると、 ステップ 7 0 2、 7 0 3に係る処理を随時行う。 また、 ス レーブ 7— 1も、 他のス レーブ 7— 2、 7— 3、 …のス テツプ 5 704に係る処理に該当する、 他のス レーブ 7— 2、 7— 3、 …から受信した共有データの更新、 作成処理を、 割付処理 A 1 の実行、 及ぴステップ 7 0 2、 7 0 3に係る処理に独立、 平行して 実行できる。
図 3 8に示すよ うに、 例えば、 ス レーブ 7— 2は、 割付処理 A 2 実行中、 共有データ Xを受信し、 自身のメモリテーブル 3 5— 2を 更新する処理に平行して、 割付処理 A 2実行中の演算結果等により 、 共有データ Y : 「F L A G 0」 を 「F L A G 1」 に変更すると、 ブ ロードキャス ト通信で共有データ Y (「F L A G O」 一 > 「F L A G 1」) を送出する。
尚、 並列処理の処理プログラムの共有データの有効範囲に応じて 、 ブロー ドキャス ト通信でのポート番号が設定され、 スレーブ 7は 、 当該ポート番号を共有データに付加して、 共有データをブロード キャス ト通信でネッ トワーク 9に送出することにより、 並列処理上 の共有データの有効範囲でのスレーブ 7間でのデータ授受を可能と する。
図 3 8に示すように、 例えば、 共有データ は、 並列処理の処理 プログラム全体での共有データであり、 当該ポ一ト番号 2 1 0 0を 付けて、 ブロー ドキャス ト通信で全てのスレーブ 7間のデータ通信 を行い、 共有データ Yは、 割付処理 A 2、 A 4の処理プログラムで の共有データであり、 当該ポ一ト番号 2 1 0 2を付けて、 スレーブ 7— 2、 7— 4間でのデータ通信を行う。
以上説明したように、 第 8の実施の形態によれば、 スレーブ 7— 1、 7— 2、 …は、 並列処理の処理プログラムの演算結果や、 処理 データ等の共有データを更新、 作成すると、 ブロー ドキャス ト通信 で、 他のス レーブ 7に送出し、 また、 他のスレーブ 7から受け取つ た当該共有データを更新、 作成することにより、 各ス レーブ 7間で のデータを共有することを可能とし、 更に、 ブロー ドキャス ト通信 を用いることにより、 一度の通信でデータ転送が可能となり、 高速 な並列処理を実現することができる。 次に本発明の第 9の実施の形態について説明する。
図 4 0は、 本発明の第 9の実施の形態に係る並列処理システム 1 0 0— 6の概略構成を示す図である。
マスタ 2は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機 能 1 5、 実行結果取得機能 1 6、 問合せ応答機能 2 0等を有する。 問合せ応答機能 2 0は、 端末装置 5あるいはス レーブ 7から、 処 理状況あるいは演算結果等に関する問合せがあった場合、 当該問合 せに応答したりする。
端末装置 5— 1、 5— 2…は、 ネッ トワーク 9を介して、 マスタ 2に処理を依頼し、 ス レーブ群 6から処理の実行結果を受信し取得 する実行結果取得機能 1 7、 マスタ 2に依頼した処理の処理状況等 を問い合わせる問合せ機能 2 2等を有する。
スレーブ 7— 1、 7— 2、 … (又は、 外部メモリ) は、 参加応募 機能 1 1、 処理実行機能 1 2、 問合せ機能 2 1等を有する。
問合せ機能 2 1は、 割付処理の実行時等、 他の処理端末装置にお ける演算結果、 データ等が処理に必要となった場合、 当該必要な演 算結果、 データ等をマスタ 2に問い合わせたりする。
次に、 並列処理システム 1 0 0— 6の処理手順について説明する 図 4 1は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応募機能 1 1等に係る処理の概略を示す図、 図 4 3は、 処理受付機能 1 3、 参加募集機能 1 4、 処理割付機能 1 5、 参加応 募機能 1 1等に係る処理の手順を示すフローチャートであるが、 図 4 3の內容は図 4と同様であり、 説明を省略する。
尚、 スレーブ 7 (又はその外部メモリ) には、 予め、 参加応募機 能 1 1、 問合せ機能 2 1等と共に、 処理実行機能 1 2に係る処理プ ログラム及び処理データを記憶させ、 端末装置 5— 1、 5— 2、 … は、 処理プロクラム及び処理データを送ることなく、 マスタ 2に処 理 、 B、 …の処理依頼のみ行ってもよレ、。 あるいは、 ス レーブ 7 (又はその外部メモリ) に、 予め、 参加応募機能 1 1、 問合せ機能 2 1等と共に、 処理実行機能 1 2に係る処理プログラム及び処理デ ータの一部を記憶させ、 残りの処理プログラム及ぴ処理データに関 しては、 端末装置 5— 1、 5— 2、 …が依頼処理 A、 B、 …の処理 依頼を行う際にマスタ 2に送信するようにしてもよレ、。
図 4 2は、 処理実行機能 1 2、 実行結果取得機能 1 6、 実行結果 取得機能 1 7等に係る処理の概略を示す図、 図 4 4は、 処理実行機 能 1 2、 実行結果取得機能 1 6、 実行結果取得機能 1 7等に係る処 理の手順を示すフローチャートであるが、 図 4 4の処理内容は、 図 5と同様であるので説明を省略する。
次に、 図 4 5乃至図 4 7を参照しながら、 マスタ 2が有する問合 せ応答機能 2 0、 及び、 ス レーブ 7— 1、 7— 2、 …が有する問合 せ機能 2 1、 端末装置 5— 1、 5— 2、 …が有する問合せ機能 2 2 等による処理について説明する。
図 4 5は、 問合せ応答機能 2 0、 問合せ機能 2 1、 問合せ機能 2 2等に係る処理の概略を示す図である。
図 4 6は、 問合せ応答機能 2 0、 問合せ機能 2 1等に係る処理の 手順を示すフ口一チャートである。
図 4 7は、 問合せ応答機能 2 0、 問合せ機能 2 2等に係る処理の 手順を示すフローチャートである。
ス レーブ 7は、 自身に割り付けられた割付処理を実行中に、 他の ス レーブ 7が処理した割付処理の実行結果、 演算結果、 データ等 ( 以下、 「必要情報」 という) が必要になった場合、 マスタ 2に対して 必要情報を通知するよう問い合わせる (ステップ 6 7 0 1 )。
マスタ 2は、 処理割付テーブル 3 1を参照、 検索して、 問い合わ せに該当する必要情報を抽出し、 問い合わせを行ったス レーブ 7に 当該抽出した必要情報を返信する (ステップ 6 7 0 2 )。
問い合わせを行ったスレーブ 7は、 必要情報を取得し、 当該必要 情報を用いて割付処理を続行する (ステップ 6 7 0 3 )。
尚、 問い合わせ (ステップ 6 7 0 1 ) 及び問い合わせに対する応 答 (ステップ 6 7 0 2 ) の処理は、 ブロー ドキャス ト通信により行 うことができる。
図 4 5に示すように、 例えば、 スレーブ 7— 4は、 割付処理 A 5 を実行中に (ステップ 4 5— 4 )、 ス レーブ 7— 2が処理した割付処 理 A 2の実行結果 a 2が必要になった場合、 マスタ 2に対して実行 結果 a 2を通知するよう問い合わせる (ステップ 6 6 1 )。 マスタ 2 は、 処理割付テーブル 3 2を参照、 検索して、 実行結果 a 2 「 1 8 0 0」 を抽出し、 ス レーブ 7— 4に送信する (ステップ 6 6 2 )。 端末装置 5は、 自身が依頼した依頼処理の処理状況を通知するよ うマスタ 2に問い合わせる (ステップ 6 8 0 1 )。
マスタ 2は、 処理割付テーブル 3 2を参照して、 問い合わせに該 当する依頼処理の処理状況を返信する (ステップ 6 8 0 2 )。
問い合わせを行った端末装置 5は、 依頼処理の処理状況を取得す る (ステップ 6 8 0 3 )。
図 4 5に示すように、 例えば、 端末装置 5 _ 1は、 依頼処理 Aの 処理の依頼をマスタ 2に行い (ステップ 4 1一 1 )、 必要に応じて、 当該依頼処理 Aの処理状況等を通知するようマスタ 2に問い合わせ る (ステップ 6 6 3 )。 マスタ 2は、 処理割付テーブル 3 2を参照、 検索して、 依頼処理 Aに関する情報を抽出し、 処理状況 (例えば、 『割付処理 A 1〜A 4迄処理済、割付処理 A 5実行中』)等を端末装 置 5— 1 に送信する (ステップ 6 6 4 )。
以上の過程を経て、 ス レーブ 7から他のス レーブ 7における実行 結果、 演算結果、 データ等 (必要情報) に関して問い合わせがあつ た場合、 マスタ 2は、 処理割付テーブル 3 1を参照して問い合わせ に該当する実行結果、 演算結果、 データ等 (必要情報) を返信し、 端末装置 5から依頼処理の処理状況等に関して問い合わせがあった 場合、 マスタ 2は、 処理割付テーブル 3 1を参照して問い合わせに 該当する依頼処理の処理状況等を端末装置に返信する。
このように、 ス レーブ 7は、 マスタ 2を介して他のス レーブ 7に おける実行結果、 演算結果、 データ等を取得可能であるので、 同一 のシステム内における並列処理専用の処理端末装置でなく、 互いに 異なるシステムに属する並列処理への参加型の処理端末装置であつ ても、 ス レーブ 7は、 他のス レーブ 7における処理実行結果等を参 照することができる。
また、 端末装置 5は、 マスタ 2を介して依頼処理の処理状況等を 取得可能であるので、 依頼処理の処理進埗状況を把握したり、 処理 状況によっては、 処理を中止させたりすることができる。
尚、 マスタ 2は、 問い合わせ内容に応じて演算処理、 データ処理 等を行うようにしてもよい。 すなわち、 マスタ 2は、 端末装置 5あ るいはス レーブ 7からの問い合わせに対して、 マスタ 2自身が処理 割付テーブル 3 2等に保持する情報等をそのまま応答するだけでな く、 当該情報等に対して問い合わせ内容に応じた所定の演算処理、 データ処理等を施し、 その結果を応答することもできる。
例えば、 端末装置 5あるいはス レーブ 7から実行結果 a 1〜実行 結果 a 4の平均値、 合計値、 最大値等の問い合わせがあった場合、 マスタ 2は、 処理割付テーブルに保持する実行結果 a 1〜実行結果 a 4から平均値、 合計値、 最大値等を算出した上で、 これらの平均 値及び合計値を端末装置 5あるいはス レーブ 7に返信する。
尚、 問い合わせ及び問い合わせ応答に係るマスタ 2 とス レーブ 7 及び端末装置 5との間の通信は、 ブロードキャス ト通信で行う こと ができるので、 マスタ 2の問い合わせ応答機能 2 0をマスタ 2の外 部に設けたり、 分散マスタ 3 — 1、 3— 2、 …それぞれに分散して 設けることが可能である。
上記の実施の形態に示した並列処理システムでは、 マスタとスレ ーブ、 端末装置等との間の通信に関しては、 ブロー ドキャス ト通信 を用いて、 通信データ、 情報の授受 (参加募集、 参加応募、 処理割 付、 実行結果の送信、 実行結果の取得、 問い合わせ、 問い合わせ応 答等) が行われる。
以上、 添付図面を参照しながら、 本発明に係る並列処理システム 等の好適な実施形態について説明したが、 本発明はかかる例に限定 されない。 当業者であれば、 本願で開示した技術的思想の範疇內に おいて、 各種の変更例または修正例に想到し得ることは明らかであ り、 それらについても当然に本発明の技術的範囲に属するものと了 解される。 産業上の利用可能性
以上のように、 本発明に係る並列処理システムは、 大量のデータ を、 複数の処理端末装置で分散して処理するコンピュータシステム 等に利用可能である。

Claims

請求の範囲
1 . 複数の処理端末装置と、 複数の依頼者側の端末装置と、 1又は複数のサーバと、 がネッ トワークを介して接続され、 前記端 末装置が依頼する依頼処理を並列処理により処理する並列処理シス テムであって、
前記サーバは、
前記端末装置から前記依頼処理を受信する処理受付手段と、 前記処理端末装置に対して、 前記並列処理への参加募集を行う参 加募集手段と、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記参加募集に対して参加応募している処理端末装 置に対して、 当該割付処理を割り付けて送信する処理割付手段と、 前記処理端末装置から送られた前記割付処理の実行結果を前記依 頼処理毎の実行結果に集約して、 前記端末装置に送信する依頼処理 結果送信手段と、
を具備し、
前記処理端末装置は、
前記サーバから前記並列処理への参加募集が送られると、 自身の 稼働状況から判断して参加可能な場合、 参加応募の旨を応答する参 加応募手段と、
前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする並列処理システム。
2 . 複数の処理端末装置と、 1又は複数のサーバと、 がネッ トワークを介して接続され、 前記サーバに入力された依頼処理を並 列処理により処理する並列処理システムであって、
前記サーバは、
前記処理端末装置に対して、 前記並列処理への参加募集を行う参 加募集手段と、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記参加募集に対して参加応募している処理端末装 置に対して、 当該割付処理を割り付けて送信する処理割付手段と、 前記処理端末装置から送られた前記割付処理の実行結果を前記依 頼処理毎の実行結果に集約する依頼処理結果集約手段と、
を具備し、
前記処理端末装置は、
前記サーバから前記並列処理への参加募集が送られると、 自身の 稼働状況から判断して参加可能な場合、 参加応募の旨を応答する参 加応募手段と、
前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする並列処理システム。
3 . 前記参加募集手段または前記參加応募手段は、 ブロード キャス ト通信により前記参加募集または前記参加応募を行うことを 特徴とする請求項 1または請求項 2に記載の並列処理システム。
4 . 前記サーバは、 階層構造をなす複数のサブサーバから構 成され、 前記サブサーバに前記複数の処理端末装置が接続されるこ とを特徴とする請求項 1から請求項 3のいずれかに記載の並列処理 システム。
5 . 複数の処理端末装置と、 複数の依頼者側の端末装置と、 にネッ トワークを介して接続され、 前記端末装置から送られた依頼 処理を並列処理により処理する 1又は複数のサーバであって、 前記端末装置から前記依頼処理を受信する処理受付手段と、 前記処理端末装置に対して、 前記並列処理への参加募集を行う参 加募集手段と、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記参加募集に対して参加応募している処理端末装 置に対して、 当該割付処理を割り付けて送信する処理割付手段と、 前記処理端末装置から送られた前記割付処理の実行結果を前記依 頼処理毎の実行結果に集約して、 前記端末装置に送信する依頼処理 結果送信手段と、
を具備することを特徴とするサーバ。
6 . 複数の処理端末装置にネッ トワークを介して接続され、 入力された依頼処理を並列処理により処理する 1又は複数のサーバ であって、
前記処理端末装置に対して、 前記並列処理への参加募集を行う参 加募集手段と、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記参加募集に対して參加応募している処理端末装 置に対して、 当該割付処理を割り付けて送信する処理割付手段と、 前記処理端末装置から送られた前記割付処理の実行結果を前記依 頼処理毎の実行結果に集約する依頼処理結果集約手段と、 を具備することを特徴とするサーバ。
7 . 前記参加募集手段は、 ブロー ドキャス ト通信により前記 参加募集を行うことを特徴とする請求項 5または請求項 6に記載の サーバ。
8 . 前記割付処理の命令コードを前記処理端末装置上で実行 可能な命令コードへ変換する命令変換手段を具備することを特徴と する請求項 5から請求項 7のいずれかに記載のサーバ。
9 . 階層構造をなす複数のサブサーバから構成され、 前記サ ブサーバに前記複数の処理端末装置が接続されることを特徴とする 請求項 5から請求項 8のいずれかに記載のサーバ。
1 0 . 1又は複数のサーバにネッ トワークを介して接続され
、 前記サーバに入力された依頼処理を並列処理により処理する並列 処理システムに用いられる処理端末装置であって、
前記サーバから前記並列処理への参加募集が送られると、 自身の 稼働状況から判断して参加可能な場合、 参加応募の旨を応答する参 加応募手段と、
前記サーバから送られる割付処理を実行する割付処理実行手段と 前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする処理端末装置。
1 1 . 前記参加応募手段は、 ブロードキャス ト通信により前 記参加応募を行うことを特徴とする請求項 1 0に記載の処理端末装 置。
1 2 . 前記割付処理の命令コードを実行可能な命令コ一ドへ 変換する命令変換手段を具備することを特徴とする請求項 1 0また は請求項 1 1に記載の処理端末装置。
1 3 . 前記並列処理に必要な情報及び手段を記録する外部メ モリを具備することを特徴とする請求項 1 0または請求項 1 1に記 載の処理端末装置。
1 4 . コンピュータを含む情報機器、 携帯情報端末、 携帯電 話、 情報家電のいずれかであることを特徴とする請求項 1 0から請 求項 1 3のいずれかに記載の処理端末装置。
1 5 . 複数の処理端末装置と、 複数の依頼者側の端末装置と 、 1又は複数のサーバと、 がネッ トワークを介して接続され、 前記 端末装置が依頼する依頼処理を並列処理により処理する並列処理シ ステムにおける並列処理方法であって、
前記サーバは、
前記端末装置から前記依頼処理を受信する処理受付工程と、 前記処理端末装置に対して、 前記並列処理への参加募集を行う参 加募集工程と、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記参加募集に対して参加応募している処理端末装 置に対して、 当該割付処理を割り付けて送信する処理割付工程と、 前記処理端末装置から送られた前記割付処理の実行結果を前記依 賴処理毎の実行結果に集約して、 前記端末装置に送信する依頼処理 結果送信工程と、
を具備し、
前記処理端末装置は、
前記サーバから前記並列処理への参加募集が送られると、 自身の 稼働状況から判断して参加可能な場合、 参加応募の旨を応答する参 加応募工程と、
前記サーバから送られた前記割付処理を実行する割付処理実行ェ 程と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信工程と、
を具備することを特徴とする並列処理方法。
1 6 . 複数の処理端末装置と、 1又は複数のサーバと、 がネ ッ トワークを介して接続され、 前記サーバに入力された依頼処理を 並列処理により処理する並列処理システムにおける並列処理方法で めつ飞、
前記サーバは、
前記処理端末装置に対して、 前記並列処理への参加募集を行う参 加募集工程と、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記参加募集に対して参加応募している処理端末装 置に対して、 当該割付処理を割り付けて送信する処理割付工程と、 前記処理端末装置から送られた前記割付処理の実行結果を前記依 頼処理毎の実行結果に集約する依頼処理結果集約工程と、 を具備し、
前記処理端末装置は、
前記サーバから前記並列処理への参加募集が送られると、 自身の 稼働状況から判断して参加可能な場合、 参加応募の旨を応答する参 加応募工程と、
前記サーバから送られた前記割付処理を実行する割付処理実行ェ 程と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信工程と、
を具備することを特徴とする並列処理方法。
1 7 . 前記参加募集工程または前記参加応募工程は、 ブロー ドキャス ト通信により前記参加募集または前記参加応募を行うこと を特徴とする請求項 1 5または請求項 1 6に記載の並列処理方法。
1 8 . 前記ネッ トワークを介する通信処理は、 ブロードキヤ ス ト通信を用いることを特徴とする請求項 1から請求項 4のいずれ かに記載の並列処理システム。
1 9 . 前記ネッ トワークを介する通信処理は、 ブロードキヤ ス ト通信を用いることを特徴とする請求項 5から請求項 9のいずれ かに記載のサーバ。
2 0 . 前記ネッ トワークを介する通信処理は、 ブロードキヤ ス ト通信を用いることを特徴とする請求項 1 0から請求項 1 4のい ずれかに記載の処理端末装置。
2 1 . 前記ネッ トワークを介する通信処理は、 ブロードキヤ ス ト通信を用いることを特徴とする請求項 1 5から請求項 1 7のい ずれかに記載の並列処理方法。
2 2 . コンピュータを請求項 5から請求項 9、 請求項 1 9の いずれかに記載のサーバと して機能させるプログラム。
2 3 . コンピュータを請求項 5から請求項 9、 請 *項 1 9の いずれかに記載のサーバと して機能させるプログラムを記録した記 録媒体。
2 4 . コンピュータを請求項 1 0から請求項 1 4、 請求項 2 0のいずれかに記載の処理端末装置と して機能させるプログラム。
2 5 . コンピュータを請求項 1 0から請求項 1 4、 請求項 2 0のいずれかに記載の処理端末装置と して機能させるプログラムを 記録した記録媒体。
2 6 . 複数の処理端末装置と、 1又は複数のサーバと、 がネ ッ トワークを介して接続され、 前記サーバに入力された依頼処理を 並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から、 必要に応じて当該依賴処理を分割して、 割付 処理を生成し、 前記処理端末装置に当該割付処理を割り付け送信し 実行させる処理割付手段と、
前記処理端末装置から所定の制限時間内に前記割付処理の実行結 果が返信されなかった場合、 別の処理端末装置に当該割付処理を割 り付け送信し実行させる再割付手段と、
を具備し、
前記処理端末装置は、
前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする並列処理システム。
2 7 . 前記サーバは、 さらに、
前記処理端末装置毎の処理能力に基づいて、 前記制限時間を設定 する制限時間設定手段と、
を具備することを特徴とする請求項 2 6に記載の並列処理システム
2 8 . 前記サーバは、 さらに、
前記処理端末装置毎の処理の履歴を保持する保持手段と、 前記処理の履歴に基づいて前記処理能力を算出する処理能力算出 手段と、
を具備することを特徴とする請求項 2 7に記載の並列処理システム
2 9 . 複数の処理端末装置にネッ トワークを介して接続され 、 入力された依頼処理を並列処理により処理する 1又は複数のサー バであって、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記処理端末装置に当該割付処理を割り付け送信し 実行させる処理割付手段と、
前記処理端末装置から所定の制限時間内に前記割付処理の実行結 果が返信されなかった場合、 別の処理端末装置に当該割付処理を割 り付け送信し実行させる再割付手段と、
を具備することを特徴とするサーバ。
3 0 . コンピュータを請求項 2 9に記載のサーバとして機能 させるプログラム。
3 1 . 複数の処理端末装置と、 1又は複数のサーバと、 がネ ッ トワークを介して接続され、 前記サーバに入力された依頼処理を 並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記処理端末装置に当該割付処理を割り付け送信し 実行させる処理割付手段と、
前記処理端末装置毎の処理能力に基づいて、 一度に割り付ける割 付処理量である処理粒度を制御する粒度制御手段と、
を具備し、
前記処理端末装置は、
前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、 前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする並列処理システム。
3 2 . 前記サーバは、 さらに、
前記処理端末装置毎の処理の履歴を保持する保持手段と、 前記処理の履歴に基づいて前記処理能力を算出する処理能力算出 手段と、
を具備することを特徴とする請求項 3 1に記載の並列処理システム 3 3 . 前記サーバは、 さらに、
前記ネッ トワーク上の通信負荷を監視し、 前記通信負荷が所定の 基準以上である場合、 前記処理粒度を強制的に増加させる第 1の処 理制御手段を具備することを特徴とする請求項 3 1または請求項 3 2 に記載の並列処理システム。
3 4 , 前記サーバは、 さらに、
前記ネッ トワーク上の通信負荷を監視し、 前記通信負荷が所定の 基準以上である場合、 前記通信負荷が所定の基準まで下がるまで、 前記処理端末装置への前記割付処理の割り付けを一時的に停止する 第 2の処理制御手段を具備することを特徴とする請求項 3 1から請 求項 3 3のいずれかに記載の並列処理システム。
3 5 . 複数の処理端末装置にネッ トワークを介して接続され 、 入力された依頼処理を並列処理により処理する 1又は複数のサー バであって、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記処理端末装置に当該割付処理を割り付け送信し 実行させる処理割付手段と、 前記処理端末装置毎の処理能力に基づいて、 一度に割り付ける割 付処理量である処理粒度を制御する粒度制御手段と、
を具備することを特徴とするサーバ。
3 6 . コンピュータを請求項 3 5に記載のサーバとして機能 させるプログラム。
3 7 . 複数の処理端末装置と、 1又は複数のサーバと、 がネ ッ トワークを介して接続され、 前記サーバに入力された依頼処理を 並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記割付処理の優先順位に基づいて、 前記優先順位 の高い割付処理を、 優先的に当該割付処理の終了予測時間の早い処 理端末装置に割り付け送信し実行させる処理割付手段と、 を具備し、
前記処理端末装置は、
前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする並列処理システム。
3 8 . 前記サーバは、 さらに、
前記処理端末装置毎の処理能力に基づいて、 前記割付処理の処理 時間を設定する処理時間設定手段と、
前記処理時間と、 処理中の処理端末装置の場合には残り処理時間 を加え、 前記割付処理の終了予測時間を算出する終了予測時間算出 手段と、 を具備することを特徴とする請求項 3 7に記載の並列処理システム
3 9 . 前記サーバは、 さらに、
前記処理端末装置毎の処理の履歴を保持する保持手段と、 前記処理の履歴に基づいて前記処理能力を算出する処理能力算出 手段と、
を具備することを特徴とする請求項 3 8に記載の並列処理システム
4 0 . 前記サーバは、
前記処理端末装置に対して、 ブロー ドキャス ト通信により、 前記 ¾列処理への参加募集を行い、 前記参加募集に対して参加応募して いる処理端末装置に前記割付処理を割り付け送信し実行させること を特徴とする請求項 3 7から請求項 3 9のいずれかに記載の並列処 理システム。
4 1 . 前記優先順位は、 複数段階を表す優先順位レベルであ り、 予め、 各割付処理に対応付けて設定することを特徴とする請求 項 3 7に記載の並列処理システム。
4 2 . 複数の処理端末装置にネッ トワークを介して接続され 、 入力された依頼処理を並列処理により処理する 1又は複数のサ一 バであって、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記割付処理の優先順位に基づいて、 前記優先順位 の高い割付処理を、 優先的に当該割付処理の終了予測時間の早い処 理端末装置に割り付け送信し実行させる処理割付手段と、 を具備することを特徴とするサーバ。
4 3 . コンピュータを請求項 4 2に記載のサーバとして機能 させるプログラム。
4 4 . 複数の処理端末装置と、 1又は複数のサーバと、 がネ ッ トワークを介して接続され、 前記サーバに入力された依頼処理を 並列処理により処理する並列処理システムであって、
前記サーバは、
前記処理端末装置に対して、 前記並列処理への参加募集を行う参 加募集手段と、
前記依頼処理から、 必要に応じて当該依頼処理を分割して、 割付 処理を生成し、 前記参加募集に対して参加応募している処理端末装 置に対して、 当該割付処理を割り付け送信し実行させる処理割付手 段と、
を具備し、
前記処理端末装置は、
自身の負荷を監視し、 当該負荷に基づいて前記並列処理への参加 可否を判定する判定手段と、
前記サーバから送られた前記割付処理を実行し、 実行結果を前記 サーバに送信する割付処理実行手段と、
前記サーバから前記並列処理への参加募集が送られると、 参加可 能な場合、 参加応募の旨を応答する参加応募手段と、
を具備することを特徴とする並列処理システム。
4 5 . 前記負荷は、 C P U負荷率であり、 前記判定手段は、 当該 C P U負荷率が所定の基準以下である場合、 前記並列処理に参 加可と判定することを特徴とする請求項 4 4に記載の並列処理シス テム。
4 6 . 1又は複数のサーバにネッ トワークを介して接続され
、 前記サーバに入力された依頼処理を並列処理により処理する並列 処理システムに用いられる処理端末装置であって、 自身の負荷を監視し、 当該負荷に基づいて前記並列処理への参加 可否を判定する判定手段と、
前記サーバから送られた割付処理を実行し、 実行結果を前記サ一 バに送信する割付処理実行手段と、
を具備することを特徴とする処理端末装置。
4 7 . コンピュータを請求項 4 6に記載の処理端末装置とし て機能させるプログラム。
4 8 . 複数の処理端末装置と、 1又は複数のサーバと、 がネ ッ トワークを介して接続され、 前記サーバに入力された依頼処理を 並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から、 必要に応じて当該依賴処理を分割して、 割付 処理を生成し、 前記処理端末装置に当該割付処理を割り付け送信し 実行させる処理割付手段と、
を具備し、
前記処理端末装置は、
前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、
他の処理端末装置に、 ブロー ドキャス ト通信により、 更新した共 有データを送信する共有データ送信手段と、
他の処理端末装置から、 ブロードキャス ト通信により、 受信した 共有データを更新する共有データ受信手段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする並列処理システム。
4 9 . 1又は複数のサーバにネッ トワークを介して接続され
、 前記サーバに入力された依頼処理を並列処理により処理する並列 処理システムに用いられる処理端末装置であって、
前記サーバから送られた前記割付処理を実行する割付処理実行手 段と、
他の処理端末装置に、 ブロードキャス ト通信により、 更新した共 有データを送信する共有データ送信手段と、
他の処理端末装置から、 ブロードキャス ト通信により、 受信した 共有データを更新する共有データ受信手段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送 信手段と、
を具備することを特徴とする処理端末装置。
5 0 . コンピュータを請求項 4 9に記載の処理端末装置とし て機能させるプログラム。
5 1 . 複数の処理端末装置と、 1又は複数のサーバと、 がネ ッ トヮ一クを介して接続され、 前記サーバに入力された依頼処理を 並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から必要に応じて当該依頼処理を分割して割付処理 を生成し、 前記処理端末装置に当該割付処理を割り付け送信し実行 させる処理割付手段と、
前記依頼処理及び前記割付処理に関する情報を対応付ける処理テ 一ブルを保持する保持手段と、
前記処理端末装置から他の処理端末装置における割付処理に関す る問合せを受信した場合、 前記処理テーブルを参照して応答する問 合せ応答手段と、 を具備し、
前記処理端末装置は、
前記サーバから送られた前記割付処理を実行し、 実行結果を前記 サーバに送信する割付処理実行手段と、
前記サーバに他の処理端末装置における割付処理に関する問合せ を送信する問合せ手段と、
を具備することを特徴とする並列処理システム。
5 2 . 前記問合せ応答手段は、 さらに、 前記サーバに前記ネ ッ トワークを介して前記依頼処理を送信する 1又は複数の端末装置 から前記依頼処理に関する問合せを受信した場合、 前記処理テ一ブ ルを参照して応答することを特徴とする請求項 5 1に記載の並列処 理システム。
5 3 . 前記問合せ応答手段は、 前記処理テーブルから前記問 合せに対応する情報を抽出し、 当該情報を返信することを特徴とす る請求項 4 1または請求項 5 2に記載の並列処理システム。
5 4 . 前記問合せ応答手段は、 さらに、 前記抽出した情報に 対して前記問合せに応じた演算処理を行った結果を返信することを 特徴とする請求項 5 3に記載の並列処理システム。
5 5 . 前記問合せに対応する情報は、 前記依頼処理または前 記割付処理の実行結果または処理状況であることを特徴とする請求 項 5 3または請求項 5 4に記載の並列処理システム。
5 6 . 複数の処理端末装置に、 ネッ トワークを介して接続さ れ、 入力された依頼処理を並列処理により処理する 1又は複数のサ ーバであって、
前記依頼処理から必要に応じて当該依頼処理を分割して割付処理 を生成し、 前記処理端末装置に当該割付処理を割り付け送信し実行 させる処理割付手段と、
前記依頼処理及び前記割付処理に関する情報を対応付ける処理テ 一ブルを保持する保持手段と、
前記処理端末装置から他の処理端末装置における割付処理に関す る問合せを受信した場合、 前記処理テーブルを参照して応答する問 合せ応答手段と、
を具備することを特徴とするサーバ。
5 7 . 入力された依頼処理を並列処理により処理する 1又は 複数のサーバにネッ トワークを介して接続される、 1又は複数の処 理端末装置であって、
前記サーバから送られた前記割付処理を実行し、 実行結果を前記 サーバに送信する割付処理実行手段と、
前記サーバに他の処理端末装置における割付処理に関する問合せ を送信する問合せ手段と、
を具備することを特徴とする処理端末装置。
5 8 . コンピュータを請求項 5 6に記載のサーバと して機能 させるプログラム。
5 9 . コンピュータを請求項 5 7に記載の処理端末装置とし て機能させるプログラム。
PCT/JP2003/006551 2002-05-28 2003-05-26 Parallel processing system WO2003100648A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2003241771A AU2003241771A1 (en) 2002-05-28 2003-05-26 Parallel processing system
US10/513,089 US20050188087A1 (en) 2002-05-28 2003-05-26 Parallel processing system

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
JP2002-153475 2002-05-28
JP2002153475 2002-05-28
JP2002-221476 2002-07-30
JP2002-221272 2002-07-30
JP2002221506A JP2004062622A (ja) 2002-07-30 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP2002221297A JP2004062603A (ja) 2002-07-30 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP2002-221337 2002-07-30
JP2002221337A JP3942979B2 (ja) 2002-07-30 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP2002-221317 2002-07-30
JP2002222125A JP3983619B2 (ja) 2002-07-30 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP2002221272A JP2004054855A (ja) 2002-05-28 2002-07-30 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP2002-222125 2002-07-30
JP2002-221297 2002-07-30
JP2002-221506 2002-07-30
JP2002221476A JP2004062620A (ja) 2002-07-30 2002-07-30 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP2002221317A JP2004062606A (ja) 2002-07-30 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体

Publications (1)

Publication Number Publication Date
WO2003100648A1 true WO2003100648A1 (en) 2003-12-04

Family

ID=29587995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/006551 WO2003100648A1 (en) 2002-05-28 2003-05-26 Parallel processing system

Country Status (4)

Country Link
US (1) US20050188087A1 (ja)
AU (1) AU2003241771A1 (ja)
TW (1) TWI325543B (ja)
WO (1) WO2003100648A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280383A (ja) * 2006-04-02 2007-10-25 Mentor Graphics Corp 並列演算の分散
WO2012120655A1 (ja) * 2011-03-08 2012-09-13 富士通株式会社 スケジューリング方法およびスケジューリングシステム
CN110569252A (zh) * 2018-05-16 2019-12-13 杭州海康威视数字技术股份有限公司 一种数据处理系统及方法

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051963B1 (en) * 2003-10-21 2006-05-30 Links Medical Products, Inc. Pill crusher pouch and method of using same
US8315980B2 (en) * 2005-02-22 2012-11-20 Oracle International Corporation Parallel execution of window functions
JP2006236123A (ja) * 2005-02-25 2006-09-07 Fujitsu Ltd ジョブ分散プログラム、ジョブ分散方法およびジョブ分散装置
GB0510327D0 (en) * 2005-05-20 2005-06-29 Corporate Modelling Holdings P Data processing network
JP4107312B2 (ja) * 2005-07-04 2008-06-25 ブラザー工業株式会社 通信システム、及び通信端末
JP2007034359A (ja) * 2005-07-22 2007-02-08 Hitachi Ltd 分散制御装置
US7657796B1 (en) * 2005-09-30 2010-02-02 Symantec Operating Corporation System and method for distributed storage verification
US9270532B2 (en) 2005-10-06 2016-02-23 Rateze Remote Mgmt. L.L.C. Resource command messages and methods
JP4402051B2 (ja) * 2006-01-16 2010-01-20 株式会社ソニー・コンピュータエンタテインメント データ処理システムおよびデータ処理方法
US7752437B1 (en) 2006-01-19 2010-07-06 Sprint Communications Company L.P. Classification of data in data flows in a data storage infrastructure for a communication network
US7788302B1 (en) 2006-01-19 2010-08-31 Sprint Communications Company L.P. Interactive display of a data storage infrastructure for a communication network
US7895295B1 (en) 2006-01-19 2011-02-22 Sprint Communications Company L.P. Scoring data flow characteristics to assign data flows to storage systems in a data storage infrastructure for a communication network
US7797395B1 (en) 2006-01-19 2010-09-14 Sprint Communications Company L.P. Assignment of data flows to storage systems in a data storage infrastructure for a communication network
US8510429B1 (en) * 2006-01-19 2013-08-13 Sprint Communications Company L.P. Inventory modeling in a data storage infrastructure for a communication network
US7801973B1 (en) 2006-01-19 2010-09-21 Sprint Communications Company L.P. Classification of information in data flows in a data storage infrastructure for a communication network
WO2007116560A1 (ja) * 2006-03-30 2007-10-18 Nec Corporation 並列画像処理システムの制御方法および装置
JP4830659B2 (ja) * 2006-06-16 2011-12-07 富士ゼロックス株式会社 液滴吐出装置
JP2008077428A (ja) * 2006-09-21 2008-04-03 Fujitsu Ltd 負荷分散装置、負荷分散方法及び負荷分散プログラム
US8935372B2 (en) * 2007-02-02 2015-01-13 Sony Corporation Mediation server, terminals and distributed processing method
US20090307651A1 (en) * 2008-06-05 2009-12-10 Shanmugam Senthil Computing Platform for Structured Data Processing
US20120173604A1 (en) * 2009-09-18 2012-07-05 Nec Corporation Data center system, reconfigurable node, reconfigurable node controlling method and reconfigurable node control program
WO2013005322A1 (ja) * 2011-07-06 2013-01-10 富士通株式会社 制御端末、および制御方法
JP6015057B2 (ja) * 2012-03-28 2016-10-26 日本電気株式会社 配信システム
US10169091B2 (en) 2012-10-25 2019-01-01 Nvidia Corporation Efficient memory virtualization in multi-threaded processing units
US10310973B2 (en) 2012-10-25 2019-06-04 Nvidia Corporation Efficient memory virtualization in multi-threaded processing units
US10037228B2 (en) 2012-10-25 2018-07-31 Nvidia Corporation Efficient memory virtualization in multi-threaded processing units
US9992306B2 (en) * 2012-12-21 2018-06-05 E*Trade Financial Corporation Dynamic execution
WO2016064893A1 (en) 2014-10-20 2016-04-28 Taser International, Inc. Systems and methods for distributed control
US9918255B2 (en) * 2015-09-22 2018-03-13 International Business Machines Corporation Electronic devices with distributed radios
WO2017077581A1 (ja) 2015-11-02 2017-05-11 富士通株式会社 情報処理システム、情報処理方法、及び情報処理プログラム
US11226841B2 (en) 2016-03-22 2022-01-18 Mitsubishi Electric Corporation Information processing system, information processing device, and information processing method
WO2017163447A1 (ja) * 2016-03-22 2017-09-28 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
US20190163493A1 (en) * 2017-11-30 2019-05-30 Western Digital Technologies, Inc. Methods, systems and devices for recovering from corruptions in data processing units
US11295014B2 (en) * 2019-05-08 2022-04-05 Baidu Usa Llc TPM-based secure multiparty computing system using a non-bypassable gateway
CN111599424B (zh) * 2020-04-27 2023-10-31 贵州精准健康数据有限公司 一种智慧病历大数据中心管理方法及装置
CN111540426B (zh) * 2020-04-27 2023-11-03 贵州精准健康数据有限公司 基于公众号的智慧病历应用系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213152A (ja) * 1990-11-14 1992-08-04 Ricoh Co Ltd プログラム起動方式
JPH0619857A (ja) * 1992-07-01 1994-01-28 Fujitsu Ltd コンピュータ間のデータ一致装置
JPH07152698A (ja) * 1993-11-30 1995-06-16 Fuji Xerox Co Ltd ローカル・エリア・ネットワーク
JPH11195007A (ja) * 1998-01-07 1999-07-21 Sanyo Electric Co Ltd 分散処理システム及び分散処理方法
JPH11249917A (ja) * 1998-02-27 1999-09-17 Nec Corp 並列型計算機及びそのバッチ処理方法及び記録媒体
JP2000242614A (ja) * 1999-02-22 2000-09-08 Nippon Steel Corp 分散処理システムおよびその方法、分散処理を行うための端末装置および記録媒体
JP2001290788A (ja) * 2000-04-10 2001-10-19 Mitsubishi Electric Corp 分散処理システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522070A (en) * 1992-03-19 1996-05-28 Fujitsu Limited Computer resource distributing method and system for distributing a multiplicity of processes to a plurality of computers connected in a network
US5974424A (en) * 1997-07-11 1999-10-26 International Business Machines Corporation Parallel file system and method with a metadata node

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213152A (ja) * 1990-11-14 1992-08-04 Ricoh Co Ltd プログラム起動方式
JPH0619857A (ja) * 1992-07-01 1994-01-28 Fujitsu Ltd コンピュータ間のデータ一致装置
JPH07152698A (ja) * 1993-11-30 1995-06-16 Fuji Xerox Co Ltd ローカル・エリア・ネットワーク
JPH11195007A (ja) * 1998-01-07 1999-07-21 Sanyo Electric Co Ltd 分散処理システム及び分散処理方法
JPH11249917A (ja) * 1998-02-27 1999-09-17 Nec Corp 並列型計算機及びそのバッチ処理方法及び記録媒体
JP2000242614A (ja) * 1999-02-22 2000-09-08 Nippon Steel Corp 分散処理システムおよびその方法、分散処理を行うための端末装置および記録媒体
JP2001290788A (ja) * 2000-04-10 2001-10-19 Mitsubishi Electric Corp 分散処理システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HYE-SEON MAENG ET AL.: "Resource management method for cooperative web computing on computational grid", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1971, 2000, BERLIN: SPRINGER-VERLAG, pages 55 - 64, XP002964723 *
LALIS SPYROS AND KARIPIDIS ALEXANDROS: "JaWS: An open market-based framework for distributed computing over the Internet", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1971, 2000, BERLIN: SPRINGER-VERLAG, pages 36 - 46, XP002964722 *
SARMENTA LUIS F.G.: "Bayanihan: web-based volunteer computing using Java", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1368, 1998, BERLIN: SPRINGER-VERLAG, pages 444 - 459, XP002964724 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280383A (ja) * 2006-04-02 2007-10-25 Mentor Graphics Corp 並列演算の分散
JP2012027954A (ja) * 2006-04-02 2012-02-09 Mentor Graphics Corp 並列演算の分散
WO2012120655A1 (ja) * 2011-03-08 2012-09-13 富士通株式会社 スケジューリング方法およびスケジューリングシステム
JP5790758B2 (ja) * 2011-03-08 2015-10-07 富士通株式会社 スケジューリング方法およびスケジューリングシステム
US9384050B2 (en) 2011-03-08 2016-07-05 Fujitsu Limited Scheduling method and scheduling system for multi-core processor system
CN110569252A (zh) * 2018-05-16 2019-12-13 杭州海康威视数字技术股份有限公司 一种数据处理系统及方法
CN110569252B (zh) * 2018-05-16 2023-04-07 杭州海康威视数字技术股份有限公司 一种数据处理系统及方法

Also Published As

Publication number Publication date
US20050188087A1 (en) 2005-08-25
TWI325543B (en) 2010-06-01
TW200403565A (en) 2004-03-01
AU2003241771A1 (en) 2003-12-12

Similar Documents

Publication Publication Date Title
WO2003100648A1 (en) Parallel processing system
Han et al. Ondisc: Online latency-sensitive job dispatching and scheduling in heterogeneous edge-clouds
CN108667748B (zh) 一种控制带宽的方法、装置、设备和存储介质
CN110597639B (zh) Cpu分配控制方法、装置、服务器及存储介质
CN103067293A (zh) 负载均衡设备的连接管理和复用的方法和系统
Khalifa¹ et al. Collaborative autonomic resource management system for mobile cloud computing
JP5661328B2 (ja) 効率的でコスト効率の良い分散呼受付制御
JP3983619B2 (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
WO2020108337A1 (zh) 一种cpu资源调度方法及电子设备
Chatterjee et al. A new clustered load balancing approach for distributed systems
TWI296387B (en) Scheduling method for remote object procedure call and system thereof
JP2004062603A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
CN111913784B (zh) 任务调度方法及装置、网元、存储介质
Datta A new task scheduling method for 2 level load balancing in homogeneous distributed system
JP3942979B2 (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
Khanli et al. Grid_JQA: a QoS guided scheduling algorithm for grid computing
CN114168312A (zh) 一种分布式集群负载均衡方法、装置及存储介质
Naaz et al. Load balancing algorithms for peer to peer and client server distributed environments
Kaur et al. Load balancing in cloud computing: The online traffic management
JP2004054855A (ja) 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP2004062620A (ja) 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体
Sharma et al. An effective mechanism for improving performance of load balancing system in cluster computing
JP2004062606A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
Zhang et al. Grid resource management and scheduling for data streaming applications
Yakubu et al. A QoS Based Resource Allocation and Optimization in a Multi Layer Cloud Computing Environment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 10513089

Country of ref document: US

122 Ep: pct application non-entry in european phase