(57)【要約】一実施形態において、アプリケーションアップデータは、システム又はプロセスの障害又は再起動を引き起こすことなく、コンピュータアプリケーションをクリーンに更新することができる。プロセッサは、コンピュータアプリケーションのプレデセサバージョンを実行することができる。プロセッサは、ユーザアカウントレベルで、コンピュータアプリケーションのサクセサバージョンをインストールすることができる。プロセッサは、コンピュータアプリケーションのサクセサバージョンを実行することができる。
2015503812.tif 000002
【特許請求の範囲】
【請求項１】
マシンにより実施される方法であって、
コンピュータアプリケーションのプレデセサバージョンを実行するステップと、
ユーザアカウントレベルで、前記コンピュータアプリケーションのサクセサバージョンをインストールするステップと、
前記コンピュータアプリケーションの前記サクセサバージョンを実行するステップと、
を含む、方法。
【請求項２】
アップデータモジュールを用いて、完全なサクセサバージョンをダウンロードするステップと、
ユーザの目に見えないように、前記アップデータモジュールを実行するステップと、
をさらに含む、請求項１記載の方法。
【請求項３】
前記サクセサバージョンのインストールが実行される間に、前記プレデセサバージョンの実行を維持するステップ
をさらに含む、請求項１記載の方法。
【請求項４】
前記プレデセサバージョンから前記サクセサバージョンへの切り替えを実行するステップと、
前記切り替えの間、前記コンピュータアプリケーションのユーザインターフェースのプレゼンテーションを維持するステップと、
をさらに含む、請求項１記載の方法。
【請求項５】
前記プレデセサバージョン及び前記サクセサバージョンを同時に実行するステップ
をさらに含む、請求項１記載の方法。
【請求項６】
システム再起動の間に、前記プレデセサバージョンのアンインストール操作をスケジュールするステップ
をさらに含む、請求項１記載の方法。
【請求項７】
前記サクセサバージョンを実行している間に、前記プレデセサバージョンをアンインストールするステップ
をさらに含む、請求項１記載の方法。
【請求項８】
方法を詳述した命令のセットを記憶した有体のマシン読み取り可能な媒体であって、前記命令のセットが１以上のプロセッサにより実行されるときに、前記命令のセットは前記１以上のプロセッサに前記方法を実行させ、前記方法は、
コンピュータアプリケーションのプレデセサバージョンを実行するステップと、
前記プレデセサバージョンを無視するアップデータモジュールを用いて、完全なサクセサバージョンをダウンロードするステップと、
前記コンピュータアプリケーションの前記完全なサクセサバージョンをクリーンサクセサデータストレージロケーションに配置するステップと、
を含む、有体のマシン読み取り可能な媒体
【請求項９】
コンピュータアプリケーションの完全なサクセサバージョンをダウンロードする通信インターフェースと、
前記コンピュータアプリケーションのプレデセサバージョンをプレデセサデータストレージロケーションに記憶し、前記完全なサクセサバージョンをクリーンサクセサデータストレージロケーションに記憶するデータストレージと、
前記プレデセサバージョンを実行し、ユーザアカウントレベルで、前記コンピュータアプリケーションの前記完全なサクセサバージョンをインストールするプロセッサと、
を備えた、アプリケーションアップデータ。
【請求項１０】
前記完全なサクセサバージョンのインストールが実行される間に、前記プロセッサは、前記プレデセサバージョンの実行を維持する、請求項９記載のアプリケーションアップデータ。
【発明の詳細な説明】
【背景技術】
【０００１】
ソフトウェア開発者は、ユーザデバイス上のコンピュータプログラムを継続的にアップグレードすることができる。ユーザデバイスは、ソフトウェア開発者により管理されるサーバにコンタクトして、アップグレードが利用可能であるかどうかを確認することができる。アップグレードが利用可能である場合、ユーザデバイスは、ソフトウェアの新たなセクションをダウンロードすることができ、ユーザデバイス上に現在インストールされている既存のプログラムにこうしたセクションを付加することができる。
【発明の概要】
【課題を解決するための手段】
【０００２】
この概要は、詳細な説明において以下でさらに説明されるコンセプトのうち選択したものを簡略化した形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を限定するよう使用されることを意図するものでもない。
【０００３】
以下で説明する実施形態は、システム又はプロセスの障害又は再起動を引き起こすことなく、コンピュータアプリケーションをクリーンに更新することに関する。プロセッサは、コンピュータアプリケーションのプレデセサバージョン（predecessor  version）を実行することができる。プロセッサは、ユーザアカウントレベルで、コンピュータアプリケーションのサクセサバージョン（successor  version）をインストールすることができる。プロセッサは、コンピュータアプリケーションのサクセサバージョンを実行することができる。
【図面の簡単な説明】
【０００４】
上述した利点及び他の利点、並びに特徴を得ることができる態様を説明するために、添付の図面に例示される特定の実施形態を参照することにより、より詳細な記載が説明され提供される。これらの図面は典型的な実施形態のみを表すに過ぎず、したがって、その範囲を限定するものとして考えられるべきではないことを理解されたい。添付の図面を使用することにより、実施例が、追加的な具体性及び詳細さをもって記載され説明される。
【図１】コンピュータネットワークの一実施形態のブロック図を示す。
【図２】コンピューティングデバイスの一実施形態のブロック図を示す。
【図３】更新サービスの一実施形態のデータフロー図を示す。
【図４】コンピュータアプリケーションの更新の一実施形態のブロック図を示す。
【図５】データストレージレイアウトの一実施形態のブロック図を示す。
【図６】コンピュータアプリケーションをアップグレードする方法の一実施形態のフローチャートを示す。
【発明を実施するための形態】
【０００５】
実施形態について、以下で詳細に説明する。特定の実施例について説明されるが、これは例示の目的で説明されるに過ぎないことを理解すべきである。当業者は、本開示の主題の精神及び範囲から逸脱することなく、他のコンポーネント及び構成を使用できることを認識するであろう。実施例は、マシンにより実施される方法であってもよいし、少なくとも１つのプロセッサのための、方法を詳述する命令のセットを記憶した有体のマシン読み取り可能な媒体であってもよいし、又は、コンピューティングデバイスのアプリケーションアップデータ（application  updater）であってもよい。
【０００６】
コンピュータデバイスは、コンピュータデバイスの各ユーザについて、ユーザアカウントを維持することができる。ユーザアカウントは、コンピュータデバイスの他のユーザによるアクセスから、所定のデータファイルを保護することができる。アプリケーションアップデータは、従来のマシン単位に加えて、ユーザ単位で、コンピュータアプリケーションを更新することができる。ユーザ単位の更新では、マシンにおける他のユーザアカウントではなく、あるユーザアカウントについてコンピュータアプリケーションを更新することができる。ユーザアカウントは、マシンレベルでインストールするユーザアカウントのユーザ権限を引き上げることができる。
【０００７】
アプリケーションアップデータが起動するたびに、アプリケーションアップデータは、新たなディレクトリ及びデータストレージロケーションにおいて更新を抽出することができる。したがって、マシンの再起動を引き起こすファイル使用中問題（file-in-use  problem）を取り除くことができる。さらに、マシン上に以前にインストールされたコンピュータアプリケーションの他のバージョンと干渉することなく、コンピュータアプリケーションの異なるバージョンを共存させてインストールすることができ、コンピュータアプリケーションのスムーズなパフォーマンスに対する問題を引き起こすことなく、コンピュータアプリケーションをサイレントに（silently）に更新させることが可能である。アプリケーションアップデータは、コンピュータアプリケーションの同一のバージョン又はより新しいバージョンを、現在のバージョンと干渉することなく、コンピュータアプリケーションのインストール、再インストール、又は修復の一部としてインストールすることができる。利用可能なバージョンがより古いバージョンである場合、アプリケーションアップデータは、コンピュータアプリケーションをダウングレードすることを防止するために、ヌル操作（null  operation）を実行することができる。アプリケーションアップデータは、複数のコンピュータアプリケーションを並列的にインストールすることができる。
【０００８】
したがって、一実施形態において、アプリケーションアップデータは、システム又はプロセスの障害又は再起動を引き起こすことなく、コンピュータアプリケーションをクリーンに更新することができる。プロセッサは、コンピュータアプリケーションのプレデセサバージョンを実行することができる。プロセッサは、ユーザアカウントレベルで、コンピュータアプリケーションのサクセサバージョンをインストールすることができる。プロセッサは、コンピュータアプリケーションのサクセサバージョンを実行することができる。
【０００９】
図１は、コンピュータネットワーク１００の一実施形態のブロック図を示している。ユーザデバイス１１０は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、又は他のコンピューティングデバイスとすることができる。ユーザデバイス１１０は、コンピュータアプリケーション１１２を実行することができる。コンピュータアプリケーション１１２は、ユーザデバイス１１０により実行される任意のソフトウェアプログラム又はファームウェアプログラムとすることができる。コンピュータアプリケーション１１２は、コンピュータアプリケーション１１２の反復（iteration）を示すバージョンを有することができる。コンピュータアプリケーション１１２は、データネットワーク接続１３０を介してアプリケーションサーバ１２０に接続されるアップデータモジュール１１４を有することができる。データネットワーク接続１３０は、ローカルエリアネットワーク接続であってもよいし、インターネット接続であってもよいし、モバイルネットワーク接続であってもよいし、又は、他のネットワーク接続であってもよい。アップデータモジュール１１４は、コンピュータアプリケーション１１２の新たなバージョンが利用可能であるかどうかを確認するために、アプリケーションサーバ１２０に問い合わせることができる。プレデセサバージョンが、ユーザデバイス上で現在実行されているコンピュータアプリケーション１１２のバージョンである。サクセサバージョンが、コンピュータアプリケーション１１２の新たなバージョンである。アップデータモジュール１１４は、プレデセサバージョンと置き換えるために、サクセサバージョンをダウンロードすることができる。
【００１０】
図２は、アプリケーションアップデータとして動作することができる例示的なコンピューティングデバイス２００のブロック図を示している。コンピューティングデバイス２００は、アプリケーションアップデータを実装するために、ハードウェア、ソフトウェア、ファームウェア、及びシステムオンチップ技術の１以上を組み合わせることができる。コンピューティングデバイス２００は、バス２１０、プロセッサ２２０、メモリ２３０、リードオンリメモリ（ＲＯＭ）２４０、ストレージデバイス２５０、入力デバイス２６０、出力デバイス２７０、及び通信インターフェース２８０を含み得る。バス２１０により、コンピューティングデバイス２００のコンポーネント間での通信が可能となる。
【００１１】
プロセッサ２２０は、命令のセットを解釈し実行する少なくとも１つの従来型のプロセッサ又はマイクロプロセッサを含み得る。メモリ２３０は、ランダムアクセスメモリ（ＲＡＭ）であってもよいし、又は、プロセッサ２２０により実行される情報及び命令を記憶する別のタイプの動的なストレージデバイスであってもよい。メモリ２３０は、プロセッサ２２０による命令の実行中に使用される一時変数又は他の中間情報を記憶することもできる。ＲＯＭ２４０は、従来型のＲＯＭデバイス、又は、プロセッサ２２０のための静的な情報及び命令を別のタイプの静的なストレージデバイスを含み得る。ストレージデバイス２５０は、例えば、磁気記録媒体又は光記録媒体及びその対応するドライブといった任意のタイプの有体のマシン読み取り可能な媒体を含み得る。有体のマシン読み取り可能な媒体は、トランジトリな媒体又は信号ではなく、マシン読み取り可能なコード又は命令を記憶する物理媒体である。ストレージデバイス２５０は、方法を詳述した命令のセットを記憶することができ、命令のセットは、１以上のプロセッサにより実行されるときに、１以上のプロセッサに前述の方法を実行させる。
【００１２】
入力デバイス２６０は、キーボード、マウス、音声認識デバイス、マイクロフォン、ヘッドセットなど、ユーザが情報をコンピューティングデバイス２００に入力することを可能にする１以上の従来型の機構を含み得る。出力デバイス２７０は、ディスプレイ、プリンタ、１以上のスピーカ、ヘッドセット、又は、メモリ若しくは磁気ディスク若しくは光ディスク及び対応するディスクドライブなどの媒体など、ユーザに情報を出力する１以上の従来型の機構を含み得る。通信インターフェース２８０は、コンピューティングデバイス２００が他のデバイス又はネットワークと通信することを可能にするトランシーバのような機構を含み得る。通信インターフェース２８０は、ネットワークインターフェース又はトランシーバインターフェースを含み得る。通信インターフェース２８０は、無線インターフェースであってもよいし、有線インターフェースであってもよいし、又は光インターフェースであってもよい。
【００１３】
コンピューティングデバイス２００は、例えば、メモリ２３０、磁気ディスク、又は光ディスクといったコンピュータ読み取り可能な媒体に含まれる一連の命令をプロセッサ２２０が実行することに応じて、そのような機能を実行することができる。そのような命令は、ストレージデバイス２５０などの別のコンピュータ読み取り可能な媒体からメモリ２３０に読み込まれてもよいし、または、通信インターフェース２８０を介して別個のデバイスからメモリ２３０に読み込まれてもよい。
【００１４】
図３は、コンピュータアプリケーション１１２に関する更新サービス３００の一実施形態のデータフロー図を示している。開始時、コンピュータアプリケーション１１２の現在のバージョン３０２は、アップデータモジュール１１４に、アプリケーションサーバ１２０からの更新を要求するよう命令することができる。アプリケーションサーバ１２０は、更新パッケージをアップデータモジュール１１４に送信することができる。更新パッケージは、更新マニフェスト（update  manifest）３０４と、コンピュータアプリケーション１１２の現在のバイナリ３０６とを有し得る。更新マニフェスト３０４は、インストールされるファイルのリストである。更新マニフェスト３０４は、ファイルパス、ファイルサイズ、任意のレジストリキー、及び各ファイルについての任意のエラーチェッキング機構を記述することができる。更新マニフェスト３０４は、拡張マークアップ言語（ＸＭＬ）フォーマットであってよい。現在のバイナリ３０６は、コンピュータアプリケーション１１２に関する実行可能ファイル、又は、デジタルリンクライブラリといった関連ファイルである。アップデータモジュール１１４は、更新パッケージを使用して、インストールのためのインストーラモジュール３０８を作成することができる。
【００１５】
図４は、コンピュータアプリケーションの更新４００の一実施形態のブロック図を示している。アプリケーションサーバ１２０から送信される更新パッケージ４０２は、インストーラコード４０４、ニュートラルリソース（neutral  resource）４０６のセット、ローカライズ可能なリソース４０８のセット、及びペイロード４１０を有し得る。インストーラコード４０４は、ユーザデバイス上にインストーラモジュール３０８をインスタンス化する。ニュートラルリソース４０６のセットは、インストール中に表示されるアイコン、ローカライズ不可能な文字列、及びローカライズ不可能な画像といった、インストール中に使用される一般的なリソースのセットである。ローカライズ可能なリソース４０８のセットは、メッセージ、プロンプト、及び音といった、インストール中に使用される言語固有のリソースのセットである。ペイロード４１０は、更新マニフェスト３０４及び現在のバイナリ３０６であり得る。
【００１６】
図５は、データストレージレイアウト５００の一実施形態のブロック図を示している。ユーザデバイス１００は、複数のユーザに対する複数のユーザアカウントをサポートし得る。ユーザアカウントは、他のユーザからパスワードで保護され得る。データストレージデバイス２５０は、複数のユーザに関する複数のアプリケーションプロファイルを記憶することができる。第１のユーザは、コンピュータアプリケーション１１２を更新することができるのに対し、第２のユーザは、更新をなしで済ませることができる。管理者５０２は、各ユーザアカウントについて、コンピュータアプリケーション１１２を更新することができる。プライマリユーザアカウント５０４は、コンピュータアプリケーションの更新を実行しているユーザアカウントである。セカンダリユーザアカウント５０６は、コンピュータアプリケーションの更新をアクティブには実行していないユーザアカウントである。セカンダリユーザアカウント５０６は、アクティブであってもよいし、又は、休眠状態であってもよい。
【００１７】
データストレージ２５０は、コンピュータアプリケーションのプレデセサバージョン５０８をプレデセサロケーション５１０に記憶することができる。プライマリユーザアカウント５０４は、プレデセサバージョン５０８を参照するプライマリファイルネーム５１２をプライマリネームデータストレージロケーション５１４に記憶することができる。ファイルネームは、データファイルへのハードリンクである。プライマリファイルネーム５１２は、プレデセサバージョン５０８へのハードリンクであり得る。プレデセサバージョン５０８は、管理者アカウント５０２により変更されない限り、不変なものであり得る。プライマリユーザアカウント５０４は、ユーザアカウントレベルで、コンピュータアプリケーション１１２のユーザサクセサバージョン５１６をインストールすることができる。ユーザアカウントレベルインストールでは、プライマリユーザアカウント５０４のためのユーザサクセサバージョン５１６をインストールするが、セカンダリユーザアカウント５０６に対する更新はなしで済ませる。プライマリユーザアカウント５０４は、ユーザサクセサバージョン５１６を、クリーンユーザサクセサデータストレージロケーション５１８に配置することができる。クリーンデータストレージロケーションは、その位置に記憶されたコンピュータアプリケーション１１２のバージョンを現在有していない。コンピュータアプリケーション１１２のバージョンがデータストレージロケーションに存在し、その後デレジスタリング（deregistering）などにより従来のように消去された場合であっても、データストレージロケーションは、クリーンであると考えられ得る。ユーザサクセサバージョン５１６は、コンピュータアプリケーション１１２の完全なサクセサバージョンであり得る。完全なサクセサバージョンは、プレデセサバージョンと比較されておらず、オーバーラッピングセクションが取り除かれていないサクセサバージョンである。プライマリファイルネーム５１２は、ユーザサクセサバージョン５１６へのハードリンクに上書きされ得る。
【００１８】
セカンダリユーザアカウント５０６は、コンピュータアプリケーション１１２のセカンダリファイルネーム５２０をセカンダリネームデータストレージロケーション５２２に記憶することができる。セカンダリファイルネーム５２０は、プレデセサバージョン５０８へのハードリンクであり得る。プライマリファイルネーム５１２が、ユーザサクセサバージョン５１６へのハードリンクになった場合でも、セカンダリファイルネーム５２０は、プレデセサバージョン５０８へのハードリンクを維持することができる。
【００１９】
管理者アカウント５０２は、マシンレベルで、プレデセサバージョン５０８をコンピュータアプリケーション１１２の管理者サクセサバージョン５２４と置き換えることができる。管理者アカウント５０２は、管理者サクセサバージョン５２４をクリーン管理者サクセサデータストレージロケーション５２６に配置することができる。オペレーティングシステムは、マシンレベルで更新するために、ユーザアカウントのユーザステータスを管理者権限に引き上げることができる。マシンレベルでの更新では、サクセサバージョンを、ユーザデバイス１１０上の各ユーザアカウントに対してインストールする。管理者アカウント５０２は、プライマリファイルネーム５１２及びセカンダリファイルネーム５２０を、管理者サクセサバージョン５２４へのハードリンクに再設定することができる。
【００２０】
図６は、コンピュータアプリケーション１１２をアップグレードする方法６００の一実施形態のフローチャートを示している。アプリケーションアップデータは、コンピュータアプリケーション１１２のプレデセサバージョン５０８を実行することができる（ブロック６０２）。アプリケーションアップデータは、ユーザの目に見えないように、アップデータモジュール１１４を実行することができる（ブロック６０４）。アプリケーションアップデータは、プレデセサバージョン５０８を無視するアップデータモジュール１１４を用いて、完全なサクセサバージョン５１６をダウンロードすることができる（ブロック６０６）。インストールがマシン単位の場合（ブロック６０８）、アプリケーションアップデータは、ユーザステータスを管理者権限に引き上げることができる（ブロック６１０）。アプリケーションアップデータは、マシンレベルで、コンピュータアプリケーション１１２の完全なサクセサバージョン５２４をインストールすることができる（ブロック６１２）。インストールがユーザ単位の場合（ブロック６０８）、アプリケーションアップデータは、ユーザアカウントレベルで、コンピュータアプリケーションの完全なサクセサバージョン５１６をインストールすることができる（ブロック６１４）。アプリケーションアップデータは、完全なサクセサバージョン５１６のインストールが実行される間に、プレデセサバージョン５０８の実行を維持することができる（ブロック６１６）。アプリケーションアップデータは、完全なサクセサバージョン５１６をクリーンサクセサデータストレージロケーション５１４に配置することができる（ブロック６１８）。アプリケーションアップデータは、コンピュータアプリケーション１１２のプレデセサバージョン５０８及び完全なサクセサバージョン５１６を同時に実行することができる（ブロック６２０）。アプリケーションアップデータは、プレデセサバージョン５０８から完全なサクセサバージョン５１６への切り替えを実行することができる（ブロック６２２）。アプリケーションアップデータは、切り替えの間、コンピュータアプリケーション１１２のユーザインターフェースのプレゼンテーション（presentation）を維持することができる（ブロック６２４）。アプリケーションアップデータは、プレデセサバージョン５０８のアンインストール操作をスケジュールすることができる（ブロック６２６）。アンインストール操作がシステム再起動の間にスケジュールされている場合（ブロック６２８）、アプリケーションアップデータは、システム再起動の間に、プレデセサバージョン５０８をアンインストールすることができる（ブロック６３０）。そうでなければ、アプリケーションアップデータは、完全なサクセサバージョン５１６を実行している間に、プレデセサバージョン５０８をアンインストールすることができる（ブロック６３２）。
【００２１】
主題が、構造的特徴及び／又は方法論的動作に特有の言葉で説明されてきたが、添付の特許請求の範囲における主題は、上述した特定の特徴又は動作に必ずしも限定される必要はないことを理解すべきである。むしろ、上述した特定の特徴及び動作は、請求項を実施するための例示的な形態として開示されたものである。
【００２２】
本発明の範囲内にある実施形態はまた、記憶されたコンピュータ実行可能命令又はデータ構造を運ぶ又は有する非トランジトリなコンピュータ読み取り可能な記憶媒体を含み得る。そのような非トランジトリなコンピュータ読み取り可能な記憶媒体は、汎用コンピュータ又は専用コンピュータによりアクセスされ得る任意の利用可能な媒体とすることができる。限定ではなく、例として、そのような非トランジトリなコンピュータ読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、若しくは他の光ディスクストレージデバイス、磁気ディスクストレージデバイス、若しくは他の磁気ストレージデバイス、又は、コンピュータ実行可能命令又はデータ構造の形態の所望のプログラムコード手段を運ぶ又は記憶するために使用され得る任意の他の媒体を含み得る。上記の組合せもまた、非トランジトリなコンピュータ読み取り可能な記憶媒体の範囲内に含まれるべきでる。
【００２３】
実施形態はまた、タスクが通信ネットワークを介して（有線リンク、無線リンク、又はそれらの組合せにより）リンクされるローカル処理デバイス及びリモート処理デバイスにより実行される分散コンピューティング環境においても実行され得る。
【００２４】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理デバイスに所定の機能又は機能の一群を実行させる命令及びデータを含む。コンピュータ実行可能命令はまた、スタンドアロン環境又はネットワーク環境におけるコンピュータにより実行されるプログラムモジュールも含む。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、及びデータ構造などを含む。コンピュータ実行可能命令、関連するデータ構造、及びプログラムモジュールは、本明細書で開示した方法のステップを実行するプログラムコード手段の例を表す。特定の一連のそのような実行可能命令又は関連するデータ構造は、そのようなステップにおいて記載される機能を実装する対応する動作の例を表す。
【００２５】
上記の説明は、特定の詳細を含み得るが、そのような詳細は、請求項を限定するものとして解釈すべきではない。説明した実施形態の他の構成も、本開示の範囲の一部である。例えば、本開示の原理を各個別のユーザに適用することができ、各ユーザは、個別にそのようなシステムを展開することができる。多数の可能な用途のいずれか１つが本明細書で説明した機能を使用しない場合であっても、これにより、各ユーザは、本開示の利点を利用することが可能となる。電子デバイスの多くの例の各々が、様々な形で、本内容を処理することができる。実施例は、必ずしも、全てのエンドユーザにより使用される一システムに含まれる必要はない。したがって、提供された特定の例ではなく、添付の請求項及びその正当な均等な構成だけが、本発明を定めるべきである。
【図１】
2015503812.tif 000003
【図２】
2015503812.tif 000004
【図３】
2015503812.tif 000005
【図４】
2015503812.tif 000006
【図５】
2015503812.tif 000007
【図６】
2015503812.tif 000008
【国際調査報告】
2015503812.tif 000009
2015503812.tif 000010