(57)【要約】  分散処理をおこなう複数のグループ（Ｇ１，Ｇ２）に所属している携帯端末（Ｎ４）は一方のグループ（Ｇ１）における分散処理（１ｂ）を実行している。携帯端末（Ｎ４）は、一方のグループ（Ｇ１）のマスタ端末となる携帯端末（Ｎ１）から排他制御による同期待ちを通知されると、分散処理（１ｂ）を中断してＣＰＵをアイドル状態に移行する。ここで、携帯端末（Ｎ４）は、中断した分散処理（１ｂ）の処理結果を分散共有メモリ領域（Ｍｄ）に退避させることにより、他方のグループ（Ｇ２）における分散処理（２ｂ）に使用するワークエリアを確保して、分散処理（２ｂ）を実行することができる。また、携帯端末（Ｎ４）は、分散処理（２ｂ）の終了後、分散共有メモリ領域（Ｍｄ）に退避させておいた分散処理（１ｂ）の処理結果を復帰させることにより、分散処理（１ｂ）を再開することができる。
2012131961.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置を含む第１装置グループに含まれる第１装置が第１処理の実行を中断し、
複数の装置を含む第２装置グループに含まれる第２装置からの第２処理の実行要求に基づいて、前記第１装置グループの複数の装置のそれぞれに設定され前記第１装置グループの複数の装置によって共有される共有メモリに前記第１処理の処理情報を退避し、
前記第２処理の実行終了に応答して、前記第１処理の処理情報の退避を解除すること
を特徴とするデータ処理方法。
【請求項２】
前記第１装置は前記第２装置グループにも含まれること
を特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記第１装置は、前記第１処理または前記第２処理の実行で使用される第１メモリ領域を含み、前記第２処理の実行終了に応答して前記第１処理の処理情報を前記第１メモリ領域に移すこと
を特徴とする請求項１または請求項２に記載のデータ処理方法。
【請求項４】
前記第１装置グループは第１基地局と通信可能であり、
前記第２装置グループは第２基地局と通信可能であること
を特徴とする請求項１乃至請求項３の何れか一に記載のデータ処理方法。
【請求項５】
前記第１装置グループはアドホック通信の第１ネットワークに含まれ、
前記第２装置グループはアドホック通信の第２ネットワークに含まれること
を特徴とする請求項１乃至請求項３の何れか一に記載のデータ処理方法。
【請求項６】
前記第１装置は、前記第１装置グループの第３装置からの同期要求に基づいて前記第１処理の実行を中断すること
を特徴とする請求項１乃至請求項５の何れか一に記載のデータ処理方法。
【請求項７】
前記第１装置は、前記第３装置からの解除通知に基づいて、中断した前記第１処理の実行を開始すること
を特徴とする請求項６に記載のデータ処理方法。
【請求項８】
前期第１装置グループに含まれる第１装置が第１グループに所属しているすべての装置の提供メモリサイズの和が分散処理のサイズの最小値以上である場合に、
比較処理結果に基づいて前記共有メモリを設定すること
を特徴とする請求項１乃至請求項７の何れか一に記載のデータ処理方法。
【請求項９】
複数の装置を含む第１装置グループに含まれる第１装置が第１処理の実行を中断し、
複数の装置を含む第２装置グループに含まれる第２装置からの第２処理の実行要求に基づいて、前記第１装置グループの複数の装置のそれぞれに設定され前記第１装置グループの複数の装置によって共有される共有メモリに前記第１処理の処理情報を退避し、
前記第２処理の実行終了に応答して、前記第１処理の処理情報の退避を解除すること
を特徴とする携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理をおこなうデータ処理方法、および携帯端末に関する。
【背景技術】
【０００２】
従来、マスタ端末が複数の携帯端末を制御して分散処理をおこなう場合、マスタ端末が接続した基地局に接続されている複数の携帯端末が、分散処理をおこなうグループとして設定される。そして、マスタ端末の制御により、グループ内の携帯端末間で分散処理をおこなう。ここで、携帯端末間でおこなわれる分散処理には、排他制御が必要な処理が含まれる。【０００３】
携帯端末間で排他制御をおこなう際には、分散処理の一方の処理が終了するまで、他方の処理を中断させる。そのため、処理を中断している携帯端末のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）はアイドル状態になる。【０００４】
関連する従来技術としては、ネットワークにより接続された複数のＰＯＳ（Ｐｏｉｎｔ  ｏｆ  ｓａｌｅ）装置のデータを圧縮して、バックアップ用のデータとしてそれぞれのＰＯＳ装置において保持しておく技術がある（下記、特許文献１参照）。また、グループ内の複数のＣＰＵの負荷情報に基づいて、ＣＰＵを、他のＣＰＵが発生させたプロセスの処理に貸し出す技術がある（下記、特許文献２参照）。また、中断した処理の処理情報を退避させるメモリ領域を自装置内に用意しておく技術がある（下記、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−６７２３２号公報
【特許文献２】特開平０８−７７０２６号公報
【特許文献３】特開昭６４−０７６２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＣＰＵがアイドル状態の携帯端末が、複数の基地局と接続されている携帯端末であり、複数のグループに所属している場合がある。この場合、携帯端末はＣＰＵがアイドル状態であるので、一方のグループの分散処理の中断中に、他方のグループにおける分散処理を請け負うことができる。【０００７】
しかしながら、ＣＰＵがアイドル状態の携帯端末のメモリ上には排他制御により中断している一方のグループの分散処理の途中処理結果が存在する。ここで、ＣＰＵがアイドル状態の携帯端末のメモリサイズが小さい場合に、他方のグループの分散処理を請け負うと、中断している処理の途中処理結果が、他方のグループの分散処理の処理結果で上書きされてしまうという問題があった。【０００８】
すなわち、一方のグループの分散処理の処理結果がなくなり、携帯端末は、一方のグループの分散処理を再開することができなくなるという問題があった。【０００９】
本発明は、上述した従来技術による問題点を解消するため、メモリに保持された処理結果を保護することができるデータ処理方法、および携帯端末を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数の装置を含む第１装置グループに含まれる第１装置が第１処理の実行を中断し、複数の装置を含む第２装置グループに含まれる第２装置からの第２処理の実行要求に基づいて、第１装置グループの複数の装置のそれぞれに設定され第１装置グループの複数の装置によって共有される共有メモリに第１処理の処理情報を退避し、第２処理の実行終了に応答して、第１処理の処理情報の退避を解除するデータ処理方法、および携帯端末が提案される。
【発明の効果】
【００１１】
本発明の一側面によれば、メモリに保持された処理結果を保護することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、分散共有メモリ領域への処理結果の退避の具体例を示す説明図である。
【図２】図２は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。
【図３】図３は、実施の形態にかかる携帯端末Ｎのハードウェア構成例を示すブロック図である。
【図４】図４は、携帯端末による分散処理の途中処理結果の退避の具体例を示す説明図である。
【図５】図５は、携帯端末による分散共有メモリ領域に退避させた途中処理結果の復帰の具体例を示す説明図である。
【図６】図６は、携帯端末による他方のグループの処理の実行の終了の具体例を示す説明図である。
【図７】図７は、マスタ端末による分散共有メモリ領域の作成処理の詳細を示すフローチャートである。
【図８】図８は、携帯端末による分散共有メモリ領域の作成処理の詳細を示すフローチャートである。
【図９】図９は、携帯端末による分散共有メモリ領域への処理結果の退避処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかるデータ処理方法、および携帯端末の実施の形態を詳細に説明する。
【００１４】
（分散共有メモリ領域への処理結果の退避の具体例）
まず、図１を用いて、分散共有メモリ領域Ｍｄへの処理結果の退避の具体例について説明する。
【００１５】
図１は、分散共有メモリ領域への処理結果の退避の具体例を示す説明図である。ここで、基地局Ａ１と接続されている携帯端末Ｎは、分散処理１をおこなう第１装置グループ（以下、「グループＧ１」という）に所属している。また、携帯端末Ｎ１はマスタ端末となる携帯端末Ｎであり、携帯端末Ｎ２〜Ｎ４はスレーブ端末となる携帯端末Ｎである。そして、マスタ端末となる携帯端末Ｎ１は、分散処理１の処理１ａ，１ｂの依頼を、グループＧ１内のスレーブ端末となる携帯端末Ｎ２〜Ｎ４に振り分ける。
【００１６】
ここでは、携帯端末Ｎ１が分散処理１の処理１ａを実行しているとする。また、携帯端末Ｎ１は、処理１ｂを携帯端末Ｎ４に振り分けたとする。すなわち、携帯端末Ｎ４が分散処理１の処理１ｂを実行しているとする。処理１ｂの処理結果は、携帯端末Ｎ４のメモリＭに保持されている。
【００１７】
一方、基地局Ａ２と接続されている携帯端末Ｎは、分散処理２をおこなう第２装置グループ（以下、「グループＧ２」という）に所属している。また、携帯端末Ｎ７はマスタ端末となる携帯端末Ｎであり、携帯端末Ｎ４〜Ｎ６はスレーブ端末となる携帯端末Ｎである。そして、マスタ端末となる携帯端末Ｎ７は、分散処理２の処理２ａ，２ｂの依頼を、グループＧ２内のスレーブ端末となる携帯端末Ｎ４〜Ｎ６に振り分ける。
【００１８】
ここでは、携帯端末Ｎ７が分散処理２の処理２ａを実行しているとする。また、携帯端末Ｎ７は、処理２ｂをまだ振り分けておらず、分散処理２の処理２ｂはどの携帯端末Ｎにも実行されていないとする。
【００１９】
ここで、携帯端末Ｎ４は、グループＧ１およびグループＧ２のどちらにも所属しており、分散処理１または分散処理２をおこなうことができる。しかしながら、携帯端末Ｎ４は、メモリ領域が小さいため、複数の処理の処理結果を同時に保持することはできないとする。
【００２０】
一方、携帯端末Ｎ１〜Ｎ３は、それぞれのメモリＭ内に分散共有メモリ領域Ｍｄを作成しているとする。そして、携帯端末Ｎ４は、必要に応じて、処理結果を分散共有メモリ領域Ｍｄに退避させることができるとする。
【００２１】
以下では、携帯端末Ｎ１が排他制御のために、携帯端末Ｎ４に対して分散処理１の処理１ｂを中断するように通知した場合を例に挙げて、携帯端末Ｎ４による処理１ｂの処理結果の退避について説明する。
【００２２】
（１）まず、携帯端末Ｎ４は、携帯端末Ｎ１との同期処理で同期待ちを検出すると、処理１ｂの実行を中断し、アイドル状態に移行する。そして、携帯端末Ｎ４は、グループＧ２に対して、アイドル状態に移行した旨を通知する。
【００２３】
（２）グループＧ２のマスタ端末となる携帯端末Ｎ７は、携帯端末Ｎ４がアイドル状態に移行した旨の通知を受けると、携帯端末Ｎ４に対して分散処理２の処理２ｂの依頼を送信する。
【００２４】
（３）そして、携帯端末Ｎ４は、処理２ｂの依頼を受信すると、中断中の処理１ｂの処理結果を保護し、処理２ｂのワークエリアを確保するために、携帯端末Ｎ１〜Ｎ３のそれぞれの分散共有メモリ領域Ｍｄに処理１ｂの処理結果を退避させる。
【００２５】
そして、携帯端末Ｎ４は、自端末のメモリＭを使用して処理２ｂを実行する。携帯端末Ｎ４は、処理２ｂが終了すると、処理２ｂの処理結果を携帯端末Ｎ７に送信する。その後、携帯端末Ｎ４は、携帯端末Ｎ１〜Ｎ３の分散共有メモリ領域Ｍｄに退避させた処理１ｂの処理結果を復帰させて、携帯端末Ｎ１からの処理１ｂの同期待ちの終了を待つ。
【００２６】
これにより、携帯端末Ｎ４は、一方のグループＧ１の処理１ｂを中断中に、処理１ｂの処理結果を分散共有メモリ領域Ｍｄに退避させることにより、他方のグループＧ２の処理２ｂに使用するワークエリアを確保することができる。そのため、携帯端末Ｎ４は、処理１ｂを中断中に、処理１ｂの処理結果を保護しつつ、他の処理２ｂをおこなうことができる。
【００２７】
ここでは、携帯端末Ｎ４は、他方のグループ２の処理２ｂをおこなうために、処理１ｂの処理結果を分散共有メモリ領域Ｍｄに退避させてワークエリアを確保した。しかし、携帯端末Ｎ４は、グループＧ１，Ｇ２以外に所属するグループの処理をおこなうために、処理１ｂの処理結果を分散共有メモリ領域Ｍｄに退避させてワークエリアを確保してもよい。また、携帯端末Ｎ４は、自端末内にて発生したあらたな処理をおこなうために、処理１ｂの処理結果を分散共有メモリ領域Ｍｄに退避させてワークエリアを確保してもよい。
【００２８】
（ネットワークシステムの一実施例）
図２は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。図２において、ネットワークシステム２００は、複数の携帯端末Ｎ（携帯端末Ｎ１〜Ｎ７）、基地局Ａ１，Ａ２を含む構成である。ネットワークシステム２００において、各携帯端末Ｎは、基地局Ａ１，Ａ２を介して接続されている。
【００２９】
各携帯端末Ｎは、他端末と通信をおこなう無線通信装置である。また、携帯端末Ｎの中には、分散処理をおこなうマスタ端末となる携帯端末Ｎ１，Ｎ７がある。マスタ端末となる携帯端末Ｎ１，Ｎ７は、それぞれの携帯端末Ｎ１，Ｎ７が接続されている基地局に接続されている複数の携帯端末Ｎを、分散処理をおこなうグループのスレーブ端末として設定している。
【００３０】
具体的には、マスタ端末となる携帯端末Ｎ１が接続されている基地局Ａ１に接続されている携帯端末Ｎ２〜Ｎ４は、分散処理をおこなうグループＧ１のスレーブ端末になる。また、マスタ端末となる携帯端末Ｎ７が接続されている基地局Ａ２に接続されている携帯端末Ｎ４〜Ｎ６は、分散処理２をおこなうグループＧ２のスレーブ端末になる。
【００３１】
グループＧ１内の携帯端末Ｎ１〜Ｎ４は、それぞれメモリＭを有している。そして、グループＧ１内の携帯端末Ｎ１〜Ｎ３は、それぞれメモリＭ内に分散共有メモリ領域Ｍｄを有する。分散共有メモリ領域Ｍｄは、グループＧ１内のどの携帯端末Ｎ１〜Ｎ４からもアクセス可能な領域である。
【００３２】
ここでは、携帯端末Ｎ４は、メモリＭ内に分散共有メモリ領域Ｍｄを有していないが、分散共有メモリ領域Ｍｄを有してもよい。また、携帯端末Ｎ１〜Ｎ３は、それぞれメモリＭ内に分散共有メモリ領域Ｍｄを有しているが、携帯端末Ｎ１〜Ｎ３が有する分散共有メモリ領域Ｍｄは、それぞれ異なるサイズであってもよい。
【００３３】
ここでは、ネットワークシステム２００は、複数の携帯端末Ｎ（携帯端末Ｎ１〜Ｎ７）と基地局Ａ１，Ａ２を含む構成であるとした。しかし、ネットワークシステム２００は、複数の携帯端末Ｎ（携帯端末Ｎ１〜Ｎ７）を含むアドホックネットワークでもよく、マスタ端末となる携帯端末Ｎからアドホック通信可能な複数の携帯端末Ｎを、分散処理をおこなう１グループとしてもよい。
【００３４】
アドホック通信可能な携帯端末Ｎとは、携帯端末Ｎ１の通信圏内にある携帯端末Ｎである。また、アドホック通信においては、アドホック通信のためのモジュールを通信先の携帯端末Ｎごとに用意して、通信をおこなう。
【００３５】
また、ネットワークシステム２００は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、携帯電話、またはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）を含む構成のネットワークであってもよい。また、ネットワークシステム２００は、基地局やゲートウェイを含む構成のネットワークであってもよい。
【００３６】
（携帯端末Ｎのハードウェア構成例）
図３は、実施の形態にかかる携帯端末Ｎのハードウェア構成例を示すブロック図である。図３において、携帯端末Ｎは、ＣＰＵ３０１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０２と、フラッシュメモリ３０３と、Ｉ／Ｆ（ＩｎｔｅｒＦａｃｅ）３０４と、を備えている。ＣＰＵ３０１〜Ｉ／Ｆ３０４は、バス３００によってそれぞれ接続されている。
【００３７】
ここで、ＣＰＵ３０１は、携帯端末Ｎの全体の制御を司る。ＲＡＭ３０２は、ＣＰＵ３０１のワークエリアとして使用される。また、ＲＡＭ３０２には、分散共有メモリ領域Ｍｄが作成される。すなわち、ＲＡＭ３０２は、上述したメモリＭである。フラッシュメモリ３０３は、プログラムを記憶している。Ｉ／Ｆ３０４は、基地局Ａ１，Ａ２を介して、他端末との情報の送受信をおこなう。
【００３８】
（携帯端末Ｎによる分散共有メモリ領域の使用例）
次に、図４〜図６を用いて、携帯端末Ｎによる分散共有メモリ領域Ｍｄの使用例について説明する。以下では、図２における携帯端末Ｎ１，Ｎ４，Ｎ７を用いて説明する。すなわち、携帯端末Ｎ１は分散処理１をおこなうグループＧ１のマスタ端末である。携帯端末Ｎ７は分散処理２をおこなうグループＧ２のマスタ端末である。なお、以下では、簡単のため、各携帯端末Ｎ間の通信を介する基地局Ａ１，Ａ２の図示を省略する。
【００３９】
携帯端末Ｎ４は、グループＧ１，Ｇ２に所属するスレーブ端末であり、マスタ端末となる携帯端末Ｎ１，Ｎ７からの処理依頼に基づいて、分散処理１，２を実行する。また、以下では、携帯端末Ｎ１〜Ｎ３による分散共有メモリ領域Ｍｄを、仮想的に１つの分散共有メモリ領域Ｍｄとして示している。ただし、実際には携帯端末Ｎ１〜Ｎ３の分散共有メモリ領域Ｍｄに、処理結果を分割して退避することになる。まず、図４を用いて、携帯端末Ｎ４が途中処理結果を分散共有メモリ領域Ｍｄに退避させる場合の具体例について説明する。
【００４０】
図４は、携帯端末による分散処理の途中処理結果の退避の具体例を示す説明図である。ここで、マスタ端末となる携帯端末Ｎ１は、分散処理１の処理１ａ，１ｂの排他制御・同期処理をおこなう。すなわち、携帯端末Ｎ４は、処理１ａの実行中は、処理１ｂを実行しない。
【００４１】
（１）まず、携帯端末Ｎ４は、一方のグループＧ１のマスタ端末となる携帯端末Ｎ１の処理１ａの処理状況から処理１ｂの実行待ちを検出し、実行中の処理１ｂを中断する。そして、携帯端末Ｎ４は、処理１ｂを中断すると、アイドル状態に移行する。
【００４２】
（２）次に、携帯端末Ｎ４は、ＣＰＵ３０１がアイドル状態に移行し、他の処理の受付が可能である旨の通知（以下、「処理受付可能通知」という）を、他方のグループＧ２のマスタ端末となる携帯端末Ｎ７に送信する。
【００４３】
（３）携帯端末Ｎ４から処理受付可能通知を受信した携帯端末Ｎ７は、携帯端末Ｎ４に対して、分散処理２の処理２ｂの依頼を送信する。
【００４４】
（４）処理２ｂの依頼を受信した携帯端末Ｎ４は、処理１ｂの途中処理結果を分散共有メモリ領域Ｍｄに退避させ、依頼された処理２ｂに使用するワークエリアを確保する。（５）そして、携帯端末Ｎ４は、依頼された処理２ｂの実行を開始する。
【００４５】
ここで、実際には、携帯端末Ｎ４は、処理１ｂの途中処理結果を、携帯端末Ｎ１〜Ｎ３のそれぞれの分散共有メモリ領域Ｍｄに、分割して退避する。具体的には、まず、携帯端末Ｎ４は、マスタ端末となる携帯端末Ｎ１に、退避に必要なメモリサイズ（すなわち、処理１ｂの途中処理結果のメモリサイズ）を通知する。マスタ端末となる携帯端末Ｎ１は、退避に必要なメモリサイズを通知されると、退避先となる携帯端末Ｎを、携帯端末Ｎ４に通知する。
【００４６】
ただし、携帯端末Ｎ４と携帯端末Ｎ１〜Ｎ３との間では、それぞれ通信速度が異なるため、退避先となる携帯端末Ｎの選択によって、処理１ｂの途中処理結果の退避・復帰に要する時間が異なることになる。そのため、携帯端末Ｎ１は、退避させる途中処理結果を有する携帯端末Ｎ４の位置情報とグループＧ１内の携帯端末Ｎ１〜Ｎ３の位置情報とに基づいて、退避先に最適な携帯端末Ｎを選択して、通知するようにする。
【００４７】
ここで、携帯端末Ｎ１は、例えば、携帯端末Ｎ４に近い位置にある携帯端末Ｎは携帯端末Ｎ４との通信速度が速いと判断して、退避先に最適な携帯端末Ｎとして採用することができる。また、携帯端末Ｎ１は、例えば、提供する分散共有メモリ領域Ｍｄが大きい携帯端末Ｎを、退避先に最適な携帯端末Ｎとして採用してもよい。
【００４８】
なお、携帯端末Ｎ４は、退避先となる携帯端末Ｎに退避させる途中処理結果を送信して、退避先となる携帯端末ＮのＣＰＵ３０１に途中処理結果の保持を依頼してもよい。また、各携帯端末Ｎが、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）が可能な構成であれば、携帯端末Ｎ４は、退避先となる携帯端末ＮのＣＰＵ３０１を介さずに、直接、途中処理結果をＲＡＭ３０２に書き込んでもよい。
【００４９】
また、携帯端末Ｎ４は、自端末内にも分散共有メモリ領域Ｍｄを有してもよい。そして、携帯端末Ｎ４は、携帯端末Ｎ１〜Ｎ３の分散共有メモリ領域Ｍｄの他に、自端末内の分散共有メモリ領域Ｍｄにも途中処理結果を分割して退避させてもよい。
【００５０】
これにより、携帯端末Ｎ４は、処理１ｂの途中処理結果を分散共有メモリ領域Ｍｄに退避させて保護することができる。また、アイドル状態のＣＰＵ３０１を他の処理２ｂに使用し、携帯端末Ｎ４のＣＰＵ３０１の使用率を向上させることができる。次に、図５を用いて、携帯端末Ｎ４が、分散共有メモリ領域Ｍｄに退避させた途中処理結果を復帰させる場合の具体例について説明する。
【００５１】
図５は、携帯端末による分散共有メモリ領域に退避させた途中処理結果の復帰の具体例を示す説明図である。（１）グループＧ１のマスタ端末となる携帯端末Ｎ１が、処理１ａの実行を終了すると、携帯端末Ｎ４はこれを検出する。（２）処理１ｂの排他・同期待ちの終了を検出した携帯端末Ｎ４は、実行中の処理２ｂの途中処理結果をグループＧ２のマスタ端末となる携帯端末Ｎ７に送信する。
【００５２】
（３）そして、携帯端末Ｎ４は、処理２ｂの途中処理結果を携帯端末Ｎ７に送信することにより確保されたワークエリアに、処理１ｂの途中処理結果を復帰させる。（４）携帯端末Ｎ４は、復帰させた処理１ｂの途中処理結果に基づいて、処理１ｂを再開する。処理１ｂの途中処理結果の復帰は、図４において携帯端末Ｎ１から通知された退避先となる携帯端末Ｎに、携帯端末Ｎ４が処理１ｂの途中処理結果の送信を依頼することによりおこなわれる。また、直接、退避先となる携帯端末ＮのＲＡＭ３０２から読出してもよい。
【００５３】
これにより、携帯端末Ｎ４は、携帯端末Ｎ１からの処理１ｂの再開の要求があった場合に、処理１ｂをすぐに再開することができる。次に、図６を用いて、他方のグループＧ２の処理２ｂが終了した場合の具体例について説明する。
【００５４】
図６は、携帯端末による他方のグループの処理の実行の終了の具体例を示す説明図である。（１）携帯端末Ｎ４は、グループＧ２のマスタ端末となる携帯端末Ｎ７から依頼された処理２ｂの実行を終了すると、処理２ｂの処理結果を携帯端末Ｎ７に送信する。
【００５５】
（２）そして、携帯端末Ｎ４は、ＣＰＵ３０１がアイドル状態に戻ったため、再度、処理受付可能通知をグループＧ２のマスタ端末となる携帯端末Ｎ７に送信し、処理の依頼を待つ。また、処理の依頼を待つ間に、グループＧ１のマスタ端末となる携帯端末Ｎ１から、処理１ｂの再開の要求を受信した場合、処理１ｂを再開し、グループＧ２のマスタ端末となる携帯端末Ｎ７に処理受付可能通知の取消通知を送信する。
【００５６】
ただし、携帯端末Ｎ４は、ＣＰＵ３０１がアイドル状態に戻った際、処理の依頼を待たずに、処理１ｂの途中処理結果を復帰させてもよい。そして、ＣＰＵ３０１は、処理１ｂの再開の要求を待って、処理１ｂを再開してもよい。
【００５７】
これにより、携帯端末Ｎ４は、処理２ｂの実行を終了した場合に、処理２ｂの処理結果を携帯端末Ｎ７に送信することにより確保されたワークエリアを用いて、さらに他の処理をおこなうことができる。
【００５８】
（マスタ端末による分散共有メモリ領域の作成処理の詳細）
図７は、マスタ端末による分散共有メモリ領域の作成処理の詳細を示すフローチャートである。まず、ＣＰＵ３０１は、グループに所属しているすべての携帯端末Ｎの機器情報を取得する（ステップＳ７０１）。
【００５９】
次に、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄが作成可能であるか否か判定する（ステップＳ７０２）。具体的には、ＣＰＵ３０１は、グループに所属しているすべての携帯端末Ｎの提供できるＲＡＭ３０２内のメモリサイズ（以下「提供メモリサイズ」という）の和が分散処理のいずれかの処理の処理結果のサイズの最小値以上である場合に、分散共有メモリ領域Ｍｄが作成可能であると判定する。
【００６０】
すなわち、ＣＰＵ３０１は、分散処理のいずれかの処理の途中処理結果を退避可能なサイズでない場合、分散共有メモリ領域Ｍｄを作成する必要がないとして、分散共有メモリ領域Ｍｄが作成不可能であると判断する。
【００６１】
ここで、分散共有メモリ領域Ｍｄが作成可能でない場合（ステップＳ７０２：Ｎｏ）、ＣＰＵ３０１は、グループに所属しているすべての携帯端末Ｎに、分散共有メモリ領域Ｍｄの作成が不要である旨の通知（以下、「不作成の通知」という）を送信する（ステップＳ７０６）。そして、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄの作成処理を終了する。
【００６２】
一方、分散共有メモリ領域Ｍｄが作成可能である場合（ステップＳ７０２：Ｙｅｓ）、ＣＰＵ３０１は、グループに所属しているすべての携帯端末Ｎに、分散共有メモリ領域Ｍｄの作成の通知を送信する（ステップＳ７０３）。
【００６３】
そして、ＣＰＵ３０１は、グループに所属しているすべての携帯端末Ｎから、分散共有メモリ領域Ｍｄの作成完了の通知を受信したか否か判定する（ステップＳ７０４）。ここで、グループに所属しているすべての携帯端末Ｎから、分散共有メモリ領域Ｍｄの作成完了の通知を受信していない場合（ステップＳ７０４：Ｎｏ）、ＣＰＵ３０１は、ステップＳ７０４に戻り、完了通知の受信を待つ。
【００６４】
一方、グループに所属しているすべての携帯端末Ｎから、分散共有メモリ領域Ｍｄの作成完了の通知を取得した場合（ステップＳ７０４：Ｙｅｓ）、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄのアドレッシングをおこなう（ステップＳ７０５）。そして、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄの作成処理を終了する。
【００６５】
アドレッシングとは、メモリの管理のためにメモリにアドレス(番地)を割り振ることであり、例えば、３２ビットの値や６４ビットの値がアドレスとして採用される。
【００６６】
これにより、マスタ端末となる携帯端末Ｎは、スレーブ端末となる携帯端末Ｎに、分散共有メモリ領域Ｍｄを作成させることができる。そして、マスタ端末となる携帯端末Ｎは、グループに所属している携帯端末Ｎから提供されたメモリ領域のアドレッシングをおこない、分散共有メモリ領域Ｍｄを管理することができる。
【００６７】
また、マスタ端末となる携帯端末Ｎは、グループに所属しているすべての携帯端末Ｎの提供メモリサイズの和が分散処理の処理結果のサイズの最小値以上である場合に、スレーブ端末となる携帯端末Ｎに、分散共有メモリ領域Ｍｄを作成させることができる。すなわち、マスタ端末となる携帯端末Ｎは、分散処理の処理結果が退避可能なサイズの分散共有メモリ領域Ｍｄが作成可能な場合のみ、スレーブ端末となる携帯端末Ｎに、分散共有メモリ領域Ｍｄを作成させる。そのため、スレーブ端末は、不要な分散共有メモリ領域Ｍｄに、ＲＡＭ３０２を使用しなくてすむ。
【００６８】
（携帯端末による分散共有メモリ領域の作成処理の詳細）
図８は、携帯端末による分散共有メモリ領域の作成処理の詳細を示すフローチャートである。
【００６９】
まず、ＣＰＵ３０１は、マスタ端末となる携帯端末Ｎから通知を受信したか否か判定する（ステップＳ８０１）。ここで、通知を受信していない場合（ステップＳ８０１：Ｎｏ）、ＣＰＵ３０１は、ステップＳ８０１に戻り、通知を待つ。
【００７０】
一方、通知を受信した場合（ステップＳ８０１：Ｙｅｓ）、ＣＰＵ３０１は、受信した通知が、分散共有メモリ領域Ｍｄの作成の通知であるか、分散共有メモリ領域Ｍｄの不作成の通知であるかを判定する（ステップＳ８０２）。
【００７１】
ここで、受信した通知が、分散共有メモリ領域Ｍｄの不作成の通知である場合（ステップＳ８０２：不作成通知）、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄを作成せずに、分散共有メモリ領域Ｍｄの作成処理を終了する。なお、マスタ端末となる携帯端末Ｎは、不作成の通知を送信しなくてもよい。この場合、携帯端末Ｎは、作成の通知の有無に基づいて、分散共有メモリ領域Ｍｄの作成の要不要を判定する。
【００７２】
一方、受信した通知が、分散共有メモリ領域Ｍｄの作成の通知である場合、（ステップＳ８０２：作成通知）、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄとして、提供メモリサイズを保護する（ステップＳ８０３）。
【００７３】
そして、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄの作成完了の通知をマスタ端末となる携帯端末Ｎに送信し（ステップＳ８０４）、分散共有メモリ領域Ｍｄの作成処理を終了する。これにより、携帯端末Ｎは、分散共有メモリ領域Ｍｄを作成することができる。
【００７４】
（携帯端末による分散共有メモリ領域への処理結果の退避処理の詳細）
図９は、携帯端末による分散共有メモリ領域への処理結果の退避処理の詳細を示すフローチャートである。
【００７５】
まず、ＣＰＵ３０１は、実行中の処理に関するグループのマスタ端末となる携帯端末Ｎから、排他制御にかかる同期待ちを検出したか否かを判定する（ステップＳ９０１）。同期待ちを検出していない場合（ステップＳ９０１：Ｎｏ）、ＣＰＵ３０１は、ステップＳ９０１に戻り、同期待ちの検出を待つ。
【００７６】
一方、同期待ちを検出した場合（ステップＳ９０１：Ｙｅｓ）、ＣＰＵ３０１は、実行中の処理を同期待ちにして中断する。そして、ＣＰＵ３０１は、実行中の処理に関するグループの他に所属しているグループがあるか否か判定する（ステップＳ９０２）。
【００７７】
ここで、他に所属しているグループがない場合（ステップＳ９０２：Ｎｏ）、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄへの処理結果の退避処理を終了する。すなわち、他に所属しているグループがなければ、中断中の処理以外の他の処理の依頼を受信することはないため、他の処理のためにワークエリアを確保する必要がない。そのため、ＣＰＵ３０１は、ＲＡＭ３０２内の処理結果を分散共有メモリ領域Ｍｄへ退避させる必要はないとして、退避処理を終了する。
【００７８】
一方、他に所属しているグループがある場合（ステップＳ９０２：Ｙｅｓ）、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄが利用可能であるか判定する（ステップＳ９０３）。ここで、分散共有メモリ領域Ｍｄが利用不可能である場合（ステップＳ９０３：Ｎｏ）、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄへの処理結果の退避処理を終了する。
【００７９】
一方、分散共有メモリ領域Ｍｄが利用可能である場合（ステップＳ９０３：Ｙｅｓ）、ＣＰＵ３０１は、退避用の分散共有メモリ領域Ｍｄを確保し、他に所属しているグループのマスタ端末となる携帯端末Ｎに、処理受付可能通知を送信する（ステップＳ９０４）。
【００８０】
すなわち、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄが利用可能であるため、他に所属しているグループの分散処理をおこなうためのワークエリアを確保可能であると判定して、処理受付可能通知を送信する。
【００８１】
次に、ＣＰＵ３０１は、同期待ちが終了したか否かを判定する（ステップＳ９０５）。同期待ちの終了は、例えば、マスタ端末となる携帯端末Ｎからの同期待ちの解除通知を受信することによりおこなわれる。ここで、同期待ちが終了した場合（ステップＳ９０５：Ｙｅｓ）、他に所属しているグループのマスタ端末となる携帯端末Ｎに、処理受付可能通知の取消通知を送信し（ステップＳ９０６）、分散共有メモリ領域Ｍｄへの処理結果の退避処理を終了する。
【００８２】
すなわち、同期待ちの終了により、ＣＰＵ３０１は、中断中の処理を再開するため、他に所属しているグループの分散処理をおこなうためのワークエリアを確保できなくなる。そのため、ＣＰＵ３０１は、処理受付可能通知の取消通知を、他に所属しているグループのマスタ端末となる携帯端末Ｎに送信する。
【００８３】
一方、同期待ちが終了していない場合（ステップＳ９０５：Ｎｏ）、ＣＰＵ３０１は、他に所属しているグループのマスタ端末となる携帯端末Ｎからの処理依頼を受信したか否かを判定する（ステップＳ９０７）。ここで、処理依頼を受信していない場合（ステップＳ９０７：Ｎｏ）、ステップＳ９０５に戻る。
【００８４】
一方、処理依頼を受信した場合（ステップＳ９０７：Ｙｅｓ）、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄに途中処理結果を退避させる（ステップＳ９０８）。これにより、ＣＰＵ３０１は、処理依頼にかかる処理のためのワークエリアを確保する。そして、ＣＰＵ３０１は、処理依頼に基づいて、処理を開始する（ステップＳ９０９）。
【００８５】
次に、ＣＰＵ３０１は、同期待ちが終了したか否かを判定する（ステップＳ９１０）。同期待ちの終了は、例えば、マスタ端末となる携帯端末Ｎからの同期待ちの解除通知を受信することによりおこなわれる。
【００８６】
ここで、同期待ちが終了した場合（ステップＳ９１０：Ｙｅｓ）、ＣＰＵ３０１は、他に所属しているグループのマスタ端末となる携帯端末Ｎに、ステップＳ９０９にて開始した処理の処理結果を送信する（ステップＳ９１１）。
【００８７】
そして、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄに退避させた処理結果を復帰させ（ステップＳ９１２）、分散共有メモリ領域Ｍｄへの処理結果の退避処理を終了する。すなわち、ＣＰＵ３０１は、ステップＳ９０９にて開始した処理の処理結果を送信して、同期待ちにより中断していた処理のためのワークエリアを確保する。そして、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄに退避させた処理結果を復帰させて、中断していた処理を再開する。
【００８８】
一方、同期待ちが終了していない場合（ステップＳ９１０：Ｎｏ）、ＣＰＵ３０１は、ステップＳ９０９にて開始した処理が終了したか否かを判定する（ステップＳ９１３）。ここで、処理が終了していない場合（ステップＳ９１３：Ｎｏ）、ステップＳ９１０に戻る。
【００８９】
一方、処理が終了した場合（ステップＳ９１３：Ｙｅｓ）、ＣＰＵ３０１は、他に所属しているグループのマスタ端末となる携帯端末Ｎに、ステップＳ９０９にて開始した処理の処理結果を送信し（ステップＳ９１４）、ステップＳ９０３に戻る。すなわち、ＣＰＵ３０１は、処理結果の送信によりワークエリアが使用可能になったため、ステップＳ９０３に戻り、別の処理依頼を待つ。
【００９０】
ただし、ステップＳ９０９にて開始した処理の終了に伴って、ＣＰＵ３０１は、分散共有メモリ領域Ｍｄに退避させた処理結果を復帰させてもよい。そして、ＣＰＵ３０１は、同期待ちの終了を待って、中断していた処理を再開してもよい。
【００９１】
これにより、携帯端末Ｎは、処理結果を分散共有メモリ領域Ｍｄに退避させて、他の処理に使用するＲＡＭ３０２のワークエリアを確保することができる。また、携帯端末Ｎは、分散共有メモリ領域Ｍｄに退避させた処理結果をＲＡＭ３０２のワークエリアに復帰させて、処理を再開することができる。
【００９２】
以上説明したように、データ処理方法、および携帯端末Ｎによれば、一方のグループＧ１の処理１ｂが中断されＣＰＵ３０１がアイドル状態になると、ＲＡＭ３０２内の処理１ｂの処理結果を分散共有メモリ領域Ｍｄに退避させる。これにより、他方のグループＧ２における処理２ｂの依頼を受け付けることができる。
【００９３】
すなわち、アイドル状態のＣＰＵ３０１を他の処理に使用することで、携帯端末ＮのＣＰＵ利用率を上昇させることができ、グループＧ１，Ｇ２全体での処理速度を向上させることができる。また、分散共有メモリ領域Ｍｄに退避させた処理１ｂの処理結果を復帰させることにより、中断した処理１ｂを再開することができる。
【００９４】
なお、本実施の形態で説明したデータ処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本データ処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【００９５】
Ｇ１，Ｇ２  グループ
Ｎ，Ｎ１〜Ｎ７  携帯端末
Ｎ１，Ｎ７  マスタ端末となる携帯端末
１，２  分散処理
３０１  ＣＰＵ
３０２  ＲＡＭ
Ｍｄ  分散共有メモリ領域
【図１】
2012131961.tif 000003
【図２】
2012131961.tif 000004
【図３】
2012131961.tif 000005
【図４】
2012131961.tif 000006
【図５】
2012131961.tif 000007
【図６】
2012131961.tif 000008
【図７】
2012131961.tif 000009
【図８】
2012131961.tif 000010
【図９】
2012131961.tif 000011
【国際調査報告】
2012131961.tif 000012
2012131961.tif 000013
2012131961.tif 000014
2012131961.tif 000015