(57)【要約】【課題】  デバイス側をユーザが操作中であっても、ホストとのデータ通信を実現することができ、使いやすい情報処理システムを提供することを目的とするものである。【解決手段】  通信装置を利用して、ホストとデバイスとの間でデータ転送を行う情報処理システムにおいて、上記ホストから上記デバイスへのアクセス要求を受信するアクセス要求受信手段と、上記アクセス要求を受信したときに、上記デバイスを操作しているユーザに、上記アクセス要求を受信したことを通知する通知手段とを有することを特徴とする情報処理システムである。【選択図】  図１
2005165788.tif 000002
【特許請求の範囲】
【請求項１】
ホストとデバイスとの間でデータ転送を行う情報処理システムにおいて、
上記ホストから上記デバイスへのアクセス要求を受信するアクセス要求受信手段と；
上記アクセス要求の受信に応じて、上記デバイスを操作しているユーザに、上記アクセス要求の受信を通知する通知手段と；
を有することを特徴とする情報処理システム。
【請求項２】
請求項１において、
上記アクセス要求に応じて、上記ホストを上記デバイスに接続するかどうかを選択する選択手段を有することを特徴とする情報処理システム。
【請求項３】
請求項１において、
上記デバイスのアプリケーションプログラムに、優先度を付与する優先度付与手段を有することを特徴とする情報処理システム。
【請求項４】
請求項１において、
ホストからの接続要求に、優先度を付与し、上記デバイスに通知する優先度通知手段を有することを特徴とする情報処理システム。
【請求項５】
請求項３において、
ホストからの接続要求に、優先度を付与し、上記デバイスに通知する優先度通知手段と；
上記デバイスのアプリケーションプログラムの優先度とホストから通知された優先度に応じて、上記ホストと接続するかどうかを判定する接続判定手段と；
を有することを特徴とする情報処理システム。
【請求項６】
請求項１において、
上記ホストと接続する場合に、デバイスは実行していたアプリケーションプログラムを一時的に中断することを特徴とする情報処理システム。
【請求項７】
請求項６において、
上記ホストとの接続を終了した後に、上記中断したアプリケーションプログラムを再開することを特徴とする情報処理システム。
【請求項８】
ホストからのアクセス要求を受信するアクセス要求受信手段と；
上記アクセス要求の受信に応じて、ユーザに対して上記アクセス要求の受信を通知する通知手段と；
を有することを特徴とするデバイス。
【請求項９】
請求項８において、
上記通知手段は、上記ホストとの接続をユーザに選択させることを特徴とするデバイス。
【請求項１０】
請求項９において、
上記ユーザによる選択に応じて、上記ホストとの接続を行うことを特徴とするデバイス。
【請求項１１】
請求項８において、
上記デバイスが実行中のプログラムの優先度と、上記ホストから通知された優先度とに応じて、上記ホストとの接続を行うことを特徴とするデバイス。
【請求項１２】
請求項８において、
所定のプログラムが実行中か否かを判定する判定手段と；
上記アクセス要求受信手段により上記ホストからのアクセス要求を受信した際に、上記所定のプログラムが実行中の場合に、上記所定のプログラムの実行を中断する中断手段と；
を有することを特徴とするデバイス。
【請求項１３】
請求項１２において、
上記中断手段は、上記ホストとの接続が終了した場合に、中断した上記所定のプログラムの実行を再開することを特徴とするデバイス。
【請求項１４】
ホストからのアクセス要求を受信するアクセス要求受信工程と；
上記アクセス要求の受信に応じて、ユーザに対して上記アクセス要求の受信を通知する通知工程と；
を有することを特徴とするデバイスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストとデバイスとの接続処理に関する。
【背景技術】
【０００２】
ネットワークプロトコルを使用した従来の相互通信において、ファイルやデバイスの排他制御の取り決めが十分にされているので、使い勝手の良い使用環境を実現している。
【０００３】
しかし、上記従来例において、ホストとデバイスとをローカルに直結し、ファイル転送を行う場合、様々な制限がある。
【０００４】
たとえば、ホスト（ＰＣ等）とデバイス（ＰＤＡやデジタルカメラ等）とをＵＳＢなどで直接接続し、上記ホストから、上記デバイスのハードウェア（ハードディスク等）にアクセスする場合、次の（１）〜（３）等の仕様のうちのどれかを使わなければ、接続することができない。
（１）デバイス側で何も操作されていない状態のときにだけ、ホストと接続することができる。つまり、デバイス側で何か操作されていると、ホストと接続することができない。
（２）デバイスの電源をＯｆｆしてホストと接続し、その後に、デバイスをＯｎした場合にのみ、ホストと接続する。つまり、デバイスは、ホスト接続モードで立ち上がる。
（３）ホストとデバイスとの通信を実行する専用プログラムを双方で実行して接続する。
【０００５】
ところで、ホストとデバイスとをＵＳＢ接続する場合に、デバイス側が電源投入されると、バスリセットし、通信を開始することが知られている（たとえば、特許文献１参照）。
【特許文献１】特開平１１‐２８８３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来例では、デバイス側操作に制限が多く、また、デバイス側で、何かプログラムを実行していれば、ホストから通信要求がきても、対応できないという問題がある。
【０００７】
特に、ＵＳＢやＩＥＥＥ１３９４というホットプラグ（活電接続）可能な仕様が広がってきている現在、ユーザの利便性を低下させるという問題がある。
【０００８】
本発明は、デバイス側をユーザが操作中であっても、ホストとのデータ通信を実現することができ、使いやすい情報処理システムを提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明は、ホストとデバイスとの間でデータ転送を行う情報処理システムにおいて、上記ホストから上記デバイスへのアクセス要求を受信するアクセス要求受信手段と、上記アクセス要求の受信に応じて、上記デバイスを操作しているユーザに、上記アクセス要求の受信を通知する通知手段とを有することを特徴とする情報処理システムである。
【００１０】
また、本発明は、ホストからのアクセス要求を受信するアクセス要求受信手段と、上記アクセス要求の受信に応じて、ユーザに対して上記アクセス要求の受信を通知する通知手段とを有することを特徴とするデバイスである。
【００１１】
さらに、本発明は、ホストからのアクセス要求を受信するアクセス要求受信工程と、上記アクセス要求の受信に応じて、ユーザに対して上記アクセス要求の受信を通知する通知工程とを有することを特徴とするデバイスの制御方法である。
【発明の効果】
【００１２】
本発明によれば、デバイスを使用中であっても、ユーザはホストからの接続要求を知ることができるという効果を奏する。
【００１３】
また、本発明によれば、デバイスを使用中であっても、ホストからの接続を受け付けることができ、また、実行中のプログラムが自動的に中断・再開されるので、ユーザに使いやすいシステムであるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１５】
図１は、本発明の実施例１における情報処理システム１００の構成を示すブロック図である。
【００１６】
情報処理システム１００は、ホストＨと、デバイスＤとを有する。
【００１７】
ホストＨは、ＰＣ等で構成され、後述の外部接続ポート５０を介して、デバイスＤと通信する。
【００１８】
デバイスＤは、ＰＤＡ、デジタルカメラ等で構成され、ＣＰＵ１０と、メインメモリ２０と、ＨＤＤ（ハードディスクドライブ）３０と、表示機４０と、外部接続ポート５０とによって構成されている。
【００１９】
ＣＰＵ１０は、デバイスＤのほぼ全てを管理している。メインメモリ２０は、ＣＰＵ１０から必要に応じて読み書きされる。ＨＤＤ３０は、外部記憶装置の例であり、ＣＰＵ１０から読み書きされ、外部接続ポート５０を介して、ホストＨからアクセスされる。
【００２０】
表示機４０は、多くの場合ＬＣＤまたはＣＲＴである。
【００２１】
外部接続ポート５０は、ここを介してホストＨとの通信を行い、標準的な通信ポートとしては、ＵＳＢ／ＩＥＥＥ１３９４／ＵＡＲＴ等がある。
【００２２】
なお、上記実施例におけるプロトコルは、ＴＣＰ／ＩＰ等のように標準的なネットワークプロトコルではなく、ホストＨがデバイスＤの資源に直接アクセスする独自プロトコルである。ＵＳＢでは、マスストレージクラス等で標準化されている。
【００２３】
図２は、デバイスＤをより具体的に示すブロック図である。
【００２４】
メモリ２０には、ホスト・デバイス監視プログラム２１と、ホスト・デバイス通信プログラム２２と、ファイルシステム２３と、アプリケーションプログラム群２４と、その他下位ドライバ２５とが格納される。
【００２５】
ホスト・デバイス監視プログラム２１は、デバイスＤの起動時に、メモリ２０上にロードされる。ホスト・デバイス監視プログラム２１は、オペレーティングシステム（ＯＳ）の助けを借りて、外部接続ポート５０の監視と、ＨＤＤ３０とファイルシステム２３との接続・切断、さらに後述するアプリケーションプログラム群２４の中断と再開とを制御する。
【００２６】
ホスト・デバイス通信プログラム２２は、ファイルシステム２３に代わって、ホストＨとＨＤＤ３０との間で、データ転送を実現するプログラムである。このプロトコルは、ＳＣＳＩプロトコルを利用したり、ＡＴＡＰＩプロトコルを使用したりシステム実装によって様々である。
【００２７】
ＯＳ１１は、デバイスＤの全ての資源を管理している。ファイルシステム２３は、ＨＤＤ３０へのアクセスを管理している。
【００２８】
アプリケーションプログラム群２４は、デバイスＤを操作するユーザとの接点であり、ＯＳ１１やファイルシステム２３の助けを借りて、様々な機能を提供する。
【００２９】
接続許可ＵＩウインドウ４１は、表示機４０に表示され、ホストＨからの接続要求があったことをユーザに知らせるメッセージであり、ユーザは、この回答によって接続の可否を選択することができる。
【００３０】
次に、実施例１の処理概要について説明する。
【００３１】
まず、ホストＨから接続要求が来たときに、デバイスＤの状態として、スタンバイ状態と、作業状態とに分けられる。
【００３２】
（１）デバイスＤがスタンバイ状態である場合。
この状態は、アプリケーションプログラム群２４が、ＯＳ１１やファイルシステム２３を介して、ＨＤＤ３０にアクセスしていない状態であり、ホスト・デバイス監視プログラム２１は、ホストＨからの接続要求を無条件に許可する。
【００３３】
この場合、まず、ファイルシステム２３とＨＤＤ３０とを切り離す必要がある。このようにファイルシステム２３とＨＤＤ３０とを切り離すのは、ファイルシステム２３のキャッシュ処理の同期や、デバイス排他処理を行うために必要な処理である。その後、ホスト・デバイス通信プログラム２２に制御を移し、ホストＨとＨＤＤ３０とのデータ転送を実行する。このデータ転送処理が終わると、切り離していたファイルシステム２３とＨＤＤ３０との接続を復帰させ、ホストＨとの接続処理を終了する。
【００３４】
（２）デバイスＤが作業状態である場合。
この状態は、アプリケーションプログラム群２４が、ＯＳ１１やファイルシステム２３を介して、ＨＤＤ３０にアクセスしている状態である。
【００３５】
この場合、ホスト・デバイス監視プログラム２１は、接続許可ＵＩウインドウ４１を表示し、ユーザに選択を促す。拒否された場合は、ホストＨとの接続を許可せずに、処理を終了する。
【００３６】
ホストＨとの接続が許可された場合、ＯＳ１１の助けを借りて、アプリケーションプログラム群２４を中断し、続いて、ファイルシステム２３とＨＤＤ３０とを切り離す。その後に、ホスト・デバイス通信プログラム２２に制御を移し、ホストＨとＨＤＤ３０とのデータ転送を実行する。データ転送処理が終了したら、切り離していたファイルシステム２３とＨＤＤ３０との接続を復帰させ、さらに、ＯＳ１１の助けを借りて、中断していたアプリケーションプログラム群２４を再開する。
【００３７】
次に、実施例１におけるホスト・デバイス監視プログラム２１の処理動作について説明する。
【００３８】
図３は、実施例１において、ホスト・デバイス監視プログラム２１の処理動作を示すフローチャートである。
【００３９】
この処理は、ホストＨが外部接続ポート５０にアクセスしたときに、ＯＳ１１によって起動される。
【００４０】
Ｓ３０では、ホストＨから接続要求が来たときに、実行中のプログラムがあるかどうかを判別する。実行中のプログラムがあれば、接続許可ＵＩウインドウ４１を表示し、ユーザからの指示を待つ（Ｓ３１）。実行中のプログラムが無ければ（Ｓ３０）、無条件に接続処理に進むために、Ｓ３５に飛ぶ。
【００４１】
Ｓ３２では、ユーザの選択を判別する。接続拒否が選択された場合、Ｓ３３では、ホストＨに接続拒否を通知し、処理を終了する。
【００４２】
接続許可した場合（Ｓ３２）、Ｓ３４では、ＯＳ１１の助けを借りて、実行中のプログラムを中断する。この実行中のプログラムを中断する仕組みは、採用するＯＳによって、様々な実装手法があるので、ここでは特に言及はしない。多くの場合、プログラムの再開に備えて、実行中のＣＰＵ資源やメモリ資源の情報を、ＨＤＤ３０に一時的に退避する。
【００４３】
Ｓ３５では、ホストＨとの間でデータ通信中であることを示すメッセージを、ユーザに表示する。Ｓ３６では、ＯＳ１１の助けを借りて、ファイルシステム２３とＨＤＤ３０とを切り離す。この切り離し処理は、ファイルシステム２３のキャッシュ処理の同期やデバイスアクセス排他のためには必要不可欠な処理である。
【００４４】
上記処理によって、ホストＨからＨＤＤ３０へアクセスするための準備が整った。
【００４５】
したがって、Ｓ３７では、ホストＨとの間におけるデータ転送処理の実行を、ホスト・デバイス通信プログラム２２に依頼する。処理は、通信プログラムが終了するまでウエイトする。
【００４６】
通信プログラムが終了すると、Ｓ３８では、切り離されていたファイルシステム２３とＨＤＤ３０との接続を、ＯＳ１１の助けを借りて、再開させる。Ｓ３４で中断したプログラムがあれば、Ｓ３９で、ＯＳ１１の助けを借りて再開する。この後に、ホスト・デバイス監視プログラム２１は、ホストＨからの再接続要求が来るまで、再びウエイトする。
【００４７】
上記処理によって、デバイスＤ側が操作中であっても、ホストＨからの接続要求を、適切に処理することができる。ユーザは、ホストＨからの要求に対して、その可否を判りやすく選択することができるので、何かの作業をしていたとしても、中断・再開が自動的に行われ、したがって、使いやすさが向上する。
【実施例２】
【００４８】
実施例２は、実施例１において、ホストＨからの要求とデバイスＤ側の実行プログラムとに、優先度を示す数値をつける実施例である。
【００４９】
上記優先度を示す数値は、数段階に分かれている。多くの場合、１〜５程度あれば足りる。ホストＨは、最初の通信で、上記優先度をデバイスＤに通知する。デバイスＤは、ホストＨから通知された優先度と、実行しているプログラムの優先度とを比較し、処理を決定する。
【００５０】
次に、実施例２における優先度処理の具体的な動作について説明する。
【００５１】
図４は、実施例２における優先度処理の動作を示すフローチャートである。
【００５２】
Ｓ４０で、ホストＨから接続要求が来たときに、実行中のプログラムがあるかどうかを判別する。実行中のプログラムがなければ、Ｓ４５で、接続中のメッセージを表示する。
【００５３】
実行中のプログラムがあれば（Ｓ４０）、Ｓ４１で、ホストＨから通知された優先度と、実行中の優先度とをチェックする。ホストＨから通知された優先度が、実行中のプログラムの優先度よりも低い場合（Ｓ４１）、Ｓ４３で、ホストＨに接続拒否を通知し、処理を終わる。
【００５４】
ホストＨから通知された優先度と、実行中のプログラムの優先度とが等しければ（Ｓ４１）、Ｓ４２で、実施例１と同じように、接続許可ＵＩウインドウを表示し、接続するかどうかの選択を、ユーザに促す。
【００５５】
ホストＨから通知された優先度が、実行中のプログラムの優先度よりも高ければ（Ｓ４１）、Ｓ４４で、実行中のアプリケーションを中断する。その後、Ｓ４５で、接続中であることを示すメッセージを表示し、ホストＨとのデータ転送処理を実行する。この後の処理（Ｓ３６〜Ｓ３９）は、実施例１と同じであるので説明を割愛する。
【００５６】
上記のように、優先度を導入し、ホストＨとの接続を制御すれば、優先度の高いホストＨからの接続を優先的に処理し、デバイスＤ側における重要な操作の優先度を高くすれば、予期しないホストＨからの接続要求を自動的に拒絶することができる。
【００５７】
実施例１だけであっても、使いやすいシステムを提供できるが、実施例２において、ホストＨからの要求と実行中のプログラムとに優先度をつけて管理するので、さらに処理を自動化できる。
【実施例３】
【００５８】
実施例１と実施例２とは、ホストＨからデバイスＤ側の資源を使用する場合の実施例である。
【００５９】
実施例３は、これとは逆に、デバイスＤ側がホストＨの資源を使用する場合の実施例である。つまり、実施例３は、デバイスＤ側がホストＨの資源を使用する場合に、実施例１または実施例２を適用した例である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例１における情報処理システム１００の構成を示すブロック図である。
【図２】図２は、デバイスＤ側のシステム制御の概略を示す図である。
【図３】実施例１において、ホスト・デバイス監視プログラム２１の処理動作を示すフローチャートである。
【図４】実施例２における優先度処理の動作を示すフローチャートである。
【符号の説明】
【００６１】
１００…情報処理システム、
Ｄ…デバイス、
１０…ＣＰＵ、
１１…ＯＳ、
２０…メモリ、
２１…ホスト・デバイス監視プログラム、
２２…ホスト・デバイス通信プログラム、
２３…ファイルシステム、
２４…アプリケーションプログラム群、
２５…その他の下位ドライバ、
３０…ＨＤＤ、
４０…表示機、
４１…接続許可ＵＩウインドウ、
５０…外部接続ポート、
Ｈ…ホスト。
【図１】
2005165788.tif 000003
【図２】
2005165788.tif 000004
【図３】
2005165788.tif 000005
【図４】
2005165788.tif 000006