以下、本発明の好適な実施の形態(以下「実施形態」という)について、図面を用いて詳細に説明する。
[第1の実施形態]
<システム構成>
図1は、本実施形態に係る処理フロー制御システム1の構成例を示す図である。
図1には、複数の電子機器200a〜200d(以下総称する場合「電子機器200」という)と、情報端末100とが、ネットワークなどの所定のデータ伝送路で接続されるシステム構成例が示されている。
電子機器200は、入力機能及び/又は出力機能を有する機器であり、例えば、PC(Personal Computer)、MFP(Multifunction Peripheral)、プロジェクタ(Projector)、メディアボード(MDB:Media Board)などがある。
情報端末100は、各種センサーを利用した入出力を含む情報処理機能を有し、携帯性や操作性に優れた機器であり、例えば、スマートフォンやタブレットPC(Tablet Personal Computer)などがある。
近年、このような情報端末100は、パーソナルでの利用だけでなく、ビジネスでの利用も増えており、上述したような処理フローの実行環境においても、電子機器200と連携動作する場面が考えられる。
そこで、本実施形態に係る処理フロー制御システム1では、利用者に次のようなサービスを提供する。
例えば、利用者が、ネットワーク上のPC200aとMFP200bとを連携させて印刷処理(以下「プリントフロー」という)を実行したい場合には、まず、情報端末100からネットワーク上の電子機器200を検索し(ブロードキャストし)、PC200aとMFP200bとを見つける。利用者は、情報端末100に表示された検索結果から、PC200aを入力機器(入力機能)として指定し、MFP200bを出力機器(出力機能)として指定し、プリントフローのフロー内容を確定する。その後、利用者は、情報端末100の画面上で実行ボタンをタッチ(押下)することで、プリントフローの実行を指示する。これにより、情報端末100では、入力機器指定されたPC200aから取得した処理データ(印刷画像データ)を出力機器指定されたMFP200bに送信し(入出力機器の間で処理データを中継し)、利用者から要求されたプリントフローを実行する。
また、利用者が、プリントフロー実行後に、同じMFP200bとPC200aとを連携させて画像読み取り処理(以下「スキャンフロー」という)を実行したい場合には、図2に示すように、情報端末100を180°回転させる。
図2は、回転操作に応じた画面制御Wの動作例を示す図である。
図2(C)に示すように、情報端末100には、プリントフローの入力機器と出力機器とが入れ替わった画面表示が示されている。情報端末100では、同図(A)に示す表示状態で同図(B)に示す利用者の回転操作を受け付けると、同図(C)に示すように、入力機器:PC200aと出力機器:MFP200bとが指定されたプリントフローから、入力機器:MFP200bと出力機器:PC200aとに入れ替えられたスキャンフローにフロー内容が変更される。その後、利用者は、情報端末100の画面上で実行ボタンをタッチすることで、スキャンフローの実行を指示する。これにより、情報端末100では、入力機器指定されたMFP200bから取得した処理データ(読み取り画像データ)を出力機器指定されたPC200aに送信し、利用者から要求されたスキャンフローを実行する。
以上のように、本実施形態に係る処理フロー制御システム1では、上記システム構成により、処理フローサービスを実現できる。
<ハードウェア構成>
図3は、本実施形態に係る情報端末100のハードウェア構成例を示す図である。
図2に示すように、情報端末100は、操作パネル101、センサ102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
操作パネル101は、表示デバイス及びタッチ機能を有する入力デバイスを備えており、機器情報などの各種情報を利用者に提供したり、動作設定や動作指示などの各種利用者操作を受け付けたりする。
センサ102は、機器状態を検知するデバイスである。機器状態には、自機の回転移動状態や方向移動状態などがあり、対応デバイスには、加速度センサ、地磁気センサ、ジャイロセンサなどがある。
通信I/F107は、情報端末100をネットワークに接続するインタフェースである。これにより、情報端末100は、通信I/F107を介して、電子機器200とデータ通信を行うことができる。
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、端末全体を制御する基本ソフトウェアであるOS(Operating System)及び該OS上で動作し各種機能を提供するアプリケーションソフトウェアなどがある。また、HDD108は、格納しているプログラムやデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103aなどがある。これにより、情報端末100は、外部I/F103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、SDメモリカード(SD Memory Card)やUSBメモリ(Universal Serial Bus Memory)などがある。
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、情報端末100の起動時に実行されるBIOS(Basic Input/Output System)、OSやアプリケーション設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記記憶装置(例えば「HDD」や「ROM」など)から、プログラムやデータをRAM上に読み出し、処理を実行することで、端末全体の制御や搭載機能を動作させる演算装置である。
以上のように、本実施形態に係る情報端末100では、上記ハードウェア構成により、操作パネル101やセンサ102などを利用した入出力を含む情報処理サービスを実現できる。
<処理フロー制御機能>
本実施形態に係る処理フロー制御機能について説明する。
本実施形態に係る情報端末100では、ネットワーク上から検出した通信可能な電子機器200を、処理フローで利用可能な入力候補及び/又は出力候補として管理する。情報端末100は、検出した自機の回転移動に連動させて、処理フローで入力機器として指定された電子機器200と出力機器として指定された電子機器200とを入れ替え、フロー内容を変更する。情報端末100は、入れ替えられた入力機器から処理データを取得し、入れ替えられた出力機器に対して取得データを送信し、処理フローを実行する。本実施形態に係る情報端末100は、このような処理フロー制御機能を有している。
従来の処理フロー制御では、利用機能の変更や実行順などのフロー内容を変更する際に、利用者が使いづらさを感じる場面があり、利便性に優れた処理フローサービスを実現できていない。
そこで、本実施形態に係る情報端末100では、処理フローで指定された入力機器と出力機器とを回転移動に合わせて入れ替える仕組みとした。
これにより、本実施形態に係る情報端末100は、例えば、図2に示すような、直感的な操作でフロー内容が変更でき、簡便な操作で処理フローが実行可能な処理フロー制御機能を提供する。その結果、本実施形態に係る処理フロー制御システム1では、利便性に優れた処理フローサービスを実現できる。
以下に、本実施形態に係る処理フロー制御機能の構成とその動作について説明する。
図4は、本実施形態に係る処理フロー制御機能の構成例を示す図である。
図4に示すように、本実施形態に係る処理フロー制御機能は、機器管理部11、回転移動検出部12、UI制御部13、及びフロー制御部14などを有している。これらの機能部は、情報端末100にインストールされたプログラムやデータを含むアプリケーションソフトウェアの実行により機能し連携動作する。
なお、以下の説明では、便宜上、電子機器200のうち、処理フローで入力機器(入力機能)として利用する電子機器200を「入力機器2001」と称し、処理フローで出力機器(出力機能)として利用する電子機器200を「出力機器2002」と称する。
機器管理部11は、ネットワーク上の電子機器200を管理する機能部である。機器管理部11は、ネットワーク上から検出した通信可能な電子機器200を、処理フローで利用可能な入力機器候補(入力機能候補)及び/又は出力機器候補(出力機能候補)として管理する。
また、機器管理部11は、処理フロー実行時の処理データの通信処理(機器間のデータ中継処理)を行う。具体的には、処理フローで指定された入力機器2001からの処理データの取得や、処理フローで指定された出力機器2002に対する処理データの送信などを行う。
通信処理は、例えば、図5に示すような、電子機器200の入出力機能に対応する通信プロトコルに従って行う。
図5は、本実施形態に係る電子機器200が有する機能と通信プロトコルとの関係を示す図である。
例えば、図5には、PC200a、MFP200b、プロジェクタ200c、メディアボード200dの各電子機器200が有する入力機能及び/又は出力機能と、該機能利用時に外部機器と通信を行う際に用いる通信プロトコルとの対応関係が示されている。
MFP200bが有する印刷機能(Print)、画像読み取り機能(Scan)、ファックス機能(FAX)や、プロジェクタ200cが有する画像投影機能(Projection)、投影画像取り込み機能(Capture)は、TCP/IP(Transmission Control Protocol/Internet Protocol)に従って外部機器との通信が行われる。また、PC200a(Directory)が有するファイル共有機能(File)は、SMB(Server Message Block)に従って外部機器との通信が行われる。また、メディアボード200dが有する手書き入力機能(Capture)、画像投影機能(Projection)は、HTTP(HyperText Transfer Protocol)に従って外部機器との通信が行われる。
図4の説明に戻る。そこで、機器管理部11は、上記通信プロトコルに対応する通信プログラムを、入力機能/出力機能ごとに提供し、処理フロー実行時に該プログラムが呼び出されることで、上記通信処理を行う。なお、以下では、便宜上、上記通信プログラムを「入力機能/出力機能に対応するメソッド」と称す。
回転移動検出部12は、情報端末100の回転移動を検出する機能部である。回転移動検出部12は、例えば、回転操作を検知する加速度センサから情報(例えば「回転角度」などの回転移動量)を取得し、回転移動を検出する。
UI制御部13は、操作パネル101の画面を制御する機能部である。UI制御部13は、処理フロー制御に係るUI画面処理の制御を行う。具体的には、制御画面Wの表示、制御画面Wの回転、操作イベントの取得などを行う。
制御画面Wの表示処理は、処理フローの流れ(実行順)や処理データのプレビュー、処理フローの入力機器2001/出力機器2002の選択・指定や処理フローの実行指示などを受け付ける操作部品(Graphical Parts)などを表示したりする。また、制御画面Wの回転処理は、情報端末100の回転操作に応じて、制御画面Wを回転させ、画面を再表示(表示内容を再描画)する。また、操作イベントの取得処理は、制御画面上に表示された操作部品がタッチされた場合に発行される操作イベント(選択・指定/指示に関する命令)を取得する。
これにより、情報端末100では、利用者に対して、図2に示すような直感的な操作(簡便な操作)が可能なUI環境を提供できる。
フロー制御部14は、処理フローを制御する機能部である。フロー制御部14は、回転操作や画面操作などに応じて、フロー内容の変更処理や処理フローの実行処理の制御を行う。フロー制御部14は、次のような定義情報に基づき制御を行う。
ここで、定義情報について説明する。なお、定義情報は、情報端末100が備える記憶装置108(HDD)の所定の記憶領域である定義情報保持部90に保持されている。
図6は、本実施形態に係る定義情報90Dのデータ例を示す図である。
図6に示すように、定義情報90Dには、主に、処理フローで利用可能な入出力候補に関する情報が定義されたデータ領域R1(以下便宜上「入出力候補の定義データR1」という)と、利用者操作に基づく処理フロー制御に関する情報が定義されたデータ領域R2(以下便宜上「処理フロー制御の定義データR2」という)とを含む。また、定義情報90Dは、XML(Extensible Markup Language)などの構造化言語を用いて、情報を階層化して定義している。
入出力候補の定義データR1には、まず、入力機器2001/出力機器2002に該当する電子機器200が定義されている。具体的には、電子機器200の識別子(属性:name)、デフォルト時に有効にする入出力機能の値(属性:initial)、電子機器200のネットワーク設定値:識別子(属性:ipAddress,属性:pcName)などが、機器単位(機器定義用タグ「<device>タグ」単位)で定義されている。
また、そのデータの1つ下の階層には、入力機能/出力機能に該当する搭載機能が定義されている。具体的には、入力機能/出力機能のデータタイプの値(属性:type)、入力機能/出力機能(入力機能/出力機能に対応するメソッド)の実行パラメータの値:クラス名(属性:classType)などが、入出力機能単位(入力候補用タグ「<srcFunction>タグ」/出力候補用タグ「<dstFunction>タグ」単位)で定義されている。
例えば、入出力候補に該当するMFP200b,PC200a(Directory)の定義データR1は、次のようなデータとなる。
具体的には、<device>タグのデータには、機器識別子:"MFP"、デフォルト時に出力機能を有効とする値:"distination"、ネットワーク設定値:"192.168.10.001"などが定義されている。また、<device>タグのデータには、機器識別子:"Directory"、デフォルト時に入力機能を有効とする値:"source"、ネットワーク設定値:"MyComputer"などが定義されている。
つまり、図6に示す入出力候補の定義データR1には、ネットワーク設定値:"192.168.10.001"のMFP200bが、デフォルト時に出力機能が有効となる出力機器2002として定義されている。また、ネットワーク設定値:"MyComputer"のPC200a(Directory)が、デフォルト時に入力機能が有効となる入力機器2001として定義されている。
また、MFP200bに対応する<device>タグのデータの1つ下の階層には、入力機能に該当する画像読み取り機能(Scan)及びファックス機能(FAX:返信)と、出力機能に該当する印刷機能(Print)及びファックス機能(FAX:送信)とが定義されている。
具体的には、<srcFunction>タグのデータには、画像読み取り機能(Scan)のデータタイプの値:"Image"、実行パラメータの値(クラス名):"jp.co.XXX.mfp001.scan"などが定義されている。また、<srcFunction>タグのデータには、ファックス機能(FAX:返信)のデータタイプの値:"Image"、実行パラメータの値(クラス名):"jp.co.XXX.mfp001.fax"などが定義されている。
<dstFunction>タグのデータには、印刷機能(Print)のデータタイプの値:"Image"、実行パラメータの値(クラス名):"jp.co.XXX.mfp001.print"などが定義されている。また、<dstFunction>タグのデータには、ファックス機能(FAX)のデータタイプの値:"Image"、実行パラメータの値(クラス名):"jp.co.XXX.mfp001.fax"などが定義されている。
また、PC200a(Directory)に対応する<device>タグのデータの1つ下の階層には、入出力機能に該当するファイル共有機能(File)が定義されている。
具体的には、<srcFunction>タグ/<dstFunction>タグのデータには、ファイル共有機能(File)のデータタイプの値:"Image"、実行パラメータの値(クラス名):"jp.co.XXX.pc001.file"などが定義されている。
つまり、図6に示す入出力候補の定義データR1には、MFP200bが入力機器2001に指定された場合の入力機能として、クラス名:"jp.co.XXX.mfp001.scan"又は"jp.co.XXX.mfp001.fax"の実行パラメータに基づき、画像データを処理する、画像読み取り機能(Scan)とファックス機能(FAX:返信)とが定義されている。また、MFP200bが出力機器2002に指定された場合の出力機能として、クラス名:"jp.co.XXX.mfp001.print"又は"jp.co.XXX.mfp001.fax"の実行パラメータに基づき、画像データを処理する、印刷機能(Scan)とファックス機能(FAX:送信)とが定義されている。
このような入出力候補の定義データR1は、例えば、図7に示すような、入出力候補におけるデータタイプと入出力機能との関係に従って定義される。
図7は、本実施形態に係る入出力候補におけるデータタイプと入出力機能との関係を示す図である。
例えば、図7には、PC200a、MFP200b、プロジェクタ200cの各電子機器200が有する入出力候補の機能と、該機能利用時のデータタイプとの対応関係が示されている。
MFP200bが有する入力候補の画像読み取り機能(Scan)、出力候補の印刷機能(Print)、入出力候補のファックス機能(FAX)は、画像データを用いて処理が行われる。また、プロジェクタ200cが有する入力候補の投影画像取り込み機能(Capture)、出力候補の画像投影機能(Projection)は、画像データを用いて処理が行われる。また、PC200a(Directory)が有する入出力候補のファイル共有機能(File)は、画像データを用いて処理が行われる。
本実施形態では、上記関係に従って、入出力候補の定義データR1を生成することで、情報端末100がネットワーク上で検出した電子機器200の搭載機能を、処理フローの入力機能/出力機能として利用することができる。
図6の説明に戻る。処理フロー制御の定義データR2には、処理フローの制御内容が定義されている。具体的には、処理フロー制御の識別子(属性:name)、制御条件式(属性:condition)などが、制御単位(制御定義用タグ「<model>タグ」単位)で定義されている。
また、そのデータの1つ下の階層には、制御条件が満たされた場合の入出力機能の設定が定義されている。具体的には、設定対象機能の識別子(属性:target)、入出力機能の設定値などが、設定単位(設定定義用タグ「<setparam>タグ」単位)で定義されている。
例えば、回転操作に基づく処理フロー制御の定義データR2は、次のようなデータとなる。
具体的には、<model>タグのデータには、制御識別子:"ext"、回転制御条件式:"360>device_x≧180"などが定義されている。
つまり、図6に示す処理フロー制御の定義データR2には、情報端末100の回転移動量(回転角度)が180°以上360°未満の条件を満たした場合、処理フローの入出力機能を再設定する制御内容が定義されている。
また、そのデータの1つ下の階層には、回転制御条件が満たされた場合の入出力機能の設定が定義されている。
具体的には、<setparam>タグのデータには、設定対象識別子:"flowdef.source"と対象機器設定値:"MFP"、設定対象識別子:"flowdef.distination"と対象機器設定値:"Directory"などが定義されている。
つまり、図6に示す処理フロー制御の定義データR2には、回転制御条件を満たした場合、処理フローの入力機能をMFP200bが有する機能に設定し、処理フローの出力機能をPC200a(Directory)が有する機能に設定する(入出力を入れ替える)制御内容が定義されている。
このように、図6に示す定義情報90Dには、入出力候補の定義データR1に、デフォルト時に入力機能が有効となるPC200a(Directory)と出力機能が有効となるMFP200bとが定義されており、処理フロー制御の定義データR2に、回転制御条件が満たされた場合に、入力機器2001と出力機器2002とを入れ替える制御内容が定義されている。
図4の説明に戻る。フロー制御部14は、まず、定義情報保持部90にアクセスし、上記定義情報90Dの入出力候補の定義データR1を参照し、デフォルトの定義内容に基づき、デフォルトの処理フローを決定する。例えば、図6に示す定義情報90Dの場合には、プリントフローとなる。
フロー制御部14は、実行パラメータ代入部143、実行可否判定部144、フロー実行部145により、次のような処理を行う。
フロー制御部14は、実行可否判定部144により、入力機器2001/出力機器2002の入力機能/出力機能に対応する定義データR1のデータタイプの定義値に基づき、決定した処理フローで利用する入出力機能のデータタイプが同じか否かを判定する。
フロー制御部14は、データタイプが同じと判定した場合に、実行パラメータ代入部143により、同定義データR1の実行パラメータの定義値(クラス名)に基づき、実行パラメータを入力機能/出力機能に対応するメソッド(機器管理部が提供する通信プログラム)に代入する。なお、本実施形態では、実行パラメータの定義値(クラス名)から、実行パラメータを代入するメソッドを一意に特定可能となるように実装(プログラムミング)されている。フロー制御部14は、実行可否判定部144により、代入した実行パラメータでメソッドが実行可能な否かを判定する(代入した実行パラメータを検証する)。
フロー制御部14は、データタイプが同じで、かつ、メソッドが実行可能と判定した場合に、処理フローが実行可能であると判断し、フロー実行部145により、入力機能に対応するメソッドを呼び出し(コールし)、入力機器2001から処理データ(画像データ)を取得する。フロー制御部14は、UI制御部13に対して、処理データをプレビュー画像とする制御画面Wの表示を指示する。
このように、情報端末100では、処理フロー制御機能のアプリケーションソフトウェアが起動された際に(以下便宜上「アプリ起動時」という)、フロー制御部14により上記処理が実行され、入出力指定を変更可能なデフォルトの処理フローの制御画面Wが表示パネル101に表示される。
また、フロー制御部14は、UI制御部13が制御画面Wから入出力変更指示を受け付けると、次のようなフロー内容の変更処理を実行する。なお、UI制御部13では、入出力変更指示を受け付けると、入出力変更の設定画面を操作パネル101に表示し、設定画面から変更内容(変更後の入力機能/出力機能の指定)を受け付ける。
フロー制御部14は、実行可否判定部144により、変更時に指定された入力機能/出力機能に対応する定義データR1のデータタイプに基づき、変更後の入出力機能のデータタイプが同じか否かを判定する。フロー制御部14は、実行パラメータ代入部143により、同定義データR1の実行パラメータの定義値に基づき、実行パラメータを変更後の入力機能/出力機能に対応するメソッドに代入し、実行可否判定部144により、代入した実行パラメータでメソッドが実行可能な否かを判定する。
フロー制御部14は、データタイプが同じで、かつ、メソッドが実行可能と判定した場合に、処理フローが実行可能であると判断し、フロー実行部145により、変更後の入力機能に対応するメソッドを呼び出し、入力機器2001から処理データを取得し、UI制御部13に対して、処理データをプレビュー画像とする変更後の制御画面Wの表示を指示する。
また、フロー制御部14では、UI制御部13が制御画面Wから処理フロー実行指示を受け付けると、フロー内容が確定したとして、次のような処理フローの実行処理を実行する。
フロー制御部14は、フロー実行部145により、出力機能に対応するメソッドを呼び出し、出力機器2002に対して処理データ(画像データ)を送信する。
このように、情報端末100では、処理フローで指定された入力機器2001と出力機器2002との間で処理データが中継される。
また、フロー制御部14は、制御画面表示中に情報端末100が回転操作されると、回転移動量取得部141、制御条件判定部142、実行パラメータ代入部143、実行可否判定部144、フロー実行部145により、次のようなフロー内容の変更処理を実行する。
フロー制御部14は、回転移動量取得部141により、情報端末100の回転移動量(回転角度)を取得する。なお、ここで取得する回転移動量は、回転の移動開始位置にあたる起点からの相対的な回転角度である。よって、フロー制御部14は、起点確定部140により、処理フロー制御機能のアプリ起動時に、情報端末100の回転の移動開始位置(現在位置)を取得し、起点を確定しておく。
フロー制御部14は、定義情報90Dの処理フロー制御の定義データR2を参照し、定義内容に基づき、処理フロー制御を特定する。例えば、図6に示す定義情報90Dの場合には、入出力入れ替え制御が特定される。
フロー制御部14は、制御条件判定部142により、同定義データR2の回転制御条件式に、取得した回転移動量を代入し、回転移動量が回転制御条件を満たしているか否かを判定する。
フロー制御部14は、回転制御条件を満たしていると判定した場合に、実行可否判定部144により、制御条件を満たした場合に設定される(入れ替え変更後の)入力機器2001/出力機器2002の入力機能/出力機能に対応する定義データR1のデータタイプの定義値に基づき、入れ替え変更後の入出力機能のデータタイプが同じか否かを判定する。フロー制御部14は、実行パラメータ代入部143により、同定義データR1の実行パラメータの定義値に基づき、実行パラメータを入れ替え変更後の入力機能/出力機能に対応するメソッドに代入し、実行可否判定部144により、代入した実行パラメータでメソッドが実行可能な否かを判定する。なおこのとき、実行可否判定部144は、入れ替え変更前の処理フロー実行時の実行パラメータについても、メソッドが実行可能な否かを判定する。
フロー制御部14は、入出力機能のデータタイプが同じで、かつ、メソッドが実行可能と判定した場合に、フロー実行部145により、入れ替え変更後の入力機能に対応するメソッドを呼び出し、入力機器2001から処理データを取得し、UI制御部13に対して、処理データをプレビュー画像とする入れ替え変更後の制御画面Wの表示(回転表示)を指示する。
このように、情報端末100では、情報端末100の回転操作に応じて、処理フローで指定された入力機器2001と出力機器2002とが入れ替わり、フロー内容が変更される。
これにより、情報端末100では、利用者に対して、図8、9に示すような処理フローの実行環境を提供できる。
《プリントフロー/スキャンフローの動作例》
図8は、本実施形態に係るプリントフローからスキャンフローに変更された場合の処理フロー制御の動作例を示す図である。
図8(A)には、情報端末100において、処理フロー制御機能のアプリ起動時の動作例が示されている。図中の動作例では、PC200a(Directory)が有する入力候補のファイル共有機能(File)が入力機能に指定され、MFP200bが有する出力候補の印刷機能(Print)が出力機能に指定されている。よって、情報端末100には、入力:PC200a(Directory)から出力:MFP200bへのプリントフローの制御画面Wが表示される。その後、利用者は、同図(B)に示すように、情報端末100を回転操作する。その結果、情報端末100では、同図(C)に示すように、入力:MFP200bから出力:PC200a(Directory)へのスキャンフローの制御画面Wが表示される。つまり、情報端末100では、回転操作に応じて、入力機器2001と出力機器2002とを入れ替えて設定し、入力機能/出力機能を指定する。具体的には、MFP200bが有する入力候補の画像読み取り機能(Scan)を入力機能に、また、PC200a(Directory)が有する出力候補のファイル共有機能(File)を出力機能に指定する。
このように、本実施形態では、プリントフローからスキャンフローへの変更、又は、スキャンフローからプリントフローへの変更を、情報端末100を回転させることで実現できる。
《FAXフローの動作例》
図9は、本実施形態に係るFAXフロー(送信)からFAXフロー(返信)に変更された場合の処理フロー制御の動作例を示す図である。
図9(A)には、情報端末100において、処理フロー制御機能のアプリ起動時の動作例が示されている。図中の動作例では、PC200a(Directory)が有する入力候補のファイル共有機能(File)が入力機能に指定され、MFP200bが有する出力候補のファックス機能(FAX:送信)が出力機能に指定されている。よって、情報端末100には、入力:PC200a(Directory)から出力:MFP200bへのFAX送信フローの制御画面Wが表示される。その後、利用者は、同図(B)に示すように、情報端末100を回転操作する。その結果、情報端末100では、同図(C)に示すように、入力:MFP200bから出力:PC200a(Directory)へのFAX返信フローの制御画面Wが表示される。つまり、情報端末100では、回転操作に応じて、入力機器2001と出力機器2002とを入れ替えて設定し、入力機能/出力機能を指定する。具体的には、MFP200bが有する入力候補のファックス機能(FAX:返信)を入力機能に、また、PC200a(Directory)が有する出力候補のファイル共有機能(File)を出力機能に指定する。
このように、本実施形態では、FAX送信フローからFAX返信フローへの変更、又は、FAX返信フローからFAX送信フローへの変更を、情報端末100を回転させることで実現できる。
以上のように、本実施形態に係る処理フロー制御機能は、上記各機能部が連携動作することにより実現される。なお、上記各機能部は、情報端末100に搭載(インストール)されるプログラム(処理フロー制御機能を実現するソフトウェア)が、演算装置(CPU)により、記憶装置(「HDD」や「ROM」)からメモリ(RAM)上に読み出され、以下の処理が実行されることで実現される。
本実施形態に係る処理フロー制御機能の詳細な動作(機能部群の連携動作)について、処理手順を示すフローチャートを用いて説明する。なお、以下の説明には、アプリ起動時にプリントフローが選択され、プリントフロー実行後の回転操作により、スキャンフローへとフロー内容が変更された場合を想定している。
《アプリ起動時の処理》
図10は、本実施形態に係る処理フローの制御処理手順例(起動時)を示すフローチャートである。
図10に示すように、情報端末100は、フロー制御部14により、定義情報90Dを読み取る(ステップS101)。このとき、フロー制御部14は、定義情報保持部90にアクセスし、定義情報90Dを入出力候補の定義データR1及び処理フロー制御の定義データR2を読み取る。その後、フロー制御部14は、定義データR1に定義される入力機器2001/出力機器2002のタグデータ(<device>タグデータ)の各initial属性の属性値(デフォルト値)に基づき、PC200a(Directory)のファイル共有機能(File)を入力機能に指定し、MFP200bの印刷機能(Print)を出力機能に指定し、プリントフローをデフォルトの処理フローに決定する。
次に、情報端末100は、フロー制御部14の起点確定部140により、自機の回転の開始位置(現在位置)を取得し、起点を確定する(ステップS102)。このとき、起点確定部140は、加速度センサから取得した位置情報に基づき起点を確定する。
次に、情報端末100は、フロー制御部14の実行可否判定部144により、入力機器2001/出力機器2002の入力機能/出力機能に対応する定義データR1のデータタイプの定義値に基づき、決定した処理フローで利用する入出力機能のデータタイプが同じか否かを判定する(ステップS103)。このとき、実行可否判定部144は、定義データR1に定義される入出力機能のタグデータ(<srcFunction>タグデータ/<dstFunction>タグデータ)の各type属性の属性値("Image")を比較し、比較結果に基づき上記判定を行う。
情報端末100は、入出力機能のデータタイプが同じと判定した場合に(ステップS103:YES)、フロー制御部14の実行パラメータ代入部143により、定義データR1の実行パラメータの定義値(クラス名:"jp.co.XXX.pc001.file"/"jp.co.XXX.mfp001.print")に基づき、実行パラメータを入力機能/出力機能に対応するメソッドに代入する(ステップS104)。その結果、入出力機能には、それぞれの機能に対する実行パラメータが設定される。このとき、実行パラメータ代入部143は、定義データR1に定義される入出力機能のタグデータ(<srcFunction>タグデータ/<dstFunction>タグデータ)の各classType属性の属性値(クラス名)から特定した指定クラスの実行パラメータを、機器管理部11が提供する同クラスのメソッド(ファイル共有機能/印刷機能対応のメソッド)に代入する。
次に、情報端末100は、フロー制御部14の実行可否判定部144により、代入した実行パラメータでメソッドが実行可能な否かを判定する(ステップS105)。このとき、実行可否判定部144は、classType属性の属性値(クラス名)に基づき、データタイプ不一致により実行不可能なメソッドに実行パラメータが代入されていないかを検証する。具体的には、入力機能であるファイル共有機能(File)に対応するメソッドに、クラス名:"jp.co.XXX.pc001.file"以外の実行パラメータが代入されていないかを検証する。また、出力機能である印刷機能(Print)に対応するメソッドに、クラス名:"jp.co.XXX.mfp001.print"以外の実行パラメータが代入されていないかを検証する。
情報端末100は、メソッドが実行可能と判定した場合に(ステップS105:YES)、フロー制御部14のフロー実行部145により、入力機能に対応するメソッドを呼び出し、入力機器2001から処理データ(画像データ)を取得する(ステップS106)。なおこのとき、情報端末100と入力機器2001であるPC200a(Directory)との間では、機器管理部11により、メソッドが呼び出されたことで、ファイル共有機能(File)に対応する通信プロトコルに従った通信が行われる。具体的には、情報端末100とPC200aとの間ではSMBに従った通信が行われる。
次に、情報端末100は、フロー制御部14がUI制御部13に対して、取得データをプレビューデータとして渡し、制御画面Wの表示を指示する。その結果、情報端末100では、UI制御部13により、処理データをプレビュー画像とするプリントフローの制御画面Wが表示される(ステップS107)。
その後、情報端末100は、UI制御部13により、制御画面Wを介して、フロー実行指示を受け付けると(ステップS108:YES)、フロー制御部14に対して、その旨を通知する。なおこのとき、UI制御部13では、制御画面上の実行ボタンのタッチイベントを検出することで、フロー実行指示を受け付ける。その結果、情報端末100では、フロー制御部14のフロー実行部145により、出力機能に対応するメソッドを呼び出し、出力機器2002に処理データ(画像データ)を送信する(ステップS109)。これにより、出力機器2002では、受信データに基づく処理(印刷処理)が実行される。なおこのとき、情報端末100と出力機器2002であるMFP200bの間では、機器管理部11により、メソッドが呼び出されたことで、出力機能に対応する通信プロトコルに従った通信が行われる。具体的には、情報端末100とMFP200bとの間ではTCP/IPに従った通信が行われる。
また、情報端末100は、UI制御部13により、制御画面Wを介して、入出力変更指示を受け付けると(ステップS108:NO,S110:YES)、入出力変更可能な設定画面を表示する(ステップS111)。
その後、情報端末100は、UI制御部13により、設定画面を介して、入出力の変更設定(変更された入力指定/出力指定)を受け付けると、ステップS103の処理へと移行し、変更後のフロー内容に対して実行可否判定処理を行う。
また、情報端末100は、入出力機能のデータタイプが異なると判定した場合に(ステップS103:NO)やメソッドが実行不可能と判定した場合に(ステップS105:NO)、フロー制御部14により、UI制御部13に対して、データタイプ/実行パラメータ変更可能な設定画面の表示を指示する。
その後、情報端末100は、UI制御部13により、設定画面を介して、データタイプ/実行パラメータの変更設定(変更されたデータタイプ/実行パラメータ)を受け付けると、ステップS103の処理へと移行し、変更後のフロー内容に対して実行可否判定処理を行う。
《処理フロー実行後の入出力入れ替え制御処理》
図11は、本実施形態に係る処理フローの制御処理手順例(フロー実行後の入出力入れ替え制御)を示すフローチャートである。
図11に示すように、情報端末100は、回転移動検出部12により、自機の回転移動を検出する(ステップS201:YES)。このとき、回転移動検出部12は、例えば、回転操作を検知する加速度センサから情報を取得し、回転移動を検出する。
情報端末100は、自機の回転移動が検出されると、フロー制御部14の回転移動量取得部141により、情報端末100の回転移動量(回転角度)を取得する(ステップS202)。このとき、回転移動量取得部141は、アプリ起動時に確定した起点からの回転移動量を取得する。
次に、情報端末100は、フロー制御部14の制御条件判定部142により、アプリ起動時に読み取った処理フロー制御の定義データR2の回転制御条件式と取得した回転移動量とに基づき、処理フロー制御(入出力入れ替え制御)と連動する回転操作が行われたか否かを判定する(ステップS203)。このとき、制御条件判定部142は、取得した回転移動量を回転制御条件式に代入し、回転移動量が回転制御条件を満たしているか否かを判定する。なおこのとき、制御条件判定部142は、定義データR2に定義される制御内容のタグデータ(<model>タグデータ)のcondition属性の属性値(制御条件式:"360>device_x≧180")に基づき、処理フローの制御条件を特定する。また、制御条件判定部142は、定義データR2に定義される制御設定のタグデータ(<setparam>タグデータ)のtarget属性の属性値(制御設定値)に基づき、制御条件(回転移動範囲内)が満たされた場合の処理フロー制御で設定する入れ替え変更後の入力機器2001/出力機器2002を特定する。具体的には、制御条件式:"360>device_x≧180"の制御条件が満たされた場合に設定される入力機能(画像読み取り機能)を有するMFP200bと、出力機能(ファイル共有機能)を有するPC200a(Directory)とを特定する。
情報端末100は、処理フロー制御と連動する回転操作が行われた(回転移動量が回転制御条件を満たしている)と判定した場合に(ステップS203:YES)、フロー制御部14の実行可否判定部144により、制御条件を満たした場合に設定される(入れ替え変更後の)入力機器2001/出力機器2002の入力機能/出力機能に対応する定義データR1のデータタイプの定義値に基づき、入れ替え変更後の入出力機能のデータタイプが同じか否かを判定する(ステップS204)。このとき、実行可否判定部144は、定義データR1に定義される入出力機能のタグデータ(<srcFunction>タグデータ/<dstFunction>タグデータ)の各type属性の属性値("Image")を比較し、比較結果に基づき上記判定を行う。
情報端末100は、入出力機能のデータタイプが同じと判定した場合に(ステップS204:YES)、フロー制御部14の実行パラメータ代入部143により、定義データR1の実行パラメータの定義値(クラス名:"jp.co.XXX.mfp001.scan"/"jp.co.XXX.pc001.file")に基づき、実行パラメータを入力機能/出力機能に対応するメソッドに代入する(ステップS205)。その結果、入れ替えられた入出力機能には、それぞれの機能に対する実行パラメータが設定される。このとき、実行パラメータ代入部143は、定義データR1に定義される入出力機能のタグデータ(<srcFunction>タグデータ/<dstFunction>タグデータ)の各classType属性の属性値(クラス名)から特定した指定クラスの実行パラメータを、機器管理部11が提供する同クラスのメソッド(画像読み取り機能/ファイル共有機能対応のメソッド)に代入する。
次に、情報端末100は、フロー制御部14の実行可否判定部144により、代入した実行パラメータでメソッドが実行可能な否かを判定する(ステップS206)。このとき、実行可否判定部144は、classType属性の属性値(クラス名)に基づき、データタイプ不一致により実行不可能なメソッドに実行パラメータが代入されていないかを検証する。具体的には、入力機能である画像読み取り機能(scan)に対応するメソッドに、クラス名:"jp.co.XXX.mfp001.scan"以外の実行パラメータが代入されていないかを検証する。また、出力機能であるファイル共有機能(File)に対応するメソッドに、クラス名:"jp.co.XXX.pc001.file"以外の実行パラメータが代入されていないかを検証する。
またこのとき、実行可否判定部144は、プリントフロー実行時に利用した実行パラメータの値(処理実行済みの値)が、入れ替え変更後のスキャンフロー実行時でも利用可能(有効な設定)か否かを検証する。例えば、MFP200bのネットワーク設定値(IPアドレス:Internet Protocol address)や印刷設定値(カラー/レイアウト設定)などの実行パラメータの値である。
情報端末100は、メソッドが実行可能と判定した場合に(ステップS206:YES)、フロー制御部14のフロー実行部145により、入力機能に対応するメソッドを呼び出し、入力機器2001から処理データ(画像データ)を取得する(ステップS207)。なおこのとき、情報端末100と入力機器2001であるMFP200bとの間では、機器管理部11により、メソッドが呼び出されたことで、画像読み取り機能(scan)に対応する通信プロトコルに従った通信が行われる。具体的には、情報端末100とMFP200bとの間ではTCP/IPに従った通信が行われる。
次に、情報端末100は、フロー制御部14がUI制御部13に対して、取得データをプレビューデータとして渡し、制御画面Wの表示を指示する。その結果、情報端末100では、UI制御部13により、処理データをプレビュー画像とするスキャンフローの制御画面Wが表示される(ステップS208)。
その後、情報端末100は、UI制御部13により、制御画面Wを介して、フロー実行指示を受け付けると(ステップS209:YES)、フロー制御部14に対して、その旨を通知する。なおこのとき、UI制御部13では、制御画面上の実行ボタンのタッチイベントを検出することで、フロー実行指示を受け付ける。その結果、情報端末100では、フロー制御部14のフロー実行部145により、出力機能に対応するメソッドを呼び出し、出力機器2002に処理データ(画像データ)を送信する(ステップS210)。これにより、出力機器2002では、受信データに基づく処理(データ保存処理)が実行される。なおこのとき、情報端末100と出力機器2002であるPC200a(Directory)の間では、機器管理部11により、メソッドが呼び出されたことで、出力機能に対応する通信プロトコルに従った通信が行われる。具体的には、情報端末100とPC200a(Directory)との間ではSMBに従った通信が行われる。
また、情報端末100は、UI制御部13により、制御画面Wを介して、入出力変更指示を受け付けると(ステップS209:NO,S211:YES)、入出力変更可能な設定画面を表示する(ステップS212)。
その後、情報端末100は、UI制御部13により、設定画面を介して、入出力の変更設定(変更された入力指定/出力指定)を受け付けると、ステップS204の処理へと移行し、変更後のフロー内容に対して実行可否判定処理を行う。
また、情報端末100は、入出力機能のデータタイプが異なると判定した場合に(ステップS204:NO)やメソッドが実行不可能と判定した場合に(ステップS206:NO)、フロー制御部14により、UI制御部13に対して、データタイプ/実行パラメータ変更可能な設定画面の表示を指示する。
その後、情報端末100は、UI制御部13により、設定画面を介して、データタイプ/実行パラメータの変更設定(変更されたデータタイプ/実行パラメータ)を受け付けると、ステップS204の処理へと移行し、変更後のフロー内容に対して実行可否判定処理を行う。
<まとめ>
以上のように、本実施形態に係る情報端末100によれば、機器管理部11により、ネットワーク上から検出した通信可能な電子機器200を、処理フローで利用可能な入力候補及び/又は出力候補として管理する。情報端末100は、回転移動検出部12により、自機の回転移動を検出し、フロー制御部14により、検出した自機の回転移動に連動させて、処理フローで指定された入力機器2001と出力機器2002とを入れ替え、フロー内容を変更する。フロー制御部14(フロー実行部)は、入れ替えられた入力機器2001から処理データを取得し、入れ替えられた出力機器2002に対して取得データを送信し、処理フローを実行する。
これによって、本実施形態に係る処理フロー制御システム1は、直感的な操作でフロー内容が変更でき、簡便な操作で処理フローが実行可能な処理フロー制御機能を提供する。その結果、本実施形態に係る処理フロー制御システム1では、利便性に優れた処理フローサービスを実現できる。
[変形例:その1]
本変形例1では、利用者の向く方向(以下便宜上「方向操作」という)に応じて、処理フローで利用する電子機器(入力機能/出力機能)を切り換える仕組みを提案する。
これにより、変形例1では、上記実施形態と同様に、直感的な操作でフロー内容が変更でき、簡便な操作で処理フローが実行可能な処理フロー制御機能を提供できる。
なお、以降では、上記実施形態と異なる事項のみを説明し、同一事項については、同一参照符号を付し、その説明を省略する。
図12は、方向操作に応じた画面制御の動作例を示す図である。
図12(B)に示すように、情報端末100には、出力機器2002(出力機能)が切り換わった画面表示が示されている。情報端末100では、同図(A)の表示状態で、同図(B)に示す利用者の方向操作を受け付けると、同図(C)に示すように、プリントフローで利用する出力機器2002が、ネットワーク設定値:"192.168.10.001"のMFP200bからネットワーク設定値:"192.168.10.002"のMFP200bへと切り換わる。その後、利用者は、情報端末100の画面上で実行ボタンをタッチすることで、プリントフローの実行を指示する。これにより、情報端末100では、入力機器指定されたPC200a(Directory)から取得した処理データ(画像データ)を、切り換え変更後に出力機器指定されたネットワーク設定値:"192.168.10.002"のMFP200bに送信し、利用者から要求されたプリントフローを実行する。
このような、本変形例1に係る処理フロー制御機能は、次のような機能構成により実現できる。
<処理フロー制御機能>
図13は、本変形例1に係る処理フロー制御機能の構成例を示す図である。
図13に示すように、本変形例1に係る処理フロー制御機能は、方向移動検出部21とフロー制御部14が方向移動量取得部146とを有している。
方向移動検出部21は、情報端末100の方向移動を検出する機能部である。方向移動検出部21は、例えば、方向操作を検知する地磁気センサから情報(例えば「方向角度」などの方向移動量)を取得し、方向移動を検出する。
フロー制御部14は、制御画面表示中に情報端末100が方向操作されると、方向移動量取得部146、制御条件判定部142、実行パラメータ代入部143、実行可否判定部144、フロー実行部145により、次のようなフロー内容の変更処理を実行する。
フロー制御部14は、方向移動量取得部146により、情報端末100の方向移動量(方向角度)を取得する。なお、ここで取得する方向移動量は、方向の移動開始位置にあたる起点からの相対的な方向角度である。よって、フロー制御部14は、起点確定部140により、処理フロー制御機能のアプリ起動時に、情報端末100の方向の移動開始位置(現在位置)を取得し、起点を確定しておく。
フロー制御部14は、例えば、図14に示すような定義情報90Dの処理フロー制御の定義データR2を参照し、定義内容に基づき、処理フロー制御を特定する。例えば、図14に示す定義情報90Dの場合には、出力機器2002の切り換え制御が特定される。
図14は、本変形例1に係る定義情報90Dのデータ例を示す図である。
図14には、出力機器2002を切り換える制御内容が定義された<model>タグのデータR2aを含む処理フロー制御の定義データR2が示されている。
具体的には、<model>タグのデータには、制御識別子:"ext"、方向制御条件式:"90≧device_a>0"/"180≧device_a>90"などが定義されている。
つまり、図14に示す処理フロー制御の定義データR2には、情報端末100の方向移動量(方向角度)が0°より大きく90°以下の条件(以下便宜上「第1の方向制御条件」という)を満たした場合と、90°より大きく180°以下の条件(以下便宜上「第2の方向制御条件」という)を満たした場合とで、処理フローの出力機器2002(出力機能)を再設定する制御内容が定義されている。
また、そのデータの1つ下の階層には、方向制御条件が満たされた場合の出力機器2002(出力機能)の設定が定義されている。
具体的には、<setparam>タグのデータには、第1の方向制御条件に対応付けて、設定対象識別子:"MFP.ipAddress"と対象機器設定値:"192.168.10.001"、第2の方向制御条件に対応付けて、設定対象識別子:"MFP.ipAddress"と対象機器設定値:"192.168.10.002"などが定義されている。
つまり、図14に示す処理フロー制御の定義データR2には、第1の方向制御条件を満たした場合、処理フローの出力機器2002をネットワーク設定値:"192.168.10.001"のMFP200bに設定し、第2の方向制御条件を満たした場合、処理フローの出力機器2002をネットワーク設定値:"192.168.10.002"のMFP200bに設定する制御内容が定義されている。
このように、図14に示す定義情報90Dには、処理フロー制御の定義データR2に、方向制御条件が満たされた場合に出力機器2002を切り換える制御内容が定義されている。
図13の説明に戻る。フロー制御部14は、制御条件判定部142により、同定義データR2の方向制御条件式に、取得した方向移動量を代入し、方向移動量が方向制御条件を満たしているか否かを判定する。フロー制御部14は、方向制御条件(第1又は第2の方向制御条件のうちのいずれか)を満たしていると判定した場合に、実行可否判定部144により、処理フローの入力機器2001と制御条件を満たした場合に設定される(切り換え変更後の)出力機器2002との入力機能/出力機能に対応する定義データR1のデータタイプの定義値に基づき、切り換え変更後の入出力機能のデータタイプが同じか否かを判定する。
また、フロー制御部14は、実行パラメータ代入部143により、同定義データR1の実行パラメータの定義値に基づき、実行パラメータを入力機能と切り換え変更後の出力機器2002(出力機能)に対応するメソッドに代入し、実行可否判定部144により、代入した実行パラメータでメソッドが実行可能な否かを判定する。なおこのとき、実行可否判定部144は、切り換え変更前の処理フロー実行時の実行パラメータについても、切り換え変更後の出力機器2002(出力機能)に対応するメソッドが実行可能な否かを判定する。
フロー制御部14は、メソッドが実行可能と判定した場合に、フロー実行部145により、入力機能に対応するメソッドを呼び出し、入力機器2001から処理データを取得し、UI制御部13に対して、処理データをプレビュー画像とする切り換え変更後の制御画面Wの表示を指示する。
以上のように、本変形例1に係る処理フロー制御機能は、上記各機能部が連携動作することにより実現される。
本変形例1に係る処理フロー制御機能の詳細な動作(機能部群の連携動作)について、処理手順を示すフローチャートを用いて説明する。なお、以下には、フロー制御部14で実行する出力機器2002の切り換え制御に係る処理についてのみ説明する。
《出力切り換え制御処理》
図15は、本変形例1に係る処理フローの制御処理手順例(出力切り換え制御)を示すフローチャートである。
図15に示すように、情報端末100は、方向移動検出部21により、自機の方向移動を検出する(ステップS301:YES)。このとき、方向移動検出部21は、例えば、方向操作を検知する地磁気センサから情報を取得し、方向移動を検出する。
情報端末100は、自機の方向移動が検出されると、フロー制御部14の方向移動量取得部146により、情報端末100の方向移動量(方向角度)を取得する(ステップS302)。このとき、方向移動量取得部146は、アプリ起動時に確定した起点からの方向移動量を取得する。
次に、情報端末100は、フロー制御部14の制御条件判定部142により、アプリ起動時に読み取った処理フロー制御の定義データR2の方向制御条件式と取得した方向移動量とに基づき、処理フロー制御(出力切り換え制御)と連動する方向操作が行われたか否かを判定する(ステップS303)。このとき、制御条件判定部142は、取得した方向移動量を方向制御条件式に代入し、方向移動量が方向制御条件を満たしているか否かを判定する。なおこのとき、制御条件判定部142は、定義データR2に定義される制御内容のタグデータ(<model>タグデータ)のcondition属性の属性値(制御条件式:"90≧device_a>0"/"180≧device_a>90")に基づき、処理フローの制御条件を特定する。また、制御条件判定部142は、定義データR2に定義される制御設定のタグデータ(<setparam>タグデータ)のtarget属性の属性値(制御設定値)に基づき、制御条件が満たされた場合の処理フロー制御で設定する切り換え変更後の出力機器2002を特定する。具体的には、制御条件式:"90≧device_a>0"の第1の方向制御条件(方向移動範囲内)が満たされた場合に設定するネットワーク設定値:"192.168.10.001"のMFP200bと、制御条件式:"180≧device_a>90"の第2の方向制御条件が満たされた場合に設定するネットワーク設定値:"192.168.10.002"のMFP200bとを特定する。
情報端末100は、処理フロー制御と連動する方向操作が行われた(方向移動量が方向制御条件を満たしている)と判定した場合に(ステップS303:YES)、フロー制御部14の実行可否判定部144により、処理フローの入力機器2001と制御条件を満たした場合に設定される(切り換え変更後の)出力機器2002との入力機能/出力機能に対応する定義データR1のデータタイプの定義値に基づき、切り換え変更後の入出力機能のデータタイプが同じか否かを判定する(ステップS304)。
その後、情報端末100では、図11に示すステップS205からS212の処理が実行される。
このように、情報端末100では、情報端末100の方向操作に応じて、処理フローで指定された出力機器2002が切り換わり、フロー内容が変更される。
なお、上記変形例1では、方向操作に応じて、処理フローで利用する出力機器2002(出力機能)を切り換える点について説明を行ったが、この限りでない。例えば、切り換え対象を入力機器2001(入力機能)としてもよい。
[変形例:その2]
例えば、情報端末のビジネス利用では、社外からの訪問者(以下便宜上「ゲスト利用者」という)が、自身が所有する情報端末(以下便宜上「ゲスト機器」という)から、訪問先のオフィス環境に設置された電子機器を利用したい場面が考えられる。しかし、セキュリティ上の問題で、ゲスト機器を訪問先のネットワークに接続できないことが多く、ゲスト利用者は、電子機器を利用することができない。
そこで、本変形例2では、処理フロー制御機能を有する情報端末とゲスト機器とのペアリング処理により、ゲスト機器が、情報端末を介して、電子機器を利用する仕組みを提案する。
これにより、本変形例2では、ゲスト利用者に対しても、利便性に優れた処理フローサービスを実現できる。
なお、以降では、上記実施形態と異なる事項のみを説明し、同一事項については、同一参照符号を付し、その説明を省略する。
<処理フロー制御機能>
図16は、本変形例2に係る処理フロー制御機能の構成例を示す図である。
図16に示すように、本変形例2に係る処理フロー制御機能は、コード読み取り部31とサーバアクセス部32とを有している。
コード読み取り部31は、撮像画像から電子コードを読み取る機能部である。コード読み取り部31は、例えば、画像を撮像するCCDカメラ(CCD:Charge Coupled Device Camera)から撮像画面を取得し、電子コードに含まれる情報を読み取る。
サーバアクセス部32は、サーバ400にアクセスする機能部である。サーバアクセス部32は、サーバ400にアクセスし、情報端末100とサーバ400との間の通信処理の制御を行う。具体的には、サーバ400へのデータ取得要求やサーバ400とのデータ授受などを行う。
以下に、上記各機能部の動作を含む情報端末100とゲスト機器300とのペアリング動作について説明する。
まず、ゲスト機器300は、外部ネットワーク上に設置されたサーバ400にアクセスする。ここでいう「外部ネットワーク」とは、情報端末100と電子機器200とが接続されるようなプライベートなネットワークではなく、例えば、インターネットなどのパブリックなネットワークを意味する。
ゲスト機器300は、電話などの所定の通信回線を介してサーバ400にアクセスし、サーバ400から、一意に発行された電子コードを取得し、取得した電子コードを画面に表示する。このとき表示される電子コードは、例えば、二次元コードの1つであるQRコード(Quick Response Code)などであり、サーバ400へのパブリックなアクセス情報(例えば「URL:Uniform Resource Locator」)が含まれる。その後、ゲスト機器300は、サーバ400に対して処理データを送信する(アップロードする)。
一方、情報端末100は、コード読み取り部31が、ゲスト機器300に表示された電子コードを読み取り、サーバアクセス部32が、読み取り情報(アクセス情報)に基づき、サーバ400にアクセスする。その結果、情報端末100では、サーバ400へのアクセスに成功すると、フロー制御部14がサーバ400を入出力候補とする。なお、読み取り情報に、サーバ400が備える記憶装置の所定の記憶領域を示すパス(パブリックなディレクトリパス)が含まれていた場合には、サーバ400が有するパブリックなファイル共有機能(以下便宜上「公開ファイル共有機能」という)を入出力候補とする。
情報端末100は、例えば、サーバ400(公開ファイル共有機能)を入力機器2001(入力機能)とした場合、フロー制御部14が、入出力機能に対応するメソッドへの実行パラメータの代入やデータタイプ/実行パラメータに基づく実行可否判定などを行う。情報端末100は、メソッドが実行可能と判定した場合、サーバアクセス部32が、サーバ400(公開ファイル共有機能)から処理データ(画像データ)を取得する。このとき、サーバアクセス部32は、読み取り情報に基づき、サーバ400にアクセスし、処理データの取得を要求する。
その結果、サーバ400は、ゲスト機器300から受信し保持している処理データを情報端末100に応答する。これにより、処理データが、情報端末100にダウンロードされる。
このように、本変形例2では、上記ペアリング動作により、情報端末100とゲスト機器300との間のデータ授受を、外部ネットワーク上に設置されたサーバ400を経由して行う。
以上のように、本変形例2に係る処理フロー制御機能は、上記各機能部が連携動作することにより実現される。
本変形例2に係る処理フロー制御機能の詳細な動作(機能部群の連携動作)について、処理手順を示すフローチャートを用いて説明する。なお、以下には、ペアリング時の処理フロー制御に係る処理について、ゲスト機器300、情報端末100の順に説明する。また、以下の説明では、上述したように、サーバ400(公開ファイル共有機能)を入力機器2001(入力機能)とした場合を想定している。
《ペアリング時のゲスト機器側の処理》
図17は、本変形例2に係る処理フローの制御処理手順例(ゲスト機器のペアリング処理)を示すフローチャートである。
図17に示すように、ゲスト機器300は、サーバ400にアクセスし(ステップS401)、サーバ400へのアクセス情報を含む電子コードを取得する(ステップS402)。
次に、ゲスト機器300は、取得した電子コードを画面に表示し(ステップS403)、処理データ(画像データ)をサーバ400に送信する(ステップS404)。このとき、ゲスト機器300は、サーバ400から取得した電子コードに含まれるアクセス情報のディレクトリパスに従って、処理データをアップロードする。
《ペアリング時の情報端末側の処理》
図18は、本変形例2に係る処理フローの制御処理手順例(情報端末のペアリング処理)を示すフローチャートである。なお、図中に示すステップS503からS502の処理は、図11に示すステップS205からS212の処理と略同一であるため、その説明を簡略化する。
図18に示すように、情報端末100は、コード読み取り部31により、ゲスト機器300の画面に表示された電子コード(QRコード)を読み取ると(ステップS501)、サーバアクセス部32により、読み取り情報に基づき、サーバ400にアクセスする(ステップS502)。なお、コード読み取り部31は、CCDカメラから電子コードの撮像画面を取得し、電子コードに含まれる情報を読み取る。また、サーバアクセス部32は、読み取り情報に含まれるアクセス情報(URL)に基づき、サーバ400にアクセスする。このとき、フロー制御部14は、サーバ400へのアクセスに成功すると、サーバ400(公開ファイル共有機能)を入力機器2001(入力機能)とする。
次に、情報端末100は、フロー制御部14の実行可否判定部144により、入力機器2001/出力機器2002の入力機能/出力機能に対応する定義データR1のデータタイプの定義値に基づき、入れ替え変更後の入出力機能のデータタイプが同じか否かを判定する(ステップS503)。
情報端末100は、入出力機能のデータタイプが同じと判定した場合に(ステップS503:YES)、フロー制御部14の実行パラメータ代入部143により、定義データR1の実行パラメータの定義値(クラス名)に基づき、実行パラメータを入力機能/出力機能に対応するメソッドに代入する(ステップS504)。その結果、入れ替えられた入出力機能には、それぞれの機能に対する実行パラメータが設定される。
次に、情報端末100は、フロー制御部14の実行可否判定部144により、代入した実行パラメータでメソッドが実行可能な否かを判定する(ステップS505)。このとき、実行可否判定部144は、classType属性の属性値(クラス名)に基づき、データタイプ不一致により実行不可能なメソッドに実行パラメータが代入されていないかを検証する。
情報端末100は、メソッドが実行可能と判定した場合に(ステップS505:YES)、サーバアクセス部32により、読み取り情報(アクセス情報)に基づき、アクセス可能な入力機器2001から処理データ(画像データ)を取得する(ステップS506)。このとき、サーバアクセス部32は、読み取り情報に含まれるアクセス情報のディレクトリパスに従って、入力機器2001であるサーバ400にデータ取得を要求する。その結果、サーバ400から、ゲスト機器300がアップロードした処理データが情報端末100に応答され、ダウンロードされる。またこのとき、情報端末100と入力機器2001であるサーバ400との間では、サーバ400が有する公開ファイル共有機能に対応する通信プロトコル(例えば「HTTPS:Hypertext Transfer Protocol over Secure Socket Layer」)に従った通信が行われる。
次に、情報端末100は、フロー制御部14がUI制御部13に対して、取得データをプレビューデータとして渡し、制御画面Wの表示を指示する。その結果、情報端末100では、UI制御部13により、処理データをプレビュー画像とする処理フローの制御画面Wが表示される(ステップS507)。
その後、情報端末100は、UI制御部13により、制御画面Wを介して、フロー実行指示を受け付けると(ステップS508:YES)、フロー制御部14に対して、その旨を通知する。その結果、情報端末100では、フロー制御部14のフロー実行部145により、出力機能に対応するメソッドを呼び出し、出力機器2002に処理データ(画像データ)を送信する(ステップS509)。これにより、出力機器2002では、受信データに基づく処理(処理フローでの要求処理)が実行される。
また、情報端末100は、UI制御部13により、制御画面Wを介して、入出力変更指示を受け付けると(ステップS508:NO,S510:YES)、入出力変更可能な設定画面を表示する(ステップS511)。
その後、情報端末100は、UI制御部13により、設定画面を介して、入出力の変更設定(変更された入力指定/出力指定)を受け付けると、ステップS503の処理へと移行し、変更後のフロー内容に対して実行可否判定処理を行う。
また、情報端末100は、入出力機能のデータタイプが異なると判定した場合に(ステップS503:NO)やメソッドが実行不可能と判定した場合に(ステップS505:NO)、フロー制御部14により、UI制御部13に対して、データタイプ/実行パラメータ変更可能な設定画面の表示を指示する。
その後、情報端末100は、UI制御部13により、設定画面を介して、データタイプ/実行パラメータの変更設定(変更されたデータタイプ/実行パラメータ)を受け付けると、ステップS503の処理へと移行し、変更後のフロー内容に対して実行可否判定処理を行う。
このように、情報端末100では、ゲスト機器300が、情報端末100を介して、電子機器200を利用できる。
なお、上記変形例2では、情報端末100が、ゲスト機器300を入力機器2001(入力機能)とした場合のペアリング処理について説明を行ったが、この限りでない。例えば、ゲスト機器300を出力機器2002(出力機能)としてもよい。
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「処理フロー制御機能」は、図を用いて説明を行った各処理手順を、動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムが、情報端末100が備える演算装置(CPU)により実行されることで実現される。
上記プログラムは、コンピュータが読み取り可能な記録媒体103aに格納することができる。これにより、例えば、上記プログラムは、外部I/F103を介して、情報端末100にインストールすることができる。また、情報端末100は、通信I/F107を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
また、上記実施形態では、情報端末以外の電子機器200を入出力候補とし、情報端末100が、入力機器2001と出力機器2002との間で処理データを中継し、処理フローを実行する構成について説明を行ったが、この限りでない。例えば、情報端末100を入出力候補としてもよい。
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。