JP2006092432A - Information processing device, method, and program - Google Patents

Information processing device, method, and program Download PDF

Info

Publication number
JP2006092432A
JP2006092432A JP2004279525A JP2004279525A JP2006092432A JP 2006092432 A JP2006092432 A JP 2006092432A JP 2004279525 A JP2004279525 A JP 2004279525A JP 2004279525 A JP2004279525 A JP 2004279525A JP 2006092432 A JP2006092432 A JP 2006092432A
Authority
JP
Japan
Prior art keywords
function
information processing
execution
peripheral device
distributed
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.)
Withdrawn
Application number
JP2004279525A
Other languages
Japanese (ja)
Inventor
Michito Ishii
道人 石井
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 JP2004279525A priority Critical patent/JP2006092432A/en
Publication of JP2006092432A publication Critical patent/JP2006092432A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable distributed processing considering a change in each equipment state or network environment. <P>SOLUTION: A distribution validity determination part 64-1 recognizes substantially current hardware conditions of own equipment 1 and peripheral equipment 2 and a substantially current software condition of an execution object from function information for a function of the execution object stored in a function storage part 61-1 and equipment information for the own equipment 1 and the peripheral equipment 2 stored in an equipment information storage part 62-1. The distribution validity determination part 64-1 determines the validity of distributed processing of the execution object by the own equipment 1 and the peripheral equipment 2 based on each of the recognized conditions, the substantially current zone of a communication infrastructure calculated by a distributed equipment retrieval part 63-1 and the like, and assigns each function element constituting the function to either the own equipment 1 or the peripheral equipment 2. The present invention is applicable to an information processing system for performing distributed processing by a plurality of information processors. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、情報処理装置および方法並びにプログラムに関し、特に、分散機器の状態変化やネットワークの環境変化を考慮した分散処理ができる情報処理装置および方法並びにプログラムに関する。   The present invention relates to an information processing apparatus, method, and program, and more particularly, to an information processing apparatus, method, and program capable of distributed processing in consideration of a change in the state of a distributed device and a change in a network environment.

近年、グリッドコンピューティングが注目されている。グリッドコンピューティングとは、ネットワークにつながる複数の情報処理装置を協調動作させて高い演算性能を実現する技術である。この技術は例えば、特許文献1乃至5に開示されている。   In recent years, grid computing has attracted attention. Grid computing is a technology that realizes high computing performance by cooperating a plurality of information processing devices connected to a network. This technique is disclosed in Patent Documents 1 to 5, for example.

この技術を利用することで、複数の情報処理装置による分散処理が容易に実現可能になる。
特開2002−342165号公報 特開2002−351850号公報 特開2002−358289号公報 特開2002−366533号公報 特開2002−366534号公報
By using this technique, distributed processing by a plurality of information processing apparatuses can be easily realized.
JP 2002-342165 A JP 2002-351850 A JP 2002-358289 A JP 2002-366533 A JP 2002-366534 A

しかしながら、特許文献1乃至5等の従来の技術を単体または組合せで利用して分散処理が実行される場合、分散機器の現在の状態を把握することなく、かつ、その実行環境のネットワークとの距離や現在の状態に関わらず、動作可能と仮定された分散機器が実行対象機器として固定されて利用されることになる。   However, when distributed processing is executed by using conventional techniques such as Patent Documents 1 to 5 alone or in combination, the distance from the network of the execution environment without grasping the current state of the distributed device Regardless of the current state, the distributed device assumed to be operable is fixed and used as the execution target device.

このため、固定された分散機器の現在の状態やネットワークの現在の環境によっては、分散処理のリアルタイム性が保たれないばかりか、最悪、分散処理の実行が不可能になる恐れがある、という課題があった。換言すると、従来、分散機器の状態変化やネットワークの環境変化を考慮しない分散処理が行われていた、という課題があった。   For this reason, depending on the current state of fixed distributed devices and the current network environment, the real-time performance of distributed processing may not be maintained, and in the worst case, it may become impossible to execute distributed processing. was there. In other words, there has conventionally been a problem that distributed processing that does not take into account state changes of distributed devices and changes in the network environment has been performed.

本発明は、このような状況に鑑みてなされたものであり、分散機器の状態変化やネットワークの環境変化を考慮した分散処理ができるようにするものである。   The present invention has been made in view of such a situation, and makes it possible to perform distributed processing in consideration of a state change of a distributed device and a network environment change.

本発明の情報処理装置は、所定の通信インフラを用いて周辺機器と通信を行うことで、周辺機器と協調動作して所定の機能の分散処理を実行する情報処理装置である。詳細には、本発明の情報処理装置は、ソフトウエアとしての複数の機能要素から構成される機能を実行対象として、情報処理装置自身と周辺機器のそれぞれが略現時点で要求しているハードウエア条件、実行対象が略現時点で要求しているソフトウエア条件、および、通信インフラの略現時点の帯域に基づいて、情報処理装置自身と周辺機器とによる実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、実行対象を構成する複数の機能要素のそれぞれの処理を、情報処理装置自身と周辺機器のうちのいずれかに割り振る正当性判断手段と、正当性判断手段により正当性がないと判断された場合、実行対象を自分自身で実行し、正当性判断手段により正当性があると判断された場合、実行対象を構成する複数の機能要素のうちの、正当性判断手段により情報処理装置自身に割り振られた第1の機能要素を自分自身で実行し、正当性判断手段により周辺機器に割り振られた第2の機能要素を周辺機器に実行させる制御を行い、第1の機能要素と第2の機能要素とのそれぞれの実行結果を合成することで、実行対象の分散処理を実行する機能実行手段とを備えることを特徴とする。   The information processing apparatus of the present invention is an information processing apparatus that performs distributed processing of a predetermined function in cooperation with the peripheral device by performing communication with the peripheral device using a predetermined communication infrastructure. Specifically, the information processing apparatus according to the present invention is configured to execute a function composed of a plurality of functional elements as software, and the hardware conditions currently requested by the information processing apparatus itself and each peripheral device are substantially Based on the software conditions that the execution target is requesting at the present time and the current bandwidth of the communication infrastructure, the validity of the execution of the distributed processing of the execution target by the information processing device itself and the peripheral device is determined. If it is determined that the process is valid, the process of each of the plurality of functional elements constituting the execution target is allocated to either the information processing apparatus itself or the peripheral device, and the validity determination unit When it is determined that the execution target is not legitimate, the execution target is executed by itself. Among the functional elements, the first functional element assigned to the information processing apparatus itself by the validity judging means is executed by itself, and the second functional element assigned to the peripheral equipment by the validity judging means is used as the peripheral equipment. And a function execution means for executing the distributed processing to be executed by combining the execution results of the first function element and the second function element.

通信インフラを用いて通信を行うことが可能な他の情報処理装置の中から、実行対象を構成する複数の機能要素のうちの少なくとも1つを保有し、かつ、略現在それを実行可能な他の情報処理装置を周辺機器として検索する検索手段をさらに設け、正当性判断手段は、情報処理装置自身と検索手段により検索された周辺機器とによる実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、実行対象を構成する複数の機能要素のうちの、周辺機器が略現在実行可能な機能要素を第2の機能要素として周辺機器に割り当て、それ以外の機能要素を第1の機能要素として情報処理装置自身に割り当てるようにすることができる。   Other information processing apparatuses that can communicate using a communication infrastructure, and that have at least one of a plurality of functional elements that constitute an execution target, and that can currently execute it The information processing apparatus is further provided with a search means for searching as a peripheral device, and the validity determination means determines the validity of the execution of the distributed processing to be executed by the information processing apparatus itself and the peripheral device searched by the search means. If it is determined that the function is legitimate, a function element that can be executed by the peripheral device substantially among the plurality of function elements constituting the execution target is assigned to the peripheral device as the second function element, and other functions The element can be assigned to the information processing apparatus itself as the first functional element.

本発明の情報処理方法は、所定の通信インフラを用いて周辺機器と通信を行うことで、周辺機器と協調動作して所定の機能の分散処理を実行する情報処理装置の情報処理方法である。詳細には、本発明の情報処理方法は、ソフトウエアとしての複数の機能要素から構成される機能を実行対象として、情報処理装置自身と周辺機器のそれぞれが略現時点で要求しているハードウエア条件、実行対象が略現時点で要求しているソフトウエア条件、および、通信インフラの略現時点の帯域に基づいて、情報処理装置自身と周辺機器とによる実行対象の分散処理の実行について正当性を判断し、正当性があると判断した場合、実行対象を構成する複数の機能要素のそれぞれの処理を、情報処理装置自身と周辺機器のうちのいずれかに割り振る正当性判断ステップと、正当性判断ステップの処理により正当性がないと判断された場合、実行対象を情報処理装置自身に実行させる制御を行い、正当性判断手段により正当性がないと判断された場合、実行対象を構成する複数の機能要素のうちの、正当性判断ステップの処理により情報処理装置自身に割り振られた第1の機能要素を情報処理装置自身に実行させる制御を行い、正当性判断ステップの処理により周辺機器に割り振られた第2の機能要素を周辺機器に実行させる制御を行い、第1の機能要素と第2の機能要素とのそれぞれの実行結果を合成することで、実行対象の分散処理の実行を制御する機能実行制御ステップとを含むことを特徴とする。   The information processing method of the present invention is an information processing method for an information processing apparatus that performs distributed processing of a predetermined function in cooperation with a peripheral device by communicating with the peripheral device using a predetermined communication infrastructure. Specifically, the information processing method according to the present invention has a hardware condition that each of the information processing apparatus itself and the peripheral device requests substantially at the present time, with a function composed of a plurality of functional elements as software being executed. Based on the software conditions that the execution target is currently requesting and the current bandwidth of the communication infrastructure, the validity of the distributed processing executed by the information processing device itself and peripheral devices is judged. If it is determined that there is a legitimacy, the processing of each of the plurality of functional elements constituting the execution target is assigned to either the information processing apparatus itself or the peripheral device, and the legitimacy judgment step When it is determined that the processing is not legitimate, the information processing apparatus itself is controlled to execute the execution target, and the legitimacy judging unit judges that the legitimacy is not legitimate. In this case, control is performed to cause the information processing apparatus itself to execute the first functional element allocated to the information processing apparatus itself by the process of the validity determination step among the plurality of functional elements constituting the execution target. Execute by controlling the peripheral device to execute the second functional element allocated to the peripheral device by the processing of the determination step, and by combining the execution results of the first functional element and the second functional element And a function execution control step for controlling the execution of the target distributed processing.

本発明のプログラムは、所定の通信インフラを用いて周辺機器と通信を行うことで、周辺機器と協調動作して所定の機能の分散処理を実行する主装置と、周辺機器とを制御するコンピュータに実行させるプログラムである。詳細には、本発明のプログラムは、ソフトウエアとしての複数の機能要素から構成される機能を実行対象として、主装置と周辺機器のそれぞれが略現時点で要求しているハードウエア条件、実行対象が略現時点で要求しているソフトウエア条件、および、通信インフラの略現時点の帯域に基づいて、主装置と周辺機器とによる実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、実行対象を構成する複数の機能要素のそれぞれの処理を、主装置と周辺機器のうちのいずれかに割り振る正当性判断ステップと、正当性判断ステップの処理により正当性がないと判断された場合、実行対象を主装置に実行させる制御を行い、正当性判断手段により正当性がないと判断された場合、実行対象を構成する複数の機能要素のうちの、正当性判断ステップの処理により主装置に割り振られた第1の機能要素を主装置に実行させる制御を行い、正当性判断ステップの処理により周辺機器に割り振られた第2の機能要素を周辺機器に実行させる制御を行い、第1の機能要素と第2の機能要素とのそれぞれの実行結果を合成することで、実行対象の分散処理の実行を制御する機能実行制御ステップとを含むことを特徴とする。   The program of the present invention is a computer that controls a peripheral device and a main device that performs a distributed operation of a predetermined function in cooperation with the peripheral device by communicating with the peripheral device using a predetermined communication infrastructure. It is a program to be executed. Specifically, the program according to the present invention has a function composed of a plurality of functional elements as software as execution targets, and the hardware conditions and execution targets requested by the main device and peripheral devices are almost the same at present. Based on the software conditions requested at the present time and the current bandwidth of the communication infrastructure, the validity of the execution of the distributed processing of the execution target by the main device and the peripheral device is judged and valid. If it is determined that there is no legitimacy due to the legitimacy determination step of allocating the processing of each of the plurality of functional elements constituting the execution target to either the main device or the peripheral device and the legitimacy determination step If it is determined, control is performed to cause the execution target to be executed by the main device, and if the validity determination means determines that the execution target is not valid, a plurality of functional elements constituting the execution target are required. The second functional element assigned to the peripheral device by the process of the legitimacy determination step is performed to control the main apparatus to execute the first functional element allocated to the main apparatus by the legitimacy judgment step process. A function execution control step for controlling the execution of the distributed processing to be executed by combining the execution results of the first functional element and the second functional element. It is characterized by that.

本発明の情報処理装置および方法、並びにプログラムにおいては、所定の通信インフラを用いて周辺機器と通信が行われることで、周辺機器と協調動作して所定の機能の分散処理が実行される。詳細には、ソフトウエアとしての複数の機能要素から構成される機能が実行対象とされて、情報処理装置自身または主装置自身(以下、情報処理装置のみを記述すると周辺機器のそれぞれが略現時点で要求しているハードウエア条件、実行対象が略現時点で要求しているソフトウエア条件、および、通信インフラの略現時点の帯域に基づいて、情報処理装置自身と周辺機器とによる実行対象の分散処理の実行についての正当性が判断される。正当性がないと判断された場合、実行対象が情報処理装置自身単体により実行される。これに対して、正当性があると判断された場合、上述した略現時点のハードウエアおよびソフトウエア条件並びに通信インフラの略現在の帯域に基づいて、実行対象を構成する複数の機能要素のそれぞれの処理が、情報処理装置自身と周辺機器のうちのいずれかに割り振られ、情報処理装置自身に割り振られた第1の機能要素が情報処理装置自身により実行され、周辺機器に割り振られた第2の機能要素が周辺機器により実行され、第1の機能要素と第2の機能要素とのそれぞれの実行結果が合成されることで、実行対象の分散処理が実行される。   In the information processing apparatus, method, and program according to the present invention, communication with a peripheral device is performed using a predetermined communication infrastructure, whereby distributed processing of a predetermined function is executed in cooperation with the peripheral device. Specifically, a function composed of a plurality of functional elements as software is targeted for execution, and the information processing device itself or the main device itself (hereinafter, only the information processing device is described, each of the peripheral devices is substantially Based on the requested hardware conditions, the software conditions that the execution target is requesting at the present time, and the approximate current bandwidth of the communication infrastructure, the distributed processing of the execution targets by the information processing device itself and peripheral devices When it is determined that there is no validity, the execution target is executed by the information processing apparatus itself. Based on the current hardware and software conditions and the current bandwidth of the communication infrastructure, the processing of each of the plurality of functional elements constituting the execution target is The first functional element allocated to one of the information processing apparatus itself and the peripheral device, the first functional element allocated to the information processing apparatus itself is executed by the information processing apparatus itself, and the second functional element allocated to the peripheral apparatus is The execution processing is executed by the peripheral device, and the execution results of the first functional element and the second functional element are combined to execute the distributed processing to be executed.

以上のごとく、本発明によれば、所定の機能の分散処理が可能になる。特に、分散機器の状態変化やネットワークの環境変化を考慮した分散処理が可能になる。   As described above, according to the present invention, it is possible to perform distributed processing of a predetermined function. In particular, distributed processing can be performed in consideration of changes in the state of distributed devices and changes in the network environment.

以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。   Embodiments of the present invention will be described below. Correspondences between constituent elements described in the claims and specific examples in the embodiments of the present invention are exemplified as follows. This description is to confirm that specific examples supporting the invention described in the claims are described in the embodiments of the invention. Therefore, even though there are specific examples that are described in the embodiment of the invention but are not described here as corresponding to the configuration requirements, the specific examples are not included in the configuration. It does not mean that it does not correspond to a requirement. On the contrary, even if a specific example is described here as corresponding to a configuration requirement, this means that the specific example does not correspond to a configuration requirement other than the configuration requirement. not.

さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。   Further, this description does not mean that all the inventions corresponding to the specific examples described in the embodiments of the invention are described in the claims. In other words, this description is an invention corresponding to the specific example described in the embodiment of the invention, and the existence of an invention not described in the claims of this application, that is, in the future, a divisional application will be made. Nor does it deny the existence of an invention added by amendment.

本発明によれば、情報処理装置が提供される。この情報処理装置(例えば、図1の情報処理装置1や2)は、所定の通信インフラ(例えば、図1のネットワーク3を含む通信インフラ)を用いて周辺機器(例えば、図1の情報処理装置1に着目している場合には情報処理装置2であり、情報処理装置2に着目している場合には情報処理装置1である)と通信を行うことで、前記周辺機器と協調動作して所定の機能の分散処理を実行する情報処理装置である。詳細にはこの情報処理装置は、ソフトウエアとしての複数の機能要素から構成される機能(例えば、図3の機能要素A,B,C,Dから構成される機能Pや、機能要素A,D,E,Fから構成される機能Q)を実行対象として、前記情報処理装置自身と前記周辺機器のそれぞれが略現時点で要求しているハードウエア条件、前記実行対象が略現時点で要求しているソフトウエア条件(例えば、これらのハードウエア条件やソフトウエア条件として、図11の情報処理装置1の機器情報、図12の情報処理装置2の機器情報、および、図13の機能Qの機能情報のそれぞれの各項目のうちの少なくとも1つの記述値が利用可能である)、および、前記通信インフラの略現時点の帯域(例えば、図4のステップS4の算出値であり、算出方法の具体例については後述する)に基づいて、前記情報処理装置自身と前記周辺機器とによる前記実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、前記実行対象を構成する複数の前記機能要素のそれぞれの処理を、前記情報処理装置自身と前記周辺機器のうちのいずれかに割り振る正当性判断手段(例えば、図1の情報処理コントローラ11−1または11−2に設けられる図2の分散正当性判断部64−1または64−2)と、前記正当性判断手段により正当性がないと判断された場合、前記実行対象を自分自身で実行し、前記正当性判断手段により正当性があると判断された場合、前記実行対象を構成する複数の前記機能要素のうちの、前記正当性判断手段により前記情報処理装置自身に割り振られた第1の機能要素を自分自身で実行し、前記正当性判断手段により前記周辺機器に割り振られた第2の機能要素を前記周辺機器に実行させる制御を行い、前記第1の機能要素と前記第2の機能要素とのそれぞれの実行結果を合成することで、前記実行対象の分散処理を実行する機能実行手段(例えば、図1の情報処理コントローラ11−1または11−2に設けられる図2の分散機能実行部65−1または65−2)とを備えることを特徴とする。   According to the present invention, an information processing apparatus is provided. This information processing apparatus (for example, the information processing apparatuses 1 and 2 in FIG. 1) uses a predetermined communication infrastructure (for example, a communication infrastructure including the network 3 in FIG. 1) and a peripheral device (for example, the information processing apparatus in FIG. 1). 1 is the information processing device 2, and the information processing device 2 is the information processing device 1 when paying attention to the information processing device 2. An information processing apparatus that performs distributed processing of a predetermined function. Specifically, this information processing apparatus has a function composed of a plurality of functional elements as software (for example, a function P composed of functional elements A, B, C, and D in FIG. , E, F function Q), the hardware conditions that the information processing device itself and the peripheral device are requesting at the present time, and the execution target is requested at the present time. Software conditions (for example, these hardware conditions and software conditions include the device information of the information processing device 1 in FIG. 11, the device information of the information processing device 2 in FIG. 12, and the function information of the function Q in FIG. And at least one descriptive value of each item is available), and the current bandwidth of the communication infrastructure (for example, the calculated value in step S4 of FIG. 4, for a specific example of the calculation method) To be described later Based on the information processing apparatus itself and the peripheral device to determine the validity of the execution of the distributed processing of the execution target, and if it is determined that there is a validity, a plurality of the functions constituting the execution target Validity determination means for allocating each process of the element to either the information processing apparatus itself or the peripheral device (for example, the distribution of FIG. 2 provided in the information processing controller 11-1 or 11-2 in FIG. 1) When the validity judgment unit 64-1 or 64-2) and the legitimacy judging means judge that the legitimacy is not legitimate, the execution target is executed by itself, and the legitimacy judging means has legitimacy. If it is determined that the first functional element allocated to the information processing apparatus itself by the legitimacy determining means among the plurality of functional elements constituting the execution target is executed by itself. And executing control of causing the peripheral device to execute the second functional element allocated to the peripheral device by the validity determining unit, and executing each of the first functional element and the second functional element. By combining the results, function execution means for executing the distributed processing to be executed (for example, the distributed function execution unit 65-1 or 65 in FIG. 2 provided in the information processing controller 11-1 or 11-2 in FIG. 1). -2).

この情報処理装置(例えば、図1と図2の情報処理装置2)は、前記通信インフラを用いて通信を行うことが可能な他の情報処理装置の中から、前記実行対象を構成する複数の前記機能要素のうちの少なくとも1つを保有し、かつ、略現在それを実行可能な他の情報処理装置(例えば、図3の機能Qに含まれる機能要素A,D,E,Fのうちの機能要素A,Dを含む機能Pを保有する情報処理装置1)を前記周辺機器として検索する検索手段(例えば、図1の情報処理コントローラ11−1または11−2に設けられる図2の分散機器検索部63−1または63−2)をさらに設け、前記正当性判断手段は、前記情報処理装置自身と前記検索手段により検索された前記周辺機器とによる前記実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、前記実行対象を構成する複数の前記機能要素のうちの、前記周辺機器が略現在実行可能な機能要素を前記第2の機能要素として前記周辺機器に割り当て、それ以外の機能要素を前記第1の機能要素として前記情報処理装置自身に割り当てる(例えば、図14に示されるように、機能Qに含まれる機能要素A,D,E,Fのうちの、機能要素A,Dを情報処理装置(周辺機器)1に割り当て、機能要素E,Fを情報処理装置2自身に割り当てる)ようにすることができる。   The information processing apparatus (for example, the information processing apparatus 2 in FIGS. 1 and 2) includes a plurality of information processing apparatuses that can communicate with each other using the communication infrastructure. Other information processing apparatuses that have at least one of the functional elements and are capable of executing it at present (for example, among the functional elements A, D, E, and F included in the function Q in FIG. 3) Retrieval means (for example, the distributed device of FIG. 2 provided in the information processing controller 11-1 or 11-2 of FIG. 1) for retrieving the information processing apparatus 1 having the function P including the functional elements A and D as the peripheral device The search unit 63-1 or 63-2) is further provided, and the validity determination unit is configured to verify whether the information processing apparatus itself and the peripheral device searched by the search unit execute the distributed processing to be executed. Judging sex and being legitimate If it is determined, among the plurality of functional elements constituting the execution target, a functional element that is substantially executable by the peripheral device is assigned to the peripheral device as the second functional element, and other functional elements are assigned. Assigned to the information processing apparatus itself as the first functional element (for example, as shown in FIG. 14, functional elements A, D of functional elements A, D, E, and F included in function Q are information It can be assigned to the processing device (peripheral device) 1 and the functional elements E and F are assigned to the information processing device 2 itself).

本発明によれば、情報処理方法が提供される。この情報処理方法は、所定の通信インフラ(例えば、図1のネットワーク3を含む通信インフラ)を用いて周辺機器(例えば、図1の情報処理装置1に着目している場合には情報処理装置2であり、情報処理装置2に着目している場合には情報処理装置1である)と通信を行うことで、前記周辺機器と協調動作して所定の機能の分散処理を実行する情報処理装置(例えば、図1の情報処理装置1や2)の情報処理方法である。詳細には、この情報処理方法は、ソフトウエアとしての複数の機能要素から構成される機能を実行対象として、前記情報処理装置自身と前記周辺機器のそれぞれが略現時点で要求しているハードウエア条件、前記実行対象が略現時点で要求しているソフトウエア条件、および、前記通信インフラの略現時点の帯域に基づいて、前記情報処理装置自身と前記周辺機器とによる前記実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、前記実行対象を構成する複数の前記機能要素のそれぞれの処理を、前記情報処理装置自身と前記周辺機器のうちのいずれかに割り振る正当性判断ステップ(例えば、図4の「分散準備処理」のうちのステップS7以降の処理)と、前記正当性判断ステップの処理により正当性がないと判断された場合、前記実行対象を前記情報処理装置自身に実行させる制御を行い、前記正当性判断手段により正当性があると判断された場合、前記実行対象を構成する複数の前記機能要素のうちの、前記正当性判断ステップの処理により前記情報処理装置自身に割り振られた第1の機能要素を前記情報処理装置自身に実行させる制御を行い、前記正当性判断ステップの処理により前記周辺機器に割り振られた第2の機能要素を前記周辺機器に実行させる制御を行い、前記第1の機能要素と前記第2の機能要素とのそれぞれの実行結果を合成することで、前記実行対象の分散処理の実行を制御する機能実行制御ステップ(例えば、図6と図7の「実行元による機能実行処理」)とを含むことを特徴とする。   According to the present invention, an information processing method is provided. This information processing method uses a predetermined communication infrastructure (for example, a communication infrastructure including the network 3 of FIG. 1) and peripheral devices (for example, the information processing device 2 when paying attention to the information processing device 1 of FIG. 1). The information processing apparatus (which is the information processing apparatus 1 when paying attention to the information processing apparatus 2) performs cooperative processing with the peripheral device and executes distributed processing of a predetermined function by communicating with the information processing apparatus 2 For example, the information processing method of the information processing apparatus 1 or 2) of FIG. More specifically, this information processing method has a hardware condition that each of the information processing apparatus itself and the peripheral device requests substantially at the present time, with a function composed of a plurality of functional elements as software being executed. , Execution of the distributed processing of the execution target by the information processing apparatus itself and the peripheral device based on the software condition that the execution target is requesting at the present time and the current current bandwidth of the communication infrastructure. If it is determined that there is a legitimacy, the processing of each of the plurality of functional elements constituting the execution target is legitimately assigned to either the information processing apparatus itself or the peripheral device. There is no legitimacy due to the sex judging step (for example, the processing after step S7 in the “distributed preparation processing” of FIG. 4) and the legitimacy judging step. If it is determined that the information processing apparatus itself executes the execution target, and if the validity determination unit determines that the execution target is valid, the plurality of functional elements constituting the execution target Among them, the information processing apparatus itself is controlled to execute the first functional element allocated to the information processing apparatus itself by the process of the legitimacy determination step, and the peripheral device is controlled by the process of the legitimacy determination step. The distributed processing of the execution target is performed by controlling the peripheral device to execute the allocated second functional element, and combining the execution results of the first functional element and the second functional element. And a function execution control step (for example, “function execution processing by the execution source” in FIGS. 6 and 7).

本発明よれば、プログラムが提供される。このプログラムは、上述した本発明の情報処理方法に対応するプログラムであって、例えば図1の情報処理コントローラ11−1や11−2等のコンピュータにより実行されるプログラムである。なお、この本発明のプログラムで言う主装置とは、上述した本発明の情報処理方法で言う情報処理装置に対応する。   According to the present invention, a program is provided. This program is a program corresponding to the information processing method of the present invention described above, and is executed by a computer such as the information processing controllers 11-1 and 11-2 in FIG. The main device referred to in the program of the present invention corresponds to the information processing device referred to in the information processing method of the present invention described above.

さらに本発明によれば、当然ながら、上述した本発明のプログラムが記録された記録媒体も提供される。   Furthermore, according to the present invention, of course, a recording medium on which the above-described program of the present invention is recorded is also provided.

次に、図面を参照して、本発明の実施の形態について説明する。   Next, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明が適用される情報処理システムの構成例を示している。換言すると、図1は、本発明が適用されるN個(Nは、1以上の任意の整数値である。ただし図1の例では2とされている)の情報処理装置からなる情報処理システムの構成例を示している。   FIG. 1 shows a configuration example of an information processing system to which the present invention is applied. In other words, FIG. 1 shows an information processing system composed of N information processing devices to which the present invention is applied (N is an arbitrary integer value of 1 or more, but 2 in the example of FIG. 1). The example of a structure is shown.

図1に示されるように、この情報処理システムは、情報処理装置1,2のそれぞれが所定のネットワーク3を介して相互に接続されることで構成されている。   As shown in FIG. 1, this information processing system is configured by connecting information processing apparatuses 1 and 2 to each other via a predetermined network 3.

以下、係る情報処理装置1,2のハードウエア構成例について説明していく。はじめに、情報処理装置1のハードウエア構成例について説明する。   Hereinafter, a hardware configuration example of the information processing apparatuses 1 and 2 will be described. First, a hardware configuration example of the information processing apparatus 1 will be described.

情報処理装置1は、情報処理コントローラ11−1、ネットワークインタフェース12−1、メインメモリ13−1、記憶装置14−1、および、ドライブ15−1を含むように構成される。   The information processing device 1 is configured to include an information processing controller 11-1, a network interface 12-1, a main memory 13-1, a storage device 14-1, and a drive 15-1.

情報処理コントローラ11−1は、メインメモリ13−1や記憶装置14−1に記憶された各種のプログラムを実行し、情報処理装置1全体を制御する。   The information processing controller 11-1 executes various programs stored in the main memory 13-1 and the storage device 14-1, and controls the entire information processing device 1.

情報処理コントローラ11−1は、メインプロセスユニット(MPU : Main Processing Unit)21−1、および、サブプロセスユニット(SPU : Sub Processing Unit)31−1乃至33−1のそれぞれがバス51−1を介して相互に接続されることで構成されている。   The information processing controller 11-1 includes a main process unit (MPU) 21-1 and sub-process units (SPUs) 31-1 to 33-1 via a bus 51-1. Are connected to each other.

MPU21−1には、専用のメモリ22−1が接続されている。従って、MPU21−1は、メインメモリ13−1等からロードしたデータやプログラムを、メモリ22−1に一時的に記憶させることができる。そして、MPU21−1は、メモリ22−1からデータやプログラムを読み出し、それらのデータやプログラムに基づいて各種処理を実行することができる。   A dedicated memory 22-1 is connected to the MPU 21-1. Therefore, the MPU 21-1 can temporarily store data and programs loaded from the main memory 13-1 and the like in the memory 22-1. The MPU 21-1 can read out data and programs from the memory 22-1, and can execute various processes based on the data and programs.

例えばMPU21−1は、SPU31−1乃至33−1によるプログラムの実行のスケジュール管理、および、情報処理コントローラ11−1(情報処理装置1)全体の管理を行うための各種処理を実行することができる。   For example, the MPU 21-1 can execute various processes for performing schedule management of program execution by the SPUs 31-1 to 33-1 and managing the entire information processing controller 11-1 (information processing apparatus 1). .

また例えば、MPU21−1は、分散処理を実行する他の情報処理装置の管理を行うための各種処理を実行することができる。ここで言う他の情報処理装置とは、図1の例では、情報処理装置2が該当する   Further, for example, the MPU 21-1 can execute various processes for managing other information processing apparatuses that execute distributed processes. The other information processing apparatus mentioned here corresponds to the information processing apparatus 2 in the example of FIG.

このように、MPU21−1は、管理のためのプログラムを実行するように構成されていると言える。ただし、MPU21−1は、管理のためのプログラム以外のプログラムを実行するように構成することもできる。この場合、MPU21−1はSPUとして機能する。   Thus, it can be said that the MPU 21-1 is configured to execute a management program. However, the MPU 21-1 can be configured to execute a program other than the management program. In this case, the MPU 21-1 functions as an SPU.

SPU31−1乃至33−1のそれぞれは、MPU21−1の制御に基づいて、並列的かつ独立にプログラムを実行してデータを処理する。さらに、必要に応じて、MPU21−1が実行するプログラムが、SPU31−1乃至33−1のそれぞれが実行するプログラムのそれぞれと連携して動作するように構成することも可能である。   Each of the SPUs 31-1 to 33-1 processes data by executing programs in parallel and independently based on the control of the MPU 21-1. Furthermore, if necessary, the program executed by the MPU 21-1 can be configured to operate in cooperation with each of the programs executed by the SPUs 31-1 to 33-1.

SPU31−1乃至33−1のそれぞれには、専用のメモリ41−1乃至43−1のそれぞれが接続されている。従って、SPU31−1乃至33−1のそれぞれは、自分自身専用のメモリ41−1乃至43−1のそれぞれに対して、データやプログラムを必要に応じて一時的に記憶させることができる。そして、SPU31−1乃至33−1のそれぞれは、自分自身専用のメモリ41−1乃至43−1のそれぞれからデータやプログラムを読み出し、それらのデータやプログラムに基づいて各種の処理を実行することができる。   Dedicated memories 41-1 to 43-1 are connected to the SPUs 31-1 to 33-1 respectively. Accordingly, each of the SPUs 31-1 to 33-1 can temporarily store data and programs in the memories 41-1 to 43-1 dedicated to the SPU 31-1 to 33-1 as necessary. Each of the SPUs 31-1 to 33-1 can read data and programs from the memories 41-1 to 43-1 dedicated to the SPUs 31-1 to 33-1 and execute various processes based on the data and programs. it can.

このように、図1の例では、情報処理装置1には3つのSPU31−1乃至33−1が設けられている。ただし当然ながら、SPUの個数は、図1の例に限定されず任意の個数で構わない。   As described above, in the example of FIG. 1, the information processing apparatus 1 is provided with three SPUs 31-1 to 33-1. However, as a matter of course, the number of SPUs is not limited to the example of FIG. 1 and may be any number.

係る構成の情報処理コントローラ11−1には、ネットワークインタフェース12−1、メインメモリ13−1、記憶装置14−1、およびドライブ15−1が接続されている。より正確には図1の例では、情報処理コントローラ11−1のうちの、MPU21−1にはネットワークインタフェース12−1およびメインメモリ13−1が接続されており、バス51−1には記憶装置14−1およびドライブ15−1が接続されている。   The information processing controller 11-1 having such a configuration is connected to the network interface 12-1, the main memory 13-1, the storage device 14-1, and the drive 15-1. More precisely, in the example of FIG. 1, the network interface 12-1 and the main memory 13-1 are connected to the MPU 21-1 of the information processing controller 11-1, and a storage device is connected to the bus 51-1. 14-1 and the drive 15-1 are connected.

ネットワークインタフェース12−1は、例えば、モデム、ターミナルアダプタ、無線通信機器等より構成される。係る構成のネットワークインタフェース12−1は、ネットワーク3を介する他の情報処理装置との間の通信を制御する。ここで言う他の情報処理装置とは、図1の例では、情報処理装置2が該当する   The network interface 12-1 is configured by, for example, a modem, a terminal adapter, a wireless communication device, and the like. The network interface 12-1 having such a configuration controls communication with other information processing apparatuses via the network 3. The other information processing apparatus mentioned here corresponds to the information processing apparatus 2 in the example of FIG.

メインメモリ13−1は、例えばRAM(Random Access Memory)等により構成される。メインメモリ13−1には、MPU21−1およびSPU31−1乃至33−1のうちの少なくとも1つが実行する各種のプログラムや、それらの各種のプログラムの実行時に利用される若しくは生成される各種データが適宜記憶される。   The main memory 13-1 is composed of, for example, a RAM (Random Access Memory). The main memory 13-1 stores various programs executed by at least one of the MPU 21-1 and the SPUs 31-1 to 33-1 and various data used or generated when executing these various programs. Stored as appropriate.

記憶装置14−1は、例えば、フラッシュメモリ、ハードディスクドライブ等の1以上の外部記憶装置により構成される。即ち、記憶装置14−1は、複数個の外部記憶装置から構成されることも多々ある。記憶装置14−1には、MPU21−1およびSPU31−1乃至33−1のうちの少なくとも1つが実行する各種のプログラムや、それらの各種のプログラムの実行時に利用される若しくは生成される各種データが適宜記憶される。さらに、記憶装置14−1には、情報処理コントローラ11−1から供給されたデータ等、その他のデータも適宜記憶される。   The storage device 14-1 is configured by one or more external storage devices such as a flash memory and a hard disk drive, for example. That is, the storage device 14-1 is often composed of a plurality of external storage devices. The storage device 14-1 stores various programs executed by at least one of the MPU 21-1 and the SPUs 31-1 to 33-1, and various data used or generated when executing these various programs. Stored as appropriate. Further, the storage device 14-1 appropriately stores other data such as data supplied from the information processing controller 11-1.

ドライブ15−1は、必要に応じてバス51−1に接続される。ドライブ15−1には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体16−1が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶装置14−1やメインメモリ13−1等にインストールされる。   The drive 15-1 is connected to the bus 51-1 as necessary. A removable recording medium 16-1 made of a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is appropriately attached to the drive 15-1, and a computer program read therefrom is stored in the storage device 14 as necessary. -1 and the main memory 13-1.

以上、情報処理装置1の構成例について説明した。   The configuration example of the information processing apparatus 1 has been described above.

情報処理装置2も、上述した情報処理装置1と基本的に同様の構成を有する。即ち、図1に示される情報処理装置2の各ブロックのそれぞれは、ハイフォン“−”の前の符号が同一の情報処理装置1のブロックに対応する。例えば、情報処理装置2の情報処理コントローラ11−2は、情報処理装置1の情報処理コントローラ11−1に対応する。このように、情報処理装置2は、情報処理装置1と基本的に同様の構成を有することから、情報処理装置1と基本的に同様の動作(処理)を行うことが当然ながらできる。   The information processing apparatus 2 has basically the same configuration as the information processing apparatus 1 described above. That is, each block of the information processing apparatus 2 shown in FIG. 1 corresponds to a block of the information processing apparatus 1 having the same code before the hyphen “−”. For example, the information processing controller 11-2 of the information processing device 2 corresponds to the information processing controller 11-1 of the information processing device 1. Thus, since the information processing apparatus 2 has basically the same configuration as the information processing apparatus 1, it is naturally possible to perform basically the same operation (processing) as the information processing apparatus 1.

また、情報処理装置1,2のそれぞれは、上述した構成に限定されず、必要に応じて、各種機能を追加したり削除したりすることが可能であり、各種機能のそれぞれに対応した構成(ブロック等)をそれぞれもつことが可能である。   Further, each of the information processing apparatuses 1 and 2 is not limited to the above-described configuration, and various functions can be added or deleted as necessary, and configurations corresponding to the various functions ( Each block).

さらにまた、図1の例では、ネットワーク3には2台の情報処理装置1,2が接続されているが、ネットワーク3に接続される情報処理装置の台数は、図1の例に限定されず、任意の台数でよい。この場合、ネットワーク3に接続される図示せぬ他の情報処理装置は、情報処理装置1,2と基本的に同様の構成を有していると好適であるが、他の構成を有していても勿論よい。   Furthermore, in the example of FIG. 1, two information processing apparatuses 1 and 2 are connected to the network 3, but the number of information processing apparatuses connected to the network 3 is not limited to the example of FIG. Any number can be used. In this case, other information processing apparatuses (not shown) connected to the network 3 preferably have basically the same configuration as the information processing apparatuses 1 and 2, but have other configurations. Of course.

係る図1の構成の情報処理装置1,2からなる情報処理システムは、上述したグリッドコンピューティングを実現することが可能である。即ち、例えば情報処理装置1,2は、ネットワーク3を含む通信インフラを利用して相互に通信を行うことで協調動作して、所定の機能を実現する分散処理を実行することができる。この場合、情報処理装置1,2のそれぞれは、例えば図2に示されるような機能的構成を有することができる。即ち、図2は、情報処理装置1,2からなる情報処理システムの機能的構成例を示している。   The information processing system including the information processing apparatuses 1 and 2 having the configuration shown in FIG. 1 can realize the grid computing described above. That is, for example, the information processing apparatuses 1 and 2 can perform distributed processing that realizes a predetermined function by performing a cooperative operation by performing communication with each other using a communication infrastructure including the network 3. In this case, each of the information processing apparatuses 1 and 2 can have a functional configuration as shown in FIG. That is, FIG. 2 shows a functional configuration example of an information processing system including the information processing apparatuses 1 and 2.

以下、情報処理装置1,2の機能的構成例について説明する。はじめに、情報処理装置1の機能的構成例について説明する。   Hereinafter, functional configuration examples of the information processing apparatuses 1 and 2 will be described. First, a functional configuration example of the information processing apparatus 1 will be described.

メインメモリ13−1には、機能格納部61−1と機器情報格納部62−1とが設けられている。   The main memory 13-1 is provided with a function storage unit 61-1 and a device information storage unit 62-1.

機能格納部61−1には、1以上の機能プログラムが格納される。   The function storage unit 61-1 stores one or more function programs.

機能プログラムとは、ユーザに提供する機能を実現するためのプログラムを指す。例えば、機能プログラムとしては、映像や音声の記録再生機能を実現するためのプログラムや、記録された映像データの中から所定の映像データを探すための検索機能を実現するためのプログラムが存在する。この機能プログラムは、主にSPU31−1乃至33−1のうちの少なくともひとつにより実行される。   The function program refers to a program for realizing a function provided to the user. For example, as the function program, there are a program for realizing a video / audio recording / playback function and a program for realizing a search function for searching predetermined video data from recorded video data. This function program is mainly executed by at least one of the SPUs 31-1 to 33-1.

機能格納部61−1にはさらに、各機能プログラムのそれぞれの識別IDやバージョン、各機能プログラムのそれぞれが要求するソフトウエア条件等を含む情報(以下、機能情報と称する)も格納されている。   The function storage unit 61-1 further stores information (hereinafter referred to as function information) including the identification ID and version of each function program, software conditions required by each function program, and the like.

なお、以下、機能プログラムを、機能と単に称する。また、機能格納部61−1に格納されている機能の具体例については、図3を参照して後述し、機能情報の具体例については、図13を参照して後述する。   Hereinafter, the function program is simply referred to as a function. A specific example of the function stored in the function storage unit 61-1 will be described later with reference to FIG. 3, and a specific example of the function information will be described later with reference to FIG.

機器情報格納部62−1には、情報処理装置1自身の特徴、性能、略現在の状態等を示す情報(以下、機器情報と称する)が格納される。略現在の状態の中には、略現在実行可能な機能も含む。即ち、具体例については図11を参照して後述するが、情報処理装置1の機器情報には、情報処理装置1が要求しているハードウエア条件が主に含まれ、必要に応じて、略現在実行可能な機能が要求しているソフトウエア条件等他の情報も含まれる。   The device information storage unit 62-1 stores information (hereinafter referred to as device information) indicating the characteristics, performance, current state, etc. of the information processing apparatus 1 itself. The substantially current state includes functions that can be executed substantially now. That is, a specific example will be described later with reference to FIG. 11, but the device information of the information processing apparatus 1 mainly includes hardware conditions requested by the information processing apparatus 1, and may be omitted if necessary. Other information such as software conditions required by the currently executable function is also included.

さらに機器情報格納部62−1には、必要に応じて、他の情報処理装置の機器情報も格納されることもある。即ち、詳細については後述するが、図2の例では、機器情報格納部62−1には、情報処理装置2の機器情報も格納されることがある。   Furthermore, the device information storage unit 62-1 may store device information of other information processing apparatuses as necessary. That is, although details will be described later, in the example of FIG. 2, the device information of the information processing apparatus 2 may also be stored in the device information storage unit 62-1.

なお、機能格納部61−1と機器情報格納部62−1とのそれぞれは、図1の例ではメインメモリ13−1に設けられているが、必要に応じて、記憶装置14−1等に設けられてもよい。この場合、機能格納部61−1と機器情報格納部62−1とは特に組になる必要は無い。即ち例えば、機能格納部61−1と機器情報格納部62−1とのうちの一方がメインメモリ13−1に設けられ、他方が記憶装置14−1に設けられてもよい。   Each of the function storage unit 61-1 and the device information storage unit 62-1 is provided in the main memory 13-1 in the example of FIG. 1, but may be stored in the storage device 14-1 or the like as necessary. It may be provided. In this case, the function storage unit 61-1 and the device information storage unit 62-1 do not need to be paired. That is, for example, one of the function storage unit 61-1 and the device information storage unit 62-1 may be provided in the main memory 13-1, and the other may be provided in the storage device 14-1.

情報処理コントローラ11−1には、分散機器検索部63−1乃至機器情報提供部66−1が設けられている。   The information processing controller 11-1 is provided with a distributed device searching unit 63-1 to a device information providing unit 66-1.

より正確には例えば、分散機器検索部63−1乃至機器情報提供部66−1のそれぞれはソフトウエアとして構成され、メインメモリ13−1や記憶装置14−1に格納されている。そこで、情報処理コントローラ11−1は、分散機器検索部63−1乃至機器情報提供部66−1のそれぞれを必要に応じてメインメモリ13−1や記憶装置14−1からロードして、実行する。   More precisely, for example, each of the distributed device searching unit 63-1 to the device information providing unit 66-1 is configured as software and stored in the main memory 13-1 or the storage device 14-1. Therefore, the information processing controller 11-1 loads and executes each of the distributed device searching unit 63-1 to the device information providing unit 66-1 from the main memory 13-1 or the storage device 14-1 as necessary. .

分散機能実行部65−1を除く分散機器検索部63−1乃至機器情報提供部66−1を実行するプロセッサは、主にMPU21−1とされるが、SPU31−1乃至33−1とされてもよいし、或いは、MPU21−1およびSPU31−1乃至33−1のうちの任意の数の任意の組合せとされてもよい。   The processors that execute the distributed device search unit 63-1 to the device information providing unit 66-1 except the distributed function execution unit 65-1 are mainly the MPU 21-1, but are the SPUs 31-1 to 33-1. Alternatively, any number of arbitrary combinations of the MPU 21-1 and the SPUs 31-1 to 33-1 may be used.

同様に、分散機能実行部65−1を実行するプロセッサは、主にSPU31−1乃至33−1のうちの1以上とされるが、MPU21−1とされてもよいし、或いは、MPU21−1およびSPU31−1乃至33−1のうちの任意の数の任意の組合せとされてもよい。例えば、所定の機能が情報処理装置1,2とで分散処理される場合、SPU31−1乃至33−1のうちの1以上は、その機能のうちの情報処理装置1に割り当てられた部分(後述する機能要素に対応)を実行し、かつ、MPU21−1は、情報処理装置2に割り当てられた部分を情報処理装置2に実行させるための制御を行ったり、分散処理全体の管理を行うことで、分散機能実行部65−1を実行してもよい。   Similarly, the processor that executes the distributed function execution unit 65-1 is mainly one or more of the SPUs 31-1 to 33-1, but may be the MPU 21-1 or the MPU 21-1. And any number of arbitrary combinations of SPUs 31-1 to 33-1 may be used. For example, when a predetermined function is distributedly processed by the information processing apparatuses 1 and 2, one or more of the SPUs 31-1 to 33-1 is a part (described later) assigned to the information processing apparatus 1. And the MPU 21-1 performs control for causing the information processing apparatus 2 to execute the portion assigned to the information processing apparatus 2 and manages the entire distributed processing. Alternatively, the distributed function execution unit 65-1 may be executed.

分散機器検索部63−1は、機能格納部61−1に格納されている所定の機能が実行される場合、その機能の分散機器の候補となる周辺機器を検索する。なお、ここで言う分散機器とは、その機能の分散処理を負担させる機器を指す。また、ここで言う周辺機器とは、ネットワーク3に接続されている情報処理装置のうちの、情報処理装置1自身を除く他の情報処理装置を指す。従って、例えば図1と図2の例では、情報処理装置2が、周辺機器として分散機器検索部63−1により検索されることになる。   When a predetermined function stored in the function storage unit 61-1 is executed, the distributed device search unit 63-1 searches for peripheral devices that are candidates for the distributed device of the function. Note that the distributed device here refers to a device that bears distributed processing of the function. Further, the peripheral device referred to here refers to an information processing apparatus other than the information processing apparatus 1 itself among the information processing apparatuses connected to the network 3. Therefore, for example, in the example of FIGS. 1 and 2, the information processing apparatus 2 is searched as a peripheral device by the distributed device search unit 63-1.

従って、以下、情報処理装置1に着目して説明を行っている場合、情報処理装置1を自機器1と称し、情報処理装置2を周辺機器2と称する。逆に、情報処理装置2に着目して説明を行っている場合、情報処理装置2を自機器2と称し、情報処理装置1を周辺機器1と称する。   Therefore, in the following description, the information processing device 1 will be referred to as the own device 1 and the information processing device 2 will be referred to as the peripheral device 2 when the description is made with focus on the information processing device 1. On the other hand, when the description is given focusing on the information processing device 2, the information processing device 2 is referred to as the own device 2, and the information processing device 1 is referred to as the peripheral device 1.

このとき、分散機器検索部63−1は、周辺機器2の機器情報を取得し、機器情報格納部62−1に格納する。   At this time, the distributed device search unit 63-1 acquires the device information of the peripheral device 2 and stores it in the device information storage unit 62-1.

また、分散機器検索部63−1は、自機器1と周辺機器2との間の通信インフラの略現在の帯域(略現在の通信速度)を算出する。   In addition, the distributed device search unit 63-1 calculates a substantially current band (substantially current communication speed) of the communication infrastructure between the own device 1 and the peripheral device 2.

さらにまた必要に応じて、分散機器検索部63−1は、検索された周辺機器が、実行対象の機能のうちの少なくとも一部分(後述する機能要素)を保有し、かつ、略現在それを実行可能な状態であるか否かを判定する。実行可能な状態とは、実行対象の機能のうちの少なくとも一部分が、メモリマップされたプログラム実行可能領域にロードされている状態を指す。メモリマップされたプログラム実行可能領域とは、例えば図1の例では、メモリ22−1、メモリ41−1乃至43−1等の少なくとも一部の領域を指す。   Furthermore, if necessary, the distributed device search unit 63-1 has at least a part of the execution target function (a functional element described later) in the searched peripheral device and can execute it almost now. It is determined whether or not the current state is correct. The executable state refers to a state in which at least a part of a function to be executed is loaded in a memory-mapped program executable area. For example, in the example of FIG. 1, the memory-executable program executable area refers to at least a part of the memory 22-1, the memories 41-1 to 43-1 and the like.

そして、分散機器検索部63−1は、上述した各種処理結果を分散正当性判断部64−1に提供する。   Then, the distributed device search unit 63-1 provides the above-described various processing results to the distributed validity determination unit 64-1.

なお、分散機器検索部63−1は、ネットワーク3に接続された周辺機器を1つも検索できなかった場合、即ち、ネットワーク3に周辺機器が接続されていない場合、上述した各処理を特に行わずに、その時点で、「周辺機器が存在しない」という処理結果を分散正当性判断部64−1に提供する。   Note that the distributed device search unit 63-1 does not particularly perform the above-described processes when no peripheral device connected to the network 3 can be searched, that is, when no peripheral device is connected to the network 3. At that time, the processing result that “the peripheral device does not exist” is provided to the distributed validity judgment unit 64-1.

分散正当性判断部64−1は、分散機器検索部63−1の処理結果が提供されると、自機器1と周辺機器2とで実行対象の機能の分散処理を実行することについての正当性を判断する。即ち、分散正当性判断部64−1は、自機器1と周辺機器2とで実行対象の機能の分散処理を実行するのが妥当であるか否かを判断する。このとき、分散正当性判断部64−1は、分散機器検索部63−1の処理結果、例えば、分散機器検索部63−1により算出された通信インフラの略現在の帯域を、その判断材料として利用することができる。さらに、分散正当性判断部64−1は、機器情報格納部62−1に格納されている自機器1自身と周辺機器2とのそれぞれの機器情報等を、その判断材料として利用することもできる。   When the processing result of the distributed device search unit 63-1 is provided, the distributed validity judgment unit 64-1 is valid for executing the distributed processing of the function to be executed by the own device 1 and the peripheral device 2. Judging. In other words, the distributed validity determining unit 64-1 determines whether or not it is appropriate to execute the distributed processing of the function to be executed between the own device 1 and the peripheral device 2. At this time, the distributed legitimacy determination unit 64-1 uses the processing result of the distributed device search unit 63-1, for example, the approximately current bandwidth of the communication infrastructure calculated by the distributed device search unit 63-1, as the determination material. Can be used. Further, the distributed validity judgment unit 64-1 can also use the device information of the own device 1 itself and the peripheral device 2 stored in the device information storage unit 62-1, as the judgment material. .

分散正当性判断部64−1は、自機器1と周辺機器2とで実行対象の機能の分散処理を行うことについて正当性がないと判断した場合、即ち、自機器1のみで実行対象の機能を実行すると判断した場合またはその実行自体を行わないと判断した場合、その判断結果を分散機能実行部65−1に通知する。   When the distributed validity determining unit 64-1 determines that there is no validity in performing the distributed processing of the function to be executed between the own device 1 and the peripheral device 2, that is, the function to be executed only by the own device 1. Is determined to be executed, or when the execution itself is determined not to be performed, the determination result is notified to the distributed function execution unit 65-1.

これに対して、分散正当性判断部64−1は、自機器1と周辺機器2とで実行対象の機能の分散処理を行うことについて正当性があると判断した場合、自機器1と周辺機器2とのそれぞれに対する機能の割り振りを行う。即ち、分散正当性判断部64−1は、その機能のうちのどの部分の処理を自機器1で受け持たせ、また、どの部分の処理を周辺機器2で受け持たせるのかを決定する。このとき、分散正当性判断部64−1は、機器情報格納部62−1に格納されている自機器1自身と周辺機器2とのそれぞれの機器情報、および、分散機器検索部63−1から提供された通信インフラの略現在の帯域等を、その割り振りの判断材料として必要に応じて利用することができる。   On the other hand, when the distributed validity determining unit 64-1 determines that the distributed processing of the function to be executed between the own device 1 and the peripheral device 2 is valid, the distributed device 1 and the peripheral device Allocate functions for each of the two. In other words, the distributed validity judgment unit 64-1 determines which part of the function is to be handled by the own device 1 and which part is to be handled by the peripheral device 2. At this time, the distributed legitimacy determining unit 64-1 stores the device information of the own device 1 itself and the peripheral device 2 stored in the device information storage unit 62-1, and the distributed device search unit 63-1. The substantially current bandwidth of the provided communication infrastructure can be used as necessary for determining the allocation.

具体的には例えば、詳細については図3を参照して後述するが、機能格納部61−1に格納されている機能がモジュール化されている場合がある。即ち、その機能が複数のモジュールにより構成されている場合がある。このような場合、分散正当性判断部64−1は、その機能のうちのどのモジュールの処理を自機器1で受け持たせ、また、どのモジュールの処理を周辺機器2で受け持たせるのかを決定する。なお、以下、機能を構成する各モジュールのそれぞれを、機能要素と称する。   Specifically, for example, although details will be described later with reference to FIG. 3, the function stored in the function storage unit 61-1 may be modularized. That is, the function may be configured by a plurality of modules. In such a case, the distributed legitimacy determination unit 64-1 determines which module of the functions is to be handled by the own device 1 and which module is to be handled by the peripheral device 2. To do. Hereinafter, each of the modules constituting the function is referred to as a functional element.

この場合、「周辺機器2は、実行対象の機能を構成する機能要素のうちの少なくとも1つを保有し、かつ、略現在それを実行可能である」ということが、分散機器検索部63−1により認識されて分散正当性判断部64−1に通知されているときには、分散正当性判断部64−1は、実行対象の機能を構成する各機能要素の割り振りを行う際に、周辺機器2で略現在実行可能な機能要素を周辺機器2に割り振り、それ以外の機能要素を自機器1に割り振ることができる。   In this case, “the peripheral device 2 has at least one of the functional elements constituting the function to be executed and can execute it substantially now” means that the distributed device search unit 63-1. Is recognized and notified to the distributed legitimacy determination unit 64-1, the distributed legitimacy determination unit 64-1 uses the peripheral device 2 when allocating each functional element constituting the function to be executed. Functional elements that can be executed substantially now can be assigned to the peripheral device 2, and other functional elements can be assigned to the own device 1.

以上の内容をまとめると、分散正当性判断部64−1は、機能格納部61−1に格納されている実行対象の機能についての機能情報、および、機器情報格納部62−1に格納されている自機器1と周辺機器2とのそれぞれの機器情報から、自機器1と周辺機器2とのそれぞれが略現在要求しているハードウエア条件と、実行対象の機能が略現在要求しているソフトウエア条件とを認識する。分散正当性判断部64−1は、これらの略現在のハードウエア条件とソフトウエア条件とに加えて、分散機器検索部63−1から通知された通信インフラの略現在の帯域に基づいて、自機器1と周辺機器2とが協調動作して実行対象の分散処理を実行することについての正当性を判断する。   In summary, the distributed validity judgment unit 64-1 is stored in the function information on the function to be executed stored in the function storage unit 61-1, and in the device information storage unit 62-1. From the respective device information of the own device 1 and the peripheral device 2, the hardware conditions requested by the own device 1 and the peripheral device 2 and the software requested by the function to be executed are substantially requested. Recognize wear conditions. In addition to these substantially current hardware conditions and software conditions, the distributed legitimacy determination unit 64-1 automatically determines based on the substantially current bandwidth of the communication infrastructure notified from the distributed device search unit 63-1. It is determined whether or not the device 1 and the peripheral device 2 cooperate to perform the distributed processing to be executed.

そして、分割正当性判断部64−1は、正当性があると判断した場合、これらの略現在のハードウエア条件およびソフトウエア条件並びに通信インフラの帯域等を適宜利用しながら、実行対象の機能を構成する各機能要素のそれぞれを、自機器1と周辺機器2とのうちのいずれか一方に割り振る。このとき必要に応じて、分散正当性判断部64−1は、周辺機器2で略現在実行可能な機能要素を周辺機器2に割り振り、それ以外の機能要素を自機器1に割り振ることができる。   If the division validity determining unit 64-1 determines that there is a validity, the division validity determining unit 64-1 appropriately uses these substantially current hardware conditions and software conditions, the bandwidth of the communication infrastructure, and the like. Each functional element to be configured is allocated to one of the own device 1 and the peripheral device 2. At this time, if necessary, the distributed validity judgment unit 64-1 can allocate functional elements that can be substantially executed by the peripheral device 2 to the peripheral device 2, and can allocate other functional elements to the own device 1.

その後、分割正当性判断部64−1は、その処理結果を分散機能実行部65−1に通知する。   Thereafter, the division validity determining unit 64-1 notifies the distributed function execution unit 65-1 of the processing result.

この通知を受けた分散機能実行部65−1は、機能格納部61−1に格納されている機能のうちの、実行対象の機能を実行する。   Upon receiving this notification, the distributed function execution unit 65-1 executes a function to be executed among the functions stored in the function storage unit 61-1.

詳細には例えば、「自機器1のみで実行対象の機能を実行させる」という内容の情報が処理結果として分散正当性判断部64−1から通知された場合、分散機能実行部65−1は、実行対象の機能の全てを機能格納部61−1からロードして、実行する。   Specifically, for example, when the information indicating that “the function to be executed is executed only by the own device 1” is notified as the processing result from the distributed validity determining unit 64-1, the distributed function executing unit 65-1 All the functions to be executed are loaded from the function storage unit 61-1 and executed.

これに対して例えば、「自機器1と周辺機器2とで実行対象の機能の分散処理を行わせる」という内容の第1の情報、および、「実行対象の機能を構成する各機能要素のそれぞれの割り振り結果」を示す第2の情報が処理結果として分散正当性判断部64−1から通知された場合、分散機能実行部65−1は、その第2の情報に基づいて、実行対象の機能を構成する各機能要素のうちの、自機器1に割り振られた第1の機能要素を機能格納部61からロードし、かつ、周辺機器2に割り振られた第2の機能要素の実行依頼を周辺機器2に発行する。周辺機器2は、この実行依頼を受けると、第2の機能要素を実行して、その実行結果を自機器1に送信する。分散機能実行部65−1は、第1の機能要素を実行し、かつ、第2の機能要素の実行結果を周辺機器2から取得し、第1の機能要素の実行結果と第2の機能要素の実行結果とを合成する。このようにして、自機器1と周辺機器2とで実行対象の機能の分散処理が行われる。   On the other hand, for example, each of the first information with the content “perform distributed processing of the function to be executed between the own device 1 and the peripheral device 2” and “each functional element constituting the function to be executed” When the second information indicating the “allocation result” is notified from the distributed validity determining unit 64-1 as the processing result, the distributed function executing unit 65-1 performs the function to be executed based on the second information. Among the functional elements constituting the device, the first functional element allocated to the own device 1 is loaded from the function storage unit 61, and the execution request of the second functional element allocated to the peripheral device 2 is peripheral. Issue to device 2. Upon receiving this execution request, the peripheral device 2 executes the second functional element and transmits the execution result to the own device 1. The distributed function execution unit 65-1 executes the first functional element, acquires the execution result of the second functional element from the peripheral device 2, and executes the execution result of the first functional element and the second functional element. Is combined with the execution result of. In this way, distributed processing of the function to be executed is performed between the own device 1 and the peripheral device 2.

以上の内容をまとめると、実行対象の機能の分散処理の実行に正当性がないと自機器1の分散正当性判断部64−1により判断された場合、分散機器検索部63−1は、実行対象を自分自身で実行する。これに対して、分散機器検索部63−1は、実行対象の機能の分散処理の実行に正当性があると分散正当性判断部64−1により判断された場合、実行対象を構成する複数の機能要素のうちの、分散正当性判断部64−1により自機器1自身に割り振られた第1の機能要素を自分自身で実行し、分散正当性判断部64−1により周辺機器2に割り振られた第2の機能要素を周辺機器2に実行させる制御を行い、第1の機能要素と第2の機能要素とのそれぞれの実行結果を合成することで、実行対象を実行する。   In summary, when the distributed validity determining unit 64-1 of the own device 1 determines that the execution of the distributed processing of the function to be executed is not valid, the distributed device searching unit 63-1 performs the execution. Run the target yourself. On the other hand, the distributed device search unit 63-1, when the distributed validity determination unit 64-1 determines that the execution of the distributed processing of the function to be executed is valid, a plurality of items constituting the execution target Among the functional elements, the first functional element allocated to the own device 1 itself by the distributed validity determining unit 64-1 is executed by itself, and allocated to the peripheral device 2 by the distributed validity determining unit 64-1. The second functional element is controlled to be executed by the peripheral device 2, and the execution target is executed by synthesizing the execution results of the first functional element and the second functional element.

ところで、この分散機能実行部65−1に対応する周辺機器2側の分散機能実行部65−2から自機器1に対して、所定の機能を構成する機能要素のうちの少なくとも1つの実行依頼が発行される場合も当然ながらある。このような場合、自機器1の分散機能実行部65−1は、実行依頼を受けた機能要素を機能格納部61−1からロードして実行し、その実行結果を周辺機器2に送信する。このとき、分散機能実行部65−1は、必要に応じてその他情報も周辺機器2に送信する。なお、詳細については後述するように、この実行依頼を受けた時点では、実行依頼された機能要素はロード済みである場合が多く、このような場合、分散機能実行部65−1は、その機能要素を直ちに実行することが可能である。   By the way, the distributed function execution unit 65-2 on the peripheral device 2 side corresponding to the distributed function execution unit 65-1 sends an execution request to the own device 1 from among functional elements constituting a predetermined function. Of course, it may be issued. In such a case, the distributed function execution unit 65-1 of the own device 1 loads and executes the functional element that has received the execution request from the function storage unit 61-1, and transmits the execution result to the peripheral device 2. At this time, the distributed function execution unit 65-1 also transmits other information to the peripheral device 2 as necessary. As will be described in detail later, when the execution request is received, the function element requested for execution is often loaded. In such a case, the distributed function execution unit 65-1 performs the function. It is possible to execute the element immediately.

機器情報提供部66−1は、上述した分散機器検索部63−1に対応する周辺機器2側の分散機器検索部63−2から機器情報の取得依頼を受けたとき、機器情報格納部62−1から自機器1の機器情報を取得して、周辺機器2に送信する(提供する)。   When the device information providing unit 66-1 receives a device information acquisition request from the distributed device search unit 63-2 on the peripheral device 2 side corresponding to the above-described distributed device search unit 63-1, the device information storage unit 62- 1 acquires the device information of its own device 1 from 1 and transmits (provides) it to the peripheral device 2.

換言すると、自機器1の分散機器検索部63−1が、上述したように、周辺機器2の機器情報を取得する場合、周辺機器2の機器情報の取得依頼を周辺機器2に対して発行する。
すると、周辺機器2の機器情報提供部66−2は、機器情報格納部62−2から周辺機器2の機器情報を取得して、自機器1に送信してくる。そこで、自機器1の分散機器検索部63−1は、周辺機器2の機器情報を受信し、機器情報格納部62−1に記憶させる。
In other words, when the distributed device search unit 63-1 of the own device 1 acquires the device information of the peripheral device 2 as described above, it issues a request for acquiring the device information of the peripheral device 2 to the peripheral device 2. .
Then, the device information providing unit 66-2 of the peripheral device 2 acquires the device information of the peripheral device 2 from the device information storage unit 62-2 and transmits it to the own device 1. Therefore, the distributed device search unit 63-1 of the own device 1 receives the device information of the peripheral device 2 and stores it in the device information storage unit 62-1.

なお、この機器情報の取得依頼は、周辺機器2宛てに送信されてもよいが、ブロードキャスト信号として送信されてもよい。詳細については後述するが、後者の場合、分散機器検索部63−1は、機器情報を受信することで、その機器情報で特定される周辺機器を認識(検索)することができる。即ち、後者の場合、周辺機器の検索とその機器情報の取得とを一括して行うことが可能になる。   The device information acquisition request may be transmitted to the peripheral device 2, or may be transmitted as a broadcast signal. Although details will be described later, in the latter case, the distributed device search unit 63-1 can recognize (search) the peripheral device specified by the device information by receiving the device information. That is, in the latter case, it is possible to search for peripheral devices and acquire the device information at once.

以上説明したように、図2の例の情報処理コントローラ11−1においては、4つの分散機器検索部63−1乃至機器情報提供部66−1といった機能ブロックが設けられている。即ち、図2の例では、情報処理コントローラ11−1の処理単位は、4つの分散機器検索部63−1乃至機器情報提供部66−1であると言える。ただし当然ながら、情報処理コントローラ11−1の処理単位は、図2の例に限定されず任意の単位でよい。即ち、情報処理コントローラ11−1にとっては、上述した分散機器検索部63−1乃至機器情報提供部66−1のそれぞれに対応する処理の全てを総合的に実行可能であればよく、その処理単位は特に限定されない。従って例えば、分散機器検索部63−1乃至機器情報提供部66−1を、任意の数の任意の処理を行う機能ブロックに分割または統合することが可能である。   As described above, the information processing controller 11-1 in the example of FIG. 2 is provided with functional blocks such as the four distributed device search units 63-1 to the device information providing unit 66-1. That is, in the example of FIG. 2, it can be said that the processing units of the information processing controller 11-1 are the four distributed device search units 63-1 to the device information providing unit 66-1. However, as a matter of course, the processing unit of the information processing controller 11-1 is not limited to the example of FIG. 2 and may be an arbitrary unit. That is, it is sufficient for the information processing controller 11-1 to be able to comprehensively execute all the processes corresponding to each of the above-described distributed device search unit 63-1 to device information providing unit 66-1, and the processing unit. Is not particularly limited. Therefore, for example, it is possible to divide or integrate the distributed device search unit 63-1 to the device information providing unit 66-1 into functional blocks that perform an arbitrary number of arbitrary processes.

以上、情報処理装置1の機能的構成例について説明した。   Heretofore, the functional configuration example of the information processing apparatus 1 has been described.

情報処理装置2も、上述した情報処理装置1と基本的に同様の機能的構成を有する。即ち、図2に示される情報処理装置2の各機能ブロックのそれぞれは、ハイフォン“−”の前の符号が同一の情報処理装置1の機能ブロックに対応する。例えば、情報処理装置2の分散正当性判断部64−2と分散機能実行部65−2とのそれぞれは、情報処理装置1の分散正当性判断部64−1と分散機能実行部65−1とのそれぞれに対応する。このように、情報処理装置2は、情報処理装置1と基本的に同様の機能的構成を有することから、情報処理装置1と基本的に同様の動作(処理)を行うことができる。   The information processing apparatus 2 also has basically the same functional configuration as the information processing apparatus 1 described above. That is, each of the functional blocks of the information processing apparatus 2 illustrated in FIG. 2 corresponds to the functional block of the information processing apparatus 1 having the same reference sign before the hyphen “-”. For example, the distributed legitimacy determining unit 64-2 and the distributed function executing unit 65-2 of the information processing apparatus 2 are respectively connected to the distributed legitimacy determining unit 64-1 and the distributed function executing unit 65-1 of the information processing apparatus 1. Corresponding to each of the. As described above, the information processing apparatus 2 has basically the same functional configuration as the information processing apparatus 1, and therefore can perform basically the same operation (processing) as the information processing apparatus 1.

さらにまた、上述したように、ネットワーク3に接続される情報処理装置の台数は、図1の例に限定されず、任意の台数でよい。この場合、ネットワーク3に接続される図示せぬ他の情報処理装置は、情報処理装置1,2と基本的に同様の機能的構成を有していると好適であるが、他の機能的構成を有していても勿論よい。ただし、情報処理装置1または2が、図示せぬ他の情報処理装置も分散機器として利用する場合、即ち、図示せぬ他の情報処理装置に対しても分散処理を負担させる場合、図示せぬ他の情報処理装置は、機器情報提供部66−1,66−2および分散機能実行部65−1,65−2のそれぞれに対応するソフトウエアまたはハードウエアを有している必要がある。   Furthermore, as described above, the number of information processing apparatuses connected to the network 3 is not limited to the example of FIG. 1 and may be an arbitrary number. In this case, the other information processing apparatus (not shown) connected to the network 3 preferably has basically the same functional configuration as the information processing apparatuses 1 and 2, but the other functional configuration Of course, you may have. However, when the information processing apparatus 1 or 2 uses another information processing apparatus (not shown) as a distributed device, that is, when the other information processing apparatus (not shown) bears distributed processing, it is not shown. The other information processing apparatus needs to have software or hardware corresponding to each of the device information providing units 66-1 and 66-2 and the distributed function executing units 65-1 and 65-2.

次に、図3以降の図面を参照して、係る機能的構成を有する情報処理装置1,2とで実行される所定の機能の分散処理の詳細について説明する。   Next, with reference to FIG. 3 and subsequent drawings, details of the distributed processing of a predetermined function executed by the information processing apparatuses 1 and 2 having such a functional configuration will be described.

なお、以下、周辺機器からの実行依頼ではなく、自機器の判断で所定の機能のうちの少なくとも一部を実行する場合、その自機器を実行元の自機器(情報処理装置)と称する。この場合、後述するように、実行元の自機器が、その機能のうちの少なくとも一部の実行依頼を周辺機器に対して発行することがある。このようなとき、その周辺機器を依頼先の周辺機器(情報処理装置)と称する。   In the following description, when at least a part of a predetermined function is executed based on the determination of the own device, rather than an execution request from a peripheral device, the own device is referred to as an execution source own device (information processing apparatus). In this case, as described later, the execution source device may issue an execution request of at least a part of the function to the peripheral device. In such a case, the peripheral device is referred to as a requested peripheral device (information processing apparatus).

上述したように、情報処理装置1,2は、相互分散可能である環境下に存在している。また、情報処理装置1,2のそれぞれは、実行または保持している機能(プログラム)またはデータの情報を相互交換することが可能である。相互交換される機能としては、例えば画像処理コーデック等のプログラム群が該当する。また、相互交換される情報としては、その機能に必要な情報の他、例えばユーザの嗜好情報等が該当する。これらの機能やデータの抽象度(粒度や階層)は、情報処理システムにおけるロード/実行アーキテクチャや、情報処理システム内の通信インフラの略現在の帯域(略現在の通信速度)によって変化する。ロード/実行アーキテクチャとは、情報処理装置1,2が要求するハードウエア条件や、機能が要求するソフトウエア条件等を指す。   As described above, the information processing apparatuses 1 and 2 exist in an environment where mutual dispersion is possible. Further, each of the information processing apparatuses 1 and 2 can exchange information on functions (programs) or data being executed or held. Examples of the functions exchanged with each other include a program group such as an image processing codec. Moreover, as information exchanged, user preference information etc. correspond to the information necessary for the function, for example. The degree of abstraction (granularity and hierarchy) of these functions and data varies depending on the load / execution architecture in the information processing system and the substantially current bandwidth (approximately the current communication speed) of the communication infrastructure in the information processing system. The load / execution architecture refers to hardware conditions required by the information processing apparatuses 1 and 2, software conditions required by functions, and the like.

また、上述したように、情報処理装置1,2は、メモリマップされたプログラム実行可能領域にプログラムをロードして実行することができる。例えば図1の例では、情報処理装置1,2は、大容量のプログラム格納領域として利用されるNAND Flash memory等からなる記憶装置14−1,14−2、或いは、メインメモリ13−1,13−2に記憶されている所定の機能を、所定の1以上のプロセッサの実行可能メモリ領域へロードして実行することができる。ここで言うプロセッサとは、図1の例では、MPU21−1およびSPU31−1乃至33−1、並びに、MPU21−2およびSPU31−2乃至33−2のうちの少なくとも1つを指す。従って、ここで言う実行可能メモリ領域とは、図1の例では、メモリ22−1およびメモリ41−1乃至43−1、並びに、メモリ22−2およびメモリ41−2乃至43−2のうちの少なくとも1つの領域を指す。なお、メインメモリ13−1,13−2は、本実施の形態ではプログラム格納領域として取り扱われているが、必要に応じて、実行可能メモリ領域として取り扱うことも可能である。   Further, as described above, the information processing apparatuses 1 and 2 can load and execute a program in a memory-mapped program executable area. For example, in the example of FIG. 1, the information processing devices 1 and 2 are storage devices 14-1 and 14-2 made up of NAND Flash memory or the like used as a large capacity program storage area, or main memories 13-1 and 13. -2 can be loaded into an executable memory area of one or more predetermined processors and executed. In the example of FIG. 1, the processor here refers to at least one of the MPU 21-1 and the SPUs 31-1 to 33-1 and the MPU 21-2 and the SPUs 31-2 to 33-2. Therefore, the executable memory area referred to here is the memory 22-1 and the memories 41-1 to 43-1 and the memory 22-2 and the memories 41-2 to 43-2 in the example of FIG. Refers to at least one region. The main memories 13-1 and 13-2 are handled as program storage areas in the present embodiment, but can be handled as executable memory areas as necessary.

以上のような情報処理装置1,2は、図3に示されるような機能P,Qのそれぞれを保有しているとする。即ち、図3に示されるように、情報処理装置1の機能格納部61−1には機能Pが格納され、その機能Pの実行指示があった場合には、情報処理コントローラ11−1によりその機能Pがロードされて実行されることが可能であるとする。同様に、情報処理装置2の機能格納部61−2には機能Qが格納され、その機能Qの実行指示があった場合には、情報処理コントローラ11−2によりその機能Qがロードされて実行されることが可能であるとする。   The information processing apparatuses 1 and 2 as described above are assumed to have functions P and Q as shown in FIG. That is, as shown in FIG. 3, the function P is stored in the function storage unit 61-1 of the information processing apparatus 1, and when there is an instruction to execute the function P, the information processing controller 11-1 Suppose that function P can be loaded and executed. Similarly, the function storage unit 61-2 of the information processing apparatus 2 stores the function Q. When there is an instruction to execute the function Q, the function Q is loaded and executed by the information processing controller 11-2. Suppose that it can be done.

さらに、機能格納部61−1には、機能Pの識別IDやバージョン、機能Pが要求する各種ソフトウエア条件等を含む機能情報が、機能Pと対応付けられて格納されているとする。同様に、機能格納部61−2には、機能Qの識別IDやバージョン、機能Qが要求する各種ソフトウエア条件等を含む機能情報が、機能Qと対応付けられて格納されているとする。なお、機能情報の具体例については、図13を参照して後述する。   Furthermore, it is assumed that function information including an identification ID and version of the function P, various software conditions required by the function P, and the like is stored in the function storage unit 61-1 in association with the function P. Similarly, it is assumed that function information including the identification ID and version of the function Q, various software conditions required by the function Q, and the like is stored in the function storage unit 61-2 in association with the function Q. A specific example of the function information will be described later with reference to FIG.

機能Pは、4つの機能要素A,B,C,D、および、データx,yから構成されている。   The function P is composed of four functional elements A, B, C, D and data x, y.

機能要素A,B,C,Dのそれぞれは、同時に変更される共通データが少なく、高い独立性が保たれており、かつ、分散処理可能な単位であるとする。さらにここでは簡略化し、機能要素A,B,C,Dのそれぞれは、共通データが全くなく、全く独立した構成要素群とする。   It is assumed that each of the functional elements A, B, C, and D is a unit that has few common data to be changed at the same time, maintains high independence, and can be distributed. Furthermore, it is simplified here, and each of the functional elements A, B, C, and D has no common data and is a completely independent component group.

データxは、機能Pを実行するために必要なデータを示すとする。データyは、機能Pを実行することによって得られる結果を示すとする。   It is assumed that data x indicates data necessary for executing the function P. Data y represents the result obtained by executing function P.

機能Qは、機能要素A,D,E,F、および、データx,wから構成されているとする。   The function Q is assumed to be composed of functional elements A, D, E, and F and data x and w.

機能要素A,D,E,Fのそれぞれも、同時に変更される共通データが少なく、高い独立性が保たれており、かつ、分散処理可能な単位であるとする。さらにここでは簡略化し、機能要素A,D,E,Fのそれぞれも、共通データが全くなく、全く独立した構成要素群とする。   It is assumed that each of the functional elements A, D, E, and F is a unit that has few common data to be changed at the same time, maintains high independence, and can be distributed. Furthermore, it is simplified here, and each of the functional elements A, D, E, and F has no common data and is a completely independent component group.

データxは、機能Qを実行するために必要なデータを示すとする。データwは、機能Qを実行することによって得られる結果を示すとする。   It is assumed that data x indicates data necessary for executing the function Q. The data w represents the result obtained by executing the function Q.

ここで注目すべき点は、機能要素A,Dおよびデータxは機能P,Qの両者共に存在する共通構成要素である、という点である。これらの共通構成要素は、情報処理装置1,2において、プログラム性能は同一であるとする。プログラム性能とは、実行速度、実時間性能、品質等を指す。   What should be noted here is that the functional elements A and D and the data x are common components that exist in both the functions P and Q. These common components are assumed to have the same program performance in the information processing apparatuses 1 and 2. Program performance refers to execution speed, real-time performance, quality, and the like.

以下、この図3に示される機能P,Qがロードされていない状態で、最初に、情報処理装置1が機能Pを実行し、次に、情報処理装置1,2が協調動作して機能Qの分散処理を実行するとする。   Hereinafter, in a state in which the functions P and Q shown in FIG. 3 are not loaded, the information processing apparatus 1 first executes the function P, and then the information processing apparatuses 1 and 2 operate cooperatively to function Q. Suppose that distributed processing is executed.

この場合、情報処理装置1,2からなる情報処理システムは、例えば、図4乃至図8に示される各フローチャートに従った処理を実行する。   In this case, the information processing system including the information processing apparatuses 1 and 2 executes processing according to the flowcharts illustrated in FIGS. 4 to 8, for example.

即ち、図4のフローチャートは、実行元の自機器が実行対象の機能を実行する場合におけるその前処理、即ち、準備処理の例を示している。即ち、図4のフローチャートは、自機器だけでその機能を実行するのか、或いは、自機器と周辺機器との分散処理でその機能を実行するのか等、実行対象の機能の処理形態を判断し、分散処理でその機能を実行すると判定した場合には、その機能を構成する各機能要素の割り振りを行う、といった実行元の自機器が実行する処理の例を示している。以下、このような図4の処理を「分散準備処理」と称する。   That is, the flowchart of FIG. 4 shows an example of pre-processing, that is, preparation processing when the execution source device executes a function to be executed. That is, the flowchart of FIG. 4 determines the processing mode of the function to be executed, such as whether the function is executed only by the own device, or whether the function is executed by distributed processing between the own device and the peripheral device, An example of processing executed by the execution source device such as allocating each functional element constituting the function when it is determined that the function is executed in the distributed processing is shown. Hereinafter, such processing in FIG. 4 is referred to as “distributed preparation processing”.

図5のフローチャートは、実行元の自機器が図4の「分散準備処理」を実行している場合に周辺機器側で実行される処理である。即ち、図5のフローチャートは、図4の「分散準備処理」に必要な情報のうちの周辺機器の機器情報を、周辺機器から実行元の自機器に提供するために、周辺機器が実行する処理の例を示している。以下、このような図5の処理を「機器情報送信処理」と称する。   The flowchart of FIG. 5 is a process executed on the peripheral device side when the execution source device executes the “distribution preparation process” of FIG. That is, the flowchart of FIG. 5 is a process executed by the peripheral device in order to provide the peripheral device information of the information necessary for the “distributed preparation process” of FIG. 4 from the peripheral device to the execution source device. An example is shown. Hereinafter, such processing in FIG. 5 is referred to as “device information transmission processing”.

図6と図7のフローチャートは、実行元の自機器が図4の「分散準備処理」の実行後に実行する処理である。即ち、図6と図7のフローチャートは、自機器自身が所定の機能を実行する、または、自機器が周辺機器と協調動作して所定の機能の分散処理を実行する、といった処理の例を示している。以下、このような図6と図7の処理を「実行元による機能実行処理」と称する。   The flowcharts of FIGS. 6 and 7 are processes executed after the execution of the “distributed preparation process” in FIG. That is, the flowcharts of FIGS. 6 and 7 show an example of processing in which the own device itself executes a predetermined function, or the own device cooperates with the peripheral device to execute distributed processing of the predetermined function. ing. Hereinafter, such processing in FIGS. 6 and 7 is referred to as “function execution processing by the execution source”.

図8のフローチャートは、実行元の自機器が図6と図7(特に図7)の「実行元による機能実行処理」を実行している場合に周辺機器側が実行する処理である。即ち、図8のフローチャートは、実行対象の機能を構成する各機能要素のうちの実行元から要請された機能要素を実行する、といった周辺機器が実行する処理の例を示している。以下、このような図8の処理を「依頼先による機能実行処理」と称する。   The flowchart in FIG. 8 is a process executed by the peripheral device when the execution source device executes the “function execution process by the execution source” in FIGS. 6 and 7 (particularly FIG. 7). That is, the flowchart of FIG. 8 illustrates an example of processing executed by the peripheral device such as executing a functional element requested by the execution source among the functional elements constituting the function to be executed. Hereinafter, such processing in FIG. 8 is referred to as “function execution processing by the request destination”.

ところで、いまの場合、上述したように、図3に示される機能P,Qがロードされていない状態で、最初に、情報処理装置1が機能Pを実行する。従って、最初に、情報処理装置1が実行元の自機器として図4の「分散準備処理」を実行することになる。これに伴い、情報処理装置2が周辺機器として図5の「機器情報送信処理」を実行することになる。その後、情報処理装置1が図6と図7(特に図6)の「実行元による機能実行処理」を実行することになる。   In this case, as described above, the information processing apparatus 1 first executes the function P in a state where the functions P and Q shown in FIG. 3 are not loaded. Therefore, first, the information processing apparatus 1 executes the “distributed preparation process” of FIG. 4 as the execution source device. Accordingly, the information processing apparatus 2 executes the “device information transmission process” in FIG. 5 as a peripheral device. Thereafter, the information processing apparatus 1 executes “function execution processing by the execution source” of FIGS. 6 and 7 (particularly FIG. 6).

このように情報処理装置1が機能Pを最初に実行する場合の、情報処理装置1,2の処理の相互の関係が図9のアローチャートに示されている。そこで、以下、図4、図5および図6のフローチャート並びに図9のアローチャートを主に参照して、情報処理装置1が機能Pを最初に実行する場合の情報処理装置1,2の処理について説明する。   The mutual relationship between the processes of the information processing apparatuses 1 and 2 when the information processing apparatus 1 first executes the function P is shown in the arrow chart of FIG. Therefore, the processing of the information processing apparatuses 1 and 2 when the information processing apparatus 1 first executes the function P with reference mainly to the flowcharts of FIGS. 4, 5 and 6 and the arrow chart of FIG. 9. explain.

はじめに、ステップS1において、情報処理装置1の図2の分散機器検索部63−1は、ネットワーク3に接続された周辺機器のサーチを行う。   First, in step S <b> 1, the distributed device search unit 63-1 in FIG. 2 of the information processing apparatus 1 searches for peripheral devices connected to the network 3.

詳細には例えば、ステップS1において、分散機器検索部63−1は、Ethernet(登録商標),IEEE802.11或いはBluetooth等で規定された通信インフラを用いて、ネットワーク3に対してブロードキャスト信号を送信する。即ち、分散機器検索部63−1は、物理層での接続を試みる。そして、分散機器検索部63−1は、その接続後、リンク層やアプリケーション層の接続を行い、最終的に機器情報の受信を行うためのコマンド(上述した機器情報の取得要求に対応)を発行し、それに対する返信を待つ。   Specifically, for example, in step S1, the distributed device search unit 63-1 transmits a broadcast signal to the network 3 using a communication infrastructure defined by Ethernet (registered trademark), IEEE802.11, Bluetooth, or the like. . That is, the distributed device search unit 63-1 tries to connect at the physical layer. Then, after the connection, the distributed device search unit 63-1 connects the link layer and the application layer, and finally issues a command (corresponding to the above-described device information acquisition request) for receiving device information. And wait for a reply.

この間、情報処理装置2の機器情報提供部66−2は、ステップS21において、周辺機器からサーチを受けたか否かを判定している。   During this time, the device information providing unit 66-2 of the information processing device 2 determines whether or not a search has been received from the peripheral device in step S21.

なお、図5の「機器情報送信処理」においては当然ながら、それを実行する情報処理装置2が自機器となり、図4の「分散準備処理」を実行する情報処理装置1が他機器となる。ただし、これまで、実行元である情報処理装置1に着目して説明を行っており、ここで、図面の記載通りに説明すること、即ち、周辺機器と自機器とを逆転して説明することはいたずらに混乱を招くことになる。そこで、図5の「機器情報送信処理」を説明している範囲内では、自機器や周辺機器といった名称は使用せずに説明していく。   In the “apparatus information transmission process” in FIG. 5, the information processing apparatus 2 that executes it is naturally the own apparatus, and the information processing apparatus 1 that executes the “distributed preparation process” in FIG. 4 is the other apparatus. However, the description has been given focusing on the information processing apparatus 1 that is the execution source, and here, the description will be made as described in the drawing, that is, the peripheral device and the own device will be reversed. Yes, it will be confusing. Therefore, within the scope of explaining the “apparatus information transmission process” in FIG. 5, explanations will be made without using names such as the own apparatus and peripheral equipment.

ブロードキャスト信号が受信されない限り、ステップS21において、サーチを受けていないと判定されて、処理はステップS21に戻され、サーチを受けたか否かが再度判定される。即ち、いまの場合、ネットワーク3には2台の情報処理装置1,2が接続されているだけなので、情報処理装置1からのブロードキャスト信号が受信されるまで、ステップS21の判定処理が繰り返される。   Unless a broadcast signal is received, it is determined in step S21 that the search has not been received, the process returns to step S21, and it is determined again whether the search has been received. That is, in this case, since only two information processing apparatuses 1 and 2 are connected to the network 3, the determination process in step S21 is repeated until a broadcast signal is received from the information processing apparatus 1.

従って、ステップS1の処理で情報処理装置1から送信されたブロードキャスト信号が情報処理装置2のネットワークインタフェース12−2に受信されると、ステップS21において、情報処理装置2の機器情報提供部66−2は、それを取得することで、情報処理装置1からサーチを受けたと判定して、処理をステップS22に進める。   Therefore, when the broadcast signal transmitted from the information processing apparatus 1 in step S1 is received by the network interface 12-2 of the information processing apparatus 2, the device information providing unit 66-2 of the information processing apparatus 2 is received in step S21. Acquires it, determines that a search has been received from the information processing apparatus 1, and advances the process to step S22.

ステップS22において、情報処理装置2の機器情報提供部66−2は、情報処理装置2自身の機器情報を機器情報格納部62−2から取得して、情報処理装置1に対してネットワークインタフェース12−2およびネットワーク3を介して送信する。   In step S22, the device information providing unit 66-2 of the information processing device 2 acquires the device information of the information processing device 2 itself from the device information storage unit 62-2, and the network interface 12- 2 and network 3.

この間、ステップS2において、情報処理装置1の分散機器検索部63−1は、周辺機器が存在するか否かを判定している。   During this time, in step S2, the distributed device search unit 63-1 of the information processing apparatus 1 determines whether there is a peripheral device.

仮に、所定の時間が経過しても、ブロードキャスト信号に対する返信、即ち、周辺機器の機器情報が全く送信されてこない場合、ステップS2において、周辺機器が存在しないと判定されて、「分散準備処理」は終了となる。この場合、自機器1単体で実行対象の機能の実行が可能であるならば、その機能は自機器1のみにより実行される。即ち、詳細については後述するが、ステップS11の処理が完了して「分散準備処理」が終了した場合には、実行対象の機能は自機器と周辺機器との分散処理により実行される。これに対して、ステップS2の処理でNOであると判定された等、それ以外の理由で「分散準備処理」が終了した場合には、その機能は自機器のみにより実行されるか、或いは、その機能は実行されない。   If the reply to the broadcast signal, that is, the device information of the peripheral device is not transmitted at all even if the predetermined time has elapsed, it is determined in step S2 that the peripheral device does not exist, and “distributed preparation process” is performed. Ends. In this case, if the function to be executed can be executed by the own device 1 alone, the function is executed only by the own device 1. That is, although details will be described later, when the process of step S11 is completed and the “distributed preparation process” is completed, the function to be executed is executed by the distributed process of the own device and the peripheral device. On the other hand, when the “distributed preparation process” is terminated for other reasons such as NO in the process of step S2, the function is executed only by the own device, or The function is not performed.

これに対して、いまの場合、上述したようにステップS22の処理で周辺機器2の機器情報が送信されてくるので、情報処理装置1のネットワークインタフェース12−1は、周辺機器2の機器情報を受信することになる。   On the other hand, in this case, since the device information of the peripheral device 2 is transmitted in the process of step S22 as described above, the network interface 12-1 of the information processing apparatus 1 stores the device information of the peripheral device 2. Will receive.

すると、情報処理装置1の分散機器検索部63−1は、ステップS2において、周辺機器2が存在すると判定し、ステップS3において、周辺機器2の機器情報を取得して、機器情報格納部61−1に記憶させる。   Then, the distributed device search unit 63-1 of the information processing device 1 determines in step S2 that the peripheral device 2 exists, acquires device information of the peripheral device 2 in step S3, and acquires a device information storage unit 61-. 1 is stored.

なお、機器情報の具体例については、図11と図12とを参照して後述する。   A specific example of the device information will be described later with reference to FIGS.

ステップS4において、情報処理装置1の分散機器検索部63−1は、自機器1と周辺機器2との間の通信インフラの略現在の帯域(略現在の通信速度)を算出する。   In step S <b> 4, the distributed device search unit 63-1 of the information processing device 1 calculates a substantially current band (substantially current communication speed) of the communication infrastructure between the own device 1 and the peripheral device 2.

なお、この通信インフラの略現在の帯域は、後述するステップS9の処理で利用される。ただし、いまの場合には、即ち、情報処理装置1が機能Pを最初に実行する場合には、ステップS9の処理は実行されない。そこで、通信インフラの略現在の帯域の演算方法等については後述する。   Note that the substantially current bandwidth of this communication infrastructure is used in the process of step S9 described later. However, in this case, that is, when the information processing apparatus 1 executes the function P for the first time, the process of step S9 is not executed. Therefore, a calculation method of the substantially current bandwidth of the communication infrastructure will be described later.

ステップS5において、情報処理装置1の分散機器検索部63−1は、自機器1の保有機能Pの識別IDと同一の識別IDの機能が、周辺機器2に既にロードされているか否かを判定する。   In step S5, the distributed device search unit 63-1 of the information processing device 1 determines whether or not the function having the same identification ID as the identification ID of the function P owned by the own device 1 is already loaded in the peripheral device 2. To do.

即ち、このステップS5の処理で(正確には後述するステップS6も含む)、周辺機器2は、実行対象の機能Pを構成する機能要素A,B,C,Dのうちの少なくとも1つを保有し、かつ、略現在それを実行可能な状態であるか否かの判定が行われるのである。   That is, in the process of step S5 (including step S6 to be described later precisely), the peripheral device 2 has at least one of the functional elements A, B, C, and D that constitute the function P to be executed. In addition, it is determined whether or not it is in a state where it can be executed at present.

いまの場合、周辺機器2において機能Qはまだロードされていないので、ステップS5において、自機器1の保有機能Pの識別IDと同一の識別IDの機能が、周辺機器2に既にロードされていないと判定されて、「分散準備処理」は終了となる。この場合にも、上述したように、実行対象の機能は自機器のみにより実行されるか、或いは、実行されない。即ち、いまの場合、後述するように、機能Pは情報処理装置1のみにより実行される。   In this case, since the function Q is not yet loaded in the peripheral device 2, the function having the same identification ID as the identification ID of the function P possessed by the own device 1 is not already loaded in the peripheral device 2 in step S5. Is determined, and the “distribution preparation process” ends. Also in this case, as described above, the function to be executed is executed only by the own device or not. That is, in this case, as will be described later, the function P is executed only by the information processing apparatus 1.

なお、情報処理装置1が機能Pを最初に実行する場合におけるステップS5の判定処理に関連する事項のうちの、ステップS5の判定処理でNOであると判定されること以外の事項の説明については、ここでは省略し、後述することにする。ステップS5の判定処理でNOであると判定されること以外の事項とは、例えば、機能の識別ID、ステップS5の判定処理のさらなる詳細内容、および、ステップS5の判定処理でYESであると判定された際のそれ以降の処理といった事項を指す。   Of the matters related to the determination process of step S5 when the information processing apparatus 1 executes the function P for the first time, the description of matters other than the determination of NO in the determination process of step S5 This is omitted here and will be described later. The matters other than being determined as NO in the determination process in step S5 include, for example, the function identification ID, further details of the determination process in step S5, and YES in the determination process in step S5. It refers to matters such as the subsequent processing when it is done.

情報処理装置1の分散機器検索部63−1は、ステップS5の処理でNOであると判定したこと、即ち、機能Pは自機器1のみにより実行されるべきであることを、分散正当性判断部64−1を介して分散機能実行部65−1に通知すると、「分散準備処理」を終了させる。   The distributed device search unit 63-1 of the information processing device 1 determines that the determination in step S5 is NO, that is, the distribution validity determination that the function P should be executed only by the own device 1. When the distributed function execution unit 65-1 is notified via the unit 64-1, the “distributed preparation process” is terminated.

なお、より正確には、分散正当性判断部64−1は、分散機器検索部63−1からの通知を受けると、自機器1単体で機能Pの実行が可能か否かを判断し、実行可能であると判断した場合にのみ、機能Pは自機器1のみにより実行されるべきであることを、分散機能実行部65−1に通知することになる。即ち、分散正当性判断部64−1が実行不可能であると判断した場合には、機能Pは実行されずに、所定のエラー処理が実行されることになる。   More precisely, when receiving the notification from the distributed device search unit 63-1, the distributed validity determining unit 64-1 determines whether or not the function P can be executed by the own device 1 alone, and executes it. Only when it is determined that it is possible, the distributed function execution unit 65-1 is notified that the function P should be executed only by the own device 1. That is, when the distributed validity determining unit 64-1 determines that execution is impossible, the function P is not executed, and a predetermined error process is executed.

ただし、ここでは、分散正当性判断部64−1は、実行可能であると判断して、機能Pは自機器1のみにより実行されるべきであることを、分散機能実行部65−1に通知するとする。この場合、情報処理装置1の分散機能実行部65−1は、この通知を受け取ると、機能Pを実行するための図6の「実行元による機能実行処理」を開始させる。   However, here, the distributed legitimacy determination unit 64-1 determines that it can be executed, and notifies the distributed function execution unit 65-1 that the function P should be executed only by its own device 1. Then. In this case, upon receiving this notification, the distributed function execution unit 65-1 of the information processing apparatus 1 starts the “function execution process by the execution source” in FIG.

即ち、ステップS41において、情報処理装置1の分散機能実行部65−1は、周辺機器2との間で分散実行するか否かを判定する。   That is, in step S <b> 41, the distributed function execution unit 65-1 of the information processing apparatus 1 determines whether or not to perform distributed execution with the peripheral device 2.

いまの場合、ステップS5の処理でNOであると判定したこと、即ち、機能Pは自機器1のみにより実行されるべきであることが分散正当性判断部64−1から通知されたので、ステップS41の処理でNOであると判定されて、処理はステップS42に進む。   In this case, since it has been determined that the determination in step S5 is NO, that is, the function P should be executed only by the own device 1 from the distributed validity judgment unit 64-1, If the result of S41 is NO, the process proceeds to step S42.

このように、情報処理装置1が機能Pを最初に実行する場合においては、ステップS41の判定処理でNOであると判定されることになるので、ステップS41の判定処理でYESであると判定された際のそれ以降の処理については、ここでは省略し、後述することにする。   As described above, when the information processing apparatus 1 executes the function P for the first time, it is determined as NO in the determination process of step S41. Therefore, it is determined as YES in the determination process of step S41. The subsequent processing at that time is omitted here and will be described later.

ステップS42において、情報処理装置1の分散機能実行部65−1は、機能Pに含まれる全構成要素A,B,C,Dを機能格納部61−1からロードする。   In step S42, the distributed function execution unit 65-1 of the information processing apparatus 1 loads all the components A, B, C, and D included in the function P from the function storage unit 61-1.

また、ステップS43において、情報処理装置1の分散機能実行部65−1は、機能Pに含まれる全データx,yを機能格納部61−1からロードする。   In step S43, the distributed function execution unit 65-1 of the information processing apparatus 1 loads all the data x and y included in the function P from the function storage unit 61-1.

そして、ステップS44において、情報処理装置1の分散機能実行部65−1は、機能Pを実行する。即ち、分散機能実行部65−1は、データx,yを適宜用いて全構成要素A,B,C,Dのそれぞれを実行することで、機能Pを実行する。   In step S44, the distributed function execution unit 65-1 of the information processing apparatus 1 executes the function P. That is, the distributed function execution unit 65-1 executes the function P by executing each of the constituent elements A, B, C, and D using the data x and y as appropriate.

なお、機能Pの実行が完了すると、情報処理装置1による機能Pについての図6の「実行元により機能実行処理」も終了となるが、ここでは、情報処理装置1が機能Pを実行中に、今度は、情報処理装置2が機能Qを実行するための処理を開始したとする。   When the execution of the function P is completed, the “function execution process by the execution source” of FIG. 6 for the function P by the information processing apparatus 1 is also ended. Here, the information processing apparatus 1 is executing the function P. Now, it is assumed that the information processing apparatus 2 starts processing for executing the function Q.

以下、情報処理装置1が機能Pを実行中に(より正確には、機能Pを実行可能な状態で)情報処理装置2が機能Qを実行する場合における、情報処理装置1,2の処理(以下、機能Q用処理と称する)について説明する。   Hereinafter, processing of the information processing apparatuses 1 and 2 when the information processing apparatus 2 executes the function Q while the information processing apparatus 1 is executing the function P (more accurately, in a state where the function P can be executed) ( Hereinafter, the processing for function Q) will be described.

この機能Q用処理を実現するためには、今度は、情報処理装置2が実行元の自機器として図4の「分散準備処理」を実行することになる。これに伴い、情報処理装置1が周辺機器として図5の「機器情報送信処理」を実行することになる。次に、情報処理装置2が図6と図7(特に図7)の「実行元による機能実行処理」を実行することになる。これに伴い、情報処理装置1が図8の「依頼先による機能実行処理」を実行することになる。   In order to realize the function Q processing, the information processing apparatus 2 executes the “distributed preparation processing” in FIG. 4 as the execution source device. Accordingly, the information processing apparatus 1 executes the “device information transmission process” in FIG. 5 as a peripheral device. Next, the information processing apparatus 2 executes “function execution processing by the execution source” of FIGS. 6 and 7 (particularly FIG. 7). Accordingly, the information processing apparatus 1 executes “function execution processing by the request destination” in FIG.

このような機能Q用処理の相互の関係が図10のアローチャートに示されている。そこで、以下、図4乃至図8のフローチャート並びに図10のアローチャートを主に参照して、機能Q用処理について説明する。   The mutual relationship of such processing for function Q is shown in the arrow chart of FIG. The function Q process will be described below mainly with reference to the flowcharts of FIGS. 4 to 8 and the arrow chart of FIG.

はじめに、ステップS1において、情報処理装置2の図2の分散機器検索部63−2は、ネットワーク3に接続された周辺機器のサーチを行う。即ち上述したように、分散機器検索部63−2は、ネットワーク3に対してブロードキャスト信号を送信する。   First, in step S <b> 1, the distributed device search unit 63-2 in FIG. 2 of the information processing apparatus 2 searches for peripheral devices connected to the network 3. That is, as described above, the distributed device search unit 63-2 transmits a broadcast signal to the network 3.

この間、情報処理装置1の機器情報提供部66−1は、ステップS21において、周辺機器からサーチを受けたか否かを判定している。   During this time, the device information providing unit 66-1 of the information processing apparatus 1 determines whether or not a search has been received from the peripheral device in step S21.

なお、上述したように、図5の「機器情報送信処理」においては当然ながら、それを実行する情報処理装置1が自機器となり、図4の「分散準備処理」を実行する情報処理装置2が他機器となる。ただし、上述したように、図5の「機器情報送信処理」を説明している範囲内では、自機器や周辺機器といった名称は使用せずに説明していく。   As described above, in the “apparatus information transmission process” in FIG. 5, naturally, the information processing apparatus 1 that executes the information processing apparatus becomes its own apparatus, and the information processing apparatus 2 that executes the “distributed preparation process” in FIG. It becomes other equipment. However, as described above, within the scope of explaining the “apparatus information transmission process” in FIG.

ステップS1の処理で情報処理装置2から送信されたブロードキャスト信号が情報処理装置1のネットワークインタフェース12−1に受信されると、ステップS21において、機器情報提供部66−1は、それを取得することで、情報処理装置2からサーチを受けたと判定して、処理をステップS22に進める。   When the broadcast signal transmitted from the information processing device 2 in step S1 is received by the network interface 12-1 of the information processing device 1, the device information providing unit 66-1 acquires it in step S21. Thus, it is determined that a search has been received from the information processing apparatus 2, and the process proceeds to step S22.

ステップS22において、情報処理装置1の機器情報提供部66−1は、情報処理装置1自身の機器情報を機器情報格納部62−1から取得して、情報処理装置2に対してネットワークインタフェース12−1およびネットワーク3を介して送信する。   In step S22, the device information providing unit 66-1 of the information processing device 1 acquires the device information of the information processing device 1 itself from the device information storage unit 62-1, and the network interface 12- 1 and the network 3.

この間、ステップS2において、情報処理装置2の分散機器検索部63−2は、周辺機器が存在するか否かを判定している。   During this time, in step S2, the distributed device search unit 63-2 of the information processing device 2 determines whether there is a peripheral device.

仮に、所定の時間が経過しても、ブロードキャスト信号に対する返信、即ち、周辺機器の機器情報が全く送信されてこない場合、ステップS2において、周辺機器が存在しないと判定されて、「分散準備処理」は終了となる。この場合、上述したように、機能Qは自機器2のみにより実行されるか或いは実行されない。   If the reply to the broadcast signal, that is, the device information of the peripheral device is not transmitted at all even if the predetermined time has elapsed, it is determined in step S2 that the peripheral device does not exist, and “distributed preparation process” is performed. Ends. In this case, as described above, the function Q is executed only by the own device 2 or not.

これに対して、いまの場合、上述したようにステップS22の処理で周辺機器1の機器情報が送信されてくるので、情報処理装置2のネットワークインタフェース12−2は、周辺機器1の機器情報を受信することになる。   On the other hand, in this case, since the device information of the peripheral device 1 is transmitted in the process of step S22 as described above, the network interface 12-2 of the information processing device 2 stores the device information of the peripheral device 1. Will receive.

すると、情報処理装置2の分散機器検索部63−2は、ステップS2において、周辺機器1が存在すると判定し、ステップS3において、周辺機器1の機器情報を取得して、機器情報格納部62−2に記憶させる。   Then, the distributed device search unit 63-2 of the information processing device 2 determines in step S2 that the peripheral device 1 exists, acquires device information of the peripheral device 1 in step S3, and acquires a device information storage unit 62- 2 is memorized.

具体的には例えばいま、周辺機器1の機器情報として、図11に示される機器情報が取得されて、機器情報格納部62−2に格納されたとする。   Specifically, for example, assume that the device information shown in FIG. 11 is acquired as device information of the peripheral device 1 and stored in the device information storage unit 62-2.

また、このとき例えば、自機器2の機器情報として、図12に示される機器情報も機器情報格納部62−2に格納されているとする。   At this time, for example, it is assumed that the device information shown in FIG. 12 is also stored in the device information storage unit 62-2 as the device information of the device 2 itself.

即ち、図11と図12とのそれぞれは、情報処理装置1,2のそれぞれの機器情報の例を示している。   That is, FIG. 11 and FIG. 12 show examples of device information of the information processing apparatuses 1 and 2, respectively.

図11と図12に示されるように、機器情報には、「CPU」、「メモリ」、「動作周波数」、「プロセッサ利用率」、「プロセッサ利用率予測値」、「空きメモリ」、「OFFスケジュール」、および「保持プログラム 識別ID : version」といった項目が設けられている。   As shown in FIGS. 11 and 12, the device information includes “CPU”, “memory”, “operating frequency”, “processor usage rate”, “processor usage rate predicted value”, “free memory”, “OFF” Items such as “Schedule” and “Holding program identification ID: version” are provided.

「CPU」には、MPUとSPUに関する情報が記述される。例えば、「内容」に示されるように、「CPU」には、数、バージョン、ベンダ、およびMIPS(Million Instructions Per Second)値のそれぞれがその順番に記述される。   In “CPU”, information on the MPU and the SPU is described. For example, as shown in “Content”, “CPU” describes a number, a version, a vendor, and a MIPS (Million Instructions Per Second) value in that order.

具体的には例えば、図11の例の情報処理装置1の機器情報の「CPU」には、“2”,“0.53/0.53”,“sany”.500と記述されている。これにより、情報処理装置1には、“2”個のプロセッサが設けられ、それぞれのバージョンは“0.53/0.53”であり、ベンダは“sany”であり、かつ、MIPS値は500であることがわかる。一方、図12の例の情報処理装置2の機器情報の「CPU」には、“1”,“0.53/0.53”,“sany”.300と記述されている。これにより、情報処理装置2には、“1”個のプロセッサが設けられ、そのバージョンは“0.53/0.53”であり、ベンダは“sany”であり、かつ、MIPS値は300であることがわかる。   Specifically, for example, “2”, “0.53 / 0.53”, and “sany” .500 are described in the “CPU” of the device information of the information processing apparatus 1 in the example of FIG. Thereby, the information processing apparatus 1 is provided with “2” processors, each version is “0.53 / 0.53”, the vendor is “sany”, and the MIPS value is 500. Recognize. On the other hand, “1”, “0.53 / 0.53”, and “sany” .300 are described in the “CPU” of the device information of the information processing apparatus 2 in the example of FIG. As a result, the information processing apparatus 2 is provided with “1” processors, the version is “0.53 / 0.53”, the vendor is “sany”, and the MIPS value is 300. .

なお、図1の例では、情報処理装置1には、1つのMPU21−1と3つのSPU31−1乃至33−1との総計4個のプロセッサが設けられており、図1の例に併せると、情報処理装置1の機器情報の「CPU」の数としては、“4”が記述されることになる。ただし、上述したように、SPUの個数は、図1の例に特に限定されない。そこで、この機能Q用処理の説明の範囲内では、図11の機器情報の記述に併せて、情報処理装置1には2つのプロセッサ、即ち、1つのMPU21−1と1つのSCPU31−1とが設けられているとする。   In the example of FIG. 1, the information processing apparatus 1 is provided with a total of four processors of one MPU 21-1 and three SPUs 31-1 to 33-1. As the number of “CPU” in the device information of the information processing apparatus 1, “4” is described. However, as described above, the number of SPUs is not particularly limited to the example of FIG. Therefore, within the scope of the description of the function Q process, the information processing apparatus 1 includes two processors, that is, one MPU 21-1 and one SCPU 31-1, in addition to the description of the device information in FIG. Suppose that it is provided.

同様に、図1の例では、情報処理装置2には、1つのMPU21−2と3つのSPU31−2乃至33−2との総計4個のプロセッサが設けられており、図1の例に併せると、情報処理装置2の機器情報の「CPU」の数としては、“4”が記述されることになる。ただし、上述したように、SPUの個数は、図1の例に特に限定されない。そこで、この機能Q用処理の説明の範囲内では、図12の機器情報の記述に併せて、情報処理装置2には1つのプロセッサ、即ち、1つのMPU21−2のみが設けられているとする。   Similarly, in the example of FIG. 1, the information processing apparatus 2 is provided with a total of four processors of one MPU 21-2 and three SPUs 31-2 to 33-2, and is combined with the example of FIG. 1. Then, “4” is described as the number of “CPUs” in the device information of the information processing apparatus 2. However, as described above, the number of SPUs is not particularly limited to the example of FIG. Therefore, within the scope of the description of the function Q processing, it is assumed that only one processor, that is, one MPU 21-2 is provided in the information processing apparatus 2 in addition to the description of the device information in FIG. .

「メモリ」には、「内容」に示されるように、プログラム実行可能領域を有するメモリの総サイズが記述される。具体的には例えば、図11の例の情報処理装置1の機器情報の「メモリ」には、“1024Mbit”と記述されている。これにより、情報処理装置1のMPU21−1用の専用メモリ22−1とSPU31−1用の専用メモリ41−1との総サイズは、“1024Mbit”であることがわかる。一方、図12の例の情報処理装置2の機器情報の「メモリ」には、“256Mbit”と記述されている。これにより、情報処理装置2のMPU21−2用の専用メモリ22−2のサイズは、“256Mbit”であることがわかる。   In the “memory”, as shown in “content”, the total size of the memory having the program executable area is described. Specifically, for example, “1024 Mbit” is described in the “memory” of the device information of the information processing apparatus 1 in the example of FIG. As a result, it is understood that the total size of the dedicated memory 22-1 for the MPU 21-1 and the dedicated memory 41-1 for the SPU 31-1 of the information processing apparatus 1 is “1024 Mbit”. On the other hand, “256 Mbit” is described in the “memory” of the device information of the information processing apparatus 2 in the example of FIG. Thereby, it can be seen that the size of the dedicated memory 22-2 for the MPU 21-2 of the information processing apparatus 2 is “256 Mbit”.

「動作周波数」には、プロセッサの動作クロックが、プロセッサの数だけ記述される。なお、動的に変化するクロックは通常状態での値が記述される。具体的には例えば、図11の例の情報処理装置1の機器情報の「動作周波数」には、“2G/2GHz”と記述されている。これにより、情報処理装置1において、MPU21−1の動作クロックは“2GHz”であり、かつ、SPU31−1の動作クロックは“2GHz”であることがわかる。一方、図12の例の情報処理装置2の機器情報の「動作周波数」には、“500MHz”と記述されている。これにより、情報処理装置2のMPU21−2の動作クロックは“500MHz”であることがわかる。   The “operation frequency” describes the operation clock of the processor by the number of processors. Note that the value in the normal state is described for the dynamically changing clock. Specifically, for example, “2G / 2 GHz” is described in the “operating frequency” of the device information of the information processing apparatus 1 in the example of FIG. Thereby, in the information processing apparatus 1, it can be seen that the operation clock of the MPU 21-1 is “2 GHz” and the operation clock of the SPU 31-1 is “2 GHz”. On the other hand, “500 MHz” is described in the “operating frequency” of the device information of the information processing apparatus 2 in the example of FIG. Thereby, it can be seen that the operation clock of the MPU 21-2 of the information processing apparatus 2 is “500 MHz”.

「プロセッサ利用率」には、プロセッサの略現在の利用率[%]が、プロセッサの数だけ記述される。具体的には例えば、図11の例の情報処理装置1の機器情報の「プロセッサ利用率」には、“30%/30%”と記述されている。これにより、情報処理装置1において、MPU21−1の略現在の利用率は“30%”であり、かつ、SPU31−1の略現在の利用率は“30%”であることがわかる。一方、図12の例の情報処理装置2の機器情報の「プロセッサ利用率」には、“90%”と記述されている。これにより、情報処理装置2のMPU21−2の略現在の利用率は“90%”であることがわかる。   In the “processor usage rate”, approximately the current usage rate [%] of the processor is described by the number of processors. Specifically, for example, “30% / 30%” is described in the “processor usage rate” of the device information of the information processing apparatus 1 in the example of FIG. As a result, in the information processing apparatus 1, it can be seen that the substantially current usage rate of the MPU 21-1 is "30%" and the substantially current usage rate of the SPU 31-1 is "30%". On the other hand, “90%” is described in the “processor utilization” of the device information of the information processing apparatus 2 in the example of FIG. Thereby, it can be seen that the substantially current usage rate of the MPU 21-2 of the information processing apparatus 2 is "90%".

「プロセッサ利用率予測値」には、プロセッサのスケジュールが組まれている場合に所定の時間[min]経過後に予め予想されるプロセッサ利用率[%]が記述される。具体的には例えば、図11の例の情報処理装置1の機器情報の「プロセッサ利用率予測値」には、“5min:20%/10%;10min:10%/5%”と記述されている。これにより、情報処理装置1のMPU21−1の利用率は略現在“30%”であるが、“5min”後には“20%”まで下がり、さらに“10min”後には“10%”まで下がることが予測されていることがわかる。また、情報処理装置1のSPU31−1の利用率は略現在“30%”であるが、“5min”後には“10%”まで下がり、さらに“10min”後には“5%”まで下がることが予測されていることがわかる。一方、図12の例の情報処理装置2の機器情報の「プロセッサ利用率予測値」には、“5min:90%;10min:90%”と記述されている。これにより、情報処理装置2のMPU21−2の利用率は、“5min”後にも、さらに“10min”後にも“90%”のまま維持されることが予測されていることがわかる。   The “processor usage rate prediction value” describes the processor usage rate [%] expected in advance after a predetermined time [min] has elapsed when a processor schedule is set. Specifically, for example, “5 min: 20% / 10%; 10 min: 10% / 5%” is described in the “processor utilization rate prediction value” of the device information of the information processing apparatus 1 in the example of FIG. Yes. As a result, the utilization rate of the MPU 21-1 of the information processing apparatus 1 is approximately “30%” at present, but decreases to “20%” after “5 min” and further decreases to “10%” after “10 min”. It can be seen that is predicted. In addition, the utilization rate of the SPU 31-1 of the information processing apparatus 1 is currently “30%”, but after “5 min” it may drop to “10%”, and after “10 min” it may drop to “5%”. You can see that it is predicted. On the other hand, “5 min: 90%; 10 min: 90%” is described in the “processor utilization rate prediction value” of the device information of the information processing apparatus 2 in the example of FIG. Accordingly, it can be seen that the utilization rate of the MPU 21-2 of the information processing apparatus 2 is predicted to be maintained at “90%” both after “5 min” and further after “10 min”.

「空きメモリ」には、上述した「メモリ」に記述されたサイズのうちの、現在使用可能な総空きサイズが記述される。具体的には例えば、図11の例の情報処理装置1の機器情報の「空きメモリ」には、“800Mbit”と記述されている。これにより、情報処理装置1のMPU21−1用の専用メモリ22−1とSPU31−1用の専用メモリ41−1との総空きサイズは、即ち、使用可能なサイズは“800Mbit”であることがわかる。一方、図12の例の情報処理装置2の機器情報の「空きメモリ」には、“100Mbit”と記述されている。これにより、情報処理装置2のMPU21−2用の専用メモリ22−2の空きサイズは、即ち、使用可能なサイズは、“100Mbit”であることがわかる。   “Free memory” describes the total available free size among the sizes described in the “memory” described above. Specifically, for example, “800 Mbit” is described in “free memory” of the device information of the information processing apparatus 1 in the example of FIG. Thereby, the total free size of the dedicated memory 22-1 for the MPU 21-1 and the dedicated memory 41-1 for the SPU 31-1 of the information processing apparatus 1, that is, the usable size is “800 Mbit”. Recognize. On the other hand, “100 Mbit” is described in “free memory” of the device information of the information processing apparatus 2 in the example of FIG. Thereby, it can be seen that the free size of the dedicated memory 22-2 for the MPU 21-2 of the information processing apparatus 2, that is, the usable size is “100 Mbit”.

「OFFスケジュール」には、「内容」に示されるように、電源OFFがスケジュールされている場合に、そのことを示す情報が記述される。なお、図11の例の情報処理装置1の機器情報の「OFFスケジュール」にも、図12の例の情報処理装置2の機器情報の「OFFスケジュール」にも、何も記述されていないので(Noneであるので)、情報処理装置1,2何れにおいても、電源OFFが特にスケジュールされていないことがわかる。   In “OFF schedule”, as shown in “contents”, information indicating that a power supply OFF is scheduled is described. Note that nothing is described in the “OFF schedule” of the device information of the information processing apparatus 1 in the example of FIG. 11 and the “OFF schedule” of the device information of the information processing apparatus 2 of the example of FIG. Since it is None), it can be seen that neither the information processing apparatus 1 or 2 is particularly scheduled to be turned off.

「保持プログラム 識別ID : version」には、自機器が保持している機能(プログラム)の識別IDとバージョン(version)とが記述される。   “Holding program identification ID: version” describes the identification ID and version (version) of the function (program) held by the device itself.

自機器が保持している機能とは、プログラム実行可能領域にロードされた機能を指す場合もあるし、プログラム実行可能領域へのロードの有無に関わらず、プログラム格納領域に格納されている機能を指す場合もある。本実施の形態では例えば、前者が採用されているとする。   The function held by the device itself may refer to the function loaded in the program executable area, or the function stored in the program storage area regardless of whether the program is loaded into the program executable area. Sometimes it points. In the present embodiment, for example, it is assumed that the former is adopted.

識別IDとは、機能毎に一意に付されたユニークな値を指す。この識別IDにより、所定の機能が識別可能になる。ただし、所定の識別IDを有する機能を構成する機能要素やデータのうちの所定の一部のみが更新された場合には、識別IDはそのままで、バージョンだけが変更されることがある。例えば、図3の例では、機能P,Qのそれぞれには、識別IDとして“uniqidxx”が付されているとする。ただし、機能Pの機能要素A,B,C,Dのうちの機能要素B,Cのそれぞれが、例えば機能要素D,Eのそれぞれに更新され(それに伴い、データyがデータwに更新され)、その結果として機能Qになったとする。この場合、機能P,Qのそれぞれを識別するためには、異なるバージョンが付されることになる。例えば、機能Pにはバージョンとして”1.1a”が付されていたとすると、機能Qにはバージョンとして“1.1b”が付されることになる。   The identification ID refers to a unique value uniquely assigned to each function. A predetermined function can be identified by this identification ID. However, when only a predetermined part of functional elements and data constituting a function having a predetermined identification ID is updated, the identification ID remains unchanged and only the version may be changed. For example, in the example of FIG. 3, it is assumed that “uniqidxx” is assigned to each of the functions P and Q as an identification ID. However, among the functional elements A, B, C, and D of the function P, each of the functional elements B and C is updated to, for example, each of the functional elements D and E (accordingly, the data y is updated to the data w). Suppose that the result is function Q. In this case, different versions are assigned to identify each of the functions P and Q. For example, if “1.1a” is attached to the function P as a version, “1.1b” is attached to the function Q as a version.

この識別IDとバージョンとは、各機能のそれぞれに対応付けられた機能情報から得られる。なお、機能情報の詳細については、図13を参照して後述する。   The identification ID and version are obtained from function information associated with each function. Details of the function information will be described later with reference to FIG.

具体的には例えば、図11の例の情報処理装置1の機器情報の「保持プログラム 識別ID : version」には、“uniqidxx:1.1a/uniqidyy:1.4”と記述されている。これにより、情報処理装置1のMPU21−1用の専用メモリ22−1とSPU31−1用の専用メモリ41−1とのうちのいずれか一方には、識別IDが“uniqidxx”であってバージョンが“1.1a”である機能Pがロードされていることがわかる。また、情報処理装置1のMPU21−1用の専用メモリ22−1とSPU31−1用の専用メモリ41−1とのうちのいずれか一方には、識別IDが“uniqidyy”であってバージョンが“1.4”である図3には図示せぬ機能がロードされていることがわかる。   Specifically, for example, “uniqidxx: 1.1a / uniqidyy: 1.4” is described in “holding program identification ID: version” of the device information of the information processing apparatus 1 in the example of FIG. As a result, either the dedicated memory 22-1 for the MPU 21-1 or the dedicated memory 41-1 for the SPU 31-1 of the information processing apparatus 1 has the identification ID “uniqidxx” and the version is It can be seen that the function P which is “1.1a” is loaded. Also, in either one of the dedicated memory 22-1 for the MPU 21-1 and the dedicated memory 41-1 for the SPU 31-1 of the information processing apparatus 1, the identification ID is “uniqidyy” and the version is “ It can be seen that the functions not shown in FIG.

また例えば、図12の例の情報処理装置2の機器情報の「保持プログラム 識別ID : version」には、“uniqidxx:1.1b/uniqidyy:1.6”と記述されている。これにより、情報処理装置1のMPU21−2用の専用メモリ22−2には、識別IDが“uniqidxx”であってバージョンが“1.1b”である機能Qがロードされていることがわかる。また、情報処理装置2のMPU21−2用の専用メモリ22−2には、識別IDが“uniqidyy”であってバージョンが“1.6”である図3には図示せぬ機能がロードされていることがわかる。   Further, for example, “uniqidxx: 1.1b / uniqidyy: 1.6” is described in “holding program identification ID: version” of the device information of the information processing apparatus 2 in the example of FIG. Thereby, it can be seen that the function Q having the identification ID “uniqidxx” and the version “1.1b” is loaded in the dedicated memory 22-2 for the MPU 21-2 of the information processing apparatus 1. Further, the dedicated memory 22-2 for the MPU 21-2 of the information processing apparatus 2 is loaded with a function not shown in FIG. 3 whose identification ID is “uniqidyy” and whose version is “1.6”. I understand.

なお、いまの場合、即ち、機能Q用処理が実行される場合、図4と図10のステップS3の処理の時点では、情報処理装置2は機能Qをまだロードしていないので、情報処理装置2の機器情報の「保持プログラム 識別ID : version」には、“uniqidxx:1.1b”は記述されていないことになる。   In this case, that is, when the function Q process is executed, the information processing apparatus 2 has not yet loaded the function Q at the time of the process of step S3 in FIG. 4 and FIG. “Uniqidxx: 1.1b” is not described in “Holding program identification ID: version” of the device information 2.

係る機器情報のうちの情報処理装置1の機器情報が、図4と図10のステップS3の処理で取得されると、処理はステップS4に進む。   When the device information of the information processing apparatus 1 among the device information is acquired in the process of step S3 in FIGS. 4 and 10, the process proceeds to step S4.

ステップS4において、情報処理装置2の図2の分散機器検索部63−2は、自機器2と周辺機器1との間の通信インフラの略現在の帯域(略現在の通信速度)を算出する。   In step S <b> 4, the distributed device search unit 63-2 in FIG. 2 of the information processing device 2 calculates a substantially current band (substantially current communication speed) of the communication infrastructure between the own device 2 and the peripheral device 1.

例えばステップS4において、分散機器検索部63−2は、所定のデータ量のデータ(周辺機器1の機器情報等)が周辺機器1から返信されてくるまでの通信時間に基づいて、略現在の通信速度を演算する。具体的には例えば、データ量が1024kbitであるデータの通信時間(接続までの時間等除く)が500msecであった場合、略現在の通信速度として2048(=1024/500)kbpsが算出される。   For example, in step S 4, the distributed device search unit 63-2 determines the current communication based on the communication time until a predetermined amount of data (device information of the peripheral device 1) is returned from the peripheral device 1. Calculate the speed. Specifically, for example, when the communication time (excluding the time until connection) of data having a data amount of 1024 kbit is 500 msec, 2048 (= 1024/500) kbps is calculated as the substantially current communication speed.

ステップS5において、情報処理装置2の分散機器検索部63−2は、自機器2の保有機能の識別IDと同一の識別IDの機能が、周辺機器1に既にロードされているか否かを判定する。   In step S <b> 5, the distributed device search unit 63-2 of the information processing apparatus 2 determines whether or not the function having the same identification ID as the identification ID of the function owned by the own device 2 is already loaded in the peripheral device 1. .

例えばいまの場合、自機器2の保有機能とは、機能格納部61−2に格納されている機能Qである。機能Qの識別IDは上述したように“uniqidxx”であって、同じく機能格納部61−2に格納されている「機能Qの機能情報」から取得可能である。具体的には例えば、図13に示されるような「機能Qの機能情報」が機能格納部61−2に格納されており、この「機能Qの機能情報」から機能Qの識別IDが取得可能である。即ち、図13は、「機能Qの機能情報」の一例を示している。この「機能Qの機能情報」には、「識別ID」という項目が含まれており、この「識別ID」に、機能Qの識別IDとして“uniqidxx”が記述されている。なお、「機能Qの機能情報」のその他の項目については後述する。   For example, in this case, the possessed function of the device 2 is the function Q stored in the function storage unit 61-2. The identification ID of the function Q is “uniqidxx” as described above, and can be obtained from “function Q function information” stored in the function storage unit 61-2. Specifically, for example, “function Q function information” as shown in FIG. 13 is stored in the function storage unit 61-2, and the function Q identification ID can be acquired from this “function Q function information”. It is. That is, FIG. 13 shows an example of “function Q function information”. This “function Q function information” includes an item “identification ID”, and “uniqidxx” is described as the function Q identification ID in this “identification ID”. The other items of “function Q function information” will be described later.

また、周辺機器1にこの時点でロードされている機能Pの識別IDも上述したように、“uniqidxx”であり、この機能Pの識別IDは、ステップS3の処理で取得された図11の「周辺機器1の機器情報」に記述されている。   Further, as described above, the identification ID of the function P loaded in the peripheral device 1 at this time is “uniqidxx”, and the identification ID of the function P is obtained by the process of FIG. Device information of peripheral device 1 ”.

従って、分散機器検索部63−1は、自機器2に保有されている「機能Qの機能情報」と、「周辺機器1の機器情報」とを比較し、共に“uniqidxx”が記述されていることを認識すると、ステップS5の処理でYESであると判定して、処理をステップS6に進める。   Therefore, the distributed device search unit 63-1 compares the “function Q function information” stored in the own device 2 with the “device information of the peripheral device 1”, and both “uniqidxx” are described. If this is recognized, it is determined as YES in the process of step S5, and the process proceeds to step S6.

なお、仮に、自機器2に保有されている「機能Qの機能情報」と、「周辺機器1の機器情報」とに共通する識別IDが存在しない場合、ステップS5の処理でNOであると判定されて、「分散準備処理」は終了となる。この場合、上述したように、機能Qは情報処理装置2のみにより実行されるか或いは実行されない。   If there is no identification ID common to the “function Q function information” and the “device information of the peripheral device 1” held in the own device 2, it is determined as NO in the process of step S5. Thus, the “distributed preparation process” is completed. In this case, as described above, the function Q is executed only by the information processing apparatus 2 or not.

ステップS6において、情報処理装置2の分散機器検索部63−2は、自機器2と周辺機器1との機能がコンパチビリティ(互換性)を有しているか否かを判定する。   In step S <b> 6, the distributed device search unit 63-2 of the information processing device 2 determines whether the functions of the self device 2 and the peripheral device 1 have compatibility (compatibility).

なお、ここでは例えば、2つの機能において、共通する機能要素が少なくとも1つ存在すれば、2つの機能はコンパチビリティを有しているとする。また、共通する機能要素が存在するか否かの判定手法は特に限定されない。例えば機能要素単位で識別IDを付与し、識別IDが一致する機能要素が存在するか否かを判定する、といった判定手法を採用することができる。ただしここでは、説明の簡略上例えば、2つの機能のバージョンを比較することで、共通する機能要素が存在するか否かを判定する、といった判定手法が採用されているとする。   Here, for example, in the two functions, if at least one common functional element exists, it is assumed that the two functions have compatibility. In addition, a method for determining whether or not a common functional element exists is not particularly limited. For example, it is possible to adopt a determination method in which an identification ID is assigned in units of functional elements, and it is determined whether or not there is a functional element with a matching identification ID. However, here, for simplification of description, for example, it is assumed that a determination method is adopted in which it is determined whether or not a common functional element exists by comparing versions of two functions.

この場合、機能Qのバージョンは上述したように“1.1b”であって、例えば図3と図14に示されるように、機能格納部61−2に格納されている「機能Qの機能情報」から取得可能である。即ち、図13に示されるように、「機能Qの機能情報」には、「バージョン」という項目が含まれており、この「バージョン」に、機能Qのバージョンとして“1.1b”が記述されている。なお、「機能Qの機能情報」のその他の項目については後述する。   In this case, the version of the function Q is “1.1b” as described above. For example, as shown in FIGS. 3 and 14, “function Q function information” stored in the function storage unit 61-2. Can be obtained from That is, as shown in FIG. 13, “function Q function information” includes an item “version”, and “version” includes “1.1b” as the version of function Q. Yes. The other items of “function Q function information” will be described later.

また、機能Pのバージョンは上述したように、“1.1a”であり、この機能Pのバージョンは、ステップS3の処理で取得された図11の「周辺機器1の機器情報」に記述されている。   Further, as described above, the version of the function P is “1.1a”, and the version of the function P is described in “apparatus information of the peripheral device 1” of FIG. 11 acquired in the process of step S3. .

なお、バージョン“1.1a”の機能Pとバージョン“1.1b”の機能Qとはコンパチビリティを有しているとされ、そのこと自体は情報処理装置2にとって既知であるとする。   It is assumed that the function P of the version “1.1a” and the function Q of the version “1.1b” are compatible, and this is known to the information processing apparatus 2 itself.

この場合、情報処理装置2の分散機器検索部63−2は、自機器2に保有されている「機能Qの機能情報」と、取得された「周辺機器1の機器情報」とを比較し、その結果として、ステップS6の処理で、バージョン“1.1a”の機能Pとバージョン“1.1b”の機能Qとはコンパチビリティを有していると判定する。   In this case, the distributed device search unit 63-2 of the information processing apparatus 2 compares the “function Q function information” stored in the own device 2 with the acquired “device information of the peripheral device 1”. As a result, it is determined in step S6 that the function “P” of version “1.1a” and the function “Q” of version “1.1b” have compatibility.

なお、仮にバージョン“1.1a”の機能Pとバージョン“1.1b”の機能Qとがコンパチビリティを有していない(互換性が無い)場合、ステップS6の処理でNOであると判定されて、「分散準備処理」は終了となる。この場合、上述したように、機能Qは情報処理装置2のみにより実行されるか、或いは実行されない。   Note that if the function P of the version “1.1a” and the function Q of the version “1.1b” are not compatible (not compatible), it is determined as NO in the process of step S6, The “distributed preparation process” ends. In this case, as described above, the function Q is executed only by the information processing apparatus 2 or not.

このように、情報処理装置2の分散機器検索部63−2は、ステップS1乃至S6の処理を実行することで、ネットワーク3を含む通信インフラを用いて通信を行うことが可能な周辺機器の中から、「実行対象の機能Qを構成する機能要素A,D,E,Fのうちの少なくとも1つを保有し、かつ、略現在それを実行可能な周辺機器」として周辺機器1を検索するとともに、通信インフラの略現在の帯域を算出するのである。   As described above, the distributed device search unit 63-2 of the information processing device 2 executes the processes in steps S1 to S6, and thus, among the peripheral devices that can perform communication using the communication infrastructure including the network 3. To search for the peripheral device 1 as “a peripheral device that has at least one of the functional elements A, D, E, and F constituting the function Q to be executed and can execute it at present”. The approximate current bandwidth of the communication infrastructure is calculated.

ステップS6の処理でYESであると判定されると、ステップS1乃至S6の処理結果、即ち、「実行対象の機能Qを構成する機能要素A,D,E,Fのうちの少なくとも1つを保有し、かつ、略現在それを実行可能な周辺機器とは、情報処理装置1であること」、および、「自機器2と周辺機器1との間の略現在の通信インフラの略現在の帯域(略現在の通信速度)」が、分散機器検索部63−2から分散正当性判断部64−2に供給される。これにより、処理はステップS7に進む。   If it is determined as YES in the process of step S6, the process result of steps S1 to S6, that is, “having at least one of functional elements A, D, E, and F constituting the function Q to be executed” is held. In addition, the peripheral device that can currently execute it is the information processing apparatus 1, and “substantially current bandwidth of the communication infrastructure between the own device 2 and the peripheral device 1 ( "Substantially current communication speed)" is supplied from the distributed device search unit 63-2 to the distributed validity judgment unit 64-2. Thereby, a process progresses to step S7.

ステップS7において、情報処理装置2の分散正当性判断部64−2は、自機器2のメモリ空き容量は充分に存在するか否かを判定する。   In step S7, the distribution validity determining unit 64-2 of the information processing apparatus 2 determines whether or not the memory space of the self device 2 is sufficient.

メモリ空き容量が充分であるとは、図12の「自機器2の機器情報」の「空きメモリ」の記述サイズが、機能Qを実行するために必要なサイズであることを指す。   That the memory free capacity is sufficient means that the description size of “free memory” in “device information of own device 2” in FIG. 12 is a size necessary for executing the function Q.

機能Qを実行するために必要なサイズは、機能Qがメモリに展開されたときのプログラムサイズと、プログラム実行に必要なヒープやスタックのメモリサイズとの加算サイズであって、それぞれ図13の「機能Qの機能情報」から取得可能である。即ち、図13の「機能Qの機能情報」の「プログラムサイズ」の項目には、機能Qがメモリに展開されたときのプログラムサイズが記述される。例えば図13の例では、「プログラムサイズ」には“100Mbit”が記述されている。また、「メモリサイズ」の項目には、プログラム実行に必要なヒープやスタックのメモリサイズが記述される。例えば図13の例では、“500Mbit/100Mbit”が記述されている。なお、「機能Qの機能情報」のその他の項目については後述する。   The size required to execute the function Q is the sum of the program size when the function Q is expanded in the memory and the memory size of the heap and stack required for program execution. It can be obtained from “Function Q Function Information”. That is, in the item “program size” of “function Q function information” in FIG. 13, the program size when the function Q is expanded in the memory is described. For example, in the example of FIG. 13, “100 Mbit” is described in “program size”. In the “memory size” item, the memory size of the heap and stack necessary for program execution is described. For example, in the example of FIG. 13, “500 Mbit / 100 Mbit” is described. The other items of “function Q function information” will be described later.

そこで、ステップS7において、情報処理装置2の分散正当性判断部64−2は、「機能Qの機能情報」の「プログラムサイズ」の記述値100Mbit”および「メモリサイズ」の記述値“500Mbit/100Mbit”に基づいて、機能Qを実現するために必要なサイズは700(=100+500+100)Mbitであると算出する。そして、分散正当性判断部64−2は、機能Qを実現するために必要なサイズである700Mbitと、「自機器2の機器情報」の「空きメモリ」の記述値である“100Mbit”とを比較し、その比較の結果として、自機器2のメモリ空き容量は充分に存在しないと判定し、処理をステップS8に進める。   Therefore, in step S7, the distribution validity judgment unit 64-2 of the information processing apparatus 2 performs the description value “100Mbit” of “program size” of “function Q function information” and the description value “500Mbit / 100Mbit” of “memory size”. Based on ", the size required to realize the function Q is calculated to be 700 (= 100 + 500 + 100) Mbit. Then, the distributed validity judgment unit 64-2 obtains 700 Mbit which is a size necessary for realizing the function Q and “100 Mbit” which is a description value of “free memory” of “device information of the own device 2”. As a result of the comparison, it is determined that there is not enough memory capacity of the device 2 and the process proceeds to step S8.

即ち、自機器2のメモリ空き容量が充分に存在しない場合、機能Qの実行のためには周辺機器1との分散処理が必要になる。即ち、ステップS7の処理でNOであると判定されると、分散処理の正当性を判断するための処理はさらに継続される必要がある。そこで、ステップS7の処理でNOであると判定されると、ステップS8に処理が進められるのである。   In other words, if the memory capacity of the own device 2 does not exist sufficiently, distributed processing with the peripheral device 1 is required to execute the function Q. That is, if it is determined as NO in the process of step S7, the process for determining the validity of the distributed process needs to be further continued. Therefore, if it is determined NO in step S7, the process proceeds to step S8.

換言すると、仮に「自機器2の機器情報」の「空きメモリ」の記述値が“700Mbit”を超えているような場合、機能Qの実行のために分散処理は特に必須ではなくなり、このため、ステップS7の処理でYESであると判定されて、「分散準備処理」は終了となる。この場合、上述したように、機能Qは情報処理装置2のみにより実行される。   In other words, if the description value of “free memory” of “device information of own device 2” exceeds “700 Mbit”, distributed processing is not particularly essential for executing function Q. It is determined as YES in the process of step S7, and the “distribution preparation process” ends. In this case, as described above, the function Q is executed only by the information processing apparatus 2.

なお、周辺機器1側にもメモリ空き容量が充分に存在しないと機能Qの分散処理の実行は不可能である。そこで、図4には図示されていないが実際には、分散正当性判断部64−2は、自機器2と全く同様に、周辺機器1に対しても、そのメモリ空き容量が充分に存在するか否かを判定すると好適である。   Note that the distributed processing of the function Q cannot be performed unless there is sufficient memory space on the peripheral device 1 side. Therefore, although not shown in FIG. 4, in reality, the distributed validity judgment unit 64-2 has sufficient memory free space for the peripheral device 1 just like the own device 2. It is preferable to determine whether or not.

そして、分散正当性判断部64−2は、周辺機器1側にメモリ空き容量が充分に存在しないと判定した場合、「機能Qの実行は不可能」といったメッセージをユーザに呈示する等、所定のエラー処理を実行した後、「分散準備処理」を終了させると好適である。   Then, when it is determined that there is not enough free memory on the peripheral device 1 side, the distributed validity determination unit 64-2 presents a message such as “function Q cannot be executed” to the user. After executing the error process, it is preferable to end the “distributed preparation process”.

ただし、いまの場合には、ステップS3の処理で取得された図11の「周辺機器1の機器情報」の「空きメモリ」の記述値は“800Mbit”とされており、周辺機器1のメモリ空き容量が充分に存在すると判定されることになる。即ち、自機器2と周辺機器1との分散処理により、機能Qの実行は可能であると判定されることになる。   However, in this case, the description value of “free memory” of “device information of peripheral device 1” of FIG. 11 acquired in the process of step S3 is “800 Mbit”, and the memory space of peripheral device 1 is free. It will be determined that there is sufficient capacity. That is, it is determined that the function Q can be executed by the distributed processing of the own device 2 and the peripheral device 1.

従って、周辺機器1側の「空きメモリ」のチェックが行われたとしても、いまの場合結局、処理はステップS8に進むことになる。   Accordingly, even if the “free memory” on the peripheral device 1 side is checked, in this case, the process eventually proceeds to step S8.

ステップS8において、情報処理装置2の分散正当性判断部64−2は、自機器2と周辺機器1とのそれぞれの予測実行時間を算出する。   In step S <b> 8, the distribution legitimacy determination unit 64-2 of the information processing apparatus 2 calculates respective predicted execution times of the own device 2 and the peripheral device 1.

ここでは例えば、機器の性能に依存しない正規化された値で表現された「機能Qの予測実行時間」が、ステップS8の処理で算出されるとする。具体的には例えば、「機能Qの予測実行時間」は、「機能Qの標準実行時間」÷「機器の性能比(対100MIPS)」で演算される。「機能Qの標準実行時間」は、「機能Qの機能情報」の「実行時間」に記述されている。例えば図13の例では、「実行時間」には“15sec”が記述されている。また、「機器の性能比(対100MIPS)」は、各機器の機器情報の「CPU」のMIPS値として記述されている。例えば図11の例の「周辺機器1の機器情報」では、「CPU」のMIPS値として500が記述されている。従って、周辺機器1側で機能Qを実行する場合の「機能Qの予測実行時間」は3sec(=15/(500/100)sec)となる。同様に、図12の例の「自機器2の機器情報」では、「CPU」のMIPS値として300が記述されている。従って、自機器2で機能Qを実行する場合の「機能Qの予測実行時間」は5sec(15/(300/100)sec)となる。   Here, for example, it is assumed that the “predicted execution time of function Q” expressed by a normalized value that does not depend on the performance of the device is calculated in the process of step S8. Specifically, for example, the “predicted execution time of function Q” is calculated by “standard execution time of function Q” ÷ “performance ratio of device (vs. 100 MIPS)”. “Standard execution time of function Q” is described in “execution time” of “function Q function information”. For example, in the example of FIG. 13, “15 sec” is described in the “execution time”. Further, the “performance ratio of device (vs. 100 MIPS)” is described as the MIPS value of “CPU” in the device information of each device. For example, in “device information of peripheral device 1” in the example of FIG. 11, 500 is described as the MIPS value of “CPU”. Therefore, when the function Q is executed on the peripheral device 1 side, the “predicted execution time of the function Q” is 3 sec (= 15 / (500/100) sec). Similarly, in “device information of own device 2” in the example of FIG. 12, 300 is described as the MIPS value of “CPU”. Accordingly, when the function Q is executed by the own device 2, the “predicted execution time of the function Q” is 5 sec (15 / (300/100) sec).

ステップS9において、情報処理装置2の分散正当性判断部64−2は、要求リアルタイム性能と比較するための値を算出する。   In step S9, the distribution validity judgment unit 64-2 of the information processing device 2 calculates a value for comparison with the required real-time performance.

要求リアルタイム性能とは、例えば、実行対象の機能が被分割機能であれば、他分割機能要素との結合度を示す許容通信を指す。その他例えば、割込み遅延時間、プログラムメモリ転送時間、スタックメモリ転送時間、および、ヒープメモリ転送時間等も、要求リアルタイム性能のひとつである。さらに例えば、分割元や他分割機能要素とデータの関連性を示すデータ結合度等も、要求リアルタイム性能のひとつである。   The required real-time performance indicates, for example, allowable communication indicating the degree of coupling with other divided function elements if the function to be executed is a divided function. In addition, for example, interrupt delay time, program memory transfer time, stack memory transfer time, heap memory transfer time, and the like are one of the required real-time performances. Further, for example, the data coupling degree indicating the relationship between the division source and other division functional elements and the data is one of the required real-time performances.

これらの要求リアルタイム性能は、「機能Qの機能情報」の「要求リアルタイム性能」に記述(定義)されている。例えば、図13の例では、「要求リアルタイム性能」には、“許容スタックメモリ転送時間:50sec”が記述されている。即ち、図13の例では、要求リアルタイム性能として、許容スタックッメモリ転送時間のみが定義されている。   These required real-time performances are described (defined) in “Required real-time performance” of “Function Q function information”. For example, in the example of FIG. 13, “required real-time performance” describes “allowable stack memory transfer time: 50 sec”. That is, in the example of FIG. 13, only the allowable stack memory transfer time is defined as the required real-time performance.

従って、この場合、情報処理装置2の分散正当性判断部64−2は、ステップS9において、要求リアルタイム性能と比較するための値として「略現在のスタックメモリ転送時間」を算出することになる。「略現在のスタックメモリ転送時間」は例えば、「転送スタックメモリ量(bit)」÷「通信インフラの略現在の帯域(略現在の通信速度)(bps)」で算出可能である。「転送スタックメモリ量(bit)」は、「機能Qの機能情報」の「メモリサイズ」のスタックメモリサイズに記述されている。例えば図13の例では、「メモリサイズ」には“100Mbit”が記述されている。また、「通信インフラの略現在の帯域(略現在の通信速度)(bps)」は、上述したステップS4の処理で算出済みである、いまの場合、上述したように2048(kbps)が算出されている。従って、「略現在のスタックメモリ転送時間」として48.82sec(=100M/2048k)が算出される。   Therefore, in this case, the distribution validity judgment unit 64-2 of the information processing device 2 calculates “substantially current stack memory transfer time” as a value for comparison with the required real-time performance in step S9. The “substantially current stack memory transfer time” can be calculated, for example, by “transfer stack memory amount (bit)” ÷ “substantially current bandwidth of communication infrastructure (substantially current communication speed) (bps)”. “Transfer stack memory amount (bit)” is described in the stack memory size of “memory size” of “function Q function information”. For example, in the example of FIG. 13, “100 Mbit” is described in the “memory size”. In addition, the “substantially current bandwidth of communication infrastructure (substantially current communication speed) (bps)” has been calculated in the process of step S4 described above. In this case, 2048 (kbps) is calculated as described above. ing. Therefore, 48.82 sec (= 100M / 2048k) is calculated as the “substantially current stack memory transfer time”.

ステップS10において、情報処理装置2の分散正当性判断部64−2は、予測実行時間や要求リアルタイム性能等の観点から、自機器2と周辺機器1との機能Qの分散処理は可能であるか否かを判定する。   In step S10, the distributed validity judgment unit 64-2 of the information processing device 2 is capable of distributed processing of the function Q between the own device 2 and the peripheral device 1 from the viewpoint of the predicted execution time, the required real-time performance, and the like. Determine whether or not.

具体的には例えば、ステップS9の処理で「略現在のスタックメモリ転送時間」として48.82sec(=100M/2048k)が算出されており、かつ、図13の「機能Qの機能情報」には要求スタックメモリ転送時間が“50sec”と定義されていることから、分散正当性判断部64−2は、要求リアルタイム性能の観点からは、自機器2と周辺機器1との機能Qの分散処理は可能であると判定することができる。   Specifically, for example, 48.82 sec (= 100M / 2048k) is calculated as the “substantially current stack memory transfer time” in the process of step S9, and the “function Q function information” in FIG. Since the stack memory transfer time is defined as “50 sec”, the distributed validity judgment unit 64-2 can perform distributed processing of the function Q between the own device 2 and the peripheral device 1 from the viewpoint of the required real-time performance. It can be determined that

なお、「予測実行時間や要求リアルタイム性能等の観点から」と「等」を記述したのは、予測実行時間や要求リアルタイム性能以外の観点からも、自機器2と周辺機器1との機能Qの分散処理は可能であるか否かを判定することが当然ながら可能であるからである。具体的には例えば、図13の例では定義されていないが、「機能Qの機能情報」には「オプション」の項目が設けられている。従って、この「オプション」の記述値に基づいても、自機器2と周辺機器1との機能Qの分散処理は可能であるか否かを判定することが可能であるからである。なお、「オプション」の項目には、「内容」に示される通り、バイトアラインする等の特殊Load方法に関する情報が記述される。   Note that “from the viewpoint of predicted execution time, required real-time performance, etc.” and “etc.” are described in terms of the function Q between the own device 2 and the peripheral device 1 from the viewpoint other than the predicted execution time and required real-time performance This is because it is naturally possible to determine whether or not distributed processing is possible. Specifically, for example, although not defined in the example of FIG. 13, an item “option” is provided in “function Q function information”. Therefore, it is possible to determine whether or not the distributed processing of the function Q between the own device 2 and the peripheral device 1 is possible based on the description value of the “option”. In the “option” item, as shown in “content”, information on a special load method such as byte alignment is described.

ステップS10において、自機器2と周辺機器1との機能Qの分散処理は不可能であると判定された場合、「分散準備処理」は終了となる。この場合、ステップS7の処理で自機器2のメモリ空き容量は充分に存在しないと既に判定されていることから、機能Qは、分散処理のみならず、自機器2単体での実行も不可能であることがわかる。そこで、このような場合、図4には図示していないが、自機器2は、「機能Qの実行は不可能」といったメッセージをユーザに呈示する等、所定のエラー処理を実行した後、「分散準備処理」を終了させると好適である。   If it is determined in step S10 that the distributed processing of the function Q between the own device 2 and the peripheral device 1 is impossible, the “distributed preparation processing” ends. In this case, since it has already been determined in step S7 that there is not enough free memory in the own device 2, the function Q cannot be executed not only in the distributed processing but also in the own device 2 alone. I know that there is. Therefore, in such a case, although not shown in FIG. 4, the own device 2 executes a predetermined error process such as presenting a message such as “function Q cannot be executed” to the user, It is preferable to end the “dispersion preparation process”.

これに対して、ステップS10において、自機器2と周辺機器1との機能Qの分散処理は可能であると判定された場合、処理はステップS11に進む。   On the other hand, if it is determined in step S10 that the function Q can be distributed between the own device 2 and the peripheral device 1, the process proceeds to step S11.

ステップS11において、情報処理装置2の分散正当性判断部64−2は、周辺機器1に分散実行させるべき機能要素を決定する。   In step S <b> 11, the distributed legitimacy determination unit 64-2 of the information processing device 2 determines functional elements to be distributed and executed by the peripheral device 1.

なお、以下、周辺機器に分散実行させるべき機能要素を、周辺機器機能要素と称する。一方、自機器に分散実行させるべき機能要素を、自機器機能要素と称する。   Hereinafter, functional elements that are to be distributed and executed by peripheral devices are referred to as peripheral device functional elements. On the other hand, functional elements that should be distributed and executed by the own device are referred to as own device function elements.

具体的には例えば、上述したステップS5とS6の処理で、「周辺機器1は、実行対象の機能Qを構成する機能要素A,D,E,Fのうちの少なくとも1つを保有し、かつ、略現在それを実行可能である」ということが、分散機器検索部63−2により認識されて分散正当性判断部64−2に既に通知されている。   Specifically, for example, in the processing of steps S5 and S6 described above, “the peripheral device 1 has at least one of the functional elements A, D, E, and F that constitute the function Q to be executed, and The distributed device search unit 63-2 recognizes that it can be executed at present and has already been notified to the distributed validity judgment unit 64-2.

また、ここでは、機能Pと機能Qとの同一機能要素や異なる機能要素は、バージョンにより判定可能であるとする。即ち、バージョン“1.1b”の機能Qのうちの、機能要素A,Dが、バージョン“1.1a”の機能Pにも含まれており、機能E,Fが、機能Pには含まれていないことが、分散正当性判断部64−2にとって既知のことであるとする。   In addition, here, it is assumed that the same or different function elements of the function P and the function Q can be determined by version. That is, among the function Q of the version “1.1b”, the functional elements A and D are also included in the function P of the version “1.1a”, and the functions E and F are not included in the function P. Is known to the distribution validity judgment unit 64-2.

即ち、ステップS11の処理開始時点で、分散正当性判断部64−2は、機能Qを構成する機能要素A,D,E,Fのうちの機能要素A,Dが、周辺機器1で略現在実行可能であることがわかっているとする。   That is, at the start of the processing in step S11, the distributed validity judgment unit 64-2 determines that the functional elements A, D out of the functional elements A, D, E, and F constituting the function Q are substantially present in the peripheral device 1. Suppose you know it is feasible.

この場合、ステップS11において、分散正当性判断部64−2は、図14に示されるように、機能Qのうちの、機能要素A,Dを周辺機器1機能要素として決定し、残りの機能E,Fを自機器2機能要素として決定することが可能である。   In this case, in step S11, the distribution validity judgment unit 64-2 determines the function elements A and D of the function Q as the peripheral device 1 function elements as shown in FIG. , F can be determined as two functional elements of the own device.

なお、機能Pと機能Qとの同一機能要素や異なる機能要素が、バージョンにより判定不可能な場合、例えば、上述したように、機能要素単位で識別IDを付し、この機能要素単位の識別IDを比較することで判定可能になる。   In addition, when the same functional element of function P and function Q or different functional elements cannot be determined depending on the version, for example, as described above, an identification ID is given in units of functional elements, and the identification ID of this functional element unit It becomes possible to determine by comparing.

以上説明したように、分散正当性判断部64−2は、結局、ステップS7乃至S11の処理を実行することで、自機器2と周辺機器1とのそれぞれが略現在要求しているハードウエア条件、実行対象の機能Qが略現在要求しているソフトウエア条件、および、通信インフラの略現在の帯域(略現在の通信速度)に基づいて、自機器2と周辺機器1とによる機能Qの分散処理の正当性を判断し、正当性があると判断した場合、その機能Qを構成する各機能要素のそれぞれを、自機器1と周辺機器2とのうちのいずれか一方に割り振る。   As described above, the distributed validity judgment unit 64-2 eventually executes the processing of steps S7 to S11, so that the hardware conditions that each of the own device 2 and the peripheral device 1 are currently requesting are substantially present. The distribution of the function Q between the own device 2 and the peripheral device 1 based on the software condition that the function Q to be executed is currently requesting and the current bandwidth (substantially the current communication speed) of the communication infrastructure. The validity of the process is determined, and if it is determined that the process is valid, each functional element constituting the function Q is assigned to either the own device 1 or the peripheral device 2.

なお、ここで言う、自機器2と周辺機器1とのそれぞれが略現在要求しているハードウエア条件、および、実行対象の機能Qが略現在要求しているソフトウエア条件とは、情報述したように、「周辺機器1の機器情報(図11参照)」、「自機器2の機器情報(図12参照)」、および、「機能Qの機能情報(図13参照)」の記述値のうちの少なくとも1つを指す。   It should be noted that the hardware conditions that each of the own device 2 and the peripheral device 1 substantially request and the software conditions that the execution target function Q currently requests are described as information. As described above, among the description values of “device information of peripheral device 1 (see FIG. 11)”, “device information of own device 2 (see FIG. 12)”, and “function Q function information (see FIG. 13)”. At least one of the above.

このようにして、ステップS10の処理で、自機器2と周辺機器1との機能Qの分散処理は可能であると判定されて、ステップS11の処理で周辺機器1機能要素が決定されると、ステップS10およびS11の処理結果は、情報処理装置2の分散正当性判断部64−2から分散機能実行部65−2に通知される。   In this way, when it is determined in the process of step S10 that the function Q can be distributed between the own device 2 and the peripheral device 1, and the peripheral device 1 functional element is determined in the process of step S11, The processing results of steps S10 and S11 are notified from the distributed validity determining unit 64-2 of the information processing apparatus 2 to the distributed function executing unit 65-2.

すると、図10に示されるように、情報処理装置2は、図4の「分散準備処理」を終了させ、図6の「実行元による機能実行処理」を開始させる。   Then, as illustrated in FIG. 10, the information processing apparatus 2 ends the “distributed preparation process” in FIG. 4 and starts the “function execution process by the execution source” in FIG. 6.

即ち、情報処理装置2の分散機能実行部65−2は、ステップS41において、周辺機器1との間で分散実行すると判定して、処理を図7のステップS45に進める。   That is, the distributed function execution unit 65-2 of the information processing apparatus 2 determines that the distributed function is executed with the peripheral device 1 in step S41, and the process proceeds to step S45 in FIG.

ステップS45において、情報処理装置2の分散機能実行部65−2は、機能Qに含まれる機能要素A,D,E,Fのうちの周辺機器1機能要素A,Dについて、その実行依頼を周辺機器1に対して発行する。   In step S45, the distributed function execution unit 65-2 of the information processing device 2 peripherally requests execution of the peripheral device 1 functional elements A and D among the functional elements A, D, E, and F included in the function Q. Issued to device 1.

この間、図8の「依頼先による機能実行処理」のステップS71において、情報処理装置1の機器情報提供部65−1は、実行依頼が情報処理装置2から発行されたか否かを判定している。   During this time, in step S <b> 71 of “function execution process by request destination” in FIG. 8, the device information providing unit 65-1 of the information processing apparatus 1 determines whether an execution request has been issued from the information processing apparatus 2. .

なお、当然ながら、図8の「依頼先による機能実行処理」を実行する情報処理装置1から見た場合、情報処理装置2が周辺機器となり、情報処理装置1が自機器となる。ただし、これまで、実行元である情報処理装置2に着目して説明を行っており、ここで、図面の記載通りに説明すること、即ち、周辺機器と自機器とを逆転して説明することはいたずらに混乱を招くことになる。そこで、図8の「依頼先による機能実行処理」を説明している範囲内では、自機器や周辺機器といった名称は使用せずに説明していく。これに伴い、図8の「依頼先による機能実行処理」を説明している範囲内では、周辺機器1機能要素A,Dを、依頼機能要素A,Dと称することにする。   Naturally, when viewed from the information processing apparatus 1 that executes the “function execution process by the request destination” in FIG. 8, the information processing apparatus 2 is a peripheral device and the information processing apparatus 1 is its own device. However, the description has been given focusing on the information processing apparatus 2 that is the execution source, and here, the description will be made as described in the drawings, that is, the peripheral device and the own device will be reversed. Yes, it will be confusing. Therefore, within the scope of the description of “function execution processing by the request destination” in FIG. 8, descriptions will be made without using names such as the own device and peripheral devices. Accordingly, the peripheral device 1 functional elements A and D are referred to as requested functional elements A and D within the scope of the description of “function execution processing by the request destination” in FIG.

実行依頼が発行されない限り、ステップS71において、実行依頼が情報処理装置2から発行されていないと判定されて、処理はステップS71に戻され、実行依頼が情報処理装置2から発行されたか否かが再度判定される。即ち、情報処理装置2から実行依頼が発行されるまで、ステップS71の判定処理が繰り返される。   Unless an execution request is issued, it is determined in step S71 that the execution request has not been issued from the information processing apparatus 2, and the process returns to step S71 to determine whether or not the execution request has been issued from the information processing apparatus 2. It is determined again. That is, the determination process in step S71 is repeated until an execution request is issued from the information processing apparatus 2.

そして、依頼機能要素A,Dの実行依頼が情報処理装置2から発行されると、ステップS71においてYESであると判定されて、処理はステップS72に進む。   Then, when an execution request for the requested functional elements A and D is issued from the information processing apparatus 2, it is determined as YES in Step S71, and the process proceeds to Step S72.

ステップS72において、情報処理装置1の分散機能実行部65−1は、図14に示されるように、データx(以下、機能実行必要データxと称する)を利用して、依頼機能要素A,Dを少なくとも実行する。「少なくとも」と記述したのは、このとき、分散機能実行部65−1は、機能要素B,Cも実行する可能性があるからである。   In step S72, the distributed function execution unit 65-1 of the information processing apparatus 1 uses the data x (hereinafter referred to as function execution necessary data x) as shown in FIG. At least. The reason why “at least” is described is that the distributed function execution unit 65-1 may also execute the functional elements B and C at this time.

ステップS73において、情報処理装置1の分散機能実行部65−1は、機能実行必要データxと、依頼機能要素A,Dの実行結果とを、ネットワークインタフェース12−1とネットワーク3とを介して情報処理装置2に送信する。   In step S73, the distributed function execution unit 65-1 of the information processing apparatus 1 receives the function execution necessary data x and the execution results of the requested function elements A and D via the network interface 12-1 and the network 3. Transmit to the processing device 2.

この間、情報処理装置2の分散機能実行部65−2は、ステップS46において、図14に示されるように、機能Qに含まれる機能要素A,D,E,Fのうちの、自機器2機能要素E,Fをロードし、ステップS47において、機能Qに含まれるデータx,wのうちのデータw(以下、機能実行結果データwと称する)をロードする。   During this time, the distributed function execution unit 65-2 of the information processing apparatus 2 performs the function of its own device 2 among the functional elements A, D, E, and F included in the function Q as shown in FIG. Elements E and F are loaded, and data w (hereinafter referred to as function execution result data w) of data x and w included in function Q is loaded in step S47.

ステップS48において、情報処理装置2の分散機能実行部65−2は、機能実行必要データxと、周辺機器1機能要素A,Dの実行結果とを、周辺機器1からネットワークインタフェース12−12を介して取得する。   In step S48, the distributed function execution unit 65-2 of the information processing device 2 sends the function execution necessary data x and the execution results of the peripheral device 1 functional elements A and D from the peripheral device 1 via the network interface 12-12. Get.

図7のステップS49において、情報処理装置2の分散機能実行部65−2は、周辺機器1から取得された機能実行必要データxは、そのままの状態で使用可能であるか否かを判定する。   In step S49 of FIG. 7, the distributed function execution unit 65-2 of the information processing device 2 determines whether the function execution necessary data x acquired from the peripheral device 1 can be used as it is.

情報処理装置2の分散機能実行部65−2は、図7のステップS49において、周辺機器1から取得された機能実行必要データxは、そのままの状態で使用不可能である(使用可能ではない)と判定した場合、図7のステップS50において、周辺機器1から取得された機能実行必要データxと、自機器2で保有している機能実行必要データxとを合成する。その後、処理はステップS51に進む。   The distributed function execution unit 65-2 of the information processing device 2 cannot use the function execution necessary data x acquired from the peripheral device 1 as it is in step S49 of FIG. 7 (not usable). In step S50 of FIG. 7, the function execution necessity data x acquired from the peripheral device 1 and the function execution necessity data x held by the own device 2 are combined. Thereafter, the process proceeds to step S51.

即ち、機能実行必要データxが情報処理装置1,2の相互で変更される可能性がある場合には、情報処理装置1,2のうちの何れかがマスタとなって、各機能実行必要データxのそれぞれを管理するか、或いは、各機能実行必要データxのそれぞれに時間情報を付けるかして、各機能実行必要データxを最後にマージする処理が必要になる。この処理が、図7の例ではステップS50の処理に対応する。   That is, when there is a possibility that the function execution necessary data x may be changed between the information processing apparatuses 1 and 2, one of the information processing apparatuses 1 and 2 becomes the master, and each function execution necessary data It is necessary to perform a process of merging each function execution necessary data x at the end by managing each x or adding time information to each function execution necessary data x. This process corresponds to the process of step S50 in the example of FIG.

これに対して、図7のステップS49において、周辺機器1から取得された機能実行必要データxは、そのままの状態で使用可能であると判定された場合、図7のステップS50の処理は実行されずに、そのまま処理はステップS51に進む。   On the other hand, when it is determined in step S49 of FIG. 7 that the function execution necessary data x acquired from the peripheral device 1 can be used as it is, the process of step S50 of FIG. 7 is executed. Instead, the process proceeds directly to step S51.

ステップS51において、情報処理装置2の分散機能実行部65−2は、機能実行必要データxを利用して、図14に示されるように、自機器2機能要素E,Fを実行する。   In step S51, the distributed function execution unit 65-2 of the information processing apparatus 2 uses the function execution necessary data x to execute the own device 2 function elements E and F as shown in FIG.

なお、ここでは、説明の簡略上、ステップS51の処理は、ステップS48の処理の後とされているが、ステップS48とS51の処理の順番は、後述するステップS52の前であれば特に限定されない。即ち、ステップS51の処理がステップS48の処理の前に実行されることもあるし、ステップS48とS51の処理がほぼ同時に実行されることもある。   Here, for simplification of explanation, the processing of step S51 is performed after the processing of step S48, but the order of the processing of steps S48 and S51 is not particularly limited as long as it is before step S52 described later. . That is, the process of step S51 may be executed before the process of step S48, or the processes of steps S48 and S51 may be executed almost simultaneously.

ステップS52において、情報処理装置2の分散機能実行部65−2は、ステップS48の処理で取得された周辺機器1機能要素A,Dの実行結果と、ステップS51の処理により実行された自機器2機能要素E,Fの実行結果とを合成することで、機能Qを実行する。   In step S52, the distributed function execution unit 65-2 of the information processing device 2 executes the execution result of the peripheral device 1 functional elements A and D acquired in the process of step S48 and the own device 2 executed by the process of step S51. The function Q is executed by combining the execution results of the functional elements E and F.

ステップS53において、情報処理装置2の分散機能実行部65−2は、機能Qの実行の終了が指示されたか否かを判定する。   In step S <b> 53, the distributed function execution unit 65-2 of the information processing apparatus 2 determines whether or not the end of the execution of the function Q has been instructed.

なお、ステップS53の判定条件は特に限定されず、例えば、ユーザからの終了指示があったことを判定条件としてもよいし、或いは、所定の単位量のデータ毎に機能Qが実行される場合には、1単位量の最後のデータに対する機能Qの実行が完了したことを判定条件としてもよい。   The determination condition in step S53 is not particularly limited. For example, the determination condition may be that there is an end instruction from the user, or the function Q is executed for each predetermined unit amount of data. The determination condition may be that the execution of the function Q for the last data of one unit amount is completed.

ステップS53において、機能Qの実行の終了がまだ指示されていないと判定された場合、処理はステップS48に戻され、それ以降の処理が繰り返される。   If it is determined in step S53 that the end of execution of the function Q has not been instructed yet, the process returns to step S48, and the subsequent processes are repeated.

即ち、この間、情報処理装置1の分散機能実行部65−1は、ステップS73の処理で、機能実行必要データxと、依頼機能要素A,Dの実行結果とを情報処理装置2に送信すると、ステップS74において、機能実行停止依頼が情報処理装置2から発行されたか否かを判定する。そして、分散機能実行部65−1は、それが発行されていないと判定すると、処理をステップS72に戻し、それ以降の処理を繰り返す。即ち、機能実行停止依頼が情報処理装置2から発行されるまで、ステップS72乃至S74のループ処理が繰り返され、機能実行必要データxと、依頼機能要素A,Dの実行結果とが、情報処理装置1から情報処理装置2に対して順次(例えば、所定の1単位量のデータ毎に)転送されてくる。   That is, during this time, the distributed function execution unit 65-1 of the information processing apparatus 1 transmits the function execution necessary data x and the execution results of the requested function elements A and D to the information processing apparatus 2 in the process of step S73. In step S74, it is determined whether or not a function execution stop request has been issued from the information processing apparatus 2. If the distributed function execution unit 65-1 determines that it has not been issued, it returns the process to step S72 and repeats the subsequent processes. That is, until the function execution stop request is issued from the information processing apparatus 2, the loop processing of steps S72 to S74 is repeated, and the function execution necessary data x and the execution results of the requested function elements A and D are 1 to the information processing apparatus 2 sequentially (for example, for each predetermined unit amount of data).

そこで、情報処理装置2の分散機能実行部65−2も、ステップS48乃至S53のループ処理を繰り返すことで、周辺機器1から順次転送されてくる周辺機器1機能要素A,Dの実行結果と、自分自身で順次実行した自機器2機能要素E,Fの実行結果とを順次合成していくことで、機能Qを順次(例えば、所定の1単位量のデータ毎に)実行する。   Therefore, the distributed function execution unit 65-2 of the information processing device 2 also repeats the loop processing of steps S48 to S53, thereby executing the execution results of the peripheral device 1 functional elements A and D sequentially transferred from the peripheral device 1. The function Q is sequentially executed (for example, for each predetermined unit amount of data) by sequentially synthesizing the execution results of the own device 2 functional elements E and F sequentially executed by itself.

その後、機能Qの実行の終了が指示されると、次のステップS53の処理でYESであると判定されて、処理はステップS54に進む。   Thereafter, when an instruction to end the execution of the function Q is given, it is determined as YES in the process of the next step S53, and the process proceeds to step S54.

ステップS54において、情報処理装置2の分散機能実行部65−2は、機能実行停止依頼を、周辺機器1に対してネットワークインタフェース12−2とネットワーク3を介して発行する。これにより、図6と図7の「実行元による機能実行処理」は終了となる。   In step S54, the distributed function execution unit 65-2 of the information processing device 2 issues a function execution stop request to the peripheral device 1 via the network interface 12-2 and the network 3. As a result, the “function execution process by the execution source” in FIGS. 6 and 7 ends.

一方、情報処理装置1の分散機能実行部65−1は、その機能実行停止依頼をネットワークインタフェース12−1を介して取得すると、次のステップS74の処理でYESであると判定する。これにより、図8の「依頼先による機能実行処理」も終了となる。   On the other hand, when the distributed function execution unit 65-1 of the information processing apparatus 1 acquires the function execution stop request via the network interface 12-1, the distributed function execution unit 65-1 determines YES in the process of the next step S74. Thereby, the “function execution process by the request destination” in FIG. 8 is also ended.

以上、図3乃至図14を参照して、情報処理装置1,2とで実行される機能Qの分散処理の詳細について説明した。即ち、図3乃至図14を参照して説明した分散処理とその前処理こそが、本発明の分散処理とその前処理の一例である。   The details of the distributed processing of the function Q executed by the information processing apparatuses 1 and 2 have been described above with reference to FIGS. That is, the distributed processing and the preprocessing described with reference to FIGS. 3 to 14 are examples of the distributed processing and the preprocessing according to the present invention.

係る本発明の分散処理とその前処理が実行されることで、上述した従来の課題を解決できる効果を奏することが可能になる。即ち、上述したように、情報処理装置1または2は、自機器と周辺機器とのそれぞれが略現在要求しているハードウエア条件、実行対象の機能が略現在要求しているソフトウエア条件、および、通信インフラの略現在の帯域(略現在の通信速度)に基づいて、自機器と周辺機器とによる機能の分散処理の実行の正当性を判断し、正当性があると判断した場合、その機能を構成する各機能要素のそれぞれを、自機器と周辺機器とのうちのいずれか一方に割り振る、といった分散処理の前処理を実行することができる。これにより、分散機器の状態やネットワークの環境の変化を考慮した分散処理を行うことができる、という効果を奏することが可能になる。   By executing the distributed processing and the preprocessing thereof according to the present invention, it is possible to achieve an effect that can solve the conventional problems described above. That is, as described above, the information processing apparatus 1 or 2 has the hardware conditions that each of the own device and the peripheral device substantially request, the software conditions that the function to be executed substantially requests, and Based on the current bandwidth of the communication infrastructure (substantially the current communication speed), the validity of the distributed processing of the function between the own device and the peripheral device is judged, and if it is judged to be valid, the function It is possible to execute a preprocessing of distributed processing such as allocating each of the functional elements constituting each to one of the own device and the peripheral device. As a result, it is possible to achieve an effect that distributed processing can be performed in consideration of the state of the distributed device and the change in the network environment.

さらに、情報処理装置1または2は、上述したように、実行対象の機能を構成する機能要素のうちの少なくとも1つを保有し、かつ、略現在それを実行可能な周辺機器を検索し、機能要素の割り振りを行う際に、その周辺機器で略現在実行可能な機能要素をその周辺機器に割り振る、といった分散処理の前処理を実行することができる。これによりさらに例えば、次の第1の効果と第2の効果を奏することが可能になる。   Furthermore, as described above, the information processing apparatus 1 or 2 searches for a peripheral device that has at least one of the functional elements constituting the function to be executed and can execute it substantially at present. When allocating elements, it is possible to execute preprocessing of distributed processing, such as allocating functional elements that can be executed almost at the peripheral device to the peripheral device. As a result, for example, the following first and second effects can be achieved.

第1の効果とは、実行リソースを二重にメモリ(プログラム実行領域を有するメモリ)に展開する必要がなくなるために、例えば上述した例では機能Qのうちの機能要素A,Dを情報処理装置1,2の両方のメモリに展開する必要がなくなるために、他のプログラムを実行できる等のメモリリソースの有効活用が可能になるという効果である。   The first effect is that it is not necessary to doublely execute execution resources in a memory (a memory having a program execution area). For example, in the above-described example, the function elements A and D of the function Q are assigned to the information processing apparatus. Since there is no need to expand to both memories 1 and 2, it is possible to effectively use memory resources such as being able to execute other programs.

第2の効果とは、周辺機器機能要素の依頼先である周辺機器の状態は、例えば上述した図10の例の情報処理装置1の状態は、その周辺機器機能要素を既に実行できる状態であるため、それを改めてロードする必要がなく、その結果、ロードするための時間が削減可能になるという効果である。   The second effect is that the state of the peripheral device to which the peripheral device functional element is requested is, for example, the state of the information processing apparatus 1 in the above-described example of FIG. 10 is a state in which the peripheral device functional element can already be executed. Therefore, there is no need to load it again, and as a result, the time for loading can be reduced.

なお、本発明に係る分散処理の容易な理解を目的として、上述した例では、2台の情報処理装置1,2からなる情報処理システムが利用され、機能P,Qが利用された。ただし当然ながら、3台以上の情報処理装置からなる情報処理システムであっても、上述した一連の処理を基本的に実行することで、所定の機能の上述した分散処理の実行が容易に可能になる。また、機能P,Qのみならず、何れの機能であっても、2以上の情報処理装置からなる情報処理システムが上述した一連の処理を基本的に実行することで、その機能の上述した分散処理の実行が容易に可能になる。   For the purpose of easy understanding of distributed processing according to the present invention, in the above-described example, an information processing system including two information processing apparatuses 1 and 2 is used, and functions P and Q are used. However, as a matter of course, even in an information processing system including three or more information processing devices, the above-described distributed processing of a predetermined function can be easily performed by executing the above-described series of processing basically. Become. In addition to the functions P and Q, any of the functions can be performed by an information processing system including two or more information processing apparatuses basically executing the above-described series of processes, thereby distributing the functions described above. Execution of processing becomes easy.

また、上述した例では、機器情報は基本的に自機器に格納されており、図4の「分散準備処理」が行われた時点、より正確には、ステップS3の終了時点で、周辺機器の機器情報が自機器に取得される。即ち、自機器と周辺機器との機器情報の共有タイミングは、上述した例ではステップS3の終了時点とされている。ただし当然ながら、機器情報の共有タイミングは、上述した例に限定されず、任意のタイミングでよい。例えば、自機器がロードしたプログラムやデータのリストを分散処理可能な機器に対して、任意のタイミングでブロードキャスト(broadcast)通信することにより、情報共有しておくこともできる。   In the above-described example, the device information is basically stored in the own device. When the “distributed preparation process” in FIG. 4 is performed, more precisely, at the end of step S3, the peripheral information of the peripheral device is stored. Device information is acquired by the device itself. That is, the sharing timing of the device information between the own device and the peripheral device is the end point of step S3 in the above-described example. However, as a matter of course, the device information sharing timing is not limited to the above-described example, and may be any timing. For example, information can be shared by performing broadcast communication at an arbitrary timing to a device capable of distributed processing of a list of programs and data loaded by the device itself.

さらに、機器情報に含まれる機能の識別IDは、上述した例では、プログラム実行可能エリアへダウンロードされた機能の識別IDとされたが、共有実行可能な機能の識別IDとされてもよい。   Furthermore, in the above-described example, the function identification ID included in the device information is the function identification ID downloaded to the program executable area. However, the function identification ID may be a shared executable function identification ID.

さらにまた、上述した例では、機能がモジュール化されている場合におけるその機能の分散処理を行うための一連の処理とされたが、機能が階層化されている場合であっても、この一連の処理と基本的に同様の処理を実行することで、その機能の分散処理が可能になる。   Furthermore, in the above-described example, a series of processing for performing distributed processing of the function when the function is modularized is described. However, even if the function is hierarchized, this series of processing is performed. By executing basically the same processing as the processing, it is possible to distribute the functions.

ところで、上述した一連の処理は、上述したようにソフトウエアにより実行させることもできるが、ハードウエアにより実行させることができる。   By the way, the series of processes described above can be executed by software as described above, but can also be executed by hardware.

また、上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。   In addition, when the above-described series of processing is executed by software, a program constituting the software is installed in a dedicated hardware or a computer, or various programs are installed to install various programs. For example, a general-purpose personal computer that can execute the function is installed from a network or a recording medium.

このようなプログラムを含む記録媒体は、図1に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブル記録媒体(パッケージメディア)16−1や16−2により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているメインメモリ13−1や13−2や、記憶装置14−1や14−2に含まれるハードディスクなどで構成される。   As shown in FIG. 1, the recording medium including such a program is distributed to provide a program to the user separately from the apparatus main body, and a magnetic disk (including a floppy disk) on which the program is recorded. , Removable recording media (package media) consisting of optical disks (including compact disk-read only memory (CD-ROM), DVD (digital versatile disk)), magneto-optical disks (including MD (mini disk)), or semiconductor memory ) Main memory 13-1 or 13-2 in which a program is recorded, which is not only configured by 16-1 and 16-2 but also provided to the user in a state of being incorporated in the apparatus main body in advance, and a storage device It is composed of hard disks included in 14-1 and 14-2.

なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in time series along the order, but is not necessarily performed in time series, either in parallel or individually. The process to be executed is also included.

また、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。   Further, in the present specification, the system represents the entire apparatus including a plurality of apparatuses and processing units.

本発明が適用される情報処理システム、即ち、本発明が適用される情報処理装置からなる情報処理システムのハードウエア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the information processing system to which this invention is applied, ie, the information processing system which consists of information processing apparatuses to which this invention is applied. 図1の情報処理システムの機能的構成例を示すブロック図である。It is a block diagram which shows the functional structural example of the information processing system of FIG. 図1と図2の2台の情報処理装置に保有されている機能プログラムの例を示す図である。It is a figure which shows the example of the function program currently hold | maintained at the two information processing apparatuses of FIG. 1 and FIG. 図1と図2の情報処理装置のうちの、機能の実行元の情報処理装置が実行する「分散準備処理」の例を説明するフローチャートである。3 is a flowchart illustrating an example of “distributed preparation processing” executed by an information processing apparatus that is a function execution source of the information processing apparatuses illustrated in FIGS. 1 and 2. 図1と図2の情報処理装置のうちの、「分散準備処理」を実行する情報処理装置以外の情報処理装置が実行する「機器情報送信処理」の例を説明するフローチャートである。3 is a flowchart for explaining an example of “apparatus information transmission processing” executed by an information processing device other than the information processing device that executes “distributed preparation processing” of the information processing devices of FIG. 1 and FIG. 図1と図2の情報処理装置のうちの、機能の実行元の情報処理装置が実行する「実行元による機能実行処理」の例を説明するフローチャートである。3 is a flowchart for explaining an example of “function execution processing by an execution source” executed by an information processing device that is a function execution source of the information processing devices of FIGS. 1 and 2; 図1と図2の情報処理装置のうちの、機能の実行元の情報処理装置が実行する「実行元による機能実行処理」の例を説明するフローチャートである。3 is a flowchart for explaining an example of “function execution processing by an execution source” executed by an information processing device that is a function execution source of the information processing devices of FIGS. 1 and 2; 図1の情報処理装置のうちの、「実行元による機能実行処理」を実行する情報処理装置から依頼された情報処理装置が実行する「依頼先による機能実行処理」の例を説明するフローチャートである。2 is a flowchart for explaining an example of “function execution processing by a request destination” executed by an information processing device requested by an information processing device that executes “function execution processing by execution source” of the information processing devices of FIG. . 図1と図2の2台の情報処理装置が図3の機能の分散処理を行う場合における、その2台の処理の関係例を説明するアローチャートである。3 is an arrow chart for explaining an example of the relationship between the two information processing apparatuses in FIG. 1 and FIG. 2 when the functions of FIG. 3 are distributed. 図1と図2の2台の情報処理装置が図3の機能の分散処理を行う場合における、その2台の処理の関係例を説明するアローチャートである。3 is an arrow chart for explaining an example of the relationship between the two information processing apparatuses in FIG. 1 and FIG. 2 when the functions of FIG. 3 are distributed. 図1と図2の2台の情報処理装置のうちの一方の機器情報の例を示す図である。It is a figure which shows the example of one apparatus information of the two information processing apparatuses of FIG. 1 and FIG. 図1と図2の2台の情報処理装置のうちの他方の機器情報の例を示す図である。It is a figure which shows the example of the other apparatus information among the two information processing apparatuses of FIG. 1 and FIG. 図3の2つの機能のうちの一方の機能情報の例を示す図である。It is a figure which shows the example of the function information of one of the two functions of FIG. 図11の処理を模式的に説明する図である。It is a figure which illustrates the process of FIG. 11 typically.

符号の説明Explanation of symbols

1,2 情報処理装置 3 ネットワーク, 11−1,11−2 情報処理コントローラ, 12−1,12−2 ネットワークインタフェース, 13−1,13−2 メインメモリ, 14−1,14−2 記憶装置, 15−1,15−2 ドライブ, 16−1,16−2 リムーバブル記録媒体, 21−1,21−2 MPU, 22−1,22−2 メモリ, 31−1乃至33−1,31−2乃至33−2 SPU, 41−1乃至43−1,41−2乃至43−2 メモリ, 51−1,51−2 バス, 61−1,61−2 機能格納部, 62−1,62−2 機器情報格納部, 63−1,63−2 分散機器検索部, 64−1,64−2 分散正当性判断部, 65−1,65−2 分散機能実行部, 66−1,66−2 機器情報提供部   1, 2 Information processing device 3 Network, 11-1, 11-2 Information processing controller, 12-1, 12-2 Network interface, 13-1, 13-2 Main memory, 14-1, 14-2 Storage device, 15-1, 15-2 drive, 16-1, 16-2 removable recording medium, 21-1, 21-2 MPU, 22-1, 22-2 memory, 31-1 to 33-1, 31-2 to 33-2 SPU, 41-1 to 43-1, 41-2 to 43-2 memory, 51-1, 51-2 bus, 61-1, 61-2 function storage unit, 62-1, 62-2 equipment Information storage unit, 63-1, 63-2 Distributed device search unit, 64-1, 64-2 Distributed validity judgment unit, 65-1, 65-2 Distributed function execution unit, 66-1, 66-2 Device information Provision department

Claims (4)

所定の通信インフラを用いて周辺機器と通信を行うことで、前記周辺機器と協調動作して所定の機能の分散処理を実行する情報処理装置において、
ソフトウエアとしての複数の機能要素から構成される機能を実行対象として、前記情報処理装置自身と前記周辺機器のそれぞれが略現時点で要求しているハードウエア条件、前記実行対象が略現時点で要求しているソフトウエア条件、および、前記通信インフラの略現時点の帯域に基づいて、前記情報処理装置自身と前記周辺機器とによる前記実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、前記実行対象を構成する複数の前記機能要素のそれぞれの処理を、前記情報処理装置自身と前記周辺機器のうちのいずれかに割り振る正当性判断手段と、
前記正当性判断手段により正当性がないと判断された場合、前記実行対象を自分自身で実行し、前記正当性判断手段により正当性があると判断された場合、前記実行対象を構成する複数の前記機能要素のうちの、前記正当性判断手段により前記情報処理装置自身に割り振られた第1の機能要素を自分自身で実行し、前記正当性判断手段により前記周辺機器に割り振られた第2の機能要素を前記周辺機器に実行させる制御を行い、前記第1の機能要素と前記第2の機能要素とのそれぞれの実行結果を合成することで、前記実行対象の分散処理を実行する機能実行手段と
を備えることを特徴とする情報処理装置。
In an information processing apparatus that performs distributed processing of a predetermined function in cooperation with the peripheral device by performing communication with the peripheral device using a predetermined communication infrastructure,
A hardware condition that each of the information processing device itself and the peripheral device requests at the present time, and the execution target is requested at a substantially current time. On the basis of the current software conditions and the current bandwidth of the communication infrastructure, the validity of the execution of the distributed processing of the execution target by the information processing apparatus itself and the peripheral device is determined, and the validity is When it is determined that there is a legitimacy determining unit that allocates each of the plurality of functional elements constituting the execution target to either the information processing apparatus itself or the peripheral device;
When the validity determining unit determines that there is no validity, the execution target is executed by itself, and when the validity determining unit determines that there is validity, a plurality of items constituting the execution target Of the functional elements, the first functional element allocated to the information processing apparatus itself by the validity determining means is executed by itself, and the second functional element allocated to the peripheral device by the validity determining means. Function execution means for executing distributed processing of the execution target by performing control of causing the peripheral device to execute the function element and combining the execution results of the first function element and the second function element An information processing apparatus comprising:
前記通信インフラを用いて通信を行うことが可能な他の情報処理装置の中から、前記実行対象を構成する複数の前記機能要素のうちの少なくとも1つを保有し、かつ、略現在それを実行可能な他の情報処理装置を前記周辺機器として検索する検索手段をさらに備え、
前記正当性判断手段は、前記情報処理装置自身と前記検索手段により検索された前記周辺機器とによる前記実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、前記実行対象を構成する複数の前記機能要素のうちの、前記周辺機器が略現在実行可能な機能要素を前記第2の機能要素として前記周辺機器に割り当て、それ以外の機能要素を前記第1の機能要素として前記情報処理装置自身に割り当てる
ことを特徴とする請求項1に記載の情報処理装置。
Holds at least one of the plurality of functional elements constituting the execution target from among other information processing apparatuses capable of performing communication using the communication infrastructure, and is currently executing it. Further comprising a search means for searching other possible information processing devices as the peripheral device,
The validity determination means determines the validity of the execution of the distributed processing of the execution target by the information processing apparatus itself and the peripheral device searched by the search means, and determines that there is validity, Of the plurality of functional elements constituting the execution target, a functional element that is substantially executable by the peripheral device is assigned to the peripheral device as the second functional element, and other functional elements are assigned to the first functional element. The information processing apparatus according to claim 1, wherein the information processing apparatus is assigned as a functional element to the information processing apparatus itself.
所定の通信インフラを用いて周辺機器と通信を行うことで、前記周辺機器と協調動作して所定の機能の分散処理を実行する情報処理装置の情報処理方法において、
ソフトウエアとしての複数の機能要素から構成される機能を実行対象として、前記情報処理装置自身と前記周辺機器のそれぞれが略現時点で要求しているハードウエア条件、前記実行対象が略現時点で要求しているソフトウエア条件、および、前記通信インフラの略現時点の帯域に基づいて、前記情報処理装置自身と前記周辺機器とによる前記実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、前記実行対象を構成する複数の前記機能要素のそれぞれの処理を、前記情報処理装置自身と前記周辺機器のうちのいずれかに割り振る正当性判断ステップと、
前記正当性判断ステップの処理により正当性がないと判断された場合、前記実行対象を前記情報処理装置自身に実行させる制御を行い、前記正当性判断手段により正当性があると判断された場合、前記実行対象を構成する複数の前記機能要素のうちの、前記正当性判断ステップの処理により前記情報処理装置自身に割り振られた第1の機能要素を前記情報処理装置自身に実行させる制御を行い、前記正当性判断ステップの処理により前記周辺機器に割り振られた第2の機能要素を前記周辺機器に実行させる制御を行い、前記第1の機能要素と前記第2の機能要素とのそれぞれの実行結果を合成することで、前記実行対象の分散処理の実行を制御する機能実行制御ステップと
を含むことを特徴とする情報処理方法。
In an information processing method of an information processing apparatus that performs distributed processing of a predetermined function in cooperation with the peripheral device by communicating with the peripheral device using a predetermined communication infrastructure,
A hardware condition that each of the information processing device itself and the peripheral device requests at the present time, and the execution target is requested at a substantially current time. On the basis of the current software conditions and the current bandwidth of the communication infrastructure, the validity of the execution of the distributed processing of the execution target by the information processing apparatus itself and the peripheral device is determined, and the validity is When it is determined that there is a legitimacy determining step of allocating the processing of each of the plurality of functional elements constituting the execution target to either the information processing apparatus itself or the peripheral device;
When it is determined that there is no legitimacy by the processing of the legitimacy judgment step, the information processing apparatus itself is controlled to execute the execution target, and when the legitimacy judgment unit determines that the legitimacy is legitimate, Among the plurality of functional elements constituting the execution target, performing control to cause the information processing apparatus itself to execute the first functional element allocated to the information processing apparatus itself by the process of the validity determination step, Control is performed to cause the peripheral device to execute the second functional element allocated to the peripheral device by the process of the legitimacy determining step, and the respective execution results of the first functional element and the second functional element And a function execution control step for controlling the execution of the distributed processing to be executed by synthesizing the information.
所定の通信インフラを用いて周辺機器と通信を行うことで、前記周辺機器と協調動作して所定の機能の分散処理を実行する主装置と、前記周辺機器とを制御するコンピュータに実行させるプログラムであって、
ソフトウエアとしての複数の機能要素から構成される機能を実行対象として、前記主装置と前記周辺機器のそれぞれが略現時点で要求しているハードウエア条件、前記実行対象が略現時点で要求しているソフトウエア条件、および、前記通信インフラの略現時点の帯域に基づいて、前記主装置と前記周辺機器とによる前記実行対象の分散処理の実行についての正当性を判断し、正当性があると判断した場合、前記実行対象を構成する複数の前記機能要素のそれぞれの処理を、前記主装置と前記周辺機器のうちのいずれかに割り振る正当性判断ステップと、
前記正当性判断ステップの処理により正当性がないと判断された場合、前記実行対象を前記主装置に実行させる制御を行い、前記正当性判断手段により正当性があると判断された場合、前記実行対象を構成する複数の前記機能要素のうちの、前記正当性判断ステップの処理により前記主装置に割り振られた第1の機能要素を前記主装置に実行させる制御を行い、前記正当性判断ステップの処理により前記周辺機器に割り振られた第2の機能要素を前記周辺機器に実行させる制御を行い、前記第1の機能要素と前記第2の機能要素とのそれぞれの実行結果を合成することで、前記実行対象の分散処理の実行を制御する機能実行制御ステップと
を含むことを特徴とするプログラム。
A program executed by a computer that controls a peripheral device and a main apparatus that performs a distributed operation of a predetermined function in cooperation with the peripheral device by communicating with the peripheral device using a predetermined communication infrastructure. There,
Hardware functions requested by each of the main device and the peripheral device at substantially the current time, and the execution objects are requested at the substantially current time, with a function composed of a plurality of functional elements as software being executed. Based on the software conditions and the approximate current bandwidth of the communication infrastructure, the validity of the execution of the distributed processing of the execution target by the main device and the peripheral device is determined, and the validity is determined In this case, a legitimacy determination step of allocating the processing of each of the plurality of functional elements constituting the execution target to either the main device or the peripheral device;
When it is determined by the process of the legitimacy determination step that the legitimacy is not legitimate, the main device is controlled to execute the execution target. Of the plurality of functional elements constituting the object, control is performed to cause the main apparatus to execute the first functional element allocated to the main apparatus by the process of the validity determining step. By performing control to cause the peripheral device to execute the second functional element allocated to the peripheral device by processing, and combining the execution results of the first functional element and the second functional element, A function execution control step for controlling execution of the distributed processing to be executed.
JP2004279525A 2004-09-27 2004-09-27 Information processing device, method, and program Withdrawn JP2006092432A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004279525A JP2006092432A (en) 2004-09-27 2004-09-27 Information processing device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004279525A JP2006092432A (en) 2004-09-27 2004-09-27 Information processing device, method, and program

Publications (1)

Publication Number Publication Date
JP2006092432A true JP2006092432A (en) 2006-04-06

Family

ID=36233320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004279525A Withdrawn JP2006092432A (en) 2004-09-27 2004-09-27 Information processing device, method, and program

Country Status (1)

Country Link
JP (1) JP2006092432A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009139437A1 (en) * 2008-05-14 2009-11-19 日本電気株式会社 Client device, control method thereof, program, server device, control method thereof, communication system, and control method thereof
WO2013030908A1 (en) * 2011-08-26 2013-03-07 富士通株式会社 Scheduling system, data processing system and scheduling method
JP2013258600A (en) * 2012-06-13 2013-12-26 Mitsubishi Electric Corp Video display terminal

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009139437A1 (en) * 2008-05-14 2009-11-19 日本電気株式会社 Client device, control method thereof, program, server device, control method thereof, communication system, and control method thereof
US20110066681A1 (en) * 2008-05-14 2011-03-17 Naoki Shiota Client device, control method thereof, program, server device, control method thereof, communication system, and control method thereof
WO2013030908A1 (en) * 2011-08-26 2013-03-07 富士通株式会社 Scheduling system, data processing system and scheduling method
JP2013258600A (en) * 2012-06-13 2013-12-26 Mitsubishi Electric Corp Video display terminal

Similar Documents

Publication Publication Date Title
US11467864B2 (en) Unified resource scheduling coordinator, method for creating a virtual machine and/or container, and unified resource scheduling system
WO2018149221A1 (en) Device management method and network management system
US9185160B2 (en) Resource reservation protocol over unreliable packet transport
EP2012234A2 (en) Job management device, cluster system, and job management program
WO2019218708A1 (en) Task processing method and device, and computer system
EP1310872A2 (en) Circuit group control system
WO2021227999A1 (en) Cloud computing service system and method
CN1330782A (en) Interrupt architecture for non-uniform memory access (NUMA) data processing system
CN105339917A (en) Separate memory controllers to access data in memory
EP3114589B1 (en) System and method for massively parallel processing database
CN111625364B (en) Task allocation method, device, electronic equipment and computer readable medium
CN1159657C (en) Bus system and its data transmitting method
CN108170417B (en) Method and device for integrating high-performance job scheduling framework in MESOS cluster
JP2006092432A (en) Information processing device, method, and program
CN103827830A (en) System and method for preventing single-point bottleneck in a transactional middleware machine environment
US9317098B2 (en) Server, power management system, power management method, and program
US9690619B2 (en) Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory
CN114265713A (en) RDMA event management method, device, computer equipment and storage medium
WO2022111466A1 (en) Task scheduling method, control method, electronic device and computer-readable medium
CN112769966B (en) Address information distribution method and device and electronic equipment
CN113608861A (en) Software load computing resource virtualization distribution method and device
JP2016178536A (en) Image processing apparatus, program and control method
CN108255820B (en) Method and device for data storage in distributed system and electronic equipment
CN110069287B (en) Multi-system coexistence method and device and storage equipment
US20240160486A1 (en) Computing resource management system and method using software modularization

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071204