(57)【特許請求の範囲】
【請求項１】
変換元端末装置に表示される画面を変換し変換先端末装置で操作可能とするような、前記変換先端末装置に表示される画面を生成するための情報を提供する画面変換システムであって、
前記変換元端末装置の記憶部は、
前記変換元端末装置向けの画面を構成する要素であるＵＩ要素に基づいて、前記変換先端末装置向けの画面のうちいずれの画面を適用するかを判断するための指標である画面ＩＤを生成するためのルールに関する情報を格納しているＵＩルール情報と、
前記変換先端末装置向けの画面のレイアウトを定義する情報であるレイアウト定義を格納しているレイアウト定義情報と、
を記憶しており、
前記変換元端末装置の制御部は、
前記変換元端末装置の画面に含まれる前記ＵＩ要素の種別とその主従関係に従い、前記ＵＩルール情報に基づいて当該画面の画面ＩＤを生成し、
前記生成した画面ＩＤと、前記レイアウト定義が有する画面ＩＤとが一致するか否かを判定し、
当該判定結果が一致する場合には、前記レイアウト定義を検索する第一の検索処理を実行して、前記レイアウト定義を選択し、
当該判定結果が一致しない場合には、前記生成した画面ＩＤと、前記レイアウト定義が有する画面ＩＤとが類似する度合いである類似度を算出し、前記算出した類似度に基づいて前記レイアウト定義を検索する第二の検索処理を実行して、前記レイアウト定義を選択し、
前記選択されたレイアウト定義に基づいて、前記変換先端末装置向けの画面を生成するための情報であるレイアウト情報を生成し、前記変換先端末装置に送信し、
前記変換先端末装置の制御部は、
前記受信したレイアウト情報に基づき、画面を生成し、表示する、
ことを特徴とする、画面変換システム。
【請求項２】
前記変換元端末装置の制御部は、
前記生成した画面ＩＤに含まれる前記ＵＩ要素と、前記レイアウト定義が有する画面ＩＤに含まれる前記ＵＩ要素との差分が、所定の閾値を超える場合には、当該レイアウト定義を選択しない、
ことを特徴とする、請求項１に記載の画面変換システム。
【請求項３】
前記変換元端末装置の制御部は、
前記レイアウト定義を作成する対象となる画面の選択を受け付け、
前記選択された画面に含まれる前記ＵＩ要素の種別とその主従関係に従い、前記ＵＩルール情報に基づいて当該画面の画面ＩＤを生成し、当該生成した画面ＩＤを有する前記レイアウト定義のひな型を生成する、
ことを特徴とする、請求項１または請求項２に記載の画面変換システム。
【請求項４】
前記変換元端末装置の制御部は、
前記第一の検索処理および前記第二の検索処理の少なくとも一方を行う旨の指定を受け付け、当該指定に基づいて前記検索処理を実行し、当該検索処理において前記レイアウト定義を選択しない場合は、予め用意されているレイアウト定義である標準レイアウト定義に基づいて、前記レイアウト情報を生成する、
ことを特徴とする、請求項１ないし請求項３のいずれか１項に記載の画面変換システム。
【請求項５】
前記変換元端末装置の制御部は、
前記検索処理を実行した回数のうち前記レイアウト定義を選択した回数の割合である成功率を求め、前記変換元端末装置のユーザに通知する、
ことを特徴とする、請求項１ないし請求項４のいずれか１項に記載の画面変換システム。
【請求項６】
前記変換元端末装置の制御部は、前記第二の検索処理を実行する場合、
式：画面ＩＤの類似度＝ｍａｘ｛０，（Ｅａｐｐ−Ｅｄｉｆｆ）｝／Ｅａｐｐ
を用いて前記類似度を算出し、
前記Ｅａｐｐは、前記変換元端末装置向けの画面に含まれるＵＩ要素の数であり、
前記Ｅｄｉｆｆは、前記変換元端末装置向けの画面に含まれ、前記レイアウト定義が有する画面ＩＤに含まれない前記ＵＩ要素の数と、前記変換元端末装置向けの画面に含まれず、前記レイアウト定義が有する画面ＩＤに含まれる前記ＵＩ要素の数と、の和である、
ことを特徴とする、請求項１ないし請求項５のいずれか１項に記載の画面変換システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に対して、他の情報処理装置から遠隔操作可能とするような、情報処理装置間の画面変換を行う画面変換システムに関する。
【背景技術】
【０００２】
従来より、情報処理装置に対して、ネットワークを介して他の情報処理装置から遠隔操作を行う遠隔操作システムが広く利用されている。最近では、パーソナルコンピュータにおいて起動しているアプリケーションを、スマートフォン等の移動体端末装置により遠隔操作することが頻繁に行われている。その際、パーソナルコンピュータ向けのアプリケーションの画面を、スマートフォン向けに変換し、変換された画面に従ってユーザがスマートフォンを操作することで、遠隔操作が行われている。
【０００３】
特許文献１に記載の技術は、操作対象端末装置（変換元端末装置）の表示画面を解析し、表示されているオブジェクトの種類や名前、ラベルおよび画面上の座標軸を含むプロパティ情報（段落０１０３）を取得し、操作側端末装置（変換先端末装置）で表示可能なデータ形式で出力する（段落０１０９）。そして、操作側端末装置をユーザが操作することで、操作対象端末装置を遠隔操作することができる。
【０００４】
特許文献２に記載の技術は、操作側端末装置と操作対象端末装置との間の通信を仲介する中間情報処理装置を備え、中間情報処理装置は操作側端末装置と操作対象端末装置との間で送受信される情報を抽出して解析し、送受信される情報を予め設定された変換方法に基づいて、受信側において求められる表現形式に変換する（段落０００９）。
【０００５】
特許文献３に記載の技術は、操作側端末装置と操作対象機器との間に、操作側端末装置のデータモデル、プレゼンテーション、ユーザインタフェースの差異を吸収するサーバにより、遠隔操作を可能としている（段落００３３）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３６２０７１６号
【特許文献２】特開２００２−３００６７０号公報
【特許文献３】特開２００７−２８８５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１および特許文献２に記載の技術は、操作側端末装置の仕様やユーザインタフェース構成要素の種類により、レイアウト変換方法があらかじめ決定されている。また、操作対象端末装置のアプリケーションの状態（遷移）を考慮せず、既定のレイアウト変換方法に従ってユーザインタフェース構成要素を配置している。そのため、操作対象端末装置側のアプリケーションやウィンドウに対して個別にレイアウト変換方法の設定をすることができない。
【０００８】
特許文献２に記載の技術は、操作対象端末装置側のアプリケーションに対する操作の組み合わせごとに、レイアウト変換方法を設定している。そのため、操作対象端末装置側のアプリケーションの状態（遷移）について、設計仕様の理解やプログラムの解析が必要である。
【０００９】
また、パーソナルコンピュータにおいて起動しているアプリケーションを、スマートフォンで遠隔操作可能とするような画面変換システムや遠隔操作システムの開発には、各プラットフォームでの開発作業が必要であった。したがって、多数のプラットフォームに対応した画面変換システムや遠隔操作システムを開発するには、アプリケーションの設計仕様やプログラムの理解や解析が必要となり、開発期間が長期化しコストが高くなっていた。
開発期間が長期化すると、技術の進歩が目覚ましく、短期間でモデルチェンジが行われるスマートフォンに対応した画面変換システムや遠隔操作システムの開発が困難となり、開発に伴うコスト回収も困難となる問題が生じていた。
【００１０】
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、スマートフォン上からパーソナルコンピュータ上のアプリケーションの遠隔操作を行うためにパーソナルコンピュータ上のアプリケーションの画面をスマートフォン向けに変換する画面変換システムを提供することを課題とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するため、本発明による画面変換システムは、変換元端末装置に表示される画面を変換し変換先端末装置で操作可能とするような、前記変換先端末装置に表示される画面を生成するための情報を提供する画面変換システムであって、前記変換元端末装置の記憶部は、前記変換元端末装置向けの画面を構成する要素であるＵＩ要素に基づいて、前記変換先端末装置向けの画面のうちいずれの画面を適用するかを判断するための指標である画面ＩＤを生成するためのルールに関する情報を格納しているＵＩルール情報と、記変換先端末装置向けの画面のレイアウトを定義する情報であるレイアウト定義を格納しているレイアウト定義情報と、を記憶しており、前記変換元端末装置の制御部は、前記変換元端末装置の画面に含まれる前記ＵＩ要素の種別とその主従関係に従い、前記ＵＩルール情報に基づいて当該画面の画面ＩＤを生成し、前記生成した画面ＩＤと、前記レイアウト定義が有する画面ＩＤとが一致するか否かを判定し、当該判定結果が一致する場合には、前記レイアウト定義を検索する第一の検索処理を実行して、前記レイアウト定義を選択し、当該判定結果が一致しない場合には、前記生成した画面ＩＤと、前記レイアウト定義が有する画面ＩＤとが類似する度合いである類似度を算出し、前記算出した類似度に基づいて前記レイアウト定義を検索する第二の検索処理を実行して、前記レイアウト定義を選択し、前記選択されたレイアウト定義に基づいて、前記変換先端末装置向けの画面を生成するための情報であるレイアウト情報を生成し、前記変換先端末装置に送信し、前記変換先端末装置の制御部は、前記受信したレイアウト情報に基づき、画面を生成し、表示する、ことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、スマートフォン上からパーソナルコンピュータ上のアプリケーションの遠隔操作を行うためにパーソナルコンピュータ上のアプリケーションの画面をスマートフォン向けに変換する画面変換システムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係る画面変換システムの構成を説明する図である。
【図２】ＵＩルール情報を説明する図である。
【図３】レイアウト定義情報を説明する図である。
【図４】画面ＩＤの差分を説明する図である。
【図５】マッチング結果ログ情報を説明する図である。
【図６】画面変換システムの処理内容を説明するシーケンス図である。
【図７】レイアウト定義情報作成処理のフローチャートである。
【図８】レイアウト定義情報検索処理のフローチャートである。
【図９】レイアウト定義適用処理のフローチャートである。
【発明を実施するための形態】
【００１４】
以降、本発明を実施するための形態（「本実施形態」という）を、図等を参照しながら詳細に説明する。また、本実施形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１５】
＜システム構成＞
図１は、本実施形態に係る画面変換システムの構成を説明する図である。
画面変換システムＳは、変換元端末装置であるパーソナルコンピュータ１００、変換先端末装置であるスマートフォン２００が、ネットワーク３００を介して相互に通信可能なように接続される。
【００１６】
（概要）
画面変換システムＳは、パーソナルコンピュータ１００において起動しているアプリケーションを、ネットワーク３００を介して、スマートフォン２００により遠隔操作可能とするように画面を変換するシステムである。画面変換システムＳは、パーソナルコンピュータ１００向けのアプリケーションの画面をスマートフォン２００向けに変換し、変換された画面（変換画面）に従ってユーザがスマートフォンを操作することで、遠隔操作が行われる。パーソナルコンピュータ１００において起動されるアプリケーションは数多く存在し、１つのアプリケーションにおける画面も数多く存在する。このような多種多様な画面の中には、それぞれ似通った画面も存在する。そこで、本実施形態の画面変換システムＳは、多種多様な画面に対して個々の変換画面を定義せず、似通った複数の画面に対し１つの変換画面を定義して適用する。
【００１７】
（パーソナルコンピュータ）
パーソナルコンピュータ１００は、一般的なコンピュータであり、相互にバスで接続された、中央制御装置（制御部）１１０、主記憶装置（記憶部）１２０、補助記憶装置（記憶部）１３０、入力装置（入力部）１４０、出力装置（出力部）１５０および通信装置（通信部）１６０を有する。
【００１８】
中央制御装置１１０は、プログラムであるＵＩ（user interface）構成情報取得部１２１、レイアウト定義マッチング部１２２、スマートフォン向けレイアウト情報生成部１２３、レイアウト定義作成支援部１２４、ＵＩハンドリング部１２５およびＵＩ更新部１２６を実行して、パーソナルコンピュータ１００を制御する（詳細後記）。
【００１９】
主記憶装置１２０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等であり、ＵＩ（user interface）構成情報取得部１２１、レイアウト定義マッチング部１２２、スマートフォン向けレイアウト情報生成部１２３、レイアウト定義作成支援部１２４、ＵＩハンドリング部１２５およびＵＩ更新部１２６を記憶する。これらはプログラムである。以降、「○○部は」と主体を記した場合は、中央制御装置１１０が必要に応じ記憶媒体から各プログラムを読み出した上で主記憶装置１２０にロードし、各機能（後記）を実行するものとする。各プログラムは、予め補助記憶装置１３０に記憶されていてもよいし、他の記憶媒体または通信媒体を介して、必要なときにパーソナルコンピュータ１００に取り込まれてもよい。
【００２０】
補助記憶装置１３０は、ＨＤＤ(Hard Disk Drive)等であり、ＵＩルール情報１３１、レイアウト定義情報１３２およびマッチング結果ログ情報１３３を記憶している（詳細後記）。
【００２１】
入力装置１４０は、マウス、キーボード、タッチパネル等であり、パーソナルコンピュータ１００のユーザからの指示を受け付ける。
出力装置１５０は、ディスプレイ等であり、パーソナルコンピュータ１００の画面を表示する装置である。
通信装置１６０は、ネットワーク３００を介して、スマートフォン２００等の外部機器との情報のやりとりを仲介する。
【００２２】
（スマートフォン）
スマートフォン２００は、一般的な移動体端末装置であり、相互にバスで接続された、中央制御装置（制御部）２１０、主記憶装置（記憶部）２２０、補助記憶装置（記憶部）２３０、入出力装置（入出力部）２４０および通信装置（通信部）２５０を有する。
【００２３】
中央制御装置２１０は、プログラムであるＵＩ生成部２２１、ＵＩハンドリング部２２２およびＵＩ更新部２２３を実行して、スマートフォン２００を制御する（詳細後記）。
【００２４】
主記憶装置２２０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等であり、ＵＩ生成部２２１、ＵＩハンドリング部２２２およびＵＩ更新部２２３を記憶する。これらはプログラムである。以降、「○○部は」と主体を記した場合は、中央制御装置２１０が必要に応じ記憶媒体から各プログラムを読み出した上で主記憶装置２２０にロードし、各機能（後記）を実行するものとする。各プログラムは、予め補助記憶装置２３０に記憶されていてもよいし、他の記憶媒体または通信媒体を介して、必要なときにスマートフォン２００に取り込まれてもよい。
【００２５】
補助記憶装置２３０は、ＨＤＤ(Hard Disk Drive)等であり、データやプログラムを記憶している。
入出力装置２４０は、入力装置および出力装置が一体化したタッチパネル等であり、スマートフォン２００のユーザからの指示を受け付けたり、スマートフォン２００の画面を表示したりする装置である。
通信装置２５０は、ネットワーク３００を介して、パーソナルコンピュータ１００等の外部機器との情報のやりとりを仲介する。
なお、入出力装置２４０は、入力装置および出力装置のように、別個の装置であってもよい。
【００２６】
＜ＵＩルール情報＞
次に、図２に沿って、ＵＩルール情報１３１を説明する。ＵＩルール情報１３１は、パーソナルコンピュータ１００向けのアプリケーションの画面のうち、相互に似通った複数の画面に対して１つの変換画面を適用する際に、いずれの変換画面を適用するかを判断するための指標である画面ＩＤを生成するためのルールに関する情報（ルール情報）を格納する。ルール情報とは、画面ＩＤが生成される際に、除外されるＵＩ要素の種別および除外範囲（属性）を定義した情報である。
ＵＩルール情報１３１には、画面変換システムＳにおいて予め用意されているルール情報や、ユーザが作成したルール情報が格納されている。
【００２７】
図２は、ＵＩルール情報１３１を説明する図である。（ａ）は、ＵＩルール情報１３１の例である。（ｂ）は、パーソナルコンピュータ１００向けのアプリケーションの画面の例である。（ｃ）は、ＵＩ要素の主従関係をツリー構造（階層構造）で表したものである。（ｄ）は、ＵＩルール情報１３１に基づいて画面ＩＤ（identifier）4が生成される際に対象となるＵＩ要素を説明する図である。（ｅ）は、生成された画面ＩＤを説明する図である。
ここで、ＵＩ要素とは、画面を構成する要素であり、画面ＩＤを生成する際に用いられる。このＵＩ要素には、例えば、Window、Menu、TextBox、CheckBox、RadioButton等の様々な種別がある。
【００２８】
ＵＩルール情報１３１は、図２（ａ）に示すようにＸＭＬ（Extensible Markup Language）形式で記述される。
符号１３１ａに示す例では、ＵＩ要素の種別「Menu」に対して、当該ＵＩ要素自体と、ツリー構造上の全ての子ＵＩ要素を除外することが定義されている。また、符号１３１ｂに示す例では、ＵＩ要素の種別「RadioButton」に対して、当該ＵＩ要素自体を除外し、ツリー構造上の子ＵＩ要素を除外しないことが定義されている。
【００２９】
符号１３１ａに示す例について、図２（ｂ）に沿って説明する。パーソナルコンピュータ１００向けのアプリケーションの画面は、図２（ｂ）に示すように、ＵＩ要素である、Window４００、Menu４１０ａ、Menu４１０ｂ、TextBox４２０ａ、TextBox４２０ｂ、Button４３０ａおよびButton４３０ｂを含んで構成されている。ここで、ユーザがMenu４１０ａを選択すると、Menu４１０ａに従属するＵＩ要素（子ＵＩ要素）であるSubMenuが更に表示される（図示は省略）。なお、子ＵＩ要素とは、他のＵＩ要素に従属するＵＩ要素である。また、子ＵＩ要素が従属するＵＩ要素を、親ＵＩ要素と呼ぶ。
【００３０】
図２（ｂ）に示す例において、ＵＩ要素の主従関係をツリー構造で表したものが、図２（ｃ）である。図２（ｃ）は、図２（ｂ）のWindow４００配下に、Menu４１０ａ、Menu４１０ｂ、TextBox４２０ａ、TextBox４２０ｂ、Button４３０ａおよびButton４３０ｂが属し、Menu４１０ａおよびMenu４１０ｂの配下にそれぞれSubMenuが属していることを示している。
【００３１】
ここで、図２（ａ）の符号１３１ａには、ＵＩ要素「Menu」に対して、当該ＵＩ要素自体と、ツリー構造上の全ての子ＵＩ要素を除外することが定義されているので、Menu４１０ａおよびMenu４１０ｂの配下にそれぞれ属しているSubMenuも、画面ＩＤが生成される際に除外されることとなる。これを説明する図が、図２（ｄ）である。図２（ｄ）が図２（ｂ）と異なる点は、Menu４１０ａおよびMenu４１０ｂを含まないことである。
図２（ａ）〜（ｄ）に示したように、ＵＩルール情報１３１に基づいて生成した画面ＩＤが、図２（ｅ）である。本実施形態において、画面ＩＤは、全てのＵＩ要素の親ＵＩ要素（最上位階層）となる「Window」を基準とし、深さ（階層）が浅い順にＵＩ要素の種別を並べた文字列とする。
【００３２】
例えば、図２（ｂ）のＵＩ要素に加え、更に、「Tools」と表示されるＵＩ要素「Menu」を含む画面が存在した場合、ＵＩ要素「Menu」が除外されずに画面ＩＤが生成されると、これら２つの画面の差異は僅少にも関らず、別個の画面ＩＤが生成される。
このように、ＵＩルール情報１３１に基づいて、画面ＩＤが生成される際に所定のＵＩ要素が除外されるので、僅かに異なるＵＩ要素により構成される複数の画面でも、１つの画面ＩＤが生成されることとなる。
【００３３】
＜レイアウト定義情報＞
次に、図３に沿って、レイアウト定義情報１３２を説明する。レイアウト定義情報１３２は、パーソナルコンピュータ１００向けのアプリケーションの画面を変換した、スマートフォン２００向けの画面のレイアウトを定義する情報（レイアウト定義）を格納する。
レイアウト定義情報１３２には、画面変換システムＳにおいて予め用意されている汎用的なレイアウト（標準レイアウト）や、ユーザが作成したレイアウトのレイアウト定義が格納されている。標準レイアウトの例としては、ＵＩ要素をスマートフォン２００の画面に合わせて縦一列に配置する、線形レイアウトがある。
【００３４】
図３に示す例は、１つのアプリケーションについてのレイアウト定義である。
符号１３２ａの情報は、対象となるアプリケーションを一意に特定する識別子であるアプリケーションＩＤを示す。この例では、アプリケーションＩＤは、「TargetApplication」である。
符号１３２ｂの情報は、アプリケーションの画面の画面ＩＤを示す。この例では、画面ＩＤは「Window{TextBox;TextBox;Button;Button; ...  }」である。
符号１３２ｃの情報は、スマートフォン２００の一画面を示し、入出力装置２４０に対して当該画面をどのように配置するかを示す。この例では、画面を左寄せで配置することを示している。
符号１３２ｄの情報は、レイアウトの基本形式を示す。基本形式には、線形レイアウトやテーブルレイアウト等がある。この例では、線形レイアウトであり、行数が１１であり、行を上から下へ並べることを示している。
符号１３２ｅの情報は、線形レイアウトの１アイテム（１行）を示す。この例では、行番号が「０」であり、重要度が「１」であることを示している。
符号１３２ｆの情報は、ＵＩ要素のレイアウト（幅、高さ、表示名等）を示す。この例では、ＵＩ要素のＩＤが「Window.Text[Input:]」であり、ＵＩ要素の種別が「Text」（文字列）であり、表示名が「入力」であり、幅が「５０」であり、高さが「５０」であり、他のＵＩ要素と表示位置が重複した場合に前面に表示する優先順位であるＺオーダが「０」（最優先）であり、文字列の色が「red」（赤）であることを示している。
【００３５】
＜画面ＩＤの差分＞
次に、図４に沿って、画面ＩＤの差分を説明する。（ａ）は、アプリケーションの画面の画面ＩＤに含まれるＵＩ要素をツリー構造で表したものである。（ｂ）は、レイアウト定義情報１３２の画面ＩＤに含まれるＵＩ要素をツリー構造で表したものである。（ｃ）は、（ａ）を表形式で表したものである。（ｄ）は、（ｂ）を表形式で表したものである。
なお、（ａ）においては、画面ＩＤが生成される際に除外されるものとしてＵＩルール情報１３１（図２参照）に記憶されているＵＩ要素は含まれない。また、画面ＩＤの差分を求める際は、ＵＩ要素であるWindowは比較対象としない。これは、WindowをＵＩ要素として含むことを前提に、アプリケーションの画面およびスマートフォン２００向けの画面が構成されているからである。
【００３６】
図２において説明したように、画面ＩＤは、画面ＩＤが生成される際に除外されるものとしてＵＩルール情報１３１に記憶されているＵＩ要素を除いた、アプリケーションの画面に含まれるＵＩ要素に基づいて生成される。そのため、画面ＩＤに含まれるＵＩ要素も、図２（ｃ）と同様に図４（ａ）および（ｂ）のように表すことができる。
【００３７】
図４（ａ）と（ｂ）とを比較すると、符号４４１の「TextBox」は、（ａ）にはあるが（ｂ）にない。このように、アプリケーションの画面には含まれるがレイアウト定義情報１３２には含まれないＵＩ要素を「削除ＵＩ要素」と呼ぶ。
また、符号４４２の「Button」および符号４４３の「CheckBox」は、（ｂ）にはあるが（ａ）にはない。このように、アプリケーションの画面には含まれないがレイアウト定義情報１３２には含まれるＵＩ要素を「追加ＵＩ要素」と呼ぶ。
【００３８】
画面ＩＤの差分（Ｅｄｉｆｆ）は、式（１）に示すように、削除ＵＩ要素および追加ＵＩ要素の個数の和で表される。
Ｅｄｉｆｆ＝削除ＵＩ要素の個数＋追加ＵＩ要素の個数    ・・・（１）
図４の例では、削除ＵＩ要素の個数が「１」であり、追加ＵＩ要素の個数が「２」であるので、画面ＩＤの差分（Ｅｄｉｆｆ）は、「３」となる。このように、画面ＩＤの差分とは、比較対象の画面ＩＤに含まれるＵＩ要素とは異なるＵＩ要素の個数の和である。
【００３９】
＜画面ＩＤの類似度＞
次に、画面ＩＤの類似度を説明する。画面ＩＤの類似度とは、画面ＩＤを比較した際、類似する度合いを表す指標である。なお、画面ＩＤの類似度を求める際は、ＵＩ要素であるWindowは比較対象としない。これは、WindowをＵＩ要素として含むことを前提に、アプリケーションの画面およびスマートフォン２００向けの画面が構成されているからである。
【００４０】
画面ＩＤの類似度は、式（２）で表される。
画面ＩＤの類似度＝ｍａｘ｛０，（Ｅａｐｐ−Ｅｄｉｆｆ）｝／Ｅａｐｐ    ・・・（２）
ここで、Ｅａｐｐは、アプリケーションの画面ＩＤに含まれるＵＩ要素（Windowを除く）の個数である。図４に示す例では、Ｅａｐｐは「６」である。そして、前記のようにＥｄｉｆｆは「３」であるので、画面ＩＤの類似度は「０．５」となる。ここで、ｍａｘ｛  ，  ｝は、「，」の前後の値のうち、大きい方を選択する関数である。
【００４１】
＜マッチング結果ログ情報＞
次に、図５に沿って、マッチング結果ログ情報１３３を説明する。マッチング結果ログ情報１３３は、後記するレイアウト定義情報検索処理（図８参照）において、パーソナルコンピュータ１００（図１参照）向けのアプリケーションの画面に適したレイアウト定義をレイアウト定義情報１３２（図３参照）から検索する処理の結果の履歴情報（ログ情報）を格納する。
【００４２】
マッチング結果ログ情報１３３においては、日時欄１３３１には日時が、アプリケーションＩＤ欄１３３２にはアプリケーションＩＤが、画面ＩＤ欄１３３３には画面ＩＤが、判定結果欄１３３４には判定結果が、記憶されている。
日時欄１３３１の日時は、レイアウト定義情報検索処理が実行された日時である。
アプリケーションＩＤ欄１３３２のアプリケーションＩＤは、アプリケーションを一意に特定する識別子である。
画面ＩＤ欄１３３３の画面ＩＤは、ＵＩルール情報１３１（図２参照）に基づいて生成された、アプリケーションの画面の画面ＩＤである。
判定結果欄１３３４の判定結果は、パーソナルコンピュータ１００向けのアプリケーションの画面に適したレイアウト定義をレイアウト定義情報１３２から検索する処理の結果であり、検索できた（レイアウト定義を選択した）場合は「一致」が記憶され、検索できなかった（レイアウト定義を選択しなかった）場合は「不一致」が記憶される。
【００４３】
＜処理内容＞
次に、図６に沿って、画面変換システムＳの処理内容を説明する。
【００４４】
ステップＳ６０１において、パーソナルコンピュータ１００の制御部は、ＵＩルール情報１３１（図２参照）を作成する。この処理は、画面変換システムＳにおいて予め用意されているルールの他に、ユーザが必要に応じてルールを作成する際に行われる。ユーザは、ＵＩルール情報１３１を編集することで、新規ルールの作成、既存ルールの変更・削除を行うことができる。
【００４５】
ステップＳ６０２において、パーソナルコンピュータ１００の制御部は、レイアウト定義情報１３２（図３参照）を作成する。この処理は、画面変換システムＳにおいて予め用意されている汎用的なレイアウトの他に、ユーザが必要に応じてレイアウトを定義する際に行われる。ユーザは、レイアウト定義作成支援部１２４が提供するレイアウト定義作成支援機能により、任意のレイアウトを定義することができる（詳細後記）。
【００４６】
ステップＳ６０３において、パーソナルコンピュータ１００の制御部は、アプリケーションを起動する。この処理は、ユーザがパーソナルコンピュータ１００を操作することにより行われるが、スマートフォン２００によりパーソナルコンピュータ１００を遠隔操作することにより行われてもよい。
【００４７】
ステップＳ６０４において、スマートフォン２００の制御部は、パーソナルコンピュータ１００の遠隔操作を開始する。この処理は、ユーザがスマートフォン２００を操作して、パーソナルコンピュータ１００にアクセスすることにより行われる。
【００４８】
ステップＳ６０５において、パーソナルコンピュータ１００の制御部は、レイアウト定義情報１３２（図３参照）を検索する。この処理により、ステップＳ６０３において起動されたアプリケーションの画面に適したレイアウト定義が、レイアウト定義情報１３２から検索されて選択される（詳細後記）。
【００４９】
ステップＳ６０６において、パーソナルコンピュータ１００の制御部は、レイアウト定義を適用する。この処理により、ステップＳ６０３において起動されたアプリケーションの画面に適したレイアウト定義に基づき、スマートフォン２００向けに変換した画面のレイアウト情報が生成される（詳細後記）。ここで、レイアウト情報とは、スマートフォン２００の画面を生成するための情報である。
【００５０】
ステップＳ６０７において、パーソナルコンピュータ１００の制御部は、ステップＳ６０６において生成したレイアウト情報をスマートフォン２００へ送信する。
【００５１】
ステップＳ６０８において、スマートフォン２００のＵＩ生成部２２１は、パーソナルコンピュータ１００から受信したレイアウト情報に基づき、スマートフォン２００向けに変換した画面を生成し、表示する。
【００５２】
ステップＳ６０９において、スマートフォン２００の制御部は、パーソナルコンピュータ１００の遠隔操作を行う。この処理は、ユーザがスマートフォン２００を操作することにより行われる。
【００５３】
ステップＳ６１０において、ユーザの操作によってスマートフォン２００の画面が変化すると、スマートフォン２００のＵＩハンドリング部２２２が当該変化を検出し、当該変化に関する情報をパーソナルコンピュータ１００へ送信する。なお、当該送信される情報には、アプリケーションを実行するための情報（操作情報）が含まれる。
【００５４】
ステップＳ６１１において、パーソナルコンピュータ１００のＵＩ更新部１２６は、ステップＳ６１０において送信された情報に基づいて、パーソナルコンピュータ１００に表示される画面を更新する。
【００５５】
ステップＳ６１２において、ステップＳ６１０において送信された情報に基づいて、パーソナルコンピュータ１００のアプリケーションが実行された結果、パーソナルコンピュータ１００に表示される画面が変化すると、パーソナルコンピュータ１００のＵＩハンドリング部１２５が当該変化を検出し、当該変化に関する情報をスマートフォン２００へ送信する。
【００５６】
ステップＳ６１３において、スマートフォン２００のＵＩ更新部２２３は、ステップＳ６１２において送信された情報に基づいて、スマートフォン２００に表示される画面を更新する。
【００５７】
このように、ステップＳ６０９〜ステップＳ６１３を繰り返すことにより、スマートフォン２００によるパーソナルコンピュータ１００の遠隔操作が可能となる。なお、パーソナルコンピュータ１００に新たな画面が表示された場合は、ステップＳ６０５に戻り、当該新たな画面に適したレイアウト定義が検索・適用される。
【００５８】
＜レイアウト定義情報作成処理＞
次に、図７に沿って、パーソナルコンピュータ１００の制御部（図１参照）が行うレイアウト定義情報作成処理を説明する。なお、この処理は、図６のステップＳ６０２である。
【００５９】
ステップＳ７０１において、レイアウト定義作成支援部１２４は、レイアウト定義作成支援機能を起動する。この処理は、ユーザがパーソナルコンピュータ１００を操作して、レイアウト定義作成支援機能を起動させる指示を受け付けることを契機に行われる。そして、この処理によって、ユーザはレイアウト定義情報１３２（図３参照）を編集することが可能となる。そして、ステップＳ７０２に進む。
【００６０】
ステップＳ７０２において、レイアウト定義作成支援部１２４は、レイアウト定義を作成する対象となる画面の選択を受け付ける。具体的には、ユーザがマウスを操作してクリックする等により、対象となる画面を選択し、レイアウト定義作成支援部１２４は当該選択を受け付ける。そして、ステップＳ７０３に進む。
【００６１】
ステップＳ７０３において、レイアウト定義作成支援部１２４は、ＵＩルール情報１３１（図２参照）を読み込む。そして、ステップＳ７０４に進む。
【００６２】
ステップＳ７０４において、ＵＩ構成情報取得部１２１は、画面ＩＤを生成する。具体的には、ＵＩ構成情報取得部１２１は、ステップＳ７０２において選択を受け付けた画面に含まれるＵＩ要素の種別とその主従関係に従い、ステップＳ７０３において読み込んだＵＩルール情報１３１に基づいて、当該画面の画面ＩＤを生成する。そして、ステップＳ７０５に進む。
【００６３】
ステップＳ７０５において、レイアウト定義作成支援部１２４は、レイアウト定義のひな型を出力する。具体的には、レイアウト定義作成支援部１２４は、ステップＳ７０４においてＵＩ構成情報取得部１２１が生成した画面ＩＤを含む、レイアウト定義情報１３２のひな型を生成し、出力する。このひな型は、ＵＩ構成情報取得部１２１が生成した画面ＩＤを含む、当該画面のレイアウト定義である。なお、ユーザはレイアウトの基本形式（線形レイアウト、テーブルレイアウト等）を選択可能とし、当該選択に基づいて、レイアウト定義が生成されてもよい。そして、ステップＳ７０６に進む。
【００６４】
ステップＳ７０６において、レイアウト定義作成支援部１２４は、レイアウト定義作成支援機能を終了する。そして、ステップＳ７０７に進む。
【００６５】
ステップＳ７０７において、ユーザはステップＳ７０５において出力されたひな型を必要に応じて修正し、レイアウト定義作成支援部１２４は当該ひな型をレイアウト定義情報１３２に記憶する。
そして、メインルーチンへ戻る。
【００６６】
＜レイアウト定義情報検索処理＞
次に、図８に沿って、パーソナルコンピュータ１００の制御部（図１参照）が行うレイアウト定義情報検索処理を説明する。なお、この処理は、図６のステップＳ６０５である。
【００６７】
ステップＳ８０１において、レイアウト定義マッチング部１２２は、ＵＩルール情報１３１（図２参照）を読み込む。そして、ステップＳ８０２に進む。
【００６８】
ステップＳ８０２において、ＵＩ構成情報取得部１２１は、ステップＳ６０３（図６参照）において起動されたアプリケーションの画面（パーソナルコンピュータ１００上のアプリケーションの画面）に含まれるＵＩ要素の種別とその主従関係に従い、ステップＳ８０１において読み込んだＵＩルール情報１３１に基づいて、当該画面の画面ＩＤを生成する。そして、ステップＳ８０３に進む。
【００６９】
ステップＳ８０３において、レイアウト定義マッチング部１２２は、レイアウト定義情報１３２（図３参照）に格納されている全てのレイアウト定義に対して、ステップＳ８０４の処理（直ちに後記）を繰り返す。
【００７０】
ステップＳ８０４において、レイアウト定義マッチング部１２２は、ステップＳ８０２において生成した画面ＩＤと、レイアウト定義情報１３２に記憶されているレイアウト定義が有する画面ＩＤとを比較し、画面ＩＤが一致するか否かを判定する。
画面ＩＤが一致した場合（ステップＳ８０４“Ｙｅｓ”）、ステップＳ８０３のループ処理を抜け、ステップＳ８０５に進む。
画面ＩＤが一致しなかった場合（ステップＳ８０４“Ｎｏ”）、ステップＳ８０６に進む。
【００７１】
ステップＳ８０５において、レイアウト定義マッチング部１２２は、ステップＳ８０４において、画面ＩＤが一致すると判定されたレイアウト定義を、アプリケーションの画面をスマートフォン２００向けの画面に変換することに適したレイアウト定義として選択する。そして、メインルーチンに戻る。
【００７２】
ステップＳ８０６において、レイアウト定義マッチング部１２２は、ステップＳ８０４における判定の結果をマッチング結果ログ情報１３３（図５参照）に出力する。
そして、ステップＳ８０７に進む。
【００７３】
ステップＳ８０７において、レイアウト定義マッチング部１２２は、レイアウト定義情報１３２に格納されている全てのレイアウト定義に対して、ステップＳ８０８の処理（直ちに後記）を繰り返す。
【００７４】
ステップＳ８０８において、レイアウト定義マッチング部１２２は、画面ＩＤの類似度を算出する。具体的には、レイアウト定義マッチング部１２２は、ステップＳ８０２において生成した画面ＩＤと、レイアウト定義情報１３２に記憶されているレイアウト定義が有する画面ＩＤとの類似度を算出する。
【００７５】
ステップＳ８０９において、レイアウト定義マッチング部１２２は、ステップＳ８０８において算出した類似度のうち、類似度が最も高いレイアウト定義を、アプリケーションの画面をスマートフォン２００向けの画面に変換することに適したレイアウト定義として選択する。そして、ステップＳ８１０に進む。
【００７６】
ステップＳ８１０において、レイアウト定義マッチング部１２２は、ステップＳ８０２において生成した画面ＩＤと、ステップＳ８０９において選択したレイアウト定義が有する画面ＩＤとの差分が、閾値未満であるか否かを判定する。なお、この閾値は、ユーザが任意に設定可能であり、レイアウト定義を選択候補から除外する（選択しない）場合に用いられる。
閾値未満である場合（ステップＳ８１０“Ｙｅｓ”）、ステップＳ８１１に進む。
閾値未満でない場合（ステップＳ８１０“Ｎｏ”）、メインルーチンに戻る。
【００７７】
ステップＳ８１１において、レイアウト定義マッチング部１２２は、ステップＳ８０９において選択したレイアウト定義を、アプリケーションの画面をスマートフォン２００向けの画面に変換することに適した、最終的なレイアウト定義として選択する。そして、メインルーチンに戻る。
【００７８】
＜レイアウト定義適用処理＞
次に、図９に沿って、パーソナルコンピュータ１００の制御部（図１参照）が行うレイアウト定義適用処理を説明する。なお、この処理は、図６のステップＳ６０６である。
【００７９】
ステップＳ９０１において、スマートフォン向けレイアウト情報生成部１２３は、レイアウト定義が選択済みであるか否かを判定する。レイアウト定義は、図８のステップＳ８０５またはステップＳ８１１において選択されたレイアウト定義である。
選択済みでない場合（ステップＳ９０１“Ｎｏ”）、ステップＳ９０２に進む。
選択済みである場合（ステップＳ９０１“Ｙｅｓ”）、ステップＳ９０３に進む。
【００８０】
ステップＳ９０２において、スマートフォン向けレイアウト情報生成部１２３は、予め用意されている汎用的なレイアウト定義（標準レイアウト定義）に基づいて、スマートフォン２００（図１参照）向けに変換した画面のレイアウト情報を生成する。そして、メインルーチンに戻る。
【００８１】
ステップＳ９０３において、スマートフォン向けレイアウト情報生成部１２３は、選択されたレイアウト定義をレイアウト定義情報１３２（図３参照）から読み込む。そして、ステップＳ９０４に進む。
【００８２】
ステップＳ９０４において、スマートフォン向けレイアウト情報生成部１２３は、ステップＳ９０３において読み込んだレイアウト定義に基づいて、スマートフォン２００（図１参照）向けに変換した画面のレイアウト情報を生成する。そして、メインルーチンに戻る。
【００８３】
＜＜まとめ＞＞
本実施形態の画面変換システムＳは、パーソナルコンピュータ上のアプリケーションの設計仕様等の情報を用いず、画面に含まれるＵＩ要素に基づいて画面ＩＤを生成する。そして、当該画面ＩＤに基づいて、スマートフォン向けの画面を選択し適用するので、アプリケーションの設計仕様やプログラムの理解や解析が必要でなく、開発期間が短期化し、開発のためのコストを低減することができる。また、アプリケーションの設計仕様やプログラムの理解や解析が必要でないので、様々なアプリケーションに、画面変換システムＳを容易に適用することができる。また、除外されるＵＩ要素を定義しているＵＩルール情報１３１に従って画面ＩＤが生成され、画面ＩＤの類似度に基づいてレイアウト定義を選択するので、多種多様な画面の自動変換を柔軟に行うことができる。また、画面変換システムＳのレイアウト定義作成支援機能により、ユーザがレイアウト定義を作成する負担が軽減される。
【００８４】
＜＜その他＞＞
なお、前記した実施形態は、本発明を実施するための好適なものであるが、その実施形式はこれらに限定されるものではなく。本発明の要旨を逸脱しない範囲内において種々変更することが可能である。
【００８５】
レイアウト定義情報検索処理（図８参照）において、画面ＩＤが一致しない場合（ステップＳ８０４“Ｎｏ”）は画面ＩＤの類似度に基づいてレイアウト定義を選択することとしたが、例えば、画面ＩＤが一致するレイアウト定義のみを選択してもよいし、または、画面ＩＤの類似度のみに基づいてレイアウト定義を選択してもよい。すなわち、図８のステップＳ８０７〜Ｓ８１１を行わなくてもよいし、または、ステップＳ８０３〜Ｓ８０６を行わなくてもよい。
【００８６】
また、マッチング結果ログ情報１３３（図５参照）に記憶されているログ情報に基づいて、アプリケーションＩＤごとに、レイアウト定義情報検索処理の成功率が、ユーザが指定した所定の値以下の場合、成功率が低い旨のワーニングメッセージを画面に表示したり、マッチング結果ログ情報１３３に出力したりしてもよい。ここで、成功率とは、レイアウト定義情報検索処理を行った回数のうち、判定結果が「一致」となった回数の割合である。成功率は、判定結果が「一致」となった回数を、検索処理を行った回数で除算することにより求めることができる。
【００８７】
また、ユーザは、レイアウト定義情報検索処理の成功率やワーニングメッセージを確認することにより、画面ＩＤが一致するレイアウト定義のみを選択するか、または、画面ＩＤの類似度のみに基づいてレイアウト定義を選択するか、を指定（選択）することができるようにしてもよい。これにより、画面変換システムＳは、ユーザにとって更に使いやすいものとなる。
【符号の説明】
【００８８】
Ｓ        画面変換システム
１００    パーソナルコンピュータ
１１０    中央制御装置（制御部）
１２０    主記憶装置（記憶部）
１２１    ＵＩ構成情報取得部
１２２    レイアウト定義マッチング部
１２３    スマートフォン向けレイアウト情報生成部
１２４    レイアウト定義作成支援部
１２５    ＵＩハンドリング部
１２６    ＵＩ更新部
１３０    補助記憶装置（記憶部）
１３１    ＵＩルール情報
１３２    レイアウト定義情報
１３３    マッチング結果ログ情報
１４０    入力装置（入力部）
１５０    出力装置（出力部）
１６０    通信装置（通信部）
２００    スマートフォン
２１０    中央制御装置（制御部）
２２０    主記憶装置（記憶部）
２２１    ＵＩ生成部
２２２    ＵＩハンドリング部
２２３    ＵＩ更新部
２３０    補助記憶装置（記憶部）
２４０    入出力装置（入出力部）
２５０    通信装置（通信部）
３００    ネットワーク
【図１】
0005927719.tif 000002
【図２】
0005927719.tif 000003
【図３】
0005927719.tif 000004
【図４】
0005927719.tif 000005
【図５】
0005927719.tif 000006
【図６】
0005927719.tif 000007
【図７】
0005927719.tif 000008
【図８】
0005927719.tif 000009
【図９】
0005927719.tif 000010