(57)【要約】【課題】ロックオブジェクトの取得に失敗した場合にビジーウェイトによってロックオブジェクトの解放を待つ排他制御システムにおいて、スループット向上が可能となる排他制御システムを提供する。【解決手段】排他制御にかかわるシステム中の資源と同数のロックオブジェクトと、プロセスがロックオブジェクトに成功した場合に、ロック成功プロセスに排他制御区間を相対的な高速動作で実行させる工程を具備する。【選択図】図２
2010113574.tif 000002
【特許請求の範囲】
【請求項１】
排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御方法であって、プロセスが前記ロックオブジェクトのロックに成功した場合に、そのロック成功プロセスにロック区間を相対的な高速動作で実行させる工程を具備するマルチプロセッサの排他制御方法。
【請求項２】
排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御方法であって、プロセスが前記ロックオブジェクトのロックに失敗した場合に、前記ロックオブジェクトのロックに成功しているロック成功プロセスを特定する工程と、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程とを具備するマルチプロセッサの排他制御方法。
【請求項３】
排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御方法であって、プロセスが前記ロックオブジェクトのロックに失敗した場合に、次に前記プロセスが前記ロックオブジェクトのロックに成功したときに前記プロセスにロック区間を相対的な高速動作で実行させる工程を具備するマルチプロセッサの排他制御方法。
【請求項４】
さらに、前記ロックオブジェクトをアンロックした後、通常動作に復帰させる工程を具備する請求項１または請求項２に記載のマルチプロセッサの排他制御方法。
【請求項５】
さらに、プロセスが前記ロックオブジェクトのロックに成功した場合にロック区間の情報の収集を開始するロック区間情報収集開始工程と、前記ロックオブジェクトをアンロックした後にロック区間の情報の収集を終了するロック区間情報収集終了工程とを具備する請求項４に記載のマルチプロセッサの排他制御方法。
【請求項６】
前記ロック区間情報収集開始工程は、ロック区間の実行時間の計測を開始する工程であり、前記ロック区間情報収集終了工程は、前記ロック区間の実行時間の計測を終了し、前記実行時間を記録する工程である請求項５に記載のマルチプロセッサの排他制御方法。
【請求項７】
前記ロック区間情報収集開始工程は、ロック区間に実行する命令の履歴の収集を開始する工程であり、前記ロック区間情報収集終了工程は、前記ロック区間に実行する命令の履歴の収集を終了する工程である請求項５に記載のマルチプロセッサの排他制御方法。
【請求項８】
前記ロック区間情報収集開始工程は、ロック区間にアクセスするデータのアドレスの履歴の収集を開始する工程であり、前記ロック区間情報収集終了工程は、前記ロック区間にアクセスするデータのアドレスの履歴の収集を終了する工程である請求項５に記載のマルチプロセッサの排他制御方法。
【請求項９】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間実行中のデバイスの動作周波数を上昇させる工程である請求項１または請求項２に記載のマルチプロセッサの排他制御方法。
【請求項１０】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間に実行する命令をキャッシュメモリに載せる工程である請求項１または請求項２に記載のマルチプロセッサの排他制御方法。
【請求項１１】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間にアクセスするデータをキャッシュメモリに載せる工程である請求項１または請求項２に記載のマルチプロセッサの排他制御方法。
【請求項１２】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、高速動作可能なデバイスでロック区間に実行する命令を動作させる工程である請求項１に記載のマルチプロセッサの排他制御方法。
【請求項１３】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、高速アクセス可能なデバイスに配置されたロック区間にアクセスするデータをアクセスさせる工程である請求項１に記載のマルチプロセッサの排他制御方法。
【請求項１４】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間に実行する命令を複数のプロセッサで並列に実行させる工程である請求項１に記載のマルチプロセッサの排他制御方法。
【請求項１５】
前記ロックに失敗したロック失敗プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間に実行する命令をキャッシュメモリに載せる工程である請求項３に記載のマルチプロセッサの排他制御方法。
【請求項１６】
前記ロックに失敗したロック失敗プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間にアクセスするデータをキャッシュメモリに載せる工程である請求項３に記載のマルチプロセッサの排他制御方法。
【請求項１７】
排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御システムにおいて、プロセスが前記ロックオブジェクトのロックに成功した場合に、そのロック成功プロセスにロック区間を相対的な高速動作で実行させる手段を具備するマルチプロセッサの排他制御システム。
【請求項１８】
排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御システムにおいて、プロセスが前記ロックオブジェクトのロックに失敗した場合に、前記ロックオブジェクトのロックに成功しているロック成功プロセスを特定する手段と、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段とを具備するマルチプロセッサの排他制御システム。
【請求項１９】
排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御システムにおいて、プロセスが前記ロックオブジェクトのロックに失敗した場合に、次に前記プロセスが前記ロックオブジェクトのロックに成功したときに前記プロセスにロック区間を相対的な高速動作で実行させる手段を具備するマルチプロセッサの排他制御システム。
【請求項２０】
さらに、前記ロックオブジェクトをアンロックした後、通常動作に復帰する手段を具備する請求項１７または請求項１８に記載のマルチプロセッサの排他制御システム。
【請求項２１】
さらに、プロセスが前記ロックオブジェクトのロックに成功した場合にロック区間の情報の収集を開始するロック区間情報収集開始手段と、前記ロックオブジェクトをアンロックした後にロック区間の情報の収集を終了するロック区間情報収集終了手段とを具備する請求項２０に記載のマルチプロセッサの排他制御システム。
【請求項２２】
前記ロック区間情報収集開始手段は、ロック区間の実行時間の計測を開始する手段であり、前記ロック区間情報収集終了手段は、前記ロック区間の実行時間の計測を終了し、前記実行時間を記録する手段である請求項２１に記載のマルチプロセッサの排他制御システム。
【請求項２３】
前記ロック区間情報収集開始手段は、ロック区間に実行する命令の履歴の収集を開始する手段であり、前記ロック区間情報収集終了手段は、前記ロック区間に実行する命令の履歴の収集を終了する手段である請求項２１に記載のマルチプロセッサの排他制御システム。
【請求項２４】
前記ロック区間情報収集開始手段は、ロック区間にアクセスするデータのアドレスの履歴の収集を開始する手段であり、前記ロック区間情報収集終了手段は、前記ロック区間にアクセスするデータのアドレスの履歴の収集を終了する手段である請求項２１に記載のマルチプロセッサの排他制御システム。
【請求項２５】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間実行中のデバイスの動作周波数を上昇させる手段である請求項１７または請求項１８に記載のマルチプロセッサの排他制御システム。
【請求項２６】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間に実行する命令をキャッシュメモリに載せる手段である請求項１７または請求項１８に記載のマルチプロセッサの排他制御システム。
【請求項２７】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間にアクセスするデータをキャッシュメモリに載せる手段である請求項１７または請求項１８に記載のマルチプロセッサの排他制御システム。
【請求項２８】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、高速動作可能なデバイスでロック区間に実行する命令を動作させる手段である請求項１７に記載のマルチプロセッサの排他制御システム。
【請求項２９】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、高速アクセス可能なデバイスに配置されたロック区間にアクセスするデータをアクセスさせる手段である請求項１７に記載のマルチプロセッサの排他制御システム。
【請求項３０】
前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間に実行する命令を複数のプロセッサで並列に実行させる手段である請求項１７に記載のマルチプロセッサの排他制御システム。
【請求項３１】
前記ロックに失敗したロック失敗プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間に実行する命令をキャッシュメモリに載せる手段である請求項１９に記載のマルチプロセッサの排他制御システム。
【請求項３２】
前記ロック失敗プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間にアクセスするデータをキャッシュメモリに載せる手段である請求項１９に記載のマルチプロセッサの排他制御システム。
【請求項３３】
保持するコンテンツを通信可能な機器に転送するコンテンツ転送機能と、
前記通信可能な機器が前記コンテンツ転送機能を利用中のとき、前記機器以外の機器が前記コンテンツ転送機能を利用できないように抑制する排他制御機能と、
前記コンテンツ転送機能が前記通信可能な機器に利用されている場合に、前記コンテンツ転送機能を利用されている区間に相対的な高速動作で実行させる機能とを具備するハードディスクレコーダ。
【請求項３４】
排他的に利用される機能を利用している場合に、前記排他的に利用される機能を利用している区間に相対的な高速動作で実行させる機能を具備する携帯端末。
【請求項３５】
排他的に利用される機能がすでに利用されており前記携帯端末が前記排他的に利用される機能を利用できない場合に、前記排他的に利用される機能を利用している携帯端末を特定する機能と、前記携帯端末に前記排他的に利用される機能を利用している区間に相対的な高速動作で実行させる機能とを具備する携帯端末。
【請求項３６】
排他的に利用される機能がすでに利用されており前記携帯端末が前記排他的に利用される機能を利用できない場合に、次に前記携帯端末が前記排他的に利用される機能を利用できるようになったときに、前記携帯端末に前記排他的に利用される機能を利用する区間を相対的な高速動作で実行させる機能を具備する携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサによって複数のプロセスを並列に実行する場合の共用資源の排他制御方法および排他制御システムに関する。また、それに関連するハードディスクレコーダおよび携帯端末に関する。
【背景技術】
【０００２】
複数のプロセッサによって複数のプロセスを並列に実行するマルチプロセッサシステムにおいて、システム中の資源を複数のプロセスで共有する場合、各プロセスの一貫性を保証するためにプロセス間で資源の排他制御を行う必要がある。プロセス間で資源の排他制御が必要な区間を排他制御区間と呼ぶ。
【０００３】
一般的に、同一プロセッサによるプロセス間の資源の排他制御においては、排他制御区間内でのプロセススイッチを禁止する方法や割り込みを禁止する方法等で一貫性が保証されている。
【０００４】
一方、異なるプロセッサによるプロセス間の資源の排他制御においては、各資源に対応したロックオブジェクトを取得（ロック）、解放（アンロック）することにより、同時に複数のプロセスが排他制御区間を実行しないようにする方法等で一貫性が保証されている。この場合、排他制御区間はロック区間と呼ばれることもある。
【０００５】
ここで、マルチプロセッサシステムにおいてロックオブジェクトによる資源の排他制御方法について説明する。
【０００６】
図１３はロックオブジェクトを取得（ロック）する処理の一般的なフローチャートである。排他制御が必要な区間の実行を開始する前に、ロックオブジェクトの取得（ロック）処理を呼び出す。
【０００７】
まずステップＳ１において、ロックオブジェクトの現在のロック状態を取得する。
【０００８】
次にステップＳ２において、ロックオブジェクトをロックされた状態に変更する。
【０００９】
次にステップＳ３において、ロックに成功したか否かを判断する。ロックに失敗した場合すなわちステップＳ１で得た情報で既にロックオブジェクトがロック状態（プロセスにより取得されている状態）であった場合、再度ステップＳ１に進む。一方、ロックに成功した場合すなわちまだロックオブジェクトがアンロック状態（プロセスにより取得されていない状態）であった場合、この処理を終了する。
【００１０】
上記においては、ステップＳ１とステップＳ２とが一連の処理として不可分に実行可能であること（アトミック）が前提となっている。また、ステップＳ３において、ステップＳ１で得た情報で既にロックオブジェクトがロック状態であった場合は再度ステップＳ１に進むが、このことが「ビジーウェイト」や「スピンロック」と呼ばれている。
【００１１】
図１４はロックオブジェクトを解放（アンロック）する処理の一般的なフローチャートである。排他制御が必要な区間の実行を終了する前に、ロックオブジェクトの解放（アンロック）処理を呼び出す。
【００１２】
ステップＳ３１において、ロックオブジェクトをアンロック状態に変更し、この処理を終了する。ここで、ステップＳ３１もステップＳ１，Ｓ２とともに一連の処理として不可分に実行可能であることが前提となっている。
【００１３】
ある従来技術によれば、共有資源へのアクセスが競合した場合に、ロックオブジェクトの取得に失敗したプロセスが常にビジーウェイトに陥ってスループットが低下してしまうのを避けるために、次のような技術を提案している。
【００１４】
あるプロセスが資源を操作するために、資源に対応するロックオブジェクトを取得すると、ロックオブジェクトはロック状態となり、同一のロックオブジェクトを取得しようとする他のプロセスは実行を続けることができない。このため、ロックオブジェクトの取得に失敗したプロセスは、先にロックオブジェクトを取得したプロセスがロックオブジェクトを解放するまでビジーウェイトもしくはスリープする。ビジーウェイトとは、プロセスが短いループ中を実行しながらロックオブジェクトが解放されるのを待つことをいい、スリープとは、ロックオブジェクトの取得に失敗したプロセスがプロセッサの実行権を明け渡し、他の実行可能なプロセスにスイッチすることをいう。
【００１５】
システム全体のスループットを向上させる考え方として、次の２つがある。ロックオブジェクトが解放されるまでの時間がプロセススイッチのオーバーヘッドよりも長ければ、ロックオブジェクトの取得に失敗したプロセスはスリープし、プロセッサを他のプロセスに割り当てた方が有利である。しかし逆に、ロックオブジェクトが解放されるまでの時間がプロセススイッチのオーバーヘッドよりも短ければ、ロックオブジェクトの取得に失敗したプロセスはスリープせずに、ビジーウェイトによってそのままロックオブジェクトの解放を待った方が有利である。
【００１６】
プロセスがロックオブジェクトの取得に失敗した場合に、ロックオブジェクトを既に取得しているプロセスを見つけ、そのプロセスの実行状態を調べる。実行中であれば、ビジーウェイトによってロックオブジェクトが解放されるのを待つ。逆に、実行状態でなければ、ロックオブジェクトが解放されるまでの時間がプロセススイッチの時間よりも長いとみなし、ロックオブジェクトの取得に失敗したプロセスはスリープし、プロセッサを他のプロセスに譲り渡す。このような技術によって、システム全体のスループット向上を図ることができる（特許文献１参照）。
【特許文献１】特開平７−３１９７１６号公報（第３−４頁、第１−３図）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかし、上記の従来技術においては次の問題がある。
【００１８】
ソフトウェアの設計においては、スループット向上、プロセッサの有効活用の観点等により、排他制御が必要な区間はできるだけ短くなるように設計することが多い。すなわち、プロセスがロックオブジェクトを取得したまま実行状態ではない（プロセッサの実行権を他プロセスに渡している）という状況はあまり起こらないと考えられる。とりわけ組込み機器向けのソフトウェアでは、処理の実行時間を見積もるためにも、この傾向は顕著に現れる。よって、上記の従来技術を採用したとしても、ロックオブジェクトの取得に失敗した場合には、大抵の場合ビジーウェイトが選択され、システムのスループット向上の効果は見込めないものと考えられる。
【００１９】
本発明は、このような事情に鑑みて創作したものであり、ロックオブジェクトの取得に失敗した場合にビジーウェイトによってロックオブジェクトの解放を待つシステムにおいて、スループット向上が可能となる排他制御方法、排他制御システムを提供することを目的としている。
【課題を解決するための手段】
【００２０】
（１）本発明によるマルチプロセッサの排他制御方法は、排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御方法であって、プロセスが前記ロックオブジェクトのロックに成功した場合に、そのロック成功プロセスにロック区間を相対的な高速動作で実行させる工程を具備するものである。
【００２１】
この構成によれば、ロックオブジェクトのロックに成功したプロセスが相対的な高速動作で実行するため、通常よりも短時間でロック区間を実行することが可能となる。これにより、システムのスループット向上が図られる。
【００２２】
（２）また、本発明によるマルチプロセッサの排他制御方法は、排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御方法であって、プロセスが前記ロックオブジェクトのロックに失敗した場合に、前記ロックオブジェクトのロック成功プロセスを特定する工程と、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程とを具備するものである。
【００２３】
この構成によれば、ロック失敗プロセスが別のロック成功のプロセスを特定し、そのロック成功プロセスにロック区間を相対的な高速動作で実行させる処理を行う。その結果、ロック失敗プロセスは無意味なビジーウェイトではなく、ロック成功プロセスを高速動作させるという有意義な処理を行うことになり、通常よりも短時間でロック区間を実行することが可能となる。これにより、システムのスループット向上が図られる。
【００２４】
（３）また、本発明によるマルチプロセッサの排他制御方法は、排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御方法であって、プロセスが前記ロックオブジェクトのロックに失敗した場合に、次に前記プロセスが前記ロックオブジェクトのロックに成功したときに前記プロセスにロック区間を相対的な高速動作で実行させる工程を具備するものである。
【００２５】
この構成によれば、ロック失敗プロセス自身が次にロックに成功したときの動作準備を行うので、ロック成功プロセスを特定する必要がなくなる。その結果、ロック失敗プロセスは無意味なビジーウェイトではなく、ロック失敗プロセスが高速動作するための準備を行うという有意義な処理を行っていることになり、通常よりも短時間でロック区間を実行することが可能となる。これにより、システムのスループット向上が図られる。
【００２６】
（４）上記（１），（２）の構成において、さらに、前記ロックオブジェクトをアンロックした後、通常動作に復帰させる工程を具備するという態様がある。ロック成功プロセスにロック区間を相対的な高速動作で実行させるので、その高速動作の実行の完了に伴ってロックオブジェクトをアンロックした後は、通常動作に復帰させる工程を実行させることにより、高速動作から通常動作に戻しておくこととするものである。
【００２７】
（５）上記（４）の構成において、さらに、プロセスが前記ロックオブジェクトのロックに成功した場合にロック区間の情報の収集を開始するロック区間情報収集開始工程と、前記ロックオブジェクトをアンロックした後にロック区間の情報の収集を終了するロック区間情報収集終了工程とを具備するという態様がある。この構成によれば、ロックオブジェクトに応じたロック区間の情報を解析し、解析状況に応じて相対的な高速動作で実行させることが可能となる。
【００２８】
（６）上記（５）の構成において、前記ロック区間情報収集開始工程は、ロック区間の実行時間の計測を開始する工程であり、前記ロック区間情報収集終了工程は、前記ロック区間の実行時間の計測を終了し、前記実行時間を記録する工程であるという態様がある。この構成によれば、計測で得られた実行時間を用いることにより、ロック区間の傾向を分析することができ、そのロック区間に最適な相対的な高速動作方法を選択することが可能となる。
【００２９】
（７）上記（５）の構成において、前記ロック区間情報収集開始工程は、ロック区間に実行する命令の履歴の収集を開始する工程であり、前記ロック区間情報収集終了工程は、前記ロック区間に実行する命令の履歴の収集を終了する工程であるという態様がある。この構成によれば、収集で得られた命令の履歴を用いることにより、ロック区間の傾向を分析することができ、そのロック区間に最適な相対的な高速動作方法を選択することが可能となる。
【００３０】
（８）上記（５）の構成において、前記ロック区間情報収集開始工程は、ロック区間にアクセスするデータのアドレスの履歴の収集を開始する工程であり、前記ロック区間情報収集終了工程は、前記ロック区間にアクセスするデータのアドレスの履歴の収集を終了する工程であるという態様がある。この構成によれば、収集で得られたアドレスの履歴を用いることにより、ロック区間の傾向を分析することができ、そのロック区間に最適な相対的な高速動作方法を選択することが可能となる。
【００３１】
（９）上記（１），（２）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間実行中のデバイスの動作周波数を上昇させる工程であるという態様がある。動作周波数を上昇させることにより、ダイレクトに高速動作が可能となる。
【００３２】
（１０）上記（１），（２）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間に実行する命令をキャッシュメモリに載せる工程であるという態様がある。命令の実行にキャッシュメモリを利用することにより、高速動作が可能となる。キャッシュはプロセッサに搭載されることが多く、その実装は比較的簡単である。
【００３３】
（１１）上記（１），（２）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間にアクセスするデータをキャッシュメモリに載せる工程であるという態様がある。データのアクセスにキャッシュメモリを利用することにより、高速動作が可能となる。キャッシュはプロセッサに搭載されることが多く、その実装は比較的簡単である。
【００３４】
（１２）上記（１）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、高速動作可能なデバイスでロック区間に実行する命令を動作させる工程であるという態様がある。高速動作可能なデバイスを利用することにより、高速動作が可能となる。高速動作可能なデバイスは常に使用するわけではなく、ロック区間にだけ使用するので、消費電力を抑えることが可能である。
【００３５】
（１３）上記（１）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、高速アクセス可能なデバイスに配置されたロック区間にアクセスするデータをアクセスさせる工程であるという態様がある。高速アクセス可能なデバイスを利用することにより、高速動作が可能となる。高速アクセス可能なデバイスは常に使用するわけではなく、ロック区間にだけ使用するので、消費電力を抑えることが可能である。
【００３６】
（１４）上記（１）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間に実行する命令を複数のプロセッサで並列に実行させる工程であるという態様がある。複数プロセッサの並列実行により、高速動作が可能となる。
【００３７】
（１５）上記（３）の構成において、前記ロックに失敗したロック失敗プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間に実行する命令をキャッシュメモリに載せる工程であるという態様がある。命令の実行にキャッシュメモリを利用することにより、高速動作が可能となる。
【００３８】
（１６）上記（３）の構成において、前記ロックに失敗したロック失敗プロセスにロック区間を相対的な高速動作で実行させる工程は、ロック区間にアクセスするデータをキャッシュメモリに載せる工程であるという態様がある。データのアクセスにキャッシュメモリを利用することにより、高速動作が可能となる。
【００３９】
以上（１）〜（１６）はマルチプロセッサの排他制御方法についてであったが、以下では本発明によるマルチプロセッサの排他制御システムについて説明する。
【００４０】
（１７）本発明によるマルチプロセッサの排他制御システムは、排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御システムにおいて、プロセスが前記ロックオブジェクトのロックに成功した場合に、そのロック成功プロセスにロック区間を相対的な高速動作で実行させる手段を具備するものである。これは、上記（１）の排他制御方法に対応した排他制御システムである。
【００４１】
この構成によれば、ロックオブジェクトのロックに成功したプロセスが相対的な高速動作で実行するため、通常よりも短時間でロック区間を実行することが可能となる。これにより、システムのスループット向上が図られる。
【００４２】
（１８）また、本発明によるマルチプロセッサの排他制御システムは、排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御システムにおいて、プロセスが前記ロックオブジェクトのロックに失敗した場合に、前記ロックオブジェクトのロックに成功しているロック成功プロセスを特定する手段と、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段とを具備するものである。これは、上記（２）の排他制御方法に対応した排他制御システムである。
【００４３】
この構成によれば、ロック失敗プロセスが別のロック成功のプロセスを特定し、そのロック成功プロセスにロック区間を相対的な高速動作で実行させる処理を行う。その結果、ロック失敗プロセスは無意味なビジーウェイトではなく、ロック成功プロセスを高速動作させるという有意義な処理を行うことになり、通常よりも短時間でロック区間を実行することが可能となる。これにより、システムのスループット向上が図られる。
【００４４】
（１９）また、本発明によるマルチプロセッサの排他制御システムは、排他制御にかかわるシステム中の資源と同数のロックオブジェクトを有するマルチプロセッサの排他制御システムにおいて、プロセスが前記ロックオブジェクトのロックに失敗した場合に、次に前記プロセスが前記ロックオブジェクトのロックに成功したときに前記プロセスにロック区間を相対的な高速動作で実行させる手段を具備するものである。これは、上記（３）の排他制御方法に対応した排他制御システムである。
【００４５】
この構成によれば、ロック失敗プロセス自身が次にロックに成功したときの動作準備を行うので、ロック成功プロセスを特定する必要がなくなる。その結果、ロック失敗プロセスは無意味なビジーウェイトではなく、ロック失敗プロセスが高速動作するための準備を行うという有意義な処理を行っていることになり、通常よりも短時間でロック区間を実行することが可能となる。これにより、システムのスループット向上が図られる。
【００４６】
（２０）上記（１７），（１８）の構成において、さらに、前記ロックオブジェクトをアンロックした後、通常動作に復帰する手段を具備するという態様がある。ロック成功プロセスにロック区間を相対的な高速動作で実行させるので、その高速動作の実行の完了に伴ってロックオブジェクトをアンロックした後は、通常動作に復帰させる工程を実行させることにより、高速動作から通常動作に戻しておくこととするものである。これは、上記（４）の排他制御方法に対応している。
【００４７】
（２１）上記（２０）の構成において、さらに、プロセスが前記ロックオブジェクトのロックに成功した場合にロック区間の情報の収集を開始するロック区間情報収集開始手段と、前記ロックオブジェクトをアンロックした後にロック区間の情報の収集を終了するロック区間情報収集終了手段とを具備するという態様がある。これは、上記（５）の排他制御方法に対応している。ロックオブジェクトに応じたロック区間の情報を解析し、解析状況に応じて相対的な高速動作で実行させることが可能となる。
【００４８】
（２２）上記（２１）の構成において、前記ロック区間情報収集開始手段は、ロック区間の実行時間の計測を開始する手段であり、前記ロック区間情報収集終了手段は、前記ロック区間の実行時間の計測を終了し、前記実行時間を記録する手段であるという態様がある。これは、上記（６）の排他制御方法に対応している。この構成によれば、計測で得られた実行時間を用いることにより、ロック区間の傾向を分析することができ、そのロック区間に最適な相対的な高速動作方法を選択することが可能となる。
【００４９】
（２３）上記（２１）の構成において、前記ロック区間情報収集開始手段は、ロック区間に実行する命令の履歴の収集を開始する手段であり、前記ロック区間情報収集終了手段は、前記ロック区間に実行する命令の履歴の収集を終了する手段であるという態様がある。これは、上記（７）の排他制御方法に対応している。この構成によれば、収集で得られた命令の履歴を用いることにより、ロック区間の傾向を分析することができ、そのロック区間に最適な相対的な高速動作方法を選択することが可能となる。
【００５０】
（２４）上記（２１）の構成において、前記ロック区間情報収集開始手段は、ロック区間にアクセスするデータのアドレスの履歴の収集を開始する手段であり、前記ロック区間情報収集終了手段は、前記ロック区間にアクセスするデータのアドレスの履歴の収集を終了する手段であるという態様がある。これは、上記（８）の排他制御方法に対応している。この構成によれば、収集で得られたアドレスの履歴を用いることにより、ロック区間の傾向を分析することができ、そのロック区間に最適な相対的な高速動作方法を選択することが可能となる。
【００５１】
（２５）上記（１７），（１８）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間実行中のデバイスの動作周波数を上昇させる手段であるという態様がある。これは、上記（９）の排他制御方法に対応している。動作周波数を上昇させることにより、ダイレクトに高速動作が可能となる。
【００５２】
（２６）上記（１７），（１８）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間に実行する命令をキャッシュメモリに載せる手段であるという態様がある。これは、上記（１０）の排他制御方法に対応している。命令の実行にキャッシュメモリを利用することにより、高速動作が可能となる。キャッシュはプロセッサに搭載されることが多く、その実装は比較的簡単である。
【００５３】
（２７）上記（１７），（１８）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間にアクセスするデータをキャッシュメモリに載せる手段であるという態様がある。これは、上記（１１）の排他制御方法に対応している。データのアクセスにキャッシュメモリを利用することにより、高速動作が可能となる。キャッシュはプロセッサに搭載されることが多く、その実装は比較的簡単である。
【００５４】
（２８）上記（１７）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、高速動作可能なデバイスでロック区間に実行する命令を動作させる手段であるという態様がある。これは、上記（１２）の排他制御方法に対応している。高速動作可能なデバイスを利用することにより、高速動作が可能となる。高速動作可能なデバイスは常に使用するわけではなく、ロック区間にだけ使用するので、消費電力を抑えることが可能である。
【００５５】
（２９）上記（１７）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、高速アクセス可能なデバイスに配置されたロック区間にアクセスするデータをアクセスさせる手段であるという態様がある。これは、上記（１３）の排他制御方法に対応している。高速アクセス可能なデバイスを利用することにより、高速動作が可能となる。高速アクセス可能なデバイスは常に使用するわけではなく、ロック区間にだけ使用するので、消費電力を抑えることが可能である。
【００５６】
（３０）上記（１７）の構成において、前記ロック成功プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間に実行する命令を複数のプロセッサで並列に実行させる手段であるという態様がある。これは、上記（１４）の排他制御方法に対応している。複数プロセッサの並列実行により、高速動作が可能となる。
【００５７】
（３１）上記（１９）の構成において、前記ロックに失敗したロック失敗プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間に実行する命令をキャッシュメモリに載せる手段であるという態様がある。これは、上記（１５）の排他制御方法に対応している。命令の実行にキャッシュメモリを利用することにより、高速動作が可能となる。
【００５８】
（３２）上記（１９）の構成において、前記ロック失敗プロセスにロック区間を相対的な高速動作で実行させる手段は、ロック区間にアクセスするデータをキャッシュメモリに載せる手段であるという態様がある。これは、上記（１６）の排他制御方法に対応している。データのアクセスにキャッシュメモリを利用することにより、高速動作が可能となる。
【００５９】
以上（１７）〜（３２）はマルチプロセッサの排他制御システムについてであったが、以下では本発明によるハードディスクレコーダについて説明する。
【００６０】
（３３）本発明によるハードディスクレコーダは、当該のハードディスクレコーダが保持するコンテンツを当該のハードディスクレコーダと通信可能な機器に転送するコンテンツ転送機能と、当該のハードディスクレコーダと通信可能な機器が前記コンテンツ転送機能を利用中のとき、前記機器以外の機器が前記コンテンツ転送機能を利用できないように抑制する排他制御機能と、前記コンテンツ転送機能が当該のハードディスクレコーダと通信可能な機器に利用されている場合に、当該のハードディスクレコーダが前記コンテンツ転送機能を利用されている区間に相対的な高速動作で実行させる機能とを具備するものである。この構成によれば、コンテンツ転送機能を排他的に利用している機器が相対的な高速動作で実行するため、通常よりも短時間でコンテンツ転送機能を実行することが可能となる。よって、コンテンツ転送機能を排他的に利用できずに待っている機器は、その待ち時間を短縮することが可能となる。
【００６１】
次に本発明による携帯端末について説明する。
【００６２】
（３４）本発明による携帯端末は、排他的に利用される機能を前記携帯端末が利用している場合に、前記携帯端末を前記排他的に利用される機能を利用している区間に相対的な高速動作で実行させる機能を具備するものである。これは、上記の（１），（１７）に対応している。
【００６３】
（３５）また、本発明による携帯端末は、排他的に利用される機能がすでに利用されており前記携帯端末が前記排他的に利用される機能を利用できない場合に、前記排他的に利用される機能を利用している携帯端末を特定する機能と、前記携帯端末に前記排他的に利用される機能を利用している区間に相対的な高速動作で実行させる機能とを具備するものである。これは、上記の（２），（１８）に対応している。
【００６４】
（３６）また、本発明による携帯端末は、排他的に利用される機能がすでに利用されており前記携帯端末が前記排他的に利用される機能を利用できない場合に、次に前記携帯端末が前記排他的に利用される機能を利用できるようになったときに、前記携帯端末に前記排他的に利用される機能を利用する区間を相対的な高速動作で実行させる機能を具備するものである。これは、上記の（３），（１９）に対応している。
【発明の効果】
【００６５】
本発明の排他制御方法によれば、ロックオブジェクトの取得に失敗した場合にビジーウェイトによってロックオブジェクトの解放を待つシステムにおいて、スループット向上が可能となる。
【００６６】
次の比較例と対照すると、本発明の意義がより明確になる。
【００６７】
マルチプロセスのシステムにおいて、例えば、高優先度のプロセスＡが共有資源を操作しようとした場合に、すでに低優先度のプロセスＣが共有資源を操作中であるとする。そこに中優先度のプロセスＢが起動されると、プロセスＣよりもプロセスＢの方が優先度が高いため、プロセスＢの処理が優先される。その結果、プロセスＢはプロセスＡより優先度が低いにもかかわらず先行して実行される。この問題は、本来のプロセスの優先度が逆転してしまうプライオリティーインバージョン（優先度逆転）問題と呼ばれる。
【００６８】
この問題を解決する方法としてプライオリティーインヘリタンス（優先度継承）という方法がある。この方法は上記例で言えば、高優先度のプロセスＡが共有資源を操作しようとした時点で、低優先度のプロセスＣが共有資源を操作している間、優先度をプロセスＡと同様に格上げする方法である。こうすれば中優先度のプロセスＢが起動されてもプロセスＣは共有資源の操作を継続できる。その結果、プロセスＡは本来の優先度によってプロセスＢよりも処理が優先される。
【００６９】
この比較例の場合、共有資源を操作しているプロセスを優先的に処理できるという点で、本発明と似ているようだが、相対的な処理時間が高速にはなっていない点が異なる。また、プライオリティーインヘリタンスの方法は同一のプロセッサで実行されるマルチプロセスのシステムに適用され、リアルタイム性向上を図るものである。
【００７０】
これに対して、本発明はマルチプロセッサでの排他制御に注目しており、スループット向上を図っている点が異なる。
【発明を実施するための最良の形態】
【００７１】
以下、本発明の実施形態について、図面を参照しながら説明する。
【００７２】
（第１の実施形態）
本発明の第１の実施形態にかかわる排他制御方法を用いたシステム構成の一例を図１に示す。このシステムは、プロセッサＡ１０と、プロセッサＢ２０と、共有資源３０と、相対的な高速動作処理部４０とで構成されている。
【００７３】
プロセッサＡ１０ではプロセスＡ１１が動作しており、プロセッサＢ２０ではプロセスＢ２１が動作しているものとする。
【００７４】
共有資源３０は、資源本体３１とロックオブジェクト３２とで構成されており、複数のプロセスで共有される資源であるため、排他制御が必要である。ロックオブジェクト３２は、共有資源がロック状態（プロセスにより取得されている状態）であるかアンロック状態（プロセスにより取得されていない状態）であるかのロック情報を管理する。ロックオブジェクト３２のロック情報の取得と変更は、一連の処理として不可分に実行可能であること（アトミック）が前提となっている。
【００７５】
相対的な高速動作処理部４０は、例えばプロセッサＡ１０およびプロセッサＢ２０の動作周波数の制御を行う。
【００７６】
図２は第１の実施形態にかかわる排他制御方法におけるロックオブジェクト取得（ロック）処理のフローチャートである。従来技術の場合の図１３と比較すると、ステップＳ４が追加されている点が特徴である。本実施形態の特徴は、"プロセスがロックオブジェクトのロックに成功した場合に、ロックに成功しているプロセスにロック区間を相対的な高速動作で実行させる"ということである（請求項１、請求項１７対応）。
【００７７】
プロセスＡ１１がプロセスＢ２１よりも先に共有資源３０を利用しようとすると、まずステップＳ１において、プロセスＡ１１はロックオブジェクト３２の現在のロック情報を取得する。
【００７８】
次にステップＳ２において、プロセスＡ１１は、ロックオブジェクト３２をロック状態に変更する。
【００７９】
次にステップＳ３において、ロックに成功したか否かを判断する。ステップＳ１で得たロック情報がアンロック状態を示しているプロセスＡ１１はロックに成功したと判断され、ステップＳ４に進む。
【００８０】
次にステップＳ４において、プロセスＡ１１は、相対的な高速動作処理部４０を制御してプロセッサＡ１０に相対的な高速動作で実行させる処理を行い、この処理を終了する。
【００８１】
一方、プロセスＢ２１がプロセスＡ１１よりも後に共有資源３０を利用しようとすると、まずステップＳ１において、プロセスＢ２１はロックオブジェクト３２の現在のロック情報を取得する。
【００８２】
次にステップＳ２において、プロセスＢ２１はロックオブジェクト３２をロック状態に変更する。ただし、ここでは、既にプロセスＡ１１によってロック情報はロック状態に更新されているため、ロック情報はロック状態のままで変化はない。
【００８３】
次にステップＳ３において、ロックに成功したか否かを判断する。ステップＳ１で得たロック情報がロック状態を示しているプロセスＢ２１はロックに失敗したと判断され、再度ステップＳ１に進む。
【００８４】
上記においては、ステップＳ１とステップＳ２とが一連の処理として不可分に実行可能であることが前提となっている。
【００８５】
ここでステップＳ４において、相対的な高速動作処理部４０は、実行中のデバイスの動作周波数をあらかじめ固定的に決められている命令数分や時間分だけ上昇させる。あらかじめ決められている命令数分や時間分だけデバイスの動作周波数を上昇させることでシステム全体のスループットを向上させることが可能であり、その実装は比較的簡単に実現可能である。
【００８６】
また、図３は第１の実施形態にかかわる排他制御方法におけるロックオブジェクト解放（アンロック）処理のフローチャートである。従来技術の場合の図１４と比較すると、ステップＳ３２が追加されている点が特徴である。
【００８７】
まずステップＳ３１において、ロックオブジェクト３２をアンロック状態に変更する。
【００８８】
次にステップＳ３２において、通常動作に復帰させる処理を行い、この処理を終了する。
【００８９】
上記において、ステップＳ３１もステップＳ１，Ｓ２とともに一連の処理として不可分に実行可能であることが前提となっている。
【００９０】
ロックオブジェクト解放（アンロック）処理を用いると、図２のステップＳ４は、特に命令数や時間は固定せずに、図３のロックオブジェクト解放（アンロック）処理のステップＳ３２において、通常の動作すなわち元の動作周波数に戻すこともできる。これにより、プロセスがロックオブジェクトを解放するまで相対的な高速動作が可能となる。
【００９１】
また、ステップＳ４は、ロック区間に実行する命令やアクセスするデータをあらかじめ命令キャッシュやデータキャッシュに載せておくという方法でもよい。キャッシュは多くのプロセッサに搭載されており、比較的簡単に実装可能である。
【００９２】
また、ステップＳ４は、ロック区間に実行する命令やデータを相対的な高速動作を行うデバイスに転送し、そのデバイスで動作させたり、アクセスさせたりする方法でもよい。高速動作可能なデバイスは常に使用するわけではなく、ロック区間にだけ使用するので、消費電力を抑えることが可能である。
【００９３】
図４はロック区間情報収集開始処理のフローチャートである。
【００９４】
ステップＳ４１において、ロック区間の情報収集を開始する。ここで情報とは、ロック区間の時間やロック区間の命令数やロック区間にアクセスするデータのアドレス等である。ステップＳ４１は、ロックオブジェクト３２に応じたタイマを起動させたり、ロックオブジェクト３２に応じた実行命令数の履歴を取得する装置を起動させたり、ロックオブジェクト３２に応じたアクセスデータのアドレスの履歴を取得する装置を起動させたりする。
【００９５】
図５はロック区間情報収集終了処理のフローチャートである。
【００９６】
ステップＳ５１において、ロック区間の情報収集を終了する。ステップＳ４１で収集を開始した情報をステップＳ５１に到達するまで収集するため、ここでロックオブジェクト３２に応じたタイマを停止してロック区間の時間を保存したり、ロックオブジェクト３２に応じた実行命令の履歴を取得する装置を停止してロック区間に実行した命令の履歴を保存したり、ロックオブジェクト３２に応じたアクセスデータのアドレスの履歴を取得する装置を停止してロック区間にアクセスしたデータのアドレスの履歴を保存したりする。
【００９７】
ステップＳ４の直前に図４のロック区間情報収集開始処理を行い、ステップＳ３１以降に図５のロック区間情報収集終了処理を行うことによって、ステップＳ４は、ロックオブジェクトに応じたロック区間の情報を解析し、解析状況に応じて相対的な高速動作で実行させる方法を選択することも可能である。
【００９８】
例えば、ロック区間がある閾値より長い時間実行されると判断したときは、デバイスの動作周波数を上昇させる方法を選択するし、ロック区間に実行する命令がキャッシュラインに載りやすいと判断したときは、それらの命令をあらかじめキャッシュに載せる方法を選択するし、ロック区間にアクセスするデータのアドレスがキャッシュラインに載りやすいと判断したときは、それらのアドレスをあらかじめキャッシュに載せる方法を選択することもできる。
【００９９】
なお、本発明はこの実施形態に限定されるものではない。本発明は、このような処理手段を備えるハードウェアや集積回路として実現したり、ステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したりすることも可能である。そのプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
【０１００】
以上のように本実施形態によれば、ロックオブジェクトのロックに成功したプロセスが相対的な高速動作で実行するため、通常よりも短時間でロック区間を実行することが可能となる。
【０１０１】
（第２の実施形態）
本発明の第２の実施形態にかかわる排他制御方法を用いたシステム構成は第１の実施形態の図１と同様であるため、その説明を省略する。
【０１０２】
図６は本発明の第２の実施形態にかかわる排他制御方法におけるロックオブジェクト取得（ロック）処理のフローチャートである。従来技術の図１３と比較すると、ステップＳ５とステップＳ６が追加されている点が特徴である。本実施形態の特徴は、"プロセスがロックオブジェクトのロックに失敗した場合に、ロックオブジェクトのロックに成功しているロック成功プロセスを特定し、ロックオブジェクトのロックに失敗したロック失敗プロセスが、ロック成功プロセスをロック区間を相対的な高速動作で実行させる"ということである（請求項２、請求項１８対応）。
【０１０３】
プロセスＡ１１がプロセスＢ２１よりも先に共有資源３０を利用しようとすると、まずステップＳ１において、プロセスＡ１１はロックオブジェクト３２の現在のロック情報を取得する。
【０１０４】
次にステップＳ２において、プロセスＡ１１はロックオブジェクト３２をロック状態に変更する。
【０１０５】
次にステップＳ３において、ロックに成功したか否かを判断する。ステップＳ１で得たロック情報がアンロック状態を示しているプロセスＡ１１はロックに成功したと判断され、この処理を終了する。
【０１０６】
一方、プロセスＢ２１がプロセスＡ１１よりも後に共有資源３０を利用しようとすると、まずステップＳ１において、プロセスＢ２１はロックオブジェクト３２の現在のロック情報を取得する。
【０１０７】
次にステップＳ２において、プロセスＢ２１はロックオブジェクト３２をロック状態に変更する。ただし、ここでは、既にプロセスＡ１１によってロック情報はロック状態に更新されているため、ロック情報はロック状態のままで変化はない。
【０１０８】
次にステップＳ３において、ロックに成功したか否かを判断する。ステップＳ１で得たロック情報がロック状態を示しているプロセスＢ２１はロックに失敗したと判断され、ステップＳ５に進む。
【０１０９】
次にステップＳ５において、プロセスＢ２１はロックオブジェクトのロック成功プロセスの特定を行う。すなわち、プロセスＡ１１がロック成功プロセスであると特定する。特定することによって、例えば、プロセスＡ１１が実行中のプログラムカウンタやアクセスしているアドレスなどの情報を得ることが可能である。
【０１１０】
次にステップＳ６において、プロセスＢ２１は、相対的な高速動作処理部４０を制御し、ステップＳ５で特定したプロセスに相対的な高速動作で実行させる処理を行い、再度ステップＳ１に進む。
【０１１１】
上記においては、ステップＳ１とステップＳ２とが一連の処理として不可分に実行可能であることが前提となっている。
【０１１２】
ここでステップＳ６において、相対的な高速動作処理部４０は、ステップＳ５で特定したプロセスが実行しているデバイスの動作周波数を上昇させることでプロセスに相対的な高速動作で実行させることができる。これは、あらかじめ固定的に決められている命令数分や時間分だけ動作周波数を上昇させる方法でもよい。
【０１１３】
また、ロック区間に実行する命令やデータをあらかじめ命令キャッシュやデータキャッシュに載せておくという方法でもよい。これは、あらかじめ固定的に決められているキャッシュライン数分だけ命令キャッシュやデータキャッシュに載せておく方法でもよい。
【０１１４】
ステップＳ５は、プロセッサが２個の場合は、必然的に他方のプロセッサで動作中のプロセスがロック成功プロセスと特定することができる。
【０１１５】
また、ロックオブジェクトのロック成功時に、そのロックオブジェクトがどのプロセスによってロックされているかの情報をロックオブジェクトに付加しておき、ステップＳ５においてその情報を読み取ることでも特定できる。
【０１１６】
また、ロックオブジェクトのロック成功時に、そのロックオブジェクトがどのプロセスによってロックされているかの情報を自動的に付加するハードウェアを実装してもよい。
【０１１７】
また、ステップＳ３においてロックに成功したと判断した場合、図４のロック区間情報収集開始処理を行ってからこの処理を終了し、ロックに成功したプロセスがロックオブジェクトを解放するときに、図３のロックオブジェクト解放（アンロック）処理のステップＳ３２の直前に図５のロック区間情報収集終了処理を行うことで、ロックオブジェクトに応じたロック区間の情報を取得しておいて、ステップＳ６において、そのロックオブジェクトに応じたロック区間の情報を解析し、解析状況に応じて相対的な高速動作で実行させる方法を選択することも可能である。
【０１１８】
なお、本発明はこの実施形態に限定されるものではない。本発明は、このような処理手段を備えるハードウェアや集積回路として実現したり、ステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したりすることも可能である。そのプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
【０１１９】
以上のように本実施形態によれば、ロック失敗プロセスが別のロック成功のプロセスを特定し、そのロック成功プロセスにロック区間を相対的な高速動作で実行させる処理を行う。したがって、ロック失敗プロセスは無意味なビジーウェイトではなく、ロック成功プロセスを高速動作させるという有意義な処理を行っていることになる。そして結果的に、ロックオブジェクトのロックに成功したプロセスが相対的な高速動作で実行するため、通常よりも短時間でロック区間を実行することが可能となる。
【０１２０】
（第３の実施形態）
本発明の第３の実施形態にかかわる排他制御方法を用いたシステム構成は第１の実施形態の図１と同様であるため、その説明を省略する。ただし、相対的な高速動作処理部４０は、プロセッサＡ１０およびプロセッサＢ２０のキャッシュに命令やデータを載せる制御を行うように構成されている。
【０１２１】
図７は本発明の第３の実施形態にかかわる排他制御方法におけるロックオブジェクト取得（ロック）処理のフローチャートである。従来技術の図１３と比較すると、ステップＳ７が追加されている点が特徴である。本実施形態の特徴は、"プロセスがロックオブジェクトのロックに失敗した場合に、次にプロセスがロックオブジェクトのロックに成功したときにプロセスをロック区間を相対的な高速動作で実行させる"ということである（請求項３、請求項１９対応）。
【０１２２】
プロセスＡ１１がプロセスＢ２１よりも先に共有資源３０を利用しようとすると、まずステップＳ１において、プロセスＡ１１はロックオブジェクト３２の現在のロック情報を取得する。
【０１２３】
次にステップＳ２において、プロセスＡ１１はロックオブジェクト３２をロック状態に変更する。
【０１２４】
次にステップＳ３において、ロックに成功したか否かを判断する。ステップＳ１で得たロック情報がアンロック状態を示しているプロセスＡ１１はロックに成功したと判断され、この処理を終了する。
【０１２５】
一方、プロセスＢ２１がプロセスＡ１１よりも後に共有資源３０を利用しようとすると、まずステップＳ１において、プロセスＢ２１はロックオブジェクト３２の現在のロック情報を取得する。
【０１２６】
次にステップＳ２において、プロセスＢ２１はロックオブジェクト３２をロック状態に変更する。ただし、ここでは、既にプロセスＡ１１によってロック情報はロック状態に更新されているため、ロック情報はロック状態のままで変化はない。
【０１２７】
次にステップＳ３において、ロックに成功したか否かを判断する。ステップＳ１で得たロック情報がロック状態を示しているプロセスＢ２１はロックに失敗したと判断され、ステップＳ７に進む。
【０１２８】
次にステップＳ７において、プロセスＢ２１は、相対的な高速動作処理部４０を制御し、ロックに失敗したロック失敗プロセスＢ２１が次にロックオブジェクト３２のロックに成功したときに相対的な高速動作で実行させる処理を行い、再度ステップＳ１に進む。
【０１２９】
上記においては、ステップＳ１とステップＳ２とが一連の処理として不可分に実行可能であることが前提となっている。
【０１３０】
ここでステップＳ７は、ロック区間に実行する命令やアクセスするデータをあらかじめ命令キャッシュやデータキャッシュに載せておくことで、次ロックオブジェクトのロックに成功したときに、既にキャッシュに載っている情報を利用することができ、相対的な高速動作で実行させることができる。また、これは、あらかじめ固定的に決められているキャッシュライン数分だけキャッシュに載せておく方法でもよい。
【０１３１】
また、ステップＳ３においてロックに成功したと判断した場合、図４のロック区間情報収集開始処理を行ってからこの処理を終了し、ロックに成功したプロセスがロックオブジェクトを解放するときに、図３のロックオブジェクト解放（アンロック）処理のステップＳ３２の直前に図５のロック区間情報収集終了処理を行うことで、ロックオブジェクトに応じたロック区間の情報を取得しておいて、ステップＳ７において、そのロックオブジェクトに応じたロック区間の情報を解析し、解析状況に応じて相対的な高速動作で実行させる方法を選択することも可能である。
【０１３２】
なお、本発明はこの実施形態に限定されるものではない。本発明は、このような処理手段を備えるハードウェアや集積回路として実現したり、ステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したりすることも可能である。そのプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
【０１３３】
以上のように本実施形態によれば、ロック失敗プロセス自身が次にロックに成功したときの動作準備を行うので、ロック成功プロセスを特定する必要がなくなる。したがって、ロック失敗プロセスは無意味なビジーウェイトではなく、ロック失敗プロセスが高速動作するための準備を行うという有意義な処理を行っていることになる。そして結果的に、ロックオブジェクトのロック失敗プロセスが次にロックに成功したときに相対的な高速動作で実行するため、通常よりも短時間でロック区間を実行することが可能となる。
【０１３４】
（第４の実施形態）
例えば、家庭に設置してあるハードディスクレコーダが保持しているテレビ番組の録画データ等のコンテンツを、出先から携帯端末に取得して視聴するような状況を考える。家族は複数の人で構成されており、各人が携帯端末を持っていると想定すると、携帯端末Ａと携帯端末Ｂが同時にハードディスクレコーダからコンテンツを要求するような状況が発生する。ハードディスクレコーダは同時には１つだけの携帯端末にコンテンツを転送可能な機能を持つとすると、後からコンテンツの転送を要求した携帯端末は、先にコンテンツの転送を要求した携帯端末にコンテンツが転送完了されるまで待たなくてはならない。
【０１３５】
本発明の第４の実施形態にかかわる装置群の構成の一例を図８に示す。図８の装置群は、携帯端末Ａ５０と、携帯端末Ｂ６０と、ハードディスクレコーダ７０とで構成されている。
【０１３６】
携帯端末Ａ５０および携帯端末Ｂ６０は、携帯電話、ＰＨＳ（Personal Handy System）、ＰＤＡ（Personal Digital Assistant：携帯情報端末）などの端末であり、それぞれ相対的な高速動作処理部Ａ５１、相対的な高速動作処理部Ｂ６１を持っている。
【０１３７】
ハードディスクレコーダ７０は、同時には１つだけの携帯端末に対してハードディスクに保存されているコンテンツを転送できるコンテンツ転送機能７１を持つ。コンテンツ転送機能７１は複数の携帯端末から要求がある場合に、排他的にコンテンツ転送機能を利用可能とするためのロック機能７２を持つ。ロック機能７２は、コンテンツ転送機能７１がロック状態（ある携帯端末が排他的にコンテンツ転送機能を利用中である状態）であるかアンロック状態（ある携帯端末が排他的にコンテンツ転送機能を利用できない状態）であるかのロック情報を管理する。ロック機能７２が管理するロック情報の取得と変更は一連の処理が不可分に行えることが前提となっている。
【０１３８】
図９は本発明の第４の実施形態にかかわる装置群におけるコンテンツ転送機能のロック取得（ロック）処理のフローチャートである。本実施形態の特徴は、"コンテンツ転送機能を携帯端末が利用している場合に、携帯端末をコンテンツ転送機能を利用している区間に相対的な高速動作で実行させる"ということである（請求項３４対応）。
【０１３９】
携帯端末Ａ５０が携帯端末Ｂ６０よりも先にコンテンツ転送機能７１を利用しようとすると、まずステップＳ１１において、携帯端末Ａ５０はロック機能７２が管理する現在のロック情報を取得する。
【０１４０】
次にステップＳ１２において、携帯端末Ａ５０は、ロック機能７２が管理するロック情報をロック状態に変更する。
【０１４１】
次にステップＳ１３において、ステップＳ１１で得たロック情報がアンロック状態を示している携帯端末Ａ５０はロックに成功したと判断され、ステップＳ１４に進む。
【０１４２】
次にステップＳ１４において、携帯端末Ａ５０は、相対的な高速動作処理部Ａ５１を制御して携帯端末Ａ５０に相対的な高速動作で実行させる処理を行い、この処理を終了する。
【０１４３】
一方、携帯端末Ｂ６０が携帯端末Ａ５０よりも後にコンテンツ転送機能７１を利用しようとすると、まずステップＳ１１において、携帯端末Ｂ６０はロック機能７２が管理する現在のロック情報を取得する。
【０１４４】
次にステップＳ１２において、携帯端末Ｂ６０はロック機能７２が管理するロック情報をロック状態に変更する。ただし、ここでは、既に携帯端末Ａ５０によってロック情報はロック状態に更新されているため、ロック情報はロック状態のままで変化はない。
【０１４５】
次にステップＳ１３において、ステップＳ１１で得たロック情報がロック状態を示している携帯端末Ｂ６０はロックに失敗したと判断され、再度ステップＳ１１に進む。
【０１４６】
上記において、ステップＳ１１とステップＳ１２は一連の処理として不可分に実行可能であることが前提となっている。
【０１４７】
ここでステップＳ１４において、相対的な高速動作処理部Ａ５１を制御し、実行中のデバイスの動作周波数をあらかじめ固定的に決められている命令数分や時間分だけ上昇させる。あらかじめ決められている命令数分や時間分だけデバイスの動作周波数を上昇させることでシステム全体のスループットを向上させることが可能であり、その実装は比較的簡単に実現可能である。
【０１４８】
また、図１０は本発明の第４の実施形態にかかわる装置群におけるコンテンツ転送機能のロック解放（アンロック）処理のフローチャートである。
【０１４９】
まずステップＳ２１において、ロック機能７２が管理するロック情報をアンロック状態に変更する。
【０１５０】
次にステップＳ２２において、携帯端末を通常動作に復帰させる処理を行い、この処理を終了する。
【０１５１】
ステップＳ２１もステップＳ１１，Ｓ１２とともに一連の処理として不可分に実行可能であることが前提となっている。
【０１５２】
ロック解放（アンロック）処理を用いると、ステップＳ１４は、特に命令数や時間は固定せずに、図１０のロック解放（アンロック）処理のステップＳ２２において、通常の動作すなわち元の動作周波数に戻すこともできる。これにより、携帯端末がロック解放するまで相対的な高速動作が可能となる。
【０１５３】
また、ステップＳ１４は、ロック区間に実行する命令やアクセスするデータをあらかじめ命令キャッシュやデータキャッシュに載せておくという方法でもよい。キャッシュは多くのプロセッサに搭載されており、比較的簡単に実装可能である。
【０１５４】
また、ステップＳ１４は、ロック区間に実行する命令やデータを相対的な高速動作を行うデバイスに転送し、そのデバイスで動作させたり、アクセスさせたりする方法でもよい。高速動作可能なデバイスは常に使用するわけではなく、ロック区間にだけ使用するので、消費電力を抑えることが可能である。
【０１５５】
また、この実施形態ではロック機能７２が管理するロック情報の取得処理およびロック解放処理は、携帯端末Ａ５０および携帯端末Ｂ６０が行う例を記載したが、携帯端末Ａ５０および携帯端末Ｂ６０からロック機能７２が管理するロック情報の取得処理およびロック解放処理の依頼を受けたハードディスクレコーダ７０が代わりに行ってもよい。この場合、ロックに成功している携帯端末Ａ５０の相対的な高速動作処理部Ａ５１を制御するのはハードディスクレコーダ７０になるので、携帯端末Ａ５０の実装を軽減でき、軽量化することも可能となる。
【０１５６】
なお、本発明はこの実施形態に限定されるものではない。この実施形態では携帯端末Ａ５０と携帯端末Ｂ６０とハードディスクレコーダ７０で構成される装置群を例に説明したが、複数の装置とそれらの複数の装置間で排他する必要がある共通の機能や資源が含まれる構成であれば、いかなる構成にも適用することができる。
【０１５７】
また、複数の装置とそれらの装置の間で排他する必要がある共通の機能や資源を１つの装置として構成した場合にも適用することができる。
【０１５８】
以上のように本実施形態によれば、コンテンツ転送機能を排他的に利用している携帯端末が相対的な高速動作で実行するため、通常よりも短時間でコンテンツ転送機能を実行することが可能となる。よって、コンテンツ転送機能を排他的に利用できずに待っている携帯端末は、その待ち時間を短縮することができる。
【０１５９】
（第５の実施形態）
本発明の第５の実施形態にかかわる装置群の構成は第４の実施形態の図８と同様であるため、その説明を省略する。
【０１６０】
図１１は本発明の第５の実施形態にかかわる装置群におけるコンテンツ転送機能のロック取得（ロック）処理のフローチャートである。本実施形態の特徴は、"コンテンツ転送機能がすでに利用されており携帯端末がコンテンツ転送機能を利用できない場合に、コンテンツ転送機能を利用している携帯端末を特定する機能と、携帯端末にコンテンツ転送機能を利用している区間を相対的な高速動作で実行させる"ということである（請求項３５対応）。
【０１６１】
携帯端末Ａ５０が携帯端末Ｂ６０よりも先にコンテンツ転送機能７１を利用しようとすると、まずステップＳ１１において、携帯端末Ａ５０はロック機能７２が管理する現在のロック情報を取得する。
【０１６２】
次にステップＳ１２において、携帯端末Ａ５０はロック機能７２が管理するロック情報をロック状態に変更する。
【０１６３】
次にステップＳ１３において、ステップＳ１１で得たロック情報がアンロック状態を示している携帯端末Ａ５０はロックに成功したと判断され、この処理を終了する。
【０１６４】
一方、携帯端末Ｂ６０が携帯端末Ａ５０よりも後にコンテンツ転送機能７１を利用しようとすると、まずステップＳ１１において、携帯端末Ｂ６０はロック機能７２が管理する現在のロック情報を取得する。
【０１６５】
次にステップＳ１２において、携帯端末Ｂ６０はロック機能７２が管理するロック情報をロック状態に変更する。ただし、ここでは、既に携帯端末Ａ５０によってロック情報はロック状態に更新されているため、ロック情報はロック状態のままで変化はない。
【０１６６】
次にステップＳ１３において、ステップＳ１１で得たロック情報がロック状態を示している携帯端末Ｂ６０はロックに失敗したと判断され、ステップＳ１５に進む。
【０１６７】
次にステップＳ１５において、携帯端末Ｂ６０はロックに成功している携帯端末の特定を行う。すなわち、携帯端末Ａ５０がロックに成功している携帯端末であると特定する。特定することによって、携帯端末Ａ５０が持つ相対的な高速動作処理部Ａ５１と、さらには、携帯端末Ａ５０が実行中のプログラムカウンタやアクセスしているアドレスなどの情報も得ることが可能である。
【０１６８】
次にステップＳ１６において、携帯端末Ｂ６０は、ステップＳ１５で特定した情報に基づき相対的な高速動作処理部Ａ５１を制御し、携帯端末Ａ５０に相対的な高速動作で実行させる処理を行い、再度ステップＳ１１に進む。
【０１６９】
上記において、ステップＳ１１とステップＳ１２は一連の処理として不可分に実行可能であることが前提となっている。
【０１７０】
ここでステップＳ１６において、相対的な高速動作処理部Ａ５１は、ステップＳ１５で特定した携帯端末が実行しているデバイスの動作周波数を上昇させることで携帯端末に相対的な高速動作で実行させることができる。これは、あらかじめ固定的に決められている命令数分や時間分だけ動作周波数を上昇させる方法でもよい。
【０１７１】
また、ロック区間に実行する命令やデータをあらかじめ命令キャッシュやデータキャッシュに載せておくという方法でもよい。これは、あらかじめ固定的に決められているキャッシュライン数分だけ命令キャッシュやデータキャッシュに載せておく方法でもよい。
【０１７２】
ステップＳ１５は、あらかじめ接続される携帯端末が携帯端末Ａ５０と携帯端末Ｂ６０の２個であることが分かっていれば、必然的に他方の携帯端末がロックに成功していると特定することができる。
【０１７３】
また、ロック機能７２によってコンテンツ転送機能７１のロック成功時にどの携帯端末によってロックされているかの情報をロック機能７２に付加しておき、ステップＳ１５においてその情報を読み取ることでも特定できる。
【０１７４】
また、ロック機能７２によってコンテンツ転送機能７１のロック成功時にどの携帯端末によってロックされているかの情報を自動的に付加するハードウェアを実装してもよい。
【０１７５】
また、この実施形態ではロック機能７２が管理するロック情報の取得処理およびロック解放処理は、携帯端末Ａ５０および携帯端末Ｂ６０が行う例を記載したが、携帯端末Ａ５０および携帯端末Ｂ６０からロック機能７２が管理するロック情報の取得処理およびロック解放処理の依頼を受けたハードディスクレコーダ７０が代わりに行ってもよい。この場合、ロックに成功している携帯端末Ａ５０の相対的な高速動作処理部Ａ５１を制御するのはハードディスクレコーダ７０になるので、ロックに失敗した携帯端末Ｂ６０がロックに成功している携帯端末Ａ５０の相対的な高速動作処理部Ａ５１を制御するための通信手段等は不要となる。
【０１７６】
なお、本発明はこの実施形態に限定されるものではない。この実施形態では携帯端末Ａ５０と携帯端末Ｂ６０とハードディスクレコーダ７０で構成される装置群を例に説明したが、複数の装置とそれらの複数の装置間で排他する必要がある共通の機能や資源が含まれる構成であれば、いかなる構成にも適用することができる。
【０１７７】
また、複数の装置とそれらの装置の間で排他する必要がある共通の機能や資源を１つの装置として構成した場合にも適用することができる。
【０１７８】
以上のように本実施形態によれば、コンテンツ転送機能を排他的に利用している携帯端末が相対的な高速動作で実行するため、通常よりも短時間でコンテンツ転送機能を実行することが可能となる。よって、コンテンツ転送機能を排他的に利用できずにビジーウェイトしている携帯端末は、その待ち時間を短縮することができる。しかも、ロックに失敗した携帯端末がロックに成功した携帯端末に相対的な高速動作で実行させる処理を行うので、ロックに失敗した携帯端末は無意味なビジーウェイトではなく、ロックに成功した携帯端末を高速動作させるという有意義な処理を行っていることになる。
【０１７９】
（第６の実施形態）
本発明の第６の実施形態にかかわる装置群の構成は第４の実施形態の図８と同様であるため、その説明を省略する。
【０１８０】
図１２は本発明の第６の実施形態にかかわる装置群におけるコンテンツ転送機能のロック取得（ロック）処理のフローチャートである。本実施形態の特徴は、"コンテンツ転送機能がすでに利用されており携帯端末がコンテンツ転送機能を利用できない場合に、次に携帯端末がコンテンツ転送機能を利用できるようになったときに、携帯端末にコンテンツ転送機能を利用する区間を相対的な高速動作で実行させる"ということである（請求項３６対応）。
【０１８１】
携帯端末Ａ５０が携帯端末Ｂ６０よりも先にコンテンツ転送機能７１を利用しようとすると、まずステップＳ１１において、携帯端末Ａ５０はロック機能７２が管理する現在のロック情報を取得する。
【０１８２】
次にステップＳ１２において、携帯端末Ａ５０はロック機能７２が管理するロック情報をロック状態に変更する。
【０１８３】
次にステップＳ１３において、ステップＳ１１で得たロック情報がアンロック状態を示している携帯端末Ａ５０はロックに成功したと判断され、この処理を終了する。
【０１８４】
一方、携帯端末Ｂ６０が携帯端末Ａ５０よりも後にコンテンツ転送機能７１を利用しようとすると、まずステップＳ１１において、携帯端末Ｂ６０はロック機能７２が管理する現在のロック情報を取得する。
【０１８５】
次にステップＳ１２において、携帯端末Ｂ６０はロック機能７２が管理するロック情報をロック状態に変更する。ただし、ここでは、既に携帯端末Ａ５０によってロック情報はロック状態に更新されているため、ロック情報はロック状態のままで変化はない。
【０１８６】
次にステップＳ１３において、ステップＳ１１で得たロック情報がロック状態を示している携帯端末Ｂ６０はロックに失敗したと判断され、ステップＳ１７に進む。
【０１８７】
次にステップＳ１７において、携帯端末Ｂ６０は、相対的な高速動作処理部Ｂ６１を制御し、ロックに失敗した携帯端末Ｂ６０が次にロックに成功したときに相対的な高速動作で実行させる処理を行い、再度ステップＳ１１に進む。
【０１８８】
上記において、ステップＳ１１とステップＳ１２は一連の処理として不可分に実行可能であることが前提となっている。
【０１８９】
ここでステップＳ１７は、ロック区間に実行する命令やアクセスするデータをあらかじめ命令キャッシュやデータキャッシュに載せておくことで、次ロックオブジェクトのロックに成功したときに既にキャッシュに載っている情報を利用することができ、相対的な高速動作で実行させることができる。
【０１９０】
また、これは、あらかじめ固定的に決められているキャッシュライン数分だけキャッシュに載せておく方法でもよい。
【０１９１】
また、この実施形態ではロック機能７２が管理するロック情報の取得処理およびロック解放処理は、携帯端末Ａ５０および携帯端末Ｂ６０が行う例を記載したが、携帯端末Ａ５０および携帯端末Ｂ６０からロック機能７２のロックオブジェクト取得処理および解放処理の依頼を受けたハードディスクレコーダ７０が代わりに行ってもよい。
【０１９２】
この場合、ロックに失敗した携帯端末Ｂ６０の相対的な高速動作処理部Ｂ６１を制御するのはハードディスクレコーダ７０になるので、携帯端末Ｂ６０の実装を軽減でき、軽量化することも可能となる。
【０１９３】
なお、本発明はこの実施形態に限定されるものではない。この実施形態では携帯端末Ａ５０と携帯端末Ｂ６０とハードディスクレコーダ７０で構成される装置群を例に説明したが、複数の装置とそれらの複数の装置間で排他する必要がある共通の機能や資源が含まれる構成であれば、いかなる構成にも適用することができる。
【０１９４】
また、複数の装置とそれらの装置の間で排他する必要がある共通の機能や資源を１つの装置として構成した場合にも適用することができる。
【０１９５】
以上のように本実施形態によれば、コンテンツ転送機能を排他的に利用できなかった（ロックに失敗した）携帯端末が次に排他的に利用できる状態になった（ロックに成功した）ときに相対的な高速動作で実行するため、通常よりも短時間でコンテンツ転送機能を実行することが可能となる。しかも、ロックに失敗した携帯端末自身が次にロックに成功したときの動作準備を行うので、ロックに成功した携帯端末を特定する必要もなく、ロックに失敗した携帯端末は無意味なビジーウェイトではなく、ロックに失敗した携帯端末が高速動作するための準備を行うという有意義な処理を行っていることになる。
【産業上の利用可能性】
【０１９６】
本発明の排他制御方法、排他制御システムは、ロックオブジェクトの取得に失敗した場合にビジーウェイトによってロックオブジェクトの解放を待つシステムにおいてスループット向上が可能となるため、マルチプロセッサ向けのオペレーティングシステム等に有用である。
【図面の簡単な説明】
【０１９７】
【図１】本発明の第１および第２および第３の実施形態にかかわる排他制御方法を用いたシステム構成の一例を示すブロック図
【図２】本発明の第１の実施形態にかかわる排他制御方法におけるロックオブジェクト取得（ロック）処理の手順を示すフローチャート
【図３】本発明の第１の実施形態にかかわる排他制御方法におけるロックオブジェクト解放（アンロック）処理の手順を示すフローチャート
【図４】本発明の第１および第２および第３の実施形態にかかわる排他制御方法におけるロック区間情報収集開始処理の手順を示すフローチャート
【図５】本発明の第１および第２および第３の実施形態にかかわる排他制御方法におけるロック区間情報収集終了処理の手順を示すフローチャート
【図６】本発明の第２の実施形態にかかわる排他制御方法におけるロックオブジェクト取得（ロック）処理の手順を示すフローチャート
【図７】本発明の第３の実施形態にかかわる排他制御方法におけるロックオブジェクト取得（ロック）処理の手順を示すフローチャート
【図８】本発明の第４および第５および第６の実施形態にかかわる装置群の構成の一例を示すブロック図
【図９】本発明の第４の実施形態にかかわる装置群におけるコンテンツ転送機能のロック取得（ロック）処理の手順を示すフローチャート
【図１０】本発明の第４の実施形態にかかわる装置群におけるコンテンツ転送機能のロック解放（アンロック）処理の手順を示すフローチャート
【図１１】本発明の第５の実施形態にかかわる装置群におけるコンテンツ転送機能のロック取得（ロック）処理の手順を示すフローチャート
【図１２】本発明の第６の実施形態にかかわる装置群におけるコンテンツ転送機能のロック取得（ロック）処理の手順を示すフローチャート
【図１３】ロックオブジェクトを取得（ロック）する処理の一般的な手順を示すフローチャート
【図１４】ロックオブジェクトを解放（アンロック）する処理の一般的な手順を示すフローチャート
【符号の説明】
【０１９８】
１０  プロセッサＡ
１１  プロセスＡ
２０  プロセッサＢ
２１  プロセスＢ
３０  共有資源
３１  資源本体
３２  ロックオブジェクト
４０  相対的な高速動作処理部
５０  携帯端末Ａ
５１  相対的な高速動作処理部Ａ
６０  携帯端末Ｂ
６１  相対的な高速動作処理部Ｂ
７０  ハードディスクレコーダ
７１  コンテンツ転送機能
７２  ロック機能
【図１】
2010113574.tif 000003
【図２】
2010113574.tif 000004
【図３】
2010113574.tif 000005
【図４】
2010113574.tif 000006
【図５】
2010113574.tif 000007
【図６】
2010113574.tif 000008
【図７】
2010113574.tif 000009
【図８】
2010113574.tif 000010
【図９】
2010113574.tif 000011
【図１０】
2010113574.tif 000012
【図１１】
2010113574.tif 000013
【図１２】
2010113574.tif 000014
【図１３】
2010113574.tif 000015
【図１４】
2010113574.tif 000016