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

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

▶ キヤノン株式会社の特許一覧

特開2022-186165情報処理システム、情報処理装置とその制御方法及びプログラム
<>
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図1
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図2
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図3
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図4
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図5
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図6
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図7
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図8
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図9
  • 特開-情報処理システム、情報処理装置とその制御方法及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022186165
(43)【公開日】2022-12-15
(54)【発明の名称】情報処理システム、情報処理装置とその制御方法及びプログラム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20221208BHJP
【FI】
G06F13/00 353C
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2021094251
(22)【出願日】2021-06-04
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】河西 正樹
【テーマコード(参考)】
5B089
【Fターム(参考)】
5B089GA13
5B089GA21
5B089GB01
5B089HA06
5B089HA11
5B089JA35
5B089JB15
5B089KA01
5B089KB04
5B089KC05
5B089KG03
(57)【要約】
【課題】 VNC(Virtual Network Computing)を用いて情報処理装置を遠隔で操作するリモートオペレーションという機能がある。VNCサーバーとなる情報処理装置は、VNC接続するクライアント数を1台に制限する場合がある。第一のクライアントがVNC接続している状態で、新たに第二のクライアントから接続された場合、先に接続した第一のクライアントとの接続を有効にする(先優先)ように制御するか、後に接続した第二のクライアントの接続を有効にする(後優先)かが情報処理装置によって固定であった。
【解決手段】 先優先と後優先の両方を1台の情報処理装置が提供する。
【選択図】 図6
【特許請求の範囲】
【請求項1】
VNC(Virtual Network Computing)サーバーとして動作する情報処理装置であって、
第一のVNCクライアントとVNC接続している状態で新たな第二のVNCクライアントからVNC接続の要求を受け付けた場合、設定に基づいて、
前記第一のクライアントとの接続を維持し、前記第二のVNCクライアントとVNC接続を行わないように制御する第一の接続制御を行うか
前記第一のクライアントとの接続を切断し、前記第二のVNCクライアントとVNC接続を行うように制御する第二の接続制御を行う実行手段を有することを特徴とする情報処理装置。
【請求項2】
前記第二のVNCクライアントから受信したVNC接続の優先順を示す情報に基づいて、前記第一の接続制御を実行するか、前記第二の接続制御を実行することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第一のVNCクライアントから受信したVNC接続の優先順を示す情報に基づいて、前記第一の接続制御を実行するか、前記第二の接続制御を実行することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
接続制御に関する設定を行う設定手段をさらに有し、
前記設定手段で設定された前記設定に基づいて前記第一の接続制御を実行するか、前記第二の接続制御を実行することを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記接続制御に関する設定をユーザーから受け付けるための設定画面を表示する表示制御手段をさらに有し、前記設定画面で受け付けた設定に基づいて前記第一の接続制御を実行するか、前記第二の接続制御を実行するかを切り替えることを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
【請求項6】
前記情報処理装置はVNCクライアントからRFBプロトコルのバージョン情報を受信する受信手段をさらに有し、
前記受信手段で受信したバージョン情報に基づいて前記第一の接続制御を実行するか、前記第二の接続制御を実行するかを切り替えることを特徴とする請求項1から5のいずれか一項に記載の情報処理装置。
【請求項7】
前記情報処理装置は前記第一の接続制御で前記第二のVNCクライアントとVNC接続を行わないようにする場合、前記第二のVNCクライアントに対してエラー情報を送信することを特徴とする請求項1から6のいずれか一項に記載の情報処理装置。
【請求項8】
前記情報処理装置は前記第二の接続制御で前記第一のVNCクライアントとの接続を切断する場合、前記第一のVNCクライアントに対してエラー情報を送信することを特徴とする請求項1から7のいずれか一項に記載の情報処理装置。
【請求項9】
前記第二のVNCクライアントがPC(パーソナルコンピューター)である場合、前記実行手段は前記第二の接続制御を実行することを特徴とする請求項1から8のいずれか一項に記載の情報処理装置。
【請求項10】
前記第二のVNCクライアントがモバイル端末である場合、前記実行手段は前記第一の接続制御を実行することを特徴とする請求項1から9のいずれか一項に記載の情報処理装置。
【請求項11】
前記第一のVNCクライアントがPCである場合、前記実行手段は前記第二の接続制御を実行することを特徴とする請求項1から10のいずれか一項に記載の情報処理装置。
【請求項12】
前記第一のVNCクライアントがモバイル端末である場合、前記実行手段は、前記第一の接続制御を実行することを特徴とする請求項1から11のいずれか一項に記載の情報処理装置。
【請求項13】
前記VNC接続している状態とは、画面情報の送信が可能な状態であることを特徴とする請求項1から12のいずれか一項に記載の情報処理装置。
【請求項14】
前記情報処理装置は1台のVNCクライアントのみとVNC接続を行う情報処理装置であることを特徴とする請求項1から13のいずれか一項に記載の情報処理装置。
【請求項15】
前記情報処理装置は、プリント機能とスキャン機能の少なくともいずれかを有する画像形成装置であることを特徴とする請求項1から13のいずれか一項に記載の情報処理装置。
【請求項16】
VNC(Virtual Network Computing)サーバーとして動作する情報処理装置とVNCクライアントとして動作する端末からなる情報処理システムであって、
前記端末は前記情報処理装置とVNC接続処理を行う際に、先にVNC接続しているVNCクライアントとの接続を優先するか、後からVNC接続したVNCクライアントとの接続を優先するかを指定するための情報を前記情報処理装置に送信する送信手段を有し、
前記情報処理装置は、先にVNC接続しているVNCクライアントが有る状態で前記端末からVNC接続の要求を受け付けた場合、前記送信手段で送信された情報に基づき、
前記先にVNC接続しているVNCクライアントとの接続を維持し、前記端末とVNC接続を行わないように制御する第一の接続制御を行うか
前記先にVNC接続しているVNCクライアントとの接続を切断し、前記端末とVNC接続を行うように制御する第二の接続制御を行う実行手段を有することを特徴とする情報処理システム。
【請求項17】
前記送信手段で送信される情報は端末に応じて変更されることを特徴とする請求項16に記載の情報処理システム。
【請求項18】
VNC (Virtual Network Computing)サーバーとして動作する情報処理装置が実行する制御方法であって、
第一のVNCクライアントとVNC接続している状態で新たな第二のVNCクライアントからVNC接続の要求を受け付けた場合、設定に基づいて
前記第一のクライアントとの接続を維持し、前記第二のVNCクライアントとVNC接続を行わないように制御する第一の接続制御を行うか
前記第一のクライアントとの接続を切断し、前記第二のVNCクライアントとVNC接続を行うように制御する第二の接続制御を行う実行工程を有することを特徴とする制御方法。
【請求項19】
請求項1から17のいずれか1項に記載の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置を遠隔操作する場合の制御に関する。
【背景技術】
【0002】
装置を遠隔操作するリモートオペレーションという機能がある。これはVNC (Virtual Network Computing)というソフトウェア等を使用して実現される。サーバー側でVNCサーバーソフトウェアを起動しておき、クライアント側からVNCクライアントソフトウェアを起動してサーバーに接続し、遠隔操作を行う。VNCサーバーとVNCクライアント間の通信は、RFB (Remote FrameBuffer)プロトコル(RFC6143)を使用する。例えばVNCサーバー機能を有する装置が、VNCクライアント機能を有する端末に対して、操作画面の画面情報を送信する。端末は、受信した画面情報に基づき、装置の操作パネルに表示されている操作画面と同じ画面を表示する。ユーザーは端末に表示された画面上で操作を行なうことで、装置の操作パネルを操作せずとも、装置に処理を実行させることができる。
【0003】
CPUやメモリ資源が限られている画像形成装置等の装置では、同時に接続して操作できるVNCクライアント数を1台に制限する場合がある。この場合、2台目のVNCクライアントが接続したときの接続の優先順を考慮する必要がある。そのような装置は固定的に先にVNC接続しているクライアントとの接続を優先(先優先)するか、もしくは固定的に後でVNC接続したクライアントとの接続を優先(後優先)していた。先優先の場合は先にVNC接続しているクライアントとの接続を維持し、後からVNC接続したクライアントとの接続を行わないようにする。後優先の場合は、先にVNC接続していたクライアントとの接続を切断し、後からVNC接続したクライアントと接続を行うようにする。特許文献1には、後からVNC接続したクライアントとの接続を優先し、当該クライアントが条件をみたす場合にVNC接続を行う方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2017-224114号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、VNCサーバーとなる装置が従来のように固定的に先優先、もしくは後優先として動作するとユーザビリティが低下する。例えば、先優先の場合、先にVNC接続したクライアントが遠隔操作を終えたのにVNC接続の切断を失念していると、後からVNC接続するクライアントはVNC接続することができない。また後優先の場合、ユーザーが装置の前でVNC接続を行い遠隔操作している状態で、後から他のユーザーが遠隔でVNC接続を行うと、装置の前にいるにも関わらずVNC接続を後からのユーザーに取られてしまう。
【0006】
このように、遠隔操作される状況やVNC接続するクライアントの種類、装置の運用等によって、先優先が好適となる場合もあるし、後優先が好適となる場合もある。
【0007】
以上を鑑みて本発明の目的は、遠隔操作できるVNCクライアントを1台に制限する場合に好適なVNC接続方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
VNC(Virtual Network Computing)サーバーとして動作する情報処理装置であって、第一のVNCクライアントとVNC接続している状態で新たな第二のVNCクライアントからVNC接続の要求を受け付けた場合、設定に基づいて、前記第一のクライアントとの接続を維持し前記第二のVNCクライアントとVNC接続を行わないように制御する第一の接続制御を行うか、前記第一のクライアントとの接続を切断し前記第二のVNCクライアントとVNC接続を行うように制御する第二の接続制御を行う実行手段を有することを特徴とする情報処理装置。
【発明の効果】
【0009】
遠隔操作できるVNCクライアントを1台に制限する場合に好適なVNC接続方法を提供できる。
【図面の簡単な説明】
【0010】
図1】システム構成の一例を示す図
図2】画像形成装置102のハードウェア構成図
図3】画像形成装置102のソフトウェア構成図
図4】モバイル端末103のハードウェア構成図
図5】モバイル端末103のソフトウェア構成図
図6】VNCサーバーの接続処理を説明するフローチャート
図7】VNCクライアントの接続処理を説明するフローチャート
図8】モバイル端末103の操作パネル406に表示する画面
図9】実施例2におけるVNCサーバーの接続処理を説明するフローチャート
図10】接続の優先順を設定するための設定画面
【発明を実施するための形態】
【0011】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。また以下の実施例では情報処理装置の一例として画像形成装置を用いて説明を行うが、これに限らない。
【0012】
(実施例1)
図1は、本実施の一形態に係る情報処理システム構成の一例を示す図である。LAN(Local Area Network)105には、VNC(Virtual Network Computing)サーバー機能を有する画像形成装置102、VNCクライアント機能を有する情報処理装置であるパーソナルコンピューター(PC)101、アクセスポイント104が接続される。また、VNCクライアント機能を有する情報処理装置であるモバイル端末103がアクセスポイント104を介してLAN105に接続される。画像形成装置102及びモバイル端末103が無線ダイレクト通信機能を備えている場合は、LAN105を介さず直接通信可能である。本実施例においては、VNCサーバー機能を有する画像形成装置102にVNCクライアント機能を有するモバイル端末103がVNC接続する例で説明する。しかし、接続するVNCクライアントは、VNCクライアント機能を有していれば他の装置(例えばPC101や図示しないその他の画像形成装置等)であっても構わない。
【0013】
以下ではVNCサーバーとして動作する画像形成装置102をサーバーと呼び、このサーバーにVNC接続するPC101やモバイル端末103等の情報処理装置をクライアントと呼ぶ。
【0014】
VNCサーバー機能を有する画像形成装置102は自装置の表示部に表示された画面に対応する画面情報をクライアントに送信する。画面情報を取得したクライアントは画像形成装置102に表示された画面に対応する画面を表示する。クライアントで表示された画面上で操作を行なうと当該操作情報が画像形成装置102に送信され、画像形成装置102は当該操作に応じて処理を行う。つまりクライアントは画像形成装置102にVNC接続を行うことで、画像形成装置102を遠隔操作(リモートオペレーション)することができる。なお、本実施例のサーバーは、同時に接続して操作できるクライアント数を1台に制限するものとする。
【0015】
最初に、画像形成装置102はVNCサーバーソフトウェアを起動する。そしてクライアントからの接続要求を待機する。次に、モバイル端末103はVNCクライアントソフトウェアを起動する。そしてユーザー操作等で所望のサーバーに接続する。サーバーとクライアント間の通信は、RFB(Remote FrameBuffer)プロトコルに従って行われる。RFBプロトコルは、最初にハンドシェーク処理を行う。そしてハンドシェーク処理が完了した後に、画面情報や操作情報の送受信を行う。本実施例においては、ハンドシェーク処理実行時に、クライアントから接続の優先順を指定する情報を送信する。サーバーは受信した情報に従い、接続の優先順を決定する。つまり、先にVNC接続したクライアントとの接続を優先(以降、先優先と称す)することが指定されていた場合、かつすでに他のクライアントが接続済みの場合は、後からVNC接続するクライアントはVNC接続できない、もしくは後からのVNC接続が切断される。また、後からVNC接続したクライアントとの接続を優先(以降、後優先と称す)することが指定されていた場合、かつすでに他のクライアントが接続済みの場合は、先にVNC接続しているクライアントとの接続を切断する。このように、画像形成装置102は先優先として動作すること、後優先として動作すること両方が可能なように構成されている。
【0016】
図2は、画像形成装置102のハードウェア構成図である。画像形成装置102内のコントローラユニット201において、CPU202はシステム全体を制御する演算装置である。CPU202はシステムバス212に接続される各デバイスを総括的に制御する。
【0017】
ROM204は、不揮発性のメモリであり、画像データやその他のデータ、CPU202が動作するための各種プログラムなどが格納されている。
【0018】
RAM203は、揮発性のメモリであり、CPU202の主メモリ、ワークエリア等の一時記憶領域として用いられる。また、RAM203はオペレーティングシステムやシステムソフトウェア、アプリケーションソフトウェアなどのプログラムやデータも配置される。
【0019】
CPU202は、ROM204等に格納されるプログラムをRAM203に展開し、実行することで画像形成装置102の各部を制御する。なお、CPU202が動作するためのプログラムは、ROM204に格納されるものに限らず、ハードディスクドライブ(HDD)205等に予め記憶されたものを用いてもよい。
【0020】
ハードディスクドライブ(HDD)205は、オペレーティングシステムやシステムソフトウェア、アプリケーションソフトウェア、画像データ、設定データなどを格納する。しかしこれは、データを格納することができるのであれば、SSD、SDメモリーカード、またはeMMCなど、その他の記憶装置を用いても構わない。
【0021】
表示・操作部I/F206は、表示・操作部207とのインターフェース部であり、表示・操作部207に表示する情報を表示・操作部207に対して出力する。また、表示・操作部207からユーザーが入力した情報を受け付ける。表示・操作部207は、ユーザー操作を受け付けるためのタッチパネルやハードキーを備える。タッチパネルは平面的に構成されたパネルであり、ユーザーがタッチした座標情報を表示・操作部I/F206に通知する。ハードキーは数値キーやスタートキー、ストップキーなど物理的に押下可能なキーであり、キーが押下された場合に表示・操作部I/F206に通知する。また、表示・操作部207は、画像を表示するディスプレイを備える。ディスプレイは、CPU202が生成するGUI (Graphical User Interface)画面を表示・操作部I/F206から受信し、表示する。ディスプレイの上層にタッチパネルが一体となるように設置することで、ユーザーがディスプレイに表示された画面を直接的に操作しているかのように制御することが可能となる。
【0022】
ネットワークI/F208は、ネットワーク(LAN)105に接続し、同一LAN上に接続されたPC101、図示しない他の画像形成装置等と通信を行ったり、アクセスポイント104を介してモバイル端末103と情報の入出力を行う。
【0023】
デバイスI/F209は、画像入出力デバイスであるスキャナ210、プリンタ211とコントローラユニット201を接続し、画像データの入力や出力を行う。つまり画像データを用紙にプリントしたり、原稿のスキャン等を行う。
【0024】
図3は、画像形成装置102のソフトウェア構成図である。システムソフトウェア301はRAM203、ROM204、HDD205のいずれかの記憶手段に記憶され、CPU202により実行される。
【0025】
ジョブコントロール処理部302は、不図示のソフトウェアモジュールを含む各ソフトウェアモジュールを制御し、コピー、プリント、スキャン、などの画像形成装置102が実行するジョブの制御を行う。
【0026】
スキャン処理部303は、ジョブコントロール処理部302の指示に基づいて、デバイスI/F209を経由してスキャナ210を制御して、スキャナ210の原稿台に設置されている原稿を読み込む処理を行う。
【0027】
プリント処理部304は、ジョブコントロール処理部302の指示に基づいて、デバイスI/F209を経由してプリンタ211を制御して、指定された画像の印刷処理を行う。
【0028】
操作入力解析部305は、表示・操作部I/F206を介して表示・操作部207から供給される情報を解析し、ユーザー操作に応じたイベントをイベント処理部307に通知する。操作入力解析部305において解析される情報とは、ユーザーがタッチパネルをタッチしたことやユーザーがハードキーを押下したことを示す操作情報である。
【0029】
イベント解析部306は、操作入力以外に画像形成装置102で発生する各種事象をジョブコントロール処理部302などから受け取って解析し、その事象に応じたイベントをイベント処理部307に通知する。イベント解析部306の解析する各種事象とは、ジョブが終了したことや印刷用紙が不足していること等、ユーザーによる操作によって発生する事象以外の事象である。
【0030】
イベント処理部307は、操作入力解析部305、イベント解析部306、または操作情報受信部322などからイベントを受け取る。イベント処理部307はイベントに応じてジョブコントロール処理部302、画面生成部308、またはソフトキーボード制御部310にイベントを通知し、画像形成装置102の各部を制御する。
【0031】
画面生成部308は、表示・操作部207や外部装置の表示部に表示する画面のデータをRAM203上に生成する処理を行う。
【0032】
画面表示部309は、画面生成部308が生成した画面のデータをRAM203から読み取って、表示・操作部I/F206を介して表示・操作部207のディスプレイに表示する表示制御を行う。
【0033】
ソフトキーボード制御部310は、イベント処理部307からの通知を受けてソフトキーボード画面を表示する制御を行う。また、ソフトキーボード制御部310はソフトキーボードをディスプレイに表示しているか否かを示す情報を保持している。
【0034】
VNCサーバー320は、クライアントとLAN105を介して通信するためのソフトウェアモジュールである。たとえばモバイル端末103上で動作するVNCクライアント520と通信を行い遠隔操作を受け付けるための処理を行う。
【0035】
接続処理部321は、例えばVNCクライアント520の接続処理部521からの接続要求を受け付け、接続制御を行う。
【0036】
操作情報受信部322は、例えばVNCクライアント520の操作情報送信部522から操作情報を受信し、ユーザー操作に応じたイベントをイベント処理部307に通知する。なお、操作情報受信部322が通知するイベントは、操作入力解析部305が通知するイベントと同等のものであり、ユーザーが画像形成装置102を操作するためのイベントである。
【0037】
画面送信部323は、画面生成部308が生成した画面データをRAM203から読み取って、VNCクライアント520の画面受信部523に送信する処理を行う。
【0038】
図4は、モバイル端末103のハードウェア構成図である。モバイル端末103内において、CPU401はシステム全体を制御する演算装置である。CPU401はシステムバス411に接続される各デバイスを総括的に制御する。
【0039】
ROM402は、不揮発性のメモリであり、画像データやその他のデータ、CPU401が動作するための各種プログラムなどが格納されている。
【0040】
RAM403は、揮発性のメモリであり、CPU401の主メモリ、ワークエリア等の一時記憶領域として用いられる。また、RAM403はオペレーティングシステムやシステムソフトウェア、アプリケーションソフトウェアなどのプログラムやデータも配置される。
【0041】
CPU401は、ROM402等に格納されるプログラムをRAM403に展開し、実行することでモバイル端末103の各部を制御する。なお、CPU401が動作するためのプログラムは、ROM402に格納されるものに限らず、ストレージ404等に予め記憶されたものを用いてもよい。
【0042】
ストレージ404は、オペレーティングシステムやシステムソフトウェア、アプリケーションソフトウェア、写真や電子文書、設定データなどを格納する。しかしこれは、データを格納することができるのであれば、SSD、SDメモリーカード、またはeMMCなど、その他の記憶装置を用いても構わない。
【0043】
RTC (Real Time Clock)405は、時間を計時する。
【0044】
操作パネル406は、ユーザーのタッチ操作を検出可能なタッチパネル機能を備え、OS530やMFPアプリケーション502が提供する各種画面を表示する。ユーザーは操作パネル406にタッチ操作を入力することで、モバイル端末103に所望の操作指示を入力することができる。
【0045】
スピーカー407とマイク408は、たとえばユーザーが他のモバイル端末や固定電話と電話をする際に使用される。
【0046】
カメラ409は、ユーザーの撮像指示に応じて撮像を行う。カメラ409によって撮像された写真は、ストレージ404の所定の領域に記憶される。
【0047】
無線通信部410は、無線通信LAN等の無線通信を実行する。
【0048】
図5は、モバイル端末103のソフトウェア構成図である。システムソフトウェア501はRAM403、ROM402、ストレージ404のいずれかの記憶手段に記憶され、CPU401により実行される。
【0049】
OS530は、モバイル端末103全体の動作を制御するためのソフトウェアである。モバイル端末103には、後述するMFPアプリケーション502を含め、様々なアプリケーションをインストールすることができる。OS530はこれらのアプリケーションとの間で情報をやり取りし、アプリケーションから受けた指示に従って、操作パネル406に表示する画面を変更する。また、OS530は、各種ハードウェアを制御するためのデバイスドライバ群を備えており、OS530上で動作するアプリケーションに対して各種ハードウェアを利用する為のAPI(Application Programming Interface)を提供する。デバイスドライバ群として本実施例では無線LAN制御部531が存在する。
【0050】
無線LAN制御部531は無線通信部410を制御するためのデバイスドライバである。
【0051】
MFPアプリケーション502は、モバイル端末103にインストールされたアプリケーションである。MFPアプリケーション502を用いて画像形成装置102等の画像形成装置に対して印刷やスキャンの指示や、画像形成装置の操作画面の遠隔操作などを行うことができる。モバイル端末103には、このMFPアプリケーション502の他に様々なアプリケーションがインストールされているが、説明は省略する。
【0052】
MFPアプリケーション502のソフトウェア構成についてさらに詳しく説明する。
【0053】
画面制御部503は、OS530を介して操作パネル406に表示する画面を制御する。画面制御部503によって、MFPアプリケーション画面が操作パネル406に表示される。また、画面制御部503は、操作パネル406を介してユーザーが入力した操作指示を判別する。また、画面制御部503は、画面受信部523がアプリ記憶部506に記録した画像データを読み出し、OS530を介して操作パネル406に表示する。
【0054】
通信部504は、OS530を介して、無線通信部410による無線通信を制御してコマンドの送受信などを行う。
【0055】
計時部505は、時間を計時する。
【0056】
アプリ記憶部506は、MFPアプリケーション502の実行のための様々な情報を一時的にRAM403に記憶する。
【0057】
デバイス検索制御部507は、接続する画像形成装置102を検索する検索用データを生成し、無線通信部410によってLAN105上のデバイスに送信され、該当する画像形成装置102からのレスポンスを受信する。検索用データは、LAN105上のすべてのデバイスにブロードキャストする場合もあるし、1台のアドレスを指定して送信する場合もある。
【0058】
印刷ジョブ生成部508は、印刷ジョブを生成する。印刷ジョブ生成部508によって生成された印刷ジョブは、無線通信部410によって画像形成装置102に送信され、そして画像形成装置102で印刷が実行される。
【0059】
スキャンジョブ制御部509は、無線通信部410によって画像形成装置102にスキャン指示を行い、画像形成装置102から受信したスキャンデータを表示する。スキャンデータを保存する場合は、アプリ記憶部506に記憶される。
【0060】
VNCクライアント520は、画像形成装置102上で動作するVNCサーバー320とLAN105を介した通信を行うことで画像形成装置102を遠隔操作するためのソフトウェアモジュールである。
【0061】
接続処理部521は、ユーザーからの要求を受け付けてVNCサーバー320の接続処理部321に対して接続要求を送信し、接続処理を行う。
【0062】
操作情報送信部522は、操作パネル406を介してユーザーが入力した操作指示を画面制御部503から受信し、VNCサーバー320の操作情報受信部322に送信する。
【0063】
画面受信部523は、VNCサーバー320の画面送信部323から画面データを受信し、アプリ記憶部506に記録する。
【0064】
なお、VNCサーバー320とVNCクライアント520の間の通信は、CPU202およびCPU401が、それぞれネットワークI/F208および無線通信部410を制御することで実現する。
【0065】
上記のような各ソフトウェアモジュールの処理によって、画像形成装置102の表示・操作部207のディスプレイに表示される画面と同じ画面がモバイル端末103の操作パネル406にも表示される。そして、ユーザーがモバイル端末103の操作パネル406を用いて操作を行うことで、遠隔で画像形成装置102に各種処理を実行させることができる。
【0066】
ここから、RFBプロトコルに基づいたハンドシェーク処理の詳細について説明する。ハンドシェーク処理は、画像形成処理102の接続処理部321とモバイル端末103の接続処理部521によって実施する。それぞれの接続処理部321と521の通信処理は、CPU202およびCPU401が、それぞれネットワークI/F208および無線通信部410を制御することで実現する。
【0067】
最初に、VNCサーバーである画像形成装置102の処理について説明する。
【0068】
図6は、画像形成処理102の接続処理を説明するフローチャートである。CPU202がROM204又はHDD205に記憶された各制御モジュールを実現するためのプログラムをRAM203に読み出し、実行することにより実現される。
【0069】
ユーザーによって画像形成処理102の電源が入れられると、画像形成処理装置102内のシステムによりVNCサーバーが起動される。VNCサーバーの起動処理において、接続処理部321はVNC接続用のポートをオープンし、クライアントからの接続を待機する(S601)。
【0070】
ユーザーがモバイル端末103を操作することでリモートオペレーション機能を開始し、モバイル端末103が画像形成処理102とのVNC接続を要求する。接続処理部321がクライアントからの接続要求を受信したか否か判断し(S602)、要求を受信した場合はS603に進み、そうでない場合はS602の処理を繰り返す。クライアントからの接続要求を受信すると、接続処理部321はプロトコルバージョン情報をクライアントへ送信する(S603)。サーバーが送信するプロトコルバージョンは、サーバーがサポートするRFBプロトコルのバージョン番号である。例えば、RFBプロトコル3.3をサポートするサーバーの場合、「RFB 003.003¥n」を送信する。
【0071】
プロトコルバージョンをクライアントへ送信した後、接続処理部321はクライアントからプロトコルバージョン情報を受信したか否かを判断する(S604)。プロトコルバージョンを受信した場合はS605に進み、そうでない場合はS604の処理を繰りかえす。ここでクライアントから受信するプロトコルバージョンは、サーバーとクライアントの通信で実際に使用するRFBプロトコルのバージョン番号である。例えば、RFBプロトコル3.3を使用する場合、「RFB 003.003¥n」を受信する。
【0072】
接続処理部321がクライアントからプロトコルバージョン情報を受信すると、受信したプロトコルバージョン情報を解析する(S605)。
【0073】
画像形成装置102は、クライアントから受信するプロトコルバージョン情報の一部をVNC接続の優先順を指定するための情報であると解釈して動作する。具体的には、クライアントから受信するプロトコルバージョンのマイナーバージョンの最初の1バイト目をVNC接続の優先順を指定するための情報であると解釈する。本実施例では、この1バイト目が、0の場合は後優先とし、1の場合は先優先とする。つまり、クライアントから受信するプロトコルバージョンが「RFB 003.003¥n」の場合は後優先とし、「RFB 003.103¥n」の場合は先優先とする。本実施例においては、マイナーバージョンの最初の1バイト目が0または1で接続の優先順を切り替える例を説明したが、これに限定されない。例えば、マイナーバージョンの最初の1バイト目を使用し、複数の機能を切り替えるようにしても良い。具体的には、マイナーバージョンの最初の1バイト目の取り得る値を0からFまでとし、これを16進数の数値と見立てる。この16進数の数値は2進数では4ビットとなる。このビット毎に機能を割り当てる。例えば、最下位1ビット目を接続の優先順とし、残りの2ビット目、3ビット目、及び4ビット目はそれぞれ別の機能に割り当てて良い。そして、各ビットの論理和を取ることで、4つの機能を同時に指定することが可能となる。例えば、この方法で接続の優先順で後優先を指定する場合、マイナーバージョン部分は「003」「203」「403」「603」「803」「A03」「C03」「E03」を取り得る。また、この方法で接続の優先順で先優先を指定する場合、マイナーバージョン部分は「103」「303」「503」「703」「903」「B03」「D03」「F03」を取り得る。また、マイナーバージョンの最初の1バイト目を使用することに限定されず、例えばマイナーバージョンの先頭から2バイト目を使用しても良い。また、本実施例においてはクライアントから受信するプロトコルバージョンを使用したが、これはRFBプロトコルの別のクライアントメッセージを使用しても良い。例えば、クライアントの初期化メッセージ、ClientCutText、将来的に拡張されたRFBプロトコルの新規メッセージ、その他RFBプロトコルに定義されていない独自のメッセージ等を使用しても良い。後優先の場合は特定の数値を指定し、先優先場合は何も指定しない、つまりブランクとするようにしても良い。
【0074】
接続処理部321は、S605で解析した結果を基に、VNC接続の優先順が先優先か否かを判断する(S606)。先優先であった場合は、接続処理部321は先にVNC接続しているクライアントがあるか否かを判断する(S607)。ここでは、すでに先に別のクライアントからのVNC接続を受信し、ハンドシェーク処理が終わって表示画面等の情報の送受信を行える状態になっている場合に先に接続されたクライアントがあると判断する。
【0075】
S607で、先に接続されたクライアントがないと判断された場合はハンドシェーク処理を終了しS602で接続要求を受けたクライアントとのVNC接続を確立する(S610)。一方、S607で、先に接続されたクライアントがあると判断された場合は、接続処理部321は、先にVNC接続があったことを示すエラー情報をクライアントへ送信する(S608)。このエラー情報は、サーバーが送信するセキュリティータイプを拡張し、例えばセキュリティータイプとして3を送信しても良い。その後、接続処理部321はS602で受信した接続要求に対応する接続を切断する(S609)。つまり、後からVNC接続したクライアントとのVNC接続を行わず、先にVNC接続したクライアントとの接続を維持する。
【0076】
S606の判断の結果、VNC接続の優先順が先優先でなかった、つまり後優先であった場合、接続処理部321は先にVNC接続されたクライアントがあるか否かを判断する(S611)。この判断はS607と同様であるため説明を省略する。S611での判断の結果、先に接続されたクライアントがない場合、ハンドシェーク処理を終了しS602で接続要求を受けたクライアントとのVNC接続を確立する(S610)。
【0077】
S611での判断の結果、先にVNC接続されたクライアントがある場合は、接続処理部321は、先にVNC接続されているクライアントとの接続を切断する(S612)。そしてハンドシェーク処理を終了しS602で接続要求を受けたクライアント、つまり後からVNC接続したクライアントとのVNC接続を確立する(S610)。ここで、先にVNC接続されているクライアントとの接続を切断する際に、先にVNC接続されているクライアントに対してエラー情報を送信するようにしても良い。そしてエラー情報を受信したクライアントではエラーを示す情報を表示する。
【0078】
なお、VNC接続の確立のためにパスワード設定がされている場合はクライアントからユーザーが入力したパスワードに基づく情報を受信してパスワード照合する処理をS610において実施する必要がある。しかし、本処理はRFBプロトコルに基づく公知の処理であるため、説明を省略する。S610で接続を行った後は、RFBプロトコルに基づき、クライアントから初期化メッセージの受信、及びサーバーから初期化メッセージの送信等を行う。なお、初期化メッセージやり取りは、S612における接続の切断前に実施しておいても良い。S610の後は、RFBプロトコルに基づき、サーバーとクライアント間で表示画面等の情報の送受信が可能となる。具体的には、画面送信部323が送信した画面情報をVNCクライアント520の画面受信部523が受信する。そうすることで画像処理装置102のディスプレイに表示されている画面と同じ画面をモバイル端末103のディスプレイに表示することができる。またVNCクライアント520の操作情報送信部522が送信した情報を操作情報受信部322が受信する。そうすることで、モバイル端末103上で受け付けた操作に基づいて画像形成装置102を動作させることができる。
【0079】
上記の例ではクライアントが先優先か後優先かを指定する例を示したが、画像形成装置102がクライアントの種類を判断して先優先か後優先かを決定する構成であっても良い。この場合、VNC接続処理の際にクライアントからクライアントの識別子を画像形成装置が受信し、当該識別子に基づいて先優先とするか後優先とするか画像形成装置が判断する。
【0080】
以上のフローチャートの処理により、VNC接続して画面情報のやり取りを行うクライアントが1台に限定されている場合に、VNC接続の優先順を先優先とするか後優先とするかを接続要求するクライアントに応じて切り替えることができる。
【0081】
後優先の場合は、先にVNC接続したクライアントのユーザーが遠隔操作を終了したにもかかわらず、VNC接続の切断を忘れた場合でも、他のユーザーが後からVNC接続して遠隔操作を行なうことができる。このようなメリットをもつ後優先は画像形成装置102を距離的に離れた場所から遠隔操作を行なうことが想定されるPCをクライアントとする場合に提供されると良い。画像形成装置102から距離的に離れているので、VNC接続の切断を失念していることに気づかない可能性が高いからである。よってPCはVNC接続処理の際に後優先を指定すると良い。
【0082】
一方、先優先の場合は先にVNC接続したら、後から他のユーザーがVNC接続しても、接続を取られることが無いというメリットがある。このようなメリットをもつ先優先は画像形成装置103の前で遠隔操作を行なうことが想定されるモバイル端末をクライアントとする場合に提供されると良い。複数ユーザーで共有される画像形成装置のディスプレイにタッチすることに忌避感を持つユーザーなどは、モバイル端末で画像形成装置とVNC接続して画像形成装置の前で自分のモバイル端末を操作することで画像形成装置に処理を行わせることが想定される。よって画像形成装置の前でVNC接続することが想定されるクライアント(モバイル端末)は先優先とした方が良い。よってモバイル端末はVNC接続処理の際に先優先を指定すると良い。
【0083】
このように先優先と後優先にはそれぞれメリットがあり、以上の処理によりクライアントに応じて、そのメリットを最大限に享受できるように切り替えられるという効果がある。
【0084】
次に、VNCクライアントであるモバイル端末103がVNC接続を行う際の処理ついて説明する。
【0085】
図8に、モバイル端末103の操作パネル406に表示する画面の一例を示す。モバイル端末103は起動されると、ホーム画面810を表示する。MFPアプリケーションアイコン811はMFPアプリケーション502を実行するためのアイコンである。
【0086】
図7は、モバイル端末103のCPU401により実行される、クライアントの接続処理を説明するフローチャートである。
【0087】
ホーム画面810において、ユーザーがMFPアプリケーションアイコン811をタップしたことを検知すると、OS530はMFPアプリケーション502を起動する(S701)。MFPアプリケーション502が起動されると、画面制御部503は操作パネル406にアプリホーム画面(デバイス未選択)820を表示する。選択デバイスアイコン821は、現在選択されているデバイスを表示する。デバイスが選択されていない場合は、「No Printer」と表示する。デバイス検索ボタン823は、画像処理装置を検索用のボタンである。リモートオペレーションメニュー822は、リモートオペレーションを機能を使用するためのメニューボタンである。
【0088】
アプリホーム画面(デバイス未選択)820において、画面制御部503がデバイス検索ボタン823をタップされたことを検知すると、デバイス検索制御部507はデバイス検索を実行する。また、画面制御部503は操作パネル406にデバイス検索画面830を表示する(S702)。デバイス検索画面830には、検索されたデバイスの一覧を表示する。検索結果831は画像形成装置102を表しており、これを選択することで、対象デバイスとして画像形成装置102を選択することができる。デバイス検索画面830において、画面制御部503はデバイスが選択されたか否かを判断する(S703)。S703の判断の結果、デバイスが選択されていない場合は、画面制御部503はS704に戻る。S703の判断の結果、デバイスが選択された(例えばユーザーにより検索結果831がタップされたことを検知した)場合は、画面制御部503は操作パネル406にアプリホーム画面(デバイス選択済)840を表示する。選択デバイスアイコン821には、デバイス検索画面830で選択されたデバイスを表示する。ここで表示されたデバイスはMFPアプリケーション502が印刷ジョブやスキャンジョブを送信する場合の送信先デバイスとする。またリモートオペレーション機能で遠隔操作の対象となる。
【0089】
アプリホーム画面(デバイス選択済)840において、画面制御部503はリモートオペレーションメニュー822が選択されたか否かを判断する(S704)。S704の判断の結果、リモートオペレーションメニュー822が選択されていない場合は、画面制御部503はS704に戻る。S704の判断の結果、リモートオペレーションメニュー822が選択された場合は、MFPアプリケーション502はリモートオペレーション機能を開始する。リモートオペレーション機能を開始すると、画面制御部503は操作パネル406にデバイス接続中画面850を表示する。ハードキー表示ボタン851は、モバイル端末103から画像形成装置102のハードキーを操作するためのハードキー画面を表示するためのボタンである。
【0090】
リモートオペレーション機能を開始すると、接続処理部521はサーバー(ここでは画像形成装置102)に接続要求を送信する(S705)。接続要求を送信した後、接続処理部521はサーバーからプロトコルバージョンを受信したか否か判断する(S706)。例えば、RFBプロトコル3.3をサポートするサーバーの場合、「RFB 003.003¥n」を受信する。サーバーからプロトコルバージョンを受信した後、接続処理部521はプロトコルバージョンを送信し(S707)、そうでない場合はS706の処理を繰り返す。先に説明した通り、クライアントが送信するプロトコルバージョンは、サーバーとクライアントの通信で実際に使用するRFBプロトコルのバージョン番号である。例えば、RFBプロトコル3.3を使用する場合、「RFB 003.003¥n」を送信する。クライアントが送信するプロトコルバージョン情報の一部をVNC接続の優先順を指定する情報とすることができる。ここでは、例えばクライアントがモバイル端末であれば、アプリケーションが先優先を指定し、PCであれば後優先を指定するものとする。このほかにもクライアントで動作するオペレーティングシステム(OS)やVNC接続するためのアプリケーションに応じて先優先か後優先を異ならせるようにしても良い。例えばMFPアプリケーション502であれば先優先、他のVNC用のアプリケーションであれば後優先を指定するようにしても良いし、MFPアプリケーション502が自身が動作している端末の種類やOSの種類を判断して先優先か後優先を指定するようにする。このようにクライアントに応じて先優先を指定するか後優先を指定するかを異ならせる。
【0091】
また、先に説明した通り、接続の優先順を指定する方法として、マイナーバージョンの最初の1バイト目を使用し、複数の機能を切り替えるようにしても良い。また、マイナーバージョンの先頭から2バイト目を使用しても良い。また、RFBプロトコルの別のクライアントメッセージを使用しても良い。
【0092】
プロトコルバージョンを送信した後、接続処理部521はサーバーからエラー情報を受信したか否かを判断する(S708)。これは、サーバーから受信するセキュリティータイプで判断する。例えば、セキュリティータイプとして仕様を拡張した3を受信した場合に、先にVNC接続されたクライアントがあったことを示すエラーであると判断する。
【0093】
S708の判断の結果、エラー情報を受信していないと判断された場合は、接続処理部521はS705で送信した接続要求のハンドシェーク処理を終了し、VNC接続が確立される。S708の判断の結果、エラー情報を受信したと判断された場合は、接続処理部521はS705で送信した接続要求に対応する接続は切断され、画面制御部503は操作パネル406にエラー画面860を表示する(S709)。OKボタン861はエラー画面860を閉じるためのボタンである。OKボタンが押下されると、画面制御部503は操作パネル406のエラー画面860を閉じ、アプリホーム画面(デバイス選択済)840を表示する。
【0094】
S708でエラー情報を受信していない場合は、S705で送信した接続要求のハンドシェーク処理は成功で終了したことになる。この後は、RFBプロトコルに基づき、クライアントから初期化メッセージの送信、及びサーバーから初期化メッセージの受信を行う。さらにその後は、RFBプロトコルに基づき、表示画面等の情報の送受信を行う。例えば、画像形成装置102の表示・操作部207のディスプレイにキーボードログイン画面が表示されていた場合、モバイル端末103の操作パネル406にこれと同じキーボードログイン画面870が表示できる。また、ユーザー名とパスワードを入力し、ログインボタン871が押下されると、入力された情報をサーバーに送信し、画像形成装置102の表示・操作部207を操作したのと同じように画像形成装置102を遠隔操作することが可能となる。ログイン後は画像形成装置102のプリント機能やスキャン機能を遠隔で指示することが可能となる。
【0095】
以上のフローチャートの処理により、モバイル端末はVNC接続する際に先優先として接続するか後優先として接続するかを指定することができる。そして、先優先を指定した場合に先にVNC接続しているクライアントがある場合は、エラー画面を表示する。
【0096】
本実施例では、サーバーにVNC接続するクライアント数が1台であり、先に第一クライアントがVNC接続している状態で後から第二のクライアントがVNC接続を行うと、第一のクライアントまたは第二のクライアントとの接続を切断するようにしていた。しかし必ずしもVNC接続の切断を行う必要は無く、遠隔操作するクライアントが1台に制限できていれば良い。つまりVNC接続は、第一のクライアントと第二のクライアントの両方と行い、画面情報等の送受信は第一のクライアントまたは第二のクライアントとのみ行うようにする。
【0097】
(実施例2)
実施例1においては、先にVNC接続しているクライアントAがある状態で後から別のクライアントBがVNC接続を要求する場合に、クライアントBが先優先を指定しているか後優先を指定しているかに応じて、クライアントAとのVNC接続を切断するか否か切り替えていた。実施例2ではクライアントAが先優先を指定しているか後優先を指定しているかに応じて、クライアントAとのVNC接続を切断するか否かを切り替える例を示す。
【0098】
つまり実施例1は後からVNC接続するクライアントが指定する優先設定を考慮していたが本実施例では先にVNC接続しているクライアントが指定する優先設定を考慮する。本実施例の基本構成は実施例1と同じであるため差分のみ示す。
【0099】
図9は、画像形成処理102のCPU202により実行される、サーバーの接続処理を説明するフローチャートである。基本構成は実施例1の図6のフローチャートと同じであるため差分のみ説明を行う。
【0100】
接続処理部321は先にVNC接続されたクライアントが有るか否かを判断する(S901)。先にVNC接続されたクライアントが無いと判断されると、接続処理部321はS602で接続要求を受けたクライアントとのVNC接続を確立する(S906)。そしてVNC接続を確立したクライアントが指定した優先情報を記憶する。優先情報とはクライアントが指定するVNC接続の優先順を示す情報であり、実施例1と同様に後優先であるか先優先であるかを指定する情報である。
【0101】
S901で先にVNC接続されたクライアントがあると判断されると、先にVNC接続されたクライアントが指定していた優先情報が先優先か否かを判断する(S902)。先優先である場合は、S602で接続要求を送信したクライアント、つまり後からVNC接続したクライアントに対してエラー情報を送信し(S903)、接続処理部321はS602で受信した接続要求に対応する接続を切断する(S904)。
【0102】
S902で先優先でない、つまり後優先であると判断されると、先にVNC接続されたクライアントとのVNC接続を切断する(S905)。そしてS602で接続要求を受けたクライアントとのVNC接続を確立し(S906)、当該クライアントが指定した優先情報を記憶する(S907)。
【0103】
以上のフローチャートの処理により、先にVNC接続しているクライアントが指定した優先情報に従って、後からVNC接続するクライアントとの接続を行うか否か切り替えることができる。
【0104】
(その他の実施例)
以上の実施例では、VNCクライアントに応じて先優先か後優先かを切り替える例を示した。先優先か後優先かを切り替える例はこれに限らない例えば図10の優先情報設定画面1000のように画像形成装置102が提供する設定画面で予め先優先とするか後優先とするか設定できても良い。1001をユーザーが選択すると、画像形成装置102は以降、先優先として動作し、1002を選択すると以降、後優先として動作する。設定画面で受け付けた設定は画像形成装置102共通の設定としても良いし、ユーザー毎に設定できても良い。また、モバイル端末103がVNC接続処理する際に優先情報指定画面1010をモバイル端末103のディスプレイ上に表示し、当該画面を介して先優先か後優先かを指定できるようにしても良い。
【0105】
以上の実施例では、VNC接続で画像形成装置が表示している画面と同一の画面をモバイル端末に表示する例を示したが、これに限らない。例えば画像形成装置の画面と同じ画面を表示するのではなく、画像形成装置の画面を拡張した画面をモバイル端末で表示するような場合でも以上の実施形態は適用可能である。
【0106】
さらに、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10