IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立産機システムの特許一覧

<>
  • 特許-情報処理システム 図1
  • 特許-情報処理システム 図2
  • 特許-情報処理システム 図3
  • 特許-情報処理システム 図4A
  • 特許-情報処理システム 図4B
  • 特許-情報処理システム 図5
  • 特許-情報処理システム 図6
  • 特許-情報処理システム 図7A
  • 特許-情報処理システム 図7B
  • 特許-情報処理システム 図8
  • 特許-情報処理システム 図9
  • 特許-情報処理システム 図10
  • 特許-情報処理システム 図11
  • 特許-情報処理システム 図12
  • 特許-情報処理システム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-28
(45)【発行日】2024-03-07
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
   G06F 8/30 20180101AFI20240229BHJP
【FI】
G06F8/30
【請求項の数】 6
(21)【出願番号】P 2020217716
(22)【出願日】2020-12-25
(65)【公開番号】P2022102769
(43)【公開日】2022-07-07
【審査請求日】2022-10-03
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】山田 大樹
(72)【発明者】
【氏名】藤岡 孝芳
(72)【発明者】
【氏名】木原 一
【審査官】北川 純次
(56)【参考文献】
【文献】特開2002-024020(JP,A)
【文献】特開2011-186720(JP,A)
【文献】特開2018-181073(JP,A)
【文献】特開2009-282705(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/30-8/38
G06F 3/048
(57)【特許請求の範囲】
【請求項1】
クライアントとサーバがネットワークにより接続された情報処理システムであって、
前記クライアントと前記サーバは、TCP/IP(Transmission Protocol/Internet Protocol)により、通信し、
前記サーバは、アプリケーションソフトウェアごとに、アプリケーションソフトウェアのユーザインタフェースを定義するユーザインタフェース定義ファイルを保持し、
前記ユーザインタフェース定義ファイルは、前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目ごとに、データ型の属性が指定され、
前記クライアントは、前記サーバにユーザインタフェースオブジェクトの生成を依頼し、
前記サーバは、前記ユーザインタフェース定義ファイルに基づいて、前記アプリケーションソフトウェアの設定を行なうユーザインタフェースオブジェクトを生成し、前記ネットワークを介して、前記クライアントに、前記ユーザインタフェースオブジェクトを送信し、
前記クライアントは、前記サーバからの通信のTCPポート番号に基づいて、前記アプリケーションソフトウェアの設定をグラフィック表示で行なうか、前記アプリケーションソフトウェアの設定をコマンドラインで行なうかを判定することを特徴とする情報処理システム。
【請求項2】
前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、入力のみの属性を付与されたことを特徴とする請求項1記載の情報処理システム
【請求項3】
前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、そのユーザインタフェースオブジェクトを定義する項目に処理のためのアクションが関連付けられたことを特徴とする請求項1記載の情報処理システム
【請求項4】
前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、表示形態を切替える属性が定義されたことを特徴とする請求項1記載の情報処理システム
【請求項5】
前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、表示の有無を切替える属性が定義されたことを特徴とする請求項1記載の情報処理システム
【請求項6】
前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、前記アプリケーションソフトウェアのライセンスに関連付けられた属性が定義されたことを特徴とする請求項1記載の情報処理システム
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に係り、特に、異なったアプリケーションソフトウェアに対しても、統一したユーザインタフェースを提供するのに好適な情報処理装置に関する。
【背景技術】
【0002】
近年、無線ルータなどの通信端末がエッジデバイスとして、データの一次処理や、プロトコル変換など多様な処理を行うケースが増加している。さらに、通信機能を含むこれらのアプリケーションソフトウェア(以下、単に「アプリケーション」という)の更新・追加を実施するFOTA(Firmware Over The Air)の技術が確立されつつある。
【0003】
このような場合に、使用されるアプリケーションは、ユーザごとに異なり、同じアプリケーションを改変して別のアプリケーションを提供するときでも、わずかな機能追加を行う場合も存在する。また、アプリケーションを複数人で開発することも多く、情報処理装置の開発に携わっていない開発者がアプリケーションの機能のみを設計する場合も存在する。このようにアプリケーションが日々更新・追加される情報処理装置において、アプリケーションのユーザインタフェースを統一することは、非常に難しい。また、更新のつどユーザインタフェースを変更するのは効率が悪い。このような背景から、効率的にアプリケーションのユーザインタフェースを統一する手法が必要となる。
【0004】
ユーザインタフェースのデザインの統一の観点から、例えば、特許文献1の技術が提案されている。特許文献1の記載された情報処理装置では、ワークフロー処理部が、ワークフローを実行する場合に、ワークフローの各工程を実行する各機能プロバイダが共通で使用するユーザインタフェースのデザインを決定し、各機能プロバイダに対して指定する。
【0005】
これにより、ユーザインタフェースのデザインが統一されていない複数の拡張プログラムを組み合わせて一連の処理を実行する場合であっても、ユーザインタフェースのデザインを統一することができるとしている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-33235号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
情報処理装置の用途によっては、アプリケーションの処理は互いに独立し、連携して処理を行わない可能性がある。また、新たなアプリケーションを新たな人員が開発する場合、機能を分離することにより、既存のアプリケーションとの機能の連携を疎にする方が、開発効率がよい。上記特許文献1によれば、各アプリケーションが連携しない情報処理装置では、アプリケーション毎のユーザインターフェースデザインが異なり、ユーザの操作を阻害する恐れがある。また、ユーザインターフェースデザインを統一するために、開発者に他アプリケーション同様のユーザインタフェースの生成を要求すると、開発効率が落ちる恐れがある。
【0008】
本発明の目的は、各アプリケーションに関して、アプリケーションの設定に関するユーザインタフェースを統一し、ユーザには操作性を向上させ、アプリケーション開発者には開発効率の向上を行なうことのできる情報処理装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明の情報処理装置の構成は、好ましくは、アプリケーションソフトウェアを実行する情報処理装置であって、アプリケーションソフトウェアごとに、アプリケーションソフトウェアのユーザインタフェースを定義するユーザインタフェース定義ファイルを保持し、ユーザインタフェース定義ファイルは、アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目ごとに、データ型の属性が指定され、情報処理装置は、ユーザインタフェース定義ファイルに基づいて、アプリケーションソフトウェアの設定を行なうユーザインタフェースオブジェクトを生成するようにしたものである。
【発明の効果】
【0010】
本発明によれば、各アプリケーションに関して、アプリケーションの設定に関するユーザインタフェースを統一し、ユーザには操作性を向上させ、アプリケーション開発者には開発効率の向上を行なうことのできる情報処理装置を提供することができる。
【図面の簡単な説明】
【0011】
図1】実施形態1に係る情報処理装置の機能構成図である。
図2】実施形態1に係る情報処理装置のハードウェア・ソフトウェア構成図である。
図3】実施形態1に係るマニフェストファイルの一例を示す図である。
図4A】実施形態1に係る情報処理装置が表示するアプリケーション選択メニュー画面の一例を示す図である。
図4B】実施形態1に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。
図5】情報処理装置によるCUIの一例を示す図である。
図6】実施形態2に係るマニフェストファイルの一例を示す図である。
図7A】実施形態2に係る情報処理装置が表示するアプリケーション選択メニュー画面の一例を示す図である。
図7B】実施形態2に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。
図8】実施形態3に係るマニフェストファイルの一例を示す図である。
図9】実施形態3に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。
図10】実施形態4に係るマニフェストファイルの一例を示す図である。
図11】実施形態4に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。
図12】実施形態5に係る情報処理システムの機能構成図である。
図13】クライアントがユーザインタフェース提供サーバに対して、ユーザインタフェースの提供を依頼するコマンドを送ったときの処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明に係る各実施形態を、図1ないし図11を用いて説明する。
本発明の概要を説明すると以下のようになる。
【0013】
本発明の情報処理装置では、アプリケーション毎にインタフェースの要素を定義するマニフェストファイルを保持する。そして、マニフェストファイルを参照し、ユーザとの入出力を行なうユーザインタフェースオブジェクトを生成する。ユーザインタフェースオブジェクトは、GUI(Graphic User Interface)とCUI(Character-based User Interface)によりユーザが表示要素を視認したり、コマンド、データの入力を行なうことが可能である。
【0014】
情報処理装置で動作する各アプリケーションは、設定ファイルとマニフェストファイル、実行ファイルを保持する。そして、マニフェストファイルからユーザインタフェースオブジェクトを生成する機能を有する。
【0015】
マニフェストファイルは、人間が視覚的に理解しやすいテキスト(例えば、JSON(Java Script Object Notation)形式で記載される。マニフェストファイルにはアプリケーションID、設定・表示項目のID、名称、データ型、値の範囲、リードオンリー設定などが記載される。他に、アクション名と実行ファイルの対応と、それを実行するアクショントリガーが記載される。アクショントリガーは、例えば、GUI上のボタンと紐づけ、ボタンが押された場合に起動する等の形で記載される。
【0016】
また、本発明は、クライアント-サーバからなる情報処理システムに適用することができる。その場合には、GUIによるユーザインタフェースが提供されるときには、LANから情報処理装置にブラウザ経由でアクセスした場合に表示され、アプリケーション毎にマニフェストに記載された設定・表示項目がメニュー化されて表示される。また、CUIによるユーザインタフェースが提供されるときには、指定されたTCPポート番号を使用して、情報処理装置とTCP接続することで表示される文字列を介してやり取り可能になる。
【0017】
〔実施形態1〕
以下、本発明に係る実施形態1を、図1ないし図5を用いて説明する。
【0018】
先ず、図1および図2を用いて実施形態1に係る情報処理装置の構成について説明する。
本実施形態の情報処理装置は、アプリケーションを実行するために設計された装置であり、ユーザ1は情報処理装置10のGUIまたはCUIを操作することにより、情報処理装置10から情報を取得したり、あるいは、アプリケーションを実行したり、そのアプリケーションの設定を行う。情報処理装置10のアプリケーション20は、情報処理装置が実現する機能ごとに分離される。一例として、通信端末としての機能を持つ情報処理装置であればルータ機能やシリアル通信機能、プロトコル変換機能といった単位でアプリケーション20は分離される。本実施形態の情報処理装置は、図1に示されるように、入出力部11、アプリケーション起動部12、ユーザインタフェースオブジェクト生成部13、アプリケーション設定部14の各機能部から構成される。
【0019】
また、本実施形態の情報処理装置は、複数のアプリケーション20(図1では、20-1、20-2、…と表記)を実行することができ、各々のアプリケーション20は、マニフェストファイル21(図1では、21-1、21-2、…と表記)、設定ファイル22(図1では、22-1、22-2、…と表記)、実行ファイル23(図1では、23-1、23-2、…と表記)を保持している。
【0020】
入出力部11は、ユーザ1からの入力を受け付けたり、情報処理装置10の情報をユーザに表示したりする機能部である。アプリケーション起動部12は、アプリケーションを起動したり、アプリケーション設定画面を起動する機能部である。ユーザインタフェースオブジェクト生成部13は、マニフェストファイル21に従って、アプリケーション20に関するユーザインタフェースを提供するオブジェクト(ウィンドウやそれに表示されるテキスト項目、コマンドボタンなど、以下、「ユーザインタフェースオブジェクト」という)などの表示・入出力要素を生成する機能部である。ユーザに提供されるユーザインタフェースは、GUIでもCUIでもよい。アプリケーション設定部14は、ユーザの入力に従って、アプリケーション実行のための設定を行なう機能部である。
【0021】
マニフェストファイル21は、GUI、CUIなどのユーザに提供するユーザインタフェースを提供するユーザインタフェースオブジェクトの仕様を定義するファイルである(詳細は、後述)。設定ファイル22は、アプリケーション20を実行するめの条件を記述するファイルであり、初期値としてデフォルト設定値が記載されており、GUIやCUIを介したユーザの操作により設定値が書き換えられる。設定ファイルは、例えば、設定項目とその値が対になったJSON形式(詳細は、後述)のファイルである。実行ファイル23は、アプリケーションの処理を実行するファイルであり、シェルファイルや事項形式のファイルである。
【0022】
次に、図2を用いて情報処理装置10のハードウェア・ソフトウェア構成について説明する。
情報処理装置10のハードウェア構成としては、例えば、図2に示されるパーソナルコンピュータのような一般的な情報処理装置で実現される。
【0023】
情報処理装置10は、CPU(Central Processing Unit)302、主記憶装置304、ネットワークI/F(InterFace)306、表示I/F308、入出力I/F310、補助記憶I/F312が、バスにより結合された形態になっている。
【0024】
CPU302は、情報処理装置10の各部を制御し、主記憶装置304に必要なプログラムをロードして実行する。
【0025】
主記憶装置304は、通常、RAMなどの揮発メモリで構成され、CPU302が実行するプログラム、参照するデータが記憶される。
【0026】
ネットワークI/F306は、ネットワーク5と接続するためのインタフェースである。
【0027】
表示I/F308は、LCD(Liquid Crystal Display)などの表示装置320を接続するためのインタフェースである。
【0028】
入出力I/F310は、入出力装置を接続するためのインタフェースである。図2の例では、キーボード330とポインティングデバイスのマウス332が接続されている。
【0029】
補助記憶I/F312は、HDD(Hard Disk Drive)350やSSD(Solid State Drive)などの補助記憶装置を接続するためのインタフェースである。
【0030】
HDD350は、大容量の記憶容量を有しており、本実施形態を実行するためのプログラムが格納されている。情報処理装置10には、入出力プログラム361、アプリケーション起動プログラム362、ユーザインタフェースオブジェクト生成プログラム363、アプリケーション設定プログラム364がインストールされている。
【0031】
入出力プログラム361、アプリケーション起動プログラム362、ユーザインタフェースオブジェクト生成プログラム363、アプリケーション設定プログラム364は、それぞれ入出力部11、アプリケーション起動部12、ユーザインタフェースオブジェクト生成部13、アプリケーション設定部14の各機能を実現するプログラムである。
【0032】
また、HDD350は、マニフェストファイル21(図2では、21-1、21-2、…と表記)、設定ファイル22(図2では、22-1、22-2、…と表記)、実行ファイル23(図2では、23-1、23-2、…と表記)を格納している。
【0033】
次に、図3を用いて実施形態1におけるマニフェストファイルの具体例について説明する。
図3は、実施形態1に係るマニフェストファイルの一例を示す図である。
マニフェストファイル21は、アプリケーションに関するユーザインタフェース、また、アプリケーションに関するユーザインタフェースを定義するためのファイルである。本実施形態では、JSON形式で記述した例を示している。JSON形式は、{“key”:“value”}のように、{}の中にキーと値をコロンで区切って記述した形式である。本実施形態の情報処理装置10のユーザインタフェースオブジェクト生成部13は、マニフェストファイル21に基づいて、ユーザインタフェースオブジェクトを表現するHTMLファイルを生成する。
【0034】
以下、マニフェストファイル21に記載された各キーに関して、説明する。
(K1)appキー:appidキーとnameキーを内包する。appidキーはアプリケーション毎の設定画面を指定するURLに組み込まれる文字列である。例えば、情報処理装置のIPアドレスを192.168.101.1とすると、本マニフェストファイルで定義されるアプリケーションのURLは「http://192.168.101.1/app1」となる。nameキーは、アプリケーション選択メニュー画面において、アプリケーション20を示す表示名となる。
(K2)actionキー:アプリケーション20の有する実行ファイルを実行するアクショントリガーを登録する。「“トリガー名”:{“exec”:“実行ファイル名”}」の形式で登録する。登録されたトリガーはマニフェストファイル21上で指定されたボタンを押された場合、または、CLIのコマンドが入力された場合に実行される。
(K3)configキー:アプリケーション20の設定項目を登録する。設定項目は大項目から、中項目、小項目と段階を分けて設定できる。各項目のchildキーに格納することで、項目の子とすることができ、大項目の子は中項目、中項目の子は小項目となる。小項目のさらに下層に設定項目を配置することも可能である。
【0035】
以下、この(K3)の各項目における設定キーを説明する。
(K3-1)nameキー:設定項目の名前を登録する。GUI上での表示名に使用される。
(K3-2)menuキー:アプリケーション毎の設定画面では、画面が分割され、左がメニュー画面、右が設定画面となる。menuキーがtrueの場合にメニュー画面に設定項目が表示される。
(K3-3)linkキー:メニュー画面に表示された文字に、ハイパーリンクを設定するかを決定する。falseの場合、リンクは生成されない。
(K3-4)childキー:項目の子を作成する。
(K3-5)idキー:設定項目のidを決定する。idはCLI操作時に呼び出され、値の取得・設定を可能とする。
(K3-6)typeキー:設定項目の型を指定する。各設定項目は設定入力時、指定された型以外の入力を拒否する。
【0036】
以下、(K3-6)における各型について説明する。
(K3-6-1)string型:文字列を指定する。
(K3-6-2)long型:4バイトの符号付整数を指定する。他に数値として、int型やfloat型、double型など、一般的な数値を指定する型は全て指定できることとする。
(K3-6-3)enum型:列挙型を指定する。enumの後ろに「.」と型を指定することにより、列挙する値の型を指定できる。図3の例では、int型を指定しているため、各nameキー(表示名)にはvaluieキーとしてint型の数値が指定される。
(K3-6-4)array型:配列を指定する。配列ではpropertiesキーを用いて、配列の中身(設定項目)を指定できる。配列の中身には設定項目を同様に指定する。
(K3-6-5)button型:GUI上にボタンを表示する。本型では、actionキーを設定し、(K2)アクションキーで指定したトリガー名を値とすることで、ボタンを押した場合に、アクショントリガーに設定された実行ファイルを実行する。
(K3-7)readonlyキー:trueの場合に、設定項目へのユーザ1の入力を受け付けない。設定項目ではないアプリケーション20の内部変数を設定項目と同様に表示する用途で用いる。処理の途中出力を表示させることにより、開発時におけるデバッグ用途で用いることも可能である。
(K3-8)maxキー:typeキーの内容によって、持つ意味が変化する。
(K3-8-1)array型の場合:ユーザ1が入力可能な、配列の最大長を設定する。
(K3-8-2)string型の場合:入力可能な最大の文字列長を設定する。
(K3-8-3)long型の場合(他、数値型全般に有効):ユーザ1が入力可能な数値の範囲を指定できる。maxキーでは入力可能な最大値を指定する。
(K3-9)minキー:数値型でユーザ1が入力可能な数値の範囲を指定できる。minキーでは入力可能な最小値を指定する。
【0037】
次に、図4A図4Bを用いて実施形態1におけるマニフェストファイルによって提供されるGUIの例について説明する。
【0038】
図4Aに示されるアプリケーション選択メニュー画面400は、各アプリケーション20のマニフェストファイル21を読み込むことにより生成される。(K1)で指定した表示名がアイコン410(図4Aでは、410A、410B、410C…と表記)内部に表示され、列挙される。また、アイコン410をクリックすることにより、(K1)で指定したappidを含むリンクされたアプリケーション毎の設定画面に遷移することができる。
【0039】
図4Bに示されるアプリケーション設定画面420も、各アプリケーション20のマニフェストファイル21を読み込むことにより生成される。
【0040】
本実施形態の情報処理装置10のアプリケーション20のアプリケーション設定部14は、アプリケーション設定画面420に入力された値に基づいて、設定ファイルにその値を反映させる。
【0041】
画面の左側にはメニュー430が、右側には設定値入力画面440が表示される。画面上部にはアプリケーション選択メニュー画面400へのリンクが表示される。メニュー画面430では(K3-2)menuキーをtrueとした項目が表示される。設定値入力画面440にはマニフェスト113に記載した設定項目が表示される。enum型で定義された項目441は、入力ボックスをクリックすることにより、設定した表示名が列挙された選択肢が表示される。array型で定義された項目442は、表形式で設定値を入力できる。また、行の追加ボタン443を押すことにより、maxキーで設定した行数まで行を追加できる。設定保存ボタン444は入力した値を反映し、アプリケーションを再起動するボタンである。設定保存ボタン444を押すまでは、入力された設定値は反映されない。
【0042】
次に、図5を用いてマニフェストファイルによって提供されるCUIについて説明する。
図5は、情報処理装置によるCUIの一例を示す図である。
以下、CUI500によるユーザに提供される各コマンドとマニフェストファイル21の記述項目の関連について説明する。
(C1)loadコマンド:設定値の取得・設定を行うアプリケーションを指定する。存在するappidを引数にすると、OKと表示され、アプリケーション毎の設定モードに移行する。存在しないappidを指定した場合、NGと表示されるのみである。設定するアプリケーションを切り替える場合にも使用される。
(C2)setコマンド:設定値を入力する。第一引数に設定したい項目のid、第二引数に設定したい値を入力することにより、OKと表示され設定値の入力が完了する。存在しないidを入力した場合、typeに適さない入力値を入力した場合、NGと表示されるのみである。
(C3)getコマンド:設定値を確認する。引数に確認したい設定値のidを指定することで、値を表示する。存在しないidを入力した場合、NGと表示されるだけである。
(C4)saveコマンド:入力した設定値を保存し、設定モード中だったアプリケーション20を再起動する。アプリケーション毎の設定モードでない場合、NGと表示されるのみである。
(C5)actionコマンド:アクションを実行する。第一引数にappid、第二引数にアプリケーション毎のマニフェストファイル21で指定されたアクショントリガー名を指定することで、アクショントリガーに設定された実行ファイルを実行する。存在しないappid、アクショントリガー名を入力した場合、NGと表示されるのみである。
【0043】
以上、本実施形態によれば、開発者は、マニフェストファイルを記述するのみで、ユーザが実行するアプリケーションとアプリケーションの設定において、様々なアプリケーションに対しても、統一的なユーザインタフェースが提供される。それにより、アプリケーションの開発者のユーザインタフェースに対する開発労力を軽減することができる。
【0044】
〔実施形態2〕
実施形態1では、マニフェストファイル21を用いることにより、各アプリケーションとアプリケーション設定インタフェースを統一した。しかしながら、情報処理装置10が海外で活用される場合には、国が異なるとGUIの表示言語が変わるため、マニフェストファイル21を入れ替える必要がある。これに対応して、本実施形態では、GUIの多言語対応のため、マニフェストファイル21の項目を追加する。
【0045】
以下、図6ないし図7Bを用いて実施形態1と異なった部分を中心にして、実施形態2について説明する。
ここで、図6を用いて実施形態2におけるマニフェストファイルの具体例について説明する。
【0046】
以下、マニフェストファイル21に追加されたキーに関して説明する。
(K4)nameキー:実施形態2では、nameキーに複数言語での名称を指定する。実施形態1と比較して、nameキーの内容が階層的に記載され、jpキーであれば日本語の名称、enキーであれば英語の名称を記載する。jpキー、enキーは一例であり、他にchキーで中国語など、多様な言語キーに対応する。nameキーは全ての設定項目に共通で、どの設定項目においても同様に設定することによって、GUIの表示形態を変更することができる。
【0047】
次に、図7A図7Bを用いて実施形態2におけるマニフェストファイルによって提供されるGUIの例について説明する。
【0048】
実施形態2のアプリケーション選択メニュー画面400は、図7Aに示されるようになる。アプリケーション選択メニュー画面400では言語選択タブ700で言語を切り替えることができる。図7Aでは、図6の(K4)で設定した英語名称が反映され、アプリ1という表記からapp1という表記に切り替わっている。
【0049】
また、実施形態2のアプリケーション設定画面420は、図7Bに示されるようになる。図7Aに示したアプリケーション選択メニュー画面と同様に、言語選択タブ700で言語を切り替えることができる。図7Bでは、図6の(K4)で設定した英語名称がアイコン410に反映され、「設定」という表記から「setting」という表記に切り替わっている。
【0050】
実施形態2によれば、マニフェストファイル21に、(K4)nameキーに複数の言語を、キーと値セットで登録することにより、GUI上の表示言語を言語選択タブから切り替えることができる。これにより、アプリケーションが実行される国が異なる場合にマニフェストファイル21を入れ替える手間をなくすことができる。
【0051】
〔実施形態3〕
実施形態1、実施形態2では、マニフェストファイル21に記載された全ての項目がGUI上に表示されていた。しかしながら、GUIやCUIを参照する場面により、表示する内容が異なる場合がある。例えば、開発時や障害発生時には中間出力の値等を画面上に出力し、処理が適切に行われているか否かを判断する。これらの中間出力値は本来ユーザに見せるものではないため、ユーザ使用時には隠されるのが通常である。このようにGUIやCUI500を参照する場面ごとに、情報を隠すためにマニフェストファイル21内のデバッグ用項目を削除する必要がある。
【0052】
本実施形態では、このような手間を軽減するために、設定項目の表示・非表示を切り替えるマニフェストファイル21の項目を追加するものである。
【0053】
以下、実施形態1、実施形態2と異なった部分を中心にして、実施形態3について説明する。
ここで、図8を用いて実施形態3におけるマニフェストファイルの具体例について説明する。
【0054】
以下、マニフェストファイル21に追加されたキーに関して説明する。
(K3-10)hiddenキー:trueの場合、GUIおよびCUIに設定項目を表示させない。
【0055】
図8においては、setting1-1-2、1-1-5、1-1-6の三項目で(K3-10)hiddenキーがtrueとされ、表示されない設定となっている。また、このようなときに、CUI上ではapp1をloadした上で、getもしくはsetで引数にsetting1-1-2を取った場合には、NGが返答されるのみである。
【0056】
次に、図9を用いて実施形態3におけるマニフェストファイルによって提供されるGUIの例について説明する。
実施形態3の表示するアプリケーション設定画面420では、(K3-10)hiddenキーをtrueに設定された設定項目(setting1-1-2、1-1-5、1-1-6)は、画面上で表示されない。
【0057】
本実施形態によれば、マニフェストファイル21に(K3-10)hiddenキーをtrueに設定することにより、設定された項目がGUI・CUI500上で、表示されない。これにより、開発者は、わずかなマニフェストファイル21の編集で、デバッグ時に出力する項目を隠すことが可能になる。
【0058】
〔実施形態4〕
実施形態1、実施形態2、実施形態3では、マニフェストファイル21の記載により、インタフェース上で設定項目の表示や、実行ファイル23の実行を可能にした。しかしながら、実行ファイル23を実行するにあたり、その内部にOSS(Open Source Software)を含む場合、ライセンスの表示が義務付けられることがある。ライセンス情報を、マニフェストファイル21の編集を工夫して表示することは不可能ではないが、本来の機能ではないため表示が崩れる恐れがある。
【0059】
本実施形態は、OSSの対応も考慮し、マニフェストファイル21にライセンスの情報を組み込み、GUI上でそのライセンスを表示するユーザインタフェースに関するものである。
【0060】
以下、実施形態1~実施形態3と異なった部分を中心にして、実施形態4について説明する。
ここで、図10を用いて実施形態4におけるマニフェストファイルの具体例について説明する。
【0061】
以下、マニフェストファイル21に追加されたキーに関して説明する。
(K5)licenseキー:ライセンス情報を指定するキーである。
【0062】
以下、(K5)を構成するキーについて説明する。
(K5-1)fileキー:ライセンス情報を記載したファイルのパスを指定する。GUIではfileキーで指定されたファイルをHTTPの応答として返信する。
(K5-2)nameキー:GUI上でライセンス情報を表示させるOSSの名称を指定する。
【0063】
次に、図11を用いて実施形態4におけるマニフェストファイルによって提供されるGUIの例について説明する。
実施形態4に係る情報処理装置が表示するアプリケーション設定画面420は、図11に示されるようになる。このアプリケーション設定画面420には、(K5)licenseキーを追加することにより、メニューにlicenceへのリンク800が追加される。licenceへのリンク800をクリックすることにより、画面の右側に、license情報810を表示できる。licence情報810では、(K5-2)で登録された名称811と、(K5-1)で登録されたファイルへのハイパーリンクが生成されたlicence fileの文字列812がセットで表示される。
【0064】
本実施形態によれば、マニフェストファイルに(K5)licenseキーを追加することにより、設定したOSSのlicenceファイルへのリンクページが自動的に生成される。これにより開発者がOSSを活用した際に、ユーザインタフェースを直接編集することなく、ライセンス表示を行なうことが可能になる。
【0065】
〔実施形態5〕
実施形態1では、情報処理装置10内で、アプリケーションのユーザインタフェースを規定し、そのユーザインタフェースに基づいて、アプリケーションの実行とアプリケーションの設定を行なう例について説明した。
【0066】
本実施形態では、クライアント-サーバからなる情報処理システムで、アプリケーションのユーザインタフェースを規定する情報と、それに基づいて、ユーザインタフェースオブジェクトを生成する機能をサーバ側で担保する情報処理システムである。
【0067】
先ず、図12を用いて実施形態5に係る情報処理システムの構成について説明する。
本実施形態の情報処理システム3は、クライアント30とユーザインタフェース提供サーバ50がネットワーク5により、接続された形態である。
【0068】
クライアント30は、アプリケーションを実行し、ネットワーク5を介してユーザインタフェース提供サーバ50にユーザインタフェースの提供を依頼する情報処理装置である。
【0069】
ユーザインタフェース提供サーバ50からの依頼に応じて、ユーザインタフェースに関する情報を送信する。
【0070】
クライアント30は、入出力部31、サーバインタフェース部32、アプリケーション起動部33、アプリケーション設定部34の各機能部から構成される。
【0071】
また、クライアント30のアプリケーションクライアントサイド40(図12では、40-1、40-2、…と表記)は、設定ファイル41(図12では、41-1、41-2、…と表記)、実行ファイル42(図12では、42-1、42-2、…と表記)を保持する。設定ファイル41と実行ファイル42は、実施形態1の設定ファイル22、実行ファイル23と同様である。
【0072】
入出力部31は、実施形態1の情報処理装置10の場合と同様、ユーザ1からの入力を受け付けたり、情報処理装置10の情報をユーザに表示したりする機能部である。サーバインタフェース部32は、サーバとの通信インタフェースを司る機能部である。アプリケーション起動部33も、実施形態1と同様に、アプリケーションを起動したり、アプリケーション設定画面を起動する機能部である。本実施形態のクライアント30の場合は、ユーザインタフェース提供を受ける場合には、サーバインタフェース部32を介して、ユーザインタフェース提供サーバ50にコマンドを送付し、ユーザインタフェースに関する情報を受信する。アプリケーション設定部34も、実施形態1と同様に、ユーザの入力に従って、アプリケーション実行のための設定を行なう機能部である。
【0073】
ユーザインタフェース提供サーバ50は、クライアントインタフェース部51、ユーザインタフェースオブジェクト生成部52の各機能部から構成される。
【0074】
クライアントインタフェース部51は、クライアントとの通信インタフェースを司る機能部である。ユーザインタフェースオブジェクト生成部52は、実施形態1の情報処理装置10と同様に、マニフェストファイル61に従って、アプリケーションに関するユーザインタフェースオブジェクトを生成する機能部である。本実施形態では、ユーザインタフェースオブジェクトに関する情報は、クライアントインタフェース部51を介して、クライアント30に送信される。
【0075】
ユーザインタフェース提供サーバ50は、アプリケーションサーバサイド60図12では、60-1、60-2、…と表記)として、マニフェストファイル61(図12では、61-1、61-2、…と表記)を保持する。マニフェストファイル61は、実施形態1のマニフェストファイル21と同様である。
【0076】
次に、図13を用いてクライアントがユーザインタフェース提供サーバに対して、ユーザインタフェースの提供を依頼するコマンドを送ったときの処理について説明する。
【0077】
本実施形態では、クライアント30とユーザインタフェース提供サーバ50は、TCP/IP(Transmission Protocol/Internet Protocol)により、通信するものとする。
(S1)待ち受け開始:ユーザインタフェース提供サーバ50は、クライアント30との通信初期設定の後に、TCPコネクション生成要求の待ち受けを開始する。
(S2)待ち受け終了命令?:GUIやCUIを介して再起動命令など、情報処理装置10の停止を命令された場合には(S2:YES)、処理を終了する。それ以外の場合には(S2:NO)、(S3)に処理を進める。
(S3)TCPコネクション確立要求?:クライアント30とユーザインタフェース提供サーバ50が、ネットワーク5を介してTCPコネクションの確立を要求した場合には(S3:YES)、(S4)に処理を進める。それ以外の場合には(S3:NO)、(S2)に処理を戻す。
(S4)TCPポート番号:コネクションの確立を要求された宛先TCPポート番号によって、処理を分岐する。HTTP(Hyper Text Transfer Protocol)・HTTPS(Hyper Text Transfer Protocol Secure)に使用される80番ポートまたは443番ポートであった場合には(S4:80/443(HTTP))、コネクションを確立し、(S5)に処理を進める。事前に設定された指定ポート番号であった場合には(S4:指定されたポート番号)、コネクションを確立し、(S7)に処理を進める。そのほかのポート番号であった場合には(S4:その他)、(S2)に処理を戻す。
(S5)HTML(Hyper Text Markup Language)ファイルの生成:ユーザインタフェース提供サーバ50のユーザインタフェースオブジェクト生成52は、アプリケーションサーバサイド60が保持するマニフェストファイル61を読み込み、ユーザインタフェースオブジェクトを表現するHTMLファイルを生成する。アクセスするURLに応じて、アプリケーション選択メニュー画面と、アプリケーション0毎の設定画面のいずれかを生成する。
(S6)HTMLファイルの返信:(S5)で生成したHTMLファイルをHTTPレスポンスとして、返信する。返信後、(S2)に処理を戻す。この際、HTTPの仕様により(S4)で確立されたコネクションは開放される。
(S7)コネクション開放要求?:(S4)で確立されたコネクションにおいて開放要求があれば(S7:YES)、コネクションを開放し、(S2)に処理を戻す。それ以外の場合は(S7:NO)、(S8)に進む。
(S8)正しいコマンドを受信?:(S4)で確立されたコネクションを介して、CUIのコマンド仕様に従った正しいコマンドを受信した場合には(S8:YES)、(S9)に処理を進める。それ以外の場合には(S8:NO)、(S7)に処理を戻す。
(S9)コマンドの実行:(S8)で受信したコマンドを解釈し、実行する。本処理におけるコマンドの内容は、情報取得や、設定値の更新・適用などである。
(S10)待ち受け終了:ユーザインタフェース提供サーバ50のクライアントインタフェース部51は、TCPコネクション確立要求の待ち受けを終了する。
【0078】
本実施形態では、マニフェストファイル51がアプリケーションサーバサイド60に置かれることになるため、管理が容易になり、アプリケーションが実行される多くのクライアントに対して統一的なユーザインタフェースを提供することができるという利点がある。
【符号の説明】
【0079】
1…ユーザ
10…情報処理装置
11…入出力部
12…アプリケーション起動部
13…ユーザインタフェースオブジェクト生成部
14…アプリケーション設定部
20…アプリケーション
21…マニフェストファイル
22…設定ファイル
23…実行ファイル
5…ネットワーク
30…クライアント
31…入出力部
32…サーバインタフェース部
33…アプリケーション起動部
34…アプリケーション設定部
40…アプリケーションクライアントサイド
41…設定ファイル
42…実行ファイル
50…ユーザインタフェース提供サーバ
51…クライアントインタフェース部
52…ユーザインタフェースオブジェクト生成部
60…アプリケーションサーバサイド
61…マニフェストファイル
400…アプリケーション選択メニュー画面
410…アイコン
420…アプリケーション設定画面
430…メニュー画面
440…設定値入力画面
441…enum型で定義された項目
442…array型で定義された項目
443…行の追加ボタン
444…設定保存ボタン
500…CUI
700…言語選択タブ
800…licenceへのリンク
810…licence情報
811…(K5-2)で登録された名称
812…licence fileの文字列
図1
図2
図3
図4A
図4B
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13