JP2019040413A - クライアント装置、制御方法、およびプログラム - Google Patents

クライアント装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP2019040413A
JP2019040413A JP2017162176A JP2017162176A JP2019040413A JP 2019040413 A JP2019040413 A JP 2019040413A JP 2017162176 A JP2017162176 A JP 2017162176A JP 2017162176 A JP2017162176 A JP 2017162176A JP 2019040413 A JP2019040413 A JP 2019040413A
Authority
JP
Japan
Prior art keywords
client device
state
management server
client
normal state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017162176A
Other languages
English (en)
Other versions
JP2019040413A5 (ja
JP7080604B2 (ja
Inventor
健太 矢部
Kenta Yabe
健太 矢部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017162176A priority Critical patent/JP7080604B2/ja
Priority to US16/108,790 priority patent/US10587768B2/en
Publication of JP2019040413A publication Critical patent/JP2019040413A/ja
Publication of JP2019040413A5 publication Critical patent/JP2019040413A5/ja
Application granted granted Critical
Publication of JP7080604B2 publication Critical patent/JP7080604B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00885Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof
    • H04N1/00888Control thereof
    • H04N1/00896Control thereof using a low-power mode, e.g. standby
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3284Power saving in printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/4055Managing power consumption, e.g. standby mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/00082Adjusting or controlling
    • H04N1/00087Setting or calibrating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00885Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)
  • Power Sources (AREA)

Abstract

【課題】 クライアント装置がスリープ状態に移行した後に、クライアント装置が管理サーバーからの指示を受信することが可能となる仕組みを提供することを目的とする。
【解決手段】 本発明は、管理サーバーからの指示を受信するために前記管理サーバーと通信を行うクライアント装置は、一定時間、前記クライアント装置がユーザー操作を受け付けなかったことにより、前記クライアント装置の電源がスリープ状態に移行される。前記クライアント装置の電源がスリープ状態へ移行された後、ユーザー操作を受け付けることなく一時的に通常状態に移行され、前記管理サーバーとの通信の後、前記クライアント装置の電源が通常状態からスリープ状態に移行されることを特徴とする。
【選択図】 図10

Description

本発明は、管理サーバーから指示を受信することが可能であるクライアント装置、制御方法、およびプログラムに関する。
近年、インターネットに家電製品や自動車などのオブジェクトをクライアントとして接続する「Internet of Things」(以降、IoTと称する)を実現するシステムが多く利用されるようになってきている。
また、画像形成装置の多機能化が進み、Multi Function Printer(以降、MFPと称する)と呼ばれる複合機もIoTクライアントとして対応することが可能となった。IoTでは、膨大な数のIoTクライアントがシステムに接続されることを想定している。IoTシステムはIoTクライアントからの膨大な量の情報を収集、分析することでIoTクライアントおよびそれを利用するユーザーに対して付加価値を提供する。例えば、複合機が接続されるIoTシステムとしてのデバイス管理サービスは、ユーザーの利用状況をリアルタイムに監視することで、トナーカートリッジや印刷用紙等の消耗品の交換タイミングを正確に予測することが可能となる。さらに、一定期間印刷し続けることで劣化する印刷品質の調整(以降、キャリブレーションと称する)の実行をデバイスに指示したりすることが可能となる。
例えばAmazon Web Service(以降、AWSと称する)が提供するサービスであるAWS IoTにはDevice ShadowというサービスとIoTクライアントとの間で、クライアントの状態をリアルタイムに共有する機能がある。この機能を利用することでサービスはクライアントの状態をリアルタイムに監視することができ、それらクライアントから収集した情報を分析し、クライアントに対し必要な指示を配信することが可能となる。
IoTシステムにおいてはIoTクライアントがサービスに常時接続されていることを前提としている。一方、複合機が一定時間未使用である場合や、夜間や営業時間外等のあらかじめ使用されないことが見込まれる時間帯に休眠状態にする機能が、複合機には備わっている。この機能をスリープモードと呼ぶ。これにより、複合機は消費電力の削減を実現としている。スリープモード中の複合機は、インターネット接続が切断されているため、サービスから配信された指示を受信および実行することができない。
特許文献1はIoTシステムについてではないが、シャットダウン処理後に定期アップデートが設定されている場合には、情報処理装置では、スリープ状態に移行する前に、アップデートのための復帰時刻にアラームを設定しておくことが記載されている。
特開2014−021678号公報
上述したIoTシステムは、システム内にあるクライアント装置への指示やクライアント装置の状態情報を管理する管理サーバーとクライアント装置とがインターネットを介して相互にリアルタイムに通信を行うことが特徴である。スリープ状態であるクライアント装置は、管理サーバーとのセッションは切断されており通信ができないため、システムからの指示を受信することができない。
上述した特許文献1では、スリープ状態に移行した後に実行する処理についての指示を、スリープ状態に移行する前に情報処理装置が外部サーバーから受信している。したがって、情報処理装置がスタンバイ状態中にサービスから受信した指示については、スリープ状態に移行しても実行することができるが、スリープモードに移行した後にサービスから配信された指示を受信することができない。
上記課題を鑑みて本発明は、クライアント装置がスリープ状態に移行した後に、ユーザー操作を受け付けることなく一時的に通常状態に移行させて、クライアント装置が管理サーバーからの指示を受信することが可能となる仕組みを提供することを目的とする。
上記課題を解決するために、本発明は、クライアント装置への指示を管理する管理サーバーからの指示を受信するために、前記管理サーバーと通信を行う通信手段と、前記クライアント装置の電源を、通常状態からスリープ状態に、または、スリープ状態から通常状態に移行させる移行手段と、を有し、前記移行手段は、一定時間、前記クライアント装置がユーザー操作を受け付けなかったことにより、前記クライアント装置の電源を通常状態からスリープ状態に移行させるクライアント装置において、前記通信手段は、ユーザー操作を受け付けたことにより前記クライアント装置の電源がスリープ状態から通常状態に移行された場合に、前記クライアント装置からの要求なしに前記管理サーバーからの指示を受信することが可能な通信方式によって前記管理サーバーと通信を行い、前記移行手段は、前記クライアント装置の電源が通常状態からスリープ状態へ移行された後、ユーザー操作を受け付けることなく前記クライアント装置の電源をスリープ状態から一時的に通常状態に移行させ、前記通信手段は、前記クライアント装置の電源が一時的に通常状態である際に、前記管理サーバーと通信を行い、前記移行手段は、前記クライアント装置の電源が一時的に通常状態である際に行われた前記通信手段による通信の後、前記クライアント装置の電源を通常状態からスリープ状態に移行させることを特徴とする。
本発明により、クライアント装置がスリープ状態に移行した後に、ユーザー操作を受け付けることなく一時的に通常状態に移行させて、クライアント装置が管理サーバーからの指示を受信することが可能となる。
システム全体例を示す図 ハードウェア構成例を示す図 ソフトウェア構成例を示す図 状態変更指示メッセージの一例を示す図 クライアント装置101のスリープ移行時の処理の示すフローチャート クライアント装置101がスリープ移行時に状態管理サーバー102に送信する状態メッセージの一例を示す図 クライアント装置101のスリープ復帰時の処理を示すフローチャート 状態管理サーバー102を介した出版購読モデルに基づく状態変更指示メッセージ送受信の処理を示すシーケンス 状態変更指示メッセージの確認タイマーを設定するクライアント装置101がスリープ移行時の処理を示すフローチャート 状態変更指示メッセージ確認タイマーが設定されている際のクライアント装置101スリープ復帰時の処理を示すフローチャート 状態変更指示メッセージ確認タイマーに基づき復帰したクライアント装置101の状態変更指示メッセージを確認する処理を示すフローチャート スリープ移行の理由に基づき状態変更指示メッセージの確認タイマーを設定するクライアント装置101がスリープ移行時の処理を示すフローチャート スリープ復帰の理由に基づきクライアント装置101が状態変更指示メッセージの反映タイミングを制御する処理を示すフローチャート 状態変更指示メッセージの内容にライアント装置101が状態変更指示メッセージの反映タイミングを制御する処理を示すフローチャート 図14においてクライアント装置101が受信する状態変更指示メッセージの例を示す図 図14においてクライアント装置101に表示される状態変更指示反映確認ダイアログの例を示す図 状態変更指示の実行履歴に基づき状態変更指示メッセージの確認タイマーを設定するクライアント装置101がスリープ移行時の処理を示すフローチャート
以下、本発明を実施するための形態について図面を用いて説明する。
(実施例1)
図1は、本実施例に係るシステムの全体構成例を示す図である。
ネットワーク100は、クライアント装置101、状態管理サーバー102、アプリケーションサーバー103を接続するネットワークである。ネットワーク100は、各構成要素間の通信を行うための基盤であり、Wide Area Network(以降、WANと称する)あるいはLocal Area Network (以降、LANと称する)であってもかまわない。
クライアント装置101は、ネットワーク100を介して状態管理サーバー102、アプリケーションサーバー103と相互に接続する。本実施例において、クライアント装置はMFP(Multi Function Printer)を例に説明するが、ネットワーク100を介した通信機能を有し、装置の使用状況に応じてスリープモードに状態遷移する装置であればMFP以外でもよい。スリープモードとは、クライアント装置の消費電力を削減するために一部の機能以外が使用不可となり、かつ、クライアント装置がネットワークに接続されていないスリープ状態を指す。これに対して、スタンバイモードとは、クライアント装置がネットワークに接続されていて、かつ、ユーザーがクライアント装置を使用可能である通常状態を指す。また、図1ではネットワーク100に接続されるクライアント装置101を1台図示しているが、クライアント装置101は複数台でもよい。つまり、1台以上のクライアント装置101がネットワーク100を介して状態管理サーバー102および状態管理サーバー102に接続した構成をとることができる。
状態管理サーバー102は、クライアント装置101の状態を管理するサーバーである。クライアント装置101は、自身の状態に変化があった場合に状態管理サーバー102にその値を送信する。またアプリケーションサーバー103は状態管理サーバー102を介してクライアント装置101の状態を監視し、状態の変化に応じた指示を状態管理サーバー102に送信する。状態管理サーバー102はアプリケーションサーバー103からの指示をクライアント装置101に送信する。
アプリケーションサーバー103は、状態管理サーバー102を介してクライアント装置101の状態を監視し、状態の変化に応じてクライアント装置101へ指示を生成するサーバーである。
図2は、情報処理装置のハードウェア構成例を示す図である。なお、本実施例における情報処理装置は、クライアント装置101およびデータセンター上のサーバーコンピューターである。状態管理サーバー102およびアプリケーションサーバー103はそれぞれ、サーバーコンピューター上で構築される仮想マシンによってその機能が実現される。ここで、仮想マシンとは、仮想化技術によって、サーバーを物理的な構成にとらわれずに論理的な単位で分割し、それぞれが独立したオペレーティングシステムをもって動作する論理的なコンピューターである。
CPU201は、ROM203のプログラム用ROMに記憶された、あるいはハードディスク等の外部メモリ211からRAM202にロードされたオペレーティングシステム(以下、OSと略す)やアプリケーション等のプログラムを実行する。また、CPU201は、システムバス204に接続される各ブロックを制御する。後述する各シーケンスの処理は、このプログラムの実行により実現できる。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。操作部I/F205は、操作部209からの入力を制御する。CRTC206は、CRTディスプレイの表示を制御するCRTコントローラーである。
DKC207は、各種データを記憶するハードディスク等の外部メモリ211におけるデータアクセスを制御するディスクコントローラーである。NC208は、ネットワーク100を介して接続されたサーバーコンピューターや他の機器との通信制御処理を実行するネットワークコントローラーである。
なお、後述のフローチャートなどの処理については、特に断りのない限り、ハード上の主体はCPU201であり、ソフトウェア上の主体は外部メモリ211にインストールされたアプリケーションプログラムである。
図3は、システムを構成する各要素のソフトウェアモジュール構成を示す図である。これらのソフトウェアモジュールは各構成要素の外部メモリ211に格納され、CPU201によって実行される。
まず、クライアント装置101には、クライアント装置稼働管理モジュール310と、状態管理サーバー連携モジュール320と、クライアント装置管理モジュール330と、が含まれる。
クライアント装置稼働管理モジュール310(以降、モジュール310と称する)は、クライアント装置101の稼働状況を管理して、クライアント装置101の通常状態からスリープ状態への移行を制御するモジュールである。モジュール310は、クライアント装置のスリープ状態から通常状態への移行(復帰)も制御する。モジュール310は、制御部311、タイマー管理部312、およびタイマー実行部313を有する。
制御部311は、モジュール310の全体を制御し、ソフトウェアモジュールの各構成要素に対する指示や各構成要素の管理を行う。タイマー管理部312は、クライアント装置101のスリープモードへの移行およびスリープモードからの復帰を行うための条件となるタイマー情報を管理する。タイマー管理部312が管理するタイマー情報の一例を、表1のタイマー情報テーブルで示す。
Figure 2019040413
IDカラムは、モジュール310において一意にタイマー情報を識別するための識別子を格納するカラムである。
動作種別カラムは、モジュール310においてタイマーを実行する際の動作種別を識別するための情報を格納するカラムである。例えば、カラムの値が「無使用」「スケジュール移行」の場合には、レコードが、クライアント装置101がスリープモードへ移行する際のタイマー情報であることを示す。また、カラムの値が「スケジュール復帰」の場合は、レコードが、クライアント装置101がスリープモードから復帰する際のタイマー情報であることを示す。
条件カラムは、モジュール310において動作種別カラムの値に対応するタイマー実行の条件値を格納するカラムである。動作種別カラムの値が「無使用」であるレコードの場合、条件カラムにはクライアント装置101が継続して無使用状態であったときにスリープモードに移行するまでの時間を指定する値が格納される。例えば表1に示すIDカラムの値が「1」のレコードの場合には、クライアント装置101が4時間無使用状態を継続するとスリープモードに移行することを意味する。また、動作種別カラムの値が「スケジュール移行」のレコードの場合、条件カラムにはクライアント装置101が定期的にスリープモードに移行する日時を指定する値が格納される。例えば表1に示すIDカラムの値が「2」のレコードの場合には、クライアント装置101は毎日21時にスリープモードに移行することを意味する。また、動作種別カラムの値が「スケジュール復帰」のレコードの場合、条件カラムにはクライアント装置101が定期的にスリープモードから復帰する日時を指定する値が格納される。例えば表1に示すIDカラムの値が「3」のレコードの場合には、クライアント装置101は毎日8時にスリープモードから復帰することを意味する。
次に、タイマー実行部313は、タイマー管理部312のタイマー情報テーブル(表1)に登録されたタイマー情報に従ってクライアント装置101をスリープモードに移行あるいはスリープモードからの復帰を行う。なお、モジュール310はクライアント装置101がスリープモードに移行した後も稼働し続けるモジュールである。
また、状態管理サーバー連携モジュール320(以降、モジュール320と称する)は、クライアント装置101の状態情報を状態管理サーバー102に送信する。さらに、モジュール320は、状態管理サーバー102を介してアプリケーションサーバー103が生成した状態変更指示を受信する。モジュール320は、通信部321、メッセージ生成部322、メッセージ解析部323、タイマー管理部324、および履歴管理部325を有する。
通信部321は、NC208を介してネットワーク100で接続される状態管理サーバー102と通信を行う。
メッセージ生成部322は、クライアント装置管理モジュール330から取得したクライアント装置状態情報を用いてクライアント状態メッセージを生成する。生成されたクライアント状態メッセージは、通信部321を介して状態管理サーバー102に送信される。
メッセージ解析部323は、通信部321を介して状態管理サーバー102から受信した状態変更指示メッセージの解析を行い、対応するクライアント装置管理モジュール330に送信する。なお、クライアント装置管理モジュール330は複数あるものとする。
タイマー管理部324は、クライアント装置101がスリープモードである間に状態管理サーバー102に状態変更指示メッセージの更新確認を実行する間隔を管理する。タイマー管理部324が管理するメッセージ確認間隔の一例を、表2のメッセージ確認間隔テーブルで示す。
Figure 2019040413
IDカラムは、モジュール320において一意にメッセージ確認間隔を識別するための識別子を格納するカラムである。
確認間隔カラムは、モジュール320が状態管理サーバー102に状態変更指示メッセージの更新確認を行う際の実行間隔の値を格納するカラムである。表2では、クライアント装置101がスリープモードである間は、タイマー管理部324が15分おきに状態変更指示メッセージの更新確認を実行する例を示している。
次に、履歴管理部325は、メッセージ解析部323によって解析された状態変更指示メッセージに基づく処理を、対応するクライアント装置管理モジュール330が実行した場合の実行履歴を管理する。履歴管理部325が管理する状態変更指示メッセージ実行履歴の一例を、表3の実行履歴テーブルで示す。
Figure 2019040413
IDカラムはモジュール320において、一意に実行履歴を識別するための識別子を格納するカラムである。
アプリケーション名カラムはモジュール320において、メッセージ解析部323が状態管理サーバー102から受信した状態変更指示メッセージの生成元であるアプリケーションサーバー名を格納するカラムである。
日時情報カラムは、状態変更指示メッセージの実行結果としてのクライアント状態メッセージをメッセージ生成部322が状態管理サーバー102に送信した日時情報を格納するカラムである。状態変更指示メッセージはメッセージ解析部323によって解析されて、対応するクライアント装置管理モジュール330がそのメッセージに基づく処理を実行する。
また、クライアント装置管理モジュール330(以降、モジュール330と称する)は、メッセージ解析部323が受信した状態変更指示メッセージのクライアント装置101への反映を行うモジュールである。モジュール330は複数あってもよい。状態変更指示メッセージは、アプリケーションサーバー103によって生成され、状態管理サーバー102を介してメッセージ解析部323に送信される。モジュール330は、制御部331、クライアント管理部332、メッセージ解析部333、およびメッセージ実行部334を有する。
制御部331は、モジュール330の全体を制御し、ソフトウェアモジュールの各構成要素に対する指示や各構成要素の管理を行う。クライアント管理部332は、クライアント装置101の各種状態値、設定値を管理する。メッセージ解析部333は、通信部321から受信した状態変更指示メッセージの詳細な解析を行い、メッセージ実行部334で実行する処理を確定する。
メッセージ実行部334は、メッセージ解析部333で解析した内容に従いクライアント装置101で該当するモジュールの設定変更や状態変更を行う。また、メッセージ実行部334は、処理が完了するとクライアント管理部332で管理する各種状態値、設定値を更新する。
状態管理サーバー102は、状態管理サーバーモジュール340(以降、モジュール340と称する)を持つ。モジュール340は、クライアント装置101の状態を管理し、クライアント装置101の状態に変更があれば連携するアプリケーションサーバー103にその変更を通知する。また、モジュール340は、アプリケーションサーバー103からクライアント装置101に対する状態変更指示メッセージを受信し、クライアント装置101にそのメッセージを通知することでクライアント装置101に状態の変更を指示する。モジュール340は、通信部341、クライアント管理部342、クライアントデータベース343、接続管理部344、接続管理データベース345、権限管理データベース346、およびメッセージ生成部347を有する。
通信部341は、NC208を介して、ネットワーク100で接続されるクライアント装置101およびアプリケーションサーバー103との通信を行う。
クライアント管理部342は、状態管理サーバー102に接続されるクライアント装置101の状態情報を管理する。クライアント装置101の状態情報はクライアントデータベース343に格納される。クライアントデータベース343に格納され、クライアント管理部342で管理されるクライアント装置の状態情報の一例を、表4のクライアント装置状態情報テーブルで示す。
Figure 2019040413
状態情報IDカラムは、モジュール340に接続されるクライアント装置101を一意に識別するための識別子を管理するカラムである。
状態情報名カラムは、モジュール340に接続されるクライアント装置101の名称を管理するカラムである。
状態情報カラムは、モジュール340に接続するクライアント装置101の状態情報を管理するカラムである。状態情報カラムで管理されるクライアント装置101の状態情報に一例を図4に示す。
図4は、状態管理サーバー102が管理するクライアント装置101の状態情報の一例を示した図である。
図4(a)に示す状態情報ファイル400は、クライアント装置101の状態情報を状態管理サーバー102が管理するためのファイルであり、状態管理サーバー102が管理するクライアント装置101と対応付けて存在する。状態情報ファイル400は、状態情報部401、指示部402、状態部403、バージョン404、およびタイムスタンプ405を有する。本実施例において、状態情報ファイル400のフォーマットをJavaScript(登録商標) Object Notation形式(以降、JSON形式と称する)で記載しているが、そのフォーマットを限定するものではない。
状態情報部401は、アプリケーションサーバー103からの指示を示す指示部402とクライアント装置101の現在の状態を示す状態部403とを含む。指示部402は、アプリケーションサーバー103からの指示内容が格納される。クライアント装置101がアプリケーションサーバー103からの指示による変更後の状態の値が格納される。なお、指示部402の値が空の場合は、アプリケーションサーバー103からの指示がないことを示す。状態部403は、クライアント装置101の現在の状態の値が格納される。
バージョン404は、状態情報ファイル400のバージョンを示し、クライアント装置101およびアプリケーションサーバー103によって状態情報ファイル400が更新されるたびに値が変更される。タイムスタンプ405は、状態情報ファイル400がクライアント装置101およびアプリケーションサーバー103によって更新された際にタイムスタンプ情報が格納される。なお、図4(b)および図4(c)の説明については後述する。
図3の説明に戻る。接続管理部344は、ネットワーク100を介して状態管理サーバー102と接続されるクライアント装置101およびアプリケーションサーバー103の接続情報を管理する。状態管理サーバー102に現在接続されているクライアント装置101およびアプリケーションサーバー103の接続情報は接続管理データベース345に格納される。接続管理データベース345に格納されて接続管理部344で管理される状態管理サーバー102の接続情報の一例を、表5の接続情報テーブルで示す。
Figure 2019040413
接続IDカラムは、状態管理サーバー102に現在接続されているクライアント装置101またはアプリケーションサーバー103を一意に識別するための識別子を格納するカラムである。
接続クライアント名カラムは、状態管理サーバー102に現在接続されているクライアント装置101またはアプリケーションサーバー103の名称を格納するカラムである。
出版状態情報名カラムは、更新可能な状態情報名を格納するカラムである。
購読状態情報名カラムは、参照可能な状態情報名を格納するカラムである。
次に、状態管理サーバー102に接続されたクライアント装置101およびアプリケーションサーバー103がアクセス可能なクライアント装置101の状態情報に関する権限情報は権限管理データベース346に格納される。権限管理データベース346に格納されて接続管理部344で管理される状態情報への権限情報の一例を、表6の権限情報テーブルで示す。
Figure 2019040413
接続クライアント名カラムは、状態管理サーバー102が権限情報を管理するクライアント装置101およびアプリケーションサーバー103の名称を格納するカラムである。本実施例においては、接続クライアント名カラムの値が「mfp1」または「mfp2」であるレコードが、クライアント装置101の権限情報である。また、本実施例においては、接続クライアント名カラムの値が「appServer1」または「appServer2」であるレコードが、アプリケーションサーバー103の権限情報である。
状態情報IDカラムは、接続クライアント名カラムの値に該当するクライアント装置101あるいはアプリケーションサーバー103がアクセス可能な状態情報を一意に識別するための識別子を格納するカラムである。
状態情報名カラムは、接続クライアント名カラムの値で示すクライアント装置101またはアプリケーションサーバー103がアクセス可能な状態情報を示す。状態情報名カラムには、どのクライアント装置の状態情報であるかを示すクライアント装置名が格納される。
権限カラムは、状態情報IDカラムの値に該当するクライアント装置状態情報テーブル(表4)の状態情報ファイルに対するアクセス権限に対応する値を格納するカラムである。本実施例においては値が「Publish」の場合には、状態情報ファイルの更新権限を有することを意味し、「Subscribe」の場合には、状態情報ファイルの参照権限を有することを意味する。権限情報テーブルに示す例としては、クライアント装置101に対応する「mfp1」、「mfp2」はそれぞれ、自身の状態情報ファイルの更新および参照権限を有する。また、アプリケーションサーバー103に対応する「appServer1」は「mfp1」、「mfp2」それぞれの状態情報ファイルの更新および参照権限を有する。一方、アプリケーションサーバー103に対応する「appServer2」は「mfp1」の状態情報ファイルの参照権限のみを有することを意味する
メッセージ生成部347は、アプリケーションサーバー103から受信した状態変更指示に基づき状態変更指示メッセージを生成する。生成された状態変更指示メッセージは、通信部341を介して該当するクライアント装置101に送信される。
また、アプリケーションサーバー103は、アプリケーションサーバーモジュール350(以降、モジュール350と称する)を持つ。モジュール350は、クライアント装置101から受信する情報に応じて、クライアント装置101の状態変更の必要が有ると判断した場合には、状態管理サーバー102を介してクライアント装置101の状態変更指示を送信する。モジュール350は、通信部351、およびメッセージ生成部352を封する。なお、アプリケーションサーバー103がクライアント装置101から受信する情報とその情報を用いて実行する処理ついては、特にその詳細な内容を限定するものではないため、説明を省略する。
通信部351は、NC208を介してネットワーク100で接続されるクライアント装置101および状態管理サーバー102と通信を行う。
メッセージ生成部352は、クライアント装置101から受信した情報に応じて状態変更指示メッセージを生成する。生成された状態変更指示メッセージは、通信部351を介して状態管理サーバー102に送信される。
クライアント装置101がスリープモードに移行してから、スリープモードから復帰するまでの一連の処理を図5、6、7に示す。
クライアント装置101は、一定時間ユーザーによって利用されないことが見込まれる場合に、省電力のために所定の条件によってスリープモードに移行する機能を有する。クライアント装置101がスリープモードに移行する条件は2つある。
一つは、夜間や営業時間外などといった一日のうちの決まった時間帯でユーザーがクライアント装置101を利用しないことがあらかじめ把握できている場合である。この場合は、クライアント装置101にスリープモードへの移行および復帰の時間帯をスケジュール設定し、クライアント装置101はスケジューされた時刻に従って状態を変える。
もう一つは、日中や営業時間内などといった一日のうちクライアント装置101がユーザーによっていつ利用されるか予測できない時間帯に、一定時間ユーザーによって利用されない場合である。この場合には、クライアント装置101を利用するユーザーがいなくても起動し続ける無駄を回避するために、クライアント装置101に対して、一定時間無使用の状態が継続した場合にはスリープモードに移行するよう無使用継続時間を設定する。クライアント装置101は、ユーザーからの仕様要求を監視し、設定された時間だけ継続してユーザーからの処理要求を受け付けなかった場合に、スリープモードに移行する。スリープモードに移行したクライアント装置101は操作部209を介してユーザーからの処理要求を受け付けた場合、スリープモードから復帰する。
図5はクライアント装置101がスリープモードに移行する基本的な処理を示したフローチャートである。本処理はクライアント装置101のモジュール310において実行される。なお、図5で示すフローチャートの各ステップの処理は、クライアント装置101のCPU201が、ROM203や外部メモリ211に記録されたプログラムを読み出して実行することにより実現される。
S501において、制御部311はタイマー管理部312のタイマー情報テーブル(表1)の動作種別カラムの値が「無使用」であるレコードの条件カラムの値で示される時間を取得する。
S502において、制御部311はタイマー管理部312のタイマー情報テーブル(表1)の動作種別カラムの値が「スケジュール移行」のレコードの条件カラムの値を取得する。
S503において、制御部311は現在時刻と、S502で取得した条件カラムに格納されたスケジュール移行時刻とを比較する。現在時刻がスケジュール移行時刻よりも前だった場合には、S504に進む。現在時刻がスケジュール移行時刻と一致、または進んでいた場合にはS506に進む。
S504において、制御部311はS501で取得した一定時間の間、クライアント装置101が未使用状態にあるかどうかを確認する。クライアント装置が未使用状態にある時間が「無使用」のレコードの条件カラムに格納される一定時間を経過していない場合にはS505に進む。クライアント装置が未使用状態にある時間が一定時間を経過していた場合には、S506に進む。
S505において、制御部311はユーザーからの操作を待ち受け、再度S503の処理を実行する。
S506において、メッセージ生成部322は、クライアント装置101がスリープモードに移行する旨を記したクライアント状態メッセージ600を生成し、通信部321を介して状態管理サーバー102に送信する。状態管理サーバー102のクライアント管理部342は、クライアント装置状態情報テーブルで管理する状態情報のうち該当する状態情報ファイルを、受信したスリープ移行時のクライアント状態メッセージ600で更新する。
ここで、図6(a)は、クライアント装置101がスリープモードに移行する際に、クライアント装置101から状態管理サーバー102に送信されるクライアント状態メッセージの一例を示した図である。
スリープ移行時のクライアント状態メッセージ600の各構成要素は状態情報ファイル400と同様のため説明を省略し、スリープモードに移行する際の差分のみ説明する。状態部601は、クライアント装置101がスリープモードに移行する際の電源状態を示す情報である。
図6(b)は、クライアント装置101がスリープモードから復帰する際に、クライアント装置101から状態管理サーバー102に送信されるクライアント状態メッセージの一例を示した図である。
スリープ復帰時のクライアント状態メッセージ610の各構成要素は状態情報ファイル400と同様のため説明を省略し、スリープモードに移行する際の差分のみ説明する。状態部611は、クライアント装置101がスリープモードに復帰する際の電源状態を示す情報である。
図5の説明に戻る。S507において、制御部311はタイマー実行部313を介して、クライアント装置101をスリープモードに移行させる。
図7は、クライアント装置101がスリープモードから復帰する基本的な処理を示したフローチャートである。本処理はクライアント装置101のモジュール310において実行される。
S701において、制御部311は、タイマー管理部312のタイマー情報テーブル(表1)の動作種別カラムの値が「スケジュール復帰」のレコードの条件カラムの値を取得する。
S702において、制御部311は現在時刻とS502で取得した動作種別カラムの値が「スケジュール復帰」のレコードの条件カラムに格納されるスケジュール復帰時刻とを比較する。現在時刻がスケジュー復帰時刻よりも前だった場合には、S703に進む。現在時刻がスケジュール復帰時刻と一致、または進んでいた場合にはS704に進む。
S703において、制御部311はユーザーからの操作要求を受け付けたかどうかを判断する。ユーザーからの操作要求を受け付けた場合にはS704に進む。ユーザーからの操作要求を受け付けなかった場合には、再度S702の処理を実行する。
S704において、メッセージ生成部322はクライアント装置101がスリープモードに復帰する旨を記したクライアント状態メッセージ610を生成し、通信部321を介して状態管理サーバー102に送信する。状態管理サーバー102のクライアント管理部342は、クライアント装置状態情報テーブルで管理する状態情報のうち該当する状態情報ファイルを、受信したクライアント状態メッセージ610で更新する。
図8は、クライアント装置101およびアプリケーションサーバー103が状態管理サーバー102で管理される状態情報の更新通知を受信する一連の処理を示したシーケンス図である。
クライアント装置101は、自身のハードウェア設定やソフトウェア設定などの状態情報が変更された場合、状態管理サーバー102に変更された状態情報を送信する。状態管理サーバー102は、クライアント装置101から状態情報を受信するとクライアント装置101に関連するアプリケーションサーバー103にその情報を転送する。
また、アプリケーションサーバー103が自身と関連するクライアント装置101のハードウェア設定やソフトウェア設定を変更する場合、あるいは何等かの処理を実行させたい場合には、状態管理サーバー102に状態情報を送信する。状態管理サーバー102は、アプリケーションサーバー103から状態情報を受信するとアプリケーションサーバー103に関連するクライアント装置101にその情報を転送する。
従来の通信方式の場合は、クライアント装置101とアプリケーションサーバー103とが直接接続されることで、実現されていた。しかし、そのような場合アプリケーションサーバー103が関連する全てのクライアント装置101との通信を管理する必要があった。状態管理サーバー102を介した図8に示す出版購読方式の通信方式(MQTT)を採用することで、アプリケーションサーバー103がクライアント装置101を管理する負荷を追うことなく、双方向に情報の送受信を行うことが可能となる。ここで、MQTTは、Message Queue Telemetry Transportの略称である。つまり、クライアント装置101からの要求なしに、状態管理サーバー102からクライアント装置101への指示が可能となる。
S801において、クライアント装置101は状態管理サーバー102に対して状態情報への接続要求を送信する。さらにS801で、アプリケーションサーバー103も状態管理サーバー102に対して状態情報への接続要求を送信する。状態管理サーバー102の接続管理部344は、接続要求を受信すると接続管理データベース345の接続情報テーブル(表5)に、接続要求を送信したクライアント名としてクライアント装置101およびアプリケーションサーバー103を登録する。
S802において、クライアント装置101は状態管理サーバー102に対して状態情報への出版購読要求を送信する。さらにS802で、アプリケーションサーバー103も状態管理サーバー102に対して状態情報への出版購読要求を送信する。ここで、出版購読要求の一例を、表7の出版購読要求レコードに示す。
Figure 2019040413
要求元クライアント名カラムは、出版購読要求を送信するクライアント装置101あるいはアプリケーションサーバー103の名称が格納される。
出版状態情報カラムには、参照する状態情報名が格納される。
購読状態情報カラムには、更新する状態情報名が格納される。
接続管理部344は出版購読要求を受信すると、出版購読要求テーブル(表7)の要求元クライアント名カラムの値と、権限情報テーブル(表6)の接続クライアント名カラムの値とが一致するレコードを権限情報テーブルから取得する。次に、接続管理部344は、取得した権限情報レコードの状態情報名カラムの値および権限カラムの値を取得して、出版購読要求レコードの出版状態情報カラムの値と購読状態情報カラムの値とを比較する。それにより、接続管理部344は、要求元クライアントが出版購読要求に対応する権限を有しているか否かを確認する。権限を有している場合には、接続情報テーブル(表5)の接続クライアント名カラムと出版購読要求レコード(表7)の要求元クライアント名カラムとの値が一致する接続情報テーブルのレコードを特定する。特定されたレコードの出版状態情報名カラムおよび購読状態情報名カラムのそれぞれに、出版購読要求レコードの出版状態情報カラムの値および購読状態情報カラムの値を格納する。
S803において、クライアント装置101は、状態情報が変化すると状態管理サーバー102に対しクライアント状態メッセージを送信する。
S804において、状態管理サーバー102のクライアント管理部342は、通信部341を介してクライアント装置101からクライアント状態メッセージを受信する。クライアント管理部342は、クライアント装置状態情報テーブル(表4)の状態情報名がクライアント装置101と一致する表4のレコードの状態情報カラムに格納された状態情報ファイルを、受信したクライアント状態メッセージで更新する。
S805において、状態管理サーバー102の接続管理部344は、S804で更新されたクライアント装置状態情報レコードの状態情報名カラムの値と接続情報テーブル(表5)の購読状態情報カラムとの値とが一致するレコードを検索する。そして、該当したレコードの接続クライアント名カラムの値に対応するアプリケーションサーバー103に対して、メッセージ生成部347が、通信部341を介して状態情報更新メッセージを送信する。以上の一連の処理によってアプリケーションサーバー103は状態管理サーバー102を介してクライアント装置101の状態更新をリアルタイムに監視することが可能となる。
なお、図8に示した一連の処理はクライアント装置101の状態の変更を、状態管理サーバー102を介してリアルタイムにアプリケーションサーバー103に対して通知することを説明しているが、その逆も同様である。つまり、アプリケーションサーバー103の指示によって、状態管理サーバー102の状態情報が更新された場合も同様である。クライアント装置101に対して、ネットワーク100を介して、その更新内容に基づく指示がリアルタイムに通知される。
図8に示した一連の処理によって、状態管理サーバー102を介することでアプリケーションサーバー103はクライアント装置101の状態をリアルタイムに参照および更新することが可能となる。しかしながら、図5から図7に示すようにクライアント装置101は、適宜スリープモードに移行することがあり得る。クライアント装置101がスリープモードに移行すると、クライアント装置101と状態管理サーバー102との間のセッションが解除される。具体的には接続情報テーブル(表5)から該当するクライアント装置101のレコードが削除される。この状態の場合、アプリケーションサーバー103が状態管理サーバー102に対してクライアント状態メッセージを送信したとしても、クライアント装置101は、ネットワーク100から遮断されているため、状態の変更に関する通知を受信できない。つまり、クライアント装置101がスリープモードから復帰して、状態管理サーバー102に接続要求を送信することでセッションが確立されるまでの間は、クライアント装置101と状態管理サーバー102との間のセッションが解除された状態となる。
そのため、図9から図11を用いて、クライアント装置101がスリープモードに移行していた場合でもアプリケーションサーバー103からのクライアント状態メッセージを適切に受信するための方法を示す。
図9は、クライアント装置101が、S802において状態管理サーバー102に接続した後にスリープモードに移行する際の一連の処理を示したフローチャートである。
S901からS905までは図5に示したS501からS505の処理と同様のため説明を省略する。
S906において、タイマー管理部324は、メッセージ確認間隔テーブル(表2)からメッセージ確認間隔レコードを取得する。そして、タイマー管理部324はタイマー管理部312を介して、タイマー情報テーブルにスリープモード時のメッセージ確認タイマー情報を登録する。S906においてメッセージ確認タイマー情報を登録したタイマー情報テーブルの一例を、表8のタイマー情報テーブルで示す。
Figure 2019040413
表1との違いとして表8では、IDが「4」、動作種別が「スリープモード」、条件が「15分」のレコードが追加された。そのレコードにおいて、動作種別カラムに「スリープモード」、条件カラムにS906で取得したメッセージ確認間隔レコードの実行間隔カラムの値が格納される。本実施例では、メッセージ確認の実行間隔を「15分」として説明するが、メッセージ確認の実行間隔はこの例に限らない。
S907からS908までは図5に示したS506からS507の処理と同様のため説明を省略する。
図10は、クライアント装置101が、スリープモードに移行した後、状態管理サーバー102に対してアプリケーションサーバー103による指示の有無を確認するためにスリープモードから復帰する一連の流れを示したフローチャートである。
S1001は図7に示したS701の処理と同様のため説明を省略する。
S1002において、タイマー管理部312は、タイマー情報テーブル(表8)の動作種別カラムの値が「スリープモード」のレコードの条件カラムの値をメッセージ確認タイマー値として取得する。
S1003からS1004までは図7に示したS702からS703の処理と同様のため説明を省略する。
S1005において、制御部311は現在時刻がスリープモードに移行してからS1002で取得したメッセージ確認タイマー以上に経過しているかを確認する。経過している場合にはS1007に、経過していなかった場合には再度S1006を実行する。なお、S1005の処理は、次回以降は前回S1005の処理を実行してからメッセージ確認タイマーの値以上に現在時刻が経過しているか否かを確認する。
S1006は図7に示したS704の処理と同様のため説明を省略する。S1006により、クライアント装置101は、状態管理サーバー102とのセッションを確立し、S1007とは異なる通信方式により状態管理サーバー102からの指示を受信可能となる。
S1007において、制御部311は状態管理サーバー102にアプリケーションサーバー103からの指示が登録されているかを確認するためにスリープモードから一時復帰する。なお、S1007の処理の詳細は図11を用いて説明する。
図11は、クライアント装置101がS1007において、一時的にスリープモードから復帰して状態管理サーバー102にアプリケーションサーバー103からの指示が登録されているかを確認する一連の処理を示したフローチャートである。
S1101において、モジュール320は通信部321を介してモジュール340にアプリケーションサーバー103からの状態変更指示の有無を問い合わせる。モジュール340は、モジュール320からの問い合わせを受信するとクライアント装置状態情報テーブル(表4)から、問い合わせを受信したクライアント装置101とクライアント装置名カラムの値とが一致するクライアント装置状態情報レコードを取得する。次にモジュール340は、状態情報カラムに格納される状態情報ファイルを取得する。図4(b)に示す状態変更指示メッセージ410は、クライアント装置101に送信されるメッセージの例である。指示部411には、キャリブレーションの実行指示が記載されている。その他の主な構成要素は状態情報ファイル400と同様のため説明を省略する。アプリケーションサーバー103からの状態変更指示がある場合には指示部411のように指示の内容が挿入される。そして、クライアント管理部342はアプリケーションサーバー103からクライアント装置101に対する実行指示があると判断して、クライアント装置101に状態変更指示メッセージ410として送信する。
クライアント管理部342は指示部411に値が格納されていなかった場合はアプリケーションサーバー103からの状態変更指示なしと判断して、S1105に進む。
S1102において、クライアント装置101のメッセージ解析部323は通信部321を介して状態変更指示メッセージ410を受信する。S1102では、クライアント装置101が状態管理サーバー102に対して要求することで、指示を受信することが可能となる通信方式(HTTP(Hypertext Transfer Protocol))が利用される。ここでは、一時的にスリープ状態から通常状態に移行しているため、クライアント装置と状態管理サーバーとの間でセッションを確立しないものとする。
S1103において、メッセージ解析部323はS1102において受信した状態変更指示メッセージ410の指示部411を参照し、モジュール330の制御部331に送信する。そして、モジュール330は指示部411の内容に従ってクライアント装置101の状態および設定を変更しクライアント管理部332を更新する。
S1104において、メッセージ生成部322はS1103で変更したクライアント装置101の状態および設定値で状態部403を更新する。さらに、メッセージ生成部322は、クライアント装置101がスリープモードに移行する旨を記したクライアント状態メッセージ420を生成し、通信部321を介して状態管理サーバー102に送信する。
図4(c)に示すクライアント状態メッセージ420は、クライアント装置101から状態管理サーバー102に送信されるファイルである。421には、特に指示が記載されていない。422には、キャリブレーションが実行されたことが記載されている。423には、スリープモードに入ったことが記載されている。
状態管理サーバー102のクライアント管理部342は、クライアント装置状態情報テーブル(表4)で管理する状態情報のうち該当する状態情報ファイルを、受信したスリープ移行時のクライアント状態メッセージ600(図6(a))で更新する。
S1105において、タイマー管理部324はS1002で取得したメッセージ確認タイマー値を、タイマー管理部312を介してタイマー情報テーブル(表8)にスリープモード時のメッセージ確認タイマー情報を登録する。
S1106において、制御部311はクライアント装置101をスリープモードに再び移行する。ここでは、図5で示した処理とは異なり、一定時間の間、ユーザー操作を受け付けることを待機することなく、クライアント装置101はスリープモードへ移行する。
図10から図11に示した一連の処理によって、クライアント装置101は、スリープモードに移行した後に、一時的にスリープモードから復帰するようにした。一時的にスリープモードから復帰した際に状態管理サーバー102からの指示に基づく処理を完了した後、クライアント装置はスリープモードに移行する。これにより、状態管理サーバー102に対してアプリケーションサーバー103による指示が登録されたとしても、なるべく早くアプリケーションサーバー103の指示をクライアント装置101に反映することが可能となる。なお図10から図11に示す一連の処理は、クライアント装置101がS1006において、スリープモードから復帰するまで繰り返される。
(実施例2)
アプリケーションサーバー103が状態管理サーバー102に登録した状態変更指示は、登録され次第該当するクライアント装置101に反映されるのが好ましい。実施例1においてはクライアント装置101がスリープモードに移行して、状態管理サーバー102との接続が解除される状況でもできるだけ早く反映させる方法を示した。しかしながら、クライアント装置101がスリープモードに移行する条件によっては必ずしも状態管理サーバー102に登録した状態変更指示の反映を即時行わなければならないわけではない。例えば、クライアント装置101がスケジュール設定によってスリープモードへ移行する際、その設定によってはスリープモード中にクライアント装置101を利用するユーザーが見込まれない場合がある。そのような場合は、スリープモードから復帰して再びクライアント装置101が利用可能になるまでのどこかのタイミングで状態変更指示を反映すればよい。また例えば、クライアント装置101が一定時間未使用状態を理由にスリープモードへ移行する際、いつユーザーがクライアント装置101を操作するか分からない。そのような場合は、クライアント装置101のユーザーに影響が出てしまうため、できるだけ早く状態変更指示を反映する必要がある。
本実施例においては、クライアント装置101がスリープモードに移行する条件によって、状態管理サーバー102に登録された状態変更指示を確認するタイミングを適切に制御する方法を示す。
図12は、クライアント装置101が、状態管理サーバー102にS801に示す接続要求を送信した後にスリープモードに移行する際、スリープモードに移行する条件によって、メッセージ確認タイマーの一連の処理を示したフローチャートである。
S1201からS1202までは図5に示したS501からS502までの処理と同様のため説明を省略する。
S1203において、制御部311は現在時刻とS1202で取得した動作種別カラムの値が「スケジュール移行」のレコードの条件カラムに格納されたスケジュール移行時刻とを比較する。現在時刻がスケジュール移行時間よりも前だった場合には、S1204に進む。現在時刻がスケジュール移行時刻と一致、もしくは進んでいた場合にはS1206に進む。
S1204において、制御部311はS1201で取得した動作種別カラムの値が「無使用」のレコードの条件カラムに格納された時間の間に、クライアント装置101が未使用状態にあるかどうかを確認する。クライアント装置が未使用状態にある時間が「無使用」のレコードの条件カラムに格納された時間未満である場合にはS1205に進む。クライアント装置が未使用状態にある時間が「無使用」のレコードの条件カラムに格納された時間以上継続していた場合には、S1207に進む。
S1205において、制御部311はユーザーからの操作を待ち受け、再度S1203の処理を実行する。
S1206および、S1207において、タイマー管理部324は、条件別メッセージ確認間隔テーブルから条件別メッセージ確認間隔レコードを取得する。本実施例において、タイマー管理部324が管理する条件別メッセージ確認間隔の一例を、表9の条件別メッセージ確認間隔テーブルに示す。
Figure 2019040413
IDカラムはモジュール320において、一意にメッセージ確認間隔を識別するための識別子を格納するカラムである。
スリープ種別カラムは、クライアント装置101がスリープモードに移行する際の条件を識別するための情報を格納するカラムである。クライアント装置101が一定時間ユーザー操作を受け付けなかったことを理由にスリープモードに移行する場合は「無使用」が該当する。一方、タイマー実行部313によってあらかじめ定められたスケジュールに従ってスリープモードに移行した場合には「スケジュール」が該当する。クライアント装置101は、実行間隔カラムに格納される所定時間おきに、スリープ状態から復帰して状態管理サーバー102と通信する。ここで、「スケジュール」の場合の実行間隔の時間は、「無使用」の実行間隔の時間よりも長い。「スケジュール」の場合、スリープモードからの復帰予定時刻までの間、ユーザーによりクライアント装置が使用される可能性が低いため、更新確認を行う頻度を少なくしている。なお、「スケジュール」の場合、実行間隔の時間ではなく、実行時刻として所定時刻が管理されていても良い。
実行間隔カラムは、モジュール320が状態管理サーバー102に状態変更指示メッセージの更新確認を行う際の実行間隔の値を格納するカラムである。
S1206において、タイマー管理部324はスケジュールに従ってクライアント装置101がスリープモードに移行すると判断する。タイマー管理部324は、条件別メッセージ確認間隔テーブルのスリープ種別カラムの値が「スケジュール」と一致するレコードを取得する。そして、タイマー管理部324は取得したレコードの実行間隔カラムの値をタイマー情報テーブルにスリープモード時のメッセージ確認タイマー情報として登録する。
S1207において、タイマー管理部324は未使用時刻の経過に従ってクライアント装置101がスリープモードに移行すると判断する。タイマー管理部324は、条件別メッセージ確認間隔テーブルのスリープ種別カラムの値が「無使用」と一致するレコードを取得する。そして、タイマー管理部324は取得したレコードの実行間隔カラムの値をタイマー情報テーブルにスリープモード時のメッセージ確認タイマー情報として登録する。
S1208からS1209までは図9に示したS907からS908の処理と同様のため説明を省略する。
図12に示した一連の処理によって、クライアント装置101がスリープモードに移行する条件によって、状態管理サーバー102に登録された状態変更指示を確認するタイミングを適切に制御することができる。
(実施例3)
アプリケーションサーバー103が状態管理サーバー102に登録する状態変更指示の内容によっては、反映中はクライアント装置101が使用不可能になる場合がある。例えば指示の反映前後によって、ユーザー操作の結果が変わるために、反映中は意図的にクライアント装置101がユーザー操作実行を受け付けないようにする場合がある。また、クライアント装置101が指示反映の後処理としてクライアント装置101自身の再起動を行う場合なども考えられる。
クライアント装置101が実施例1、2に示す方法で状態管理サーバー102に状態変更指示の有無を確認する際、ユーザー操作によってスリープモードから復帰した場合には復帰直後にユーザー操作の実行を行うことが想定される。復帰直後にクライアント装置101が上述したようなクライアント装置101が使用不可となる状態変更指示を反映させてしまうと、クライアント装置はユーザー操作を受け付けることができず、ユーザーはその間待機しなければならない。
本実施例においては、ユーザー操作の利便性を維持しつつ、クライアント装置101による状態変更指示の反映を制御する方法を示す。
図13は、クライアント装置101が、S1006においてスリープモードから復帰する際、その復帰する理由によって状態変更指示の反映タイミングを制御する一連の処理を示したフローチャートである。
S1301において、モジュール320は通信部321を介してモジュール340にアプリケーションサーバー103からの状態変更指示の有無を問い合わせる。モジュール340は、モジュール320からの問い合わせを受信するとクライアント装置状態情報テーブルから、問い合わせを受信したクライアント装置101とクライアント装置名カラムの値とが一致するクライアント装置状態情報レコードを取得する。次にモジュール340は、状態情報カラムに格納される状態情報ファイルを取得する。アプリケーションサーバー103からの状態変更指示がある場合には指示部411のように指示の内容が挿入される。そして、クライアント管理部342はアプリケーションサーバー103からクライアント装置101に対する実行指示があると判断して、クライアント装置101に状態変更指示メッセージ410として送信する。クライアント管理部342は指示部411に値が格納されていなかった場合はアプリケーションサーバー103からの状態変更指示なしと判断して、S1305に進む。
S1302において、クライアント装置101のメッセージ解析部323は通信部321を介して状態変更指示メッセージ410を受信する。
S1303において、制御部311はクライアント装置101がスリープモードから復帰した理由を確認する。具体的には、制御部311はS1003、S1104の処理結果からスリープモードから復帰した理由を確認する。クライアント装置101がS1004における処理でユーザーから操作要求を受け付けたと判断された場合にはS1303に進む。また、クライアント装置101がS1003における処理でユーザーから操作要求を受け付けたと判断された場合にはS1305に進む。
S1304において、制御部311はユーザーからの操作を待ち受け、ユーザーからの操作が終了したタイミングでS1305に進む。ユーザー操作を受け付けたことによってスリープモードから復帰した場合は、S1304でのユーザー操作が終了した後に、S1305で、受信した指示に基づく処理が実行されることとなる。
S1305において、メッセージ解析部323はS1302において受信した状態変更指示メッセージ410の指示部411を参照し、モジュール330の制御部331に送信する。そして、モジュール330は指示部411の内容に従ってクライアント装置101の状態および設定を変更しクライアント管理部332を更新する。
S1306において、メッセージ生成部322はS1305で変更したクライアント装置101の状態および設定値で状態部403を更新する。さらに、メッセージ生成部322は、クライアント装置101がスリープモードに移行する旨を記したクライアント状態メッセージ420を生成し、通信部321を介して状態管理サーバー102に送信する。状態管理サーバー102のクライアント管理部342は、クライアント装置状態情報テーブルで管理する状態情報のうち該当する状態情報ファイルを、受信したスリープ移行時のクライアント状態メッセージ600で更新する。
図13のフローチャートに示した一連の処理により、クライアント装置101がスリープモードからの直後に状態変更指示を処理するタイミングを、ユーザー操作の有無で制御することが可能となる。これにより、ユーザーがクライアント装置101をスリープモードから復帰させた場合に、状態変更指示が実行されてユーザーが本来行う操作が実行不可となる状況を抑制することができる。
一方で、状態変更指示の内容によっては、ユーザー操作の実行を妨げることなく並行して実行可能な場合もある。その場合にはクライアント装置101として、ユーザー操作の実行を必ずしも優先する必要はない。
図14は、クライアント装置101が図13に示した一連の処理において、状態変更指示の内容とスリープモードから復帰する理由の両方を加味して状態変更指示の反映タイミングを制御する一連の処理を示したフローチャートである。
S1401からS1403までは図13に示したS1301からS1303までの処理と同様のため説明を省略する。
S1404において、メッセージ解析部333は通信部321を介してメッセージ解析部323からS1402で取得した状態変更指示メッセージを解析する。そして、メッセージ解析部333が、状態変更指示メッセージの内容をクライアント装置101にメッセージ実行部334が実行するとクライアント装置101が一時的にユーザー操作不可能な状態になってしまうと判断した場合には、S1405に進む。そうでない場合には、S1408に進む。
図15は、S1402で取得した状態変更指示メッセージの一例を示した図である。
図15(a)で示す状態変更指示メッセージ1500はS1404においてメッセージ解析部333が、メッセージ実行部334が実行するとクライアント装置101がユーザー操作不可能な状態になると判断するメッセージの一例である。以降、状態変更指示メッセージ1500をメッセージ1500と称する。
メッセージ1500には、クライアント装置補正指示1501(以降、指示1501と称する。)が記載されている。指示1501には指示実行時の優先度情報1502とユーザー影響情報1503含まれている。
優先度情報1502は、指示1501の実行優先度を示す項目である。例えば、優先度情報1502の値が「need」の場合、その指示はユーザー操作に優先して実行されるべき指示であることを示す。
ユーザー影響情報1503は、指示1501実行時のユーザーへの影響度を示す項目である。例えば、ユーザー影響情報1503の値が「notavailable」の場合、メッセージ実行部334が指示1501を実行すると、その間クライアント装置101が操作不可になることを示す。
図15(b)で示す状態変更指示メッセージ1510はS1404においてメッセージ解析部333が、メッセージ実行部334が実行してもクライアント装置101がユーザー操作可能な状態になると判断するメッセージの一例である。以降、状態変更指示メッセージ1510をメッセージ1510と称する。
メッセージ1510には、クライアント装置時刻修正指示1511(以降、指示1511と称する。)が記載されている。指示1511には指示実行時の優先度情報1512とユーザー影響情報1513含まれている。
優先度情報1512は、指示1511の実行優先度を示す項目である。例えば、優先度情報1502の値が「normal」の場合、その指示は必ずしも優先して実行されなくてもよい指示であることを示す。
ユーザー影響情報1513は、指示1511実行時のユーザーへの影響度を示す項目である。例えば、ユーザー影響情報1513の値が「available」の場合、メッセージ実行部334が指示1511を実行すると、その間もクライアント装置101が操作可能であることを示す。
S1405において、メッセージ解析部333はさらに状態変更指示メッセージの内容を解析する。そして、メッセージ解析部333が、状態変更指示メッセージがユーザー操作よりも優先されるべきと判断した場合には、S1406に進む。具体的には、優先度方法1502の値が「need」だった場合が、これに該当する。
また、メッセージ解析部333が、状態変更指示メッセージがユーザー操作よりも優先されなかった判断した場合には、S1407に進む。具体的には、優先度方法1502の値が「normal」だった場合が、これに該当する。
S1406において、制御部331はCRT210を介してユーザーに対して指示実行確認ダイアログ1600(以降、ダイアログ1600と称する。)を表示して指示の実行を優先するか、ユーザー操作の実行を優先するかをユーザーに問い合わせる。
図16は、S1406においてCRT210に表示されるダイアログ1600の一例を示した図である。
ダイアログ1600は、指示実行確認メッセージ表示ラベル1601、指示実行ボタン1602、操作実行ボタン1603から構成される。
指示実行確認メッセージ表示ラベル1601には、ユーザーに対してクライアント装置101が実行すべき状態変更指示メッセージを受信している旨のメッセージを表示するラベルである。
指示実行ボタン1602が押下されると、クライアント装置101は、ユーザーが自身の操作よりも指示の反映を優先することを許可したと判断して、S1408に進む。
操作実行ボタン1603が押下されると、クライアント装置101は、指示の反映よりもユーザー操作が優先されたものと判断して、S1407に進み、ユーザー操作が完了するまで待機する。
S1408において、メッセージ解析部323はS1402において受信した状態変更指示メッセージ1500の指示部1501を参照し、モジュール330の制御部331に送信する。そして、モジュール330は指示部411の内容に従ってクライアント装置101の状態および設定を変更しクライアント管理部332を更新する。
S1409において、メッセージ生成部322はS408で変更したクライアント装置101の状態および設定値で状態部403を更新する。さらに、メッセージ生成部322は、クライアント装置101がスリープモードに移行する旨を記したクライアント状態メッセージ420を生成し、通信部321を介して状態管理サーバー102に送信する。状態管理サーバー102のクライアント管理部342は、クライアント装置状態情報テーブルで管理する状態情報のうち該当する状態情報ファイルを、受信したスリープ移行時クライアント状態メッセージ600で更新する。
図14から図16に示した一連の処理により、状態変更指示の内容によって、ユーザー操作と状態変更指示の実行と優先されるべき処理を適切に実行することが可能となる。
(実施例4)
実施例1から実施例3まででは、クライアント装置101がスリープモードに移行してネットワーク接続が切断される状況においても適宜スリープモードから復帰することで状態変更指示を適切に受信および反映する方法について示した。
図8に示した一連の処理によって、クライアント装置101とアプリケーションサーバー103は状態管理サーバー102を介して、相互かつリアルタイムにデータのやり取りが可能となる。そのため、クライアント装置101の使われ方が様々であってもアプリケーションサーバー103は柔軟に必要なタイミングでクライアント装置101に対して状態変更指示を送信することができる。
一方、クライアント装置101の使われ方に規則性がある場合、それに応じたアプリケーションサーバー103の状態変更指示の送信タイミングもまた規則性を帯びる場合がある。そのような場合には、クライアント装置101がスリープモードに移行した後、定期的に状態管理サーバー102に状態変更指示の有無を確認したとしても無駄な処理となる割合が多い。
本実施例においては、クライアント装置101がスリープモードに移行後、状態管理サーバー102に状態変更指示の有無を確認する間隔をアプリケーションサーバー103からの状態変更指示の受信履歴に基づき決定して、状態変更指示を受信する方法を示す。
図17は、クライアント装置101がスリープモードに移行する際のメッセージ確認タイマーを決定する際に、過去に受信した状態変更指示メッセージの履歴に基づきスリープモードから復帰すべき時刻を予測して決定する処理例を示したフローチャートである。
S1701からS1702までは図9に示したS901からS902までの処理と同様のため説明を省略する。
S1703において、制御部311は現在時刻とS1702で取得した動作種別カラムの値が「スケジュール移行」のレコードの条件カラムに格納されたスケジュール移行時刻とを比較する。現在時刻がスケジュール移行時刻よりも前だった場合には、S1704に進む。現在時刻がスケジュール移行時刻と一致、もしくは進んでいた場合にはS1706に進む。
S1704において、制御部311はS1701で取得した動作種別カラムの値が「無使用」のレコードの条件カラムに格納された時間、クライアント装置101が未使用状態にあるかどうかを確認する。クライアント装置が未使用状態にある時間が「無使用」のレコードの条件カラムに格納された時間未満である場合にはS1705に進む。クライアント装置が未使用状態にある時間が「無使用」のレコードの条件カラムに格納された時間以上継続していた場合には、S1708に進む。
S1705において、制御部311はユーザーからの操作を待ち受け、再度S1703の処理を実行する。
S1706およびS1708において、制御部311は、履歴管理部325が管理する実行履歴テーブルに登録されている状態変更指示メッセージ実行履歴レコードの内容を確認する。制御部311は、アプリケーション名カラムが同一の状態変更指示メッセージ実行履歴レコードの日時情報カラムの値を取得し、過去アプリケーション名カラムの値に対応するアプリケーションサーバー103からの状態変更指示を処理した時間帯を集計する。表3に登録されているレコードを例にすると、キャリブレーションサービスを提供するアプリケーションサーバー103からの指示の実行履歴が毎日21時台に集中している。この場合、制御部311はスリープモードから復帰してアプリケーションサーバー103からの実行指示を受信する所定時刻を毎日21時と予測する。そして、S1710において、タイマー管理部324はタイマー情報テーブルに動作種別カラムに「スリープモード」、条件カラムに「毎日、21時」の値を格納したタイマー情報レコードを登録する。制御部311が実行指示を予測するだけの情報が実行履歴テーブルに存在せず、予測できない場合にはS1707に進む。
S1707において、タイマー管理部324はスケジュールに従ってクライアント装置101がスリープモードに移行すると判断する。タイマー管理部324は、条件別メッセージ確認間隔テーブルのスリープ種別カラムの値が「スケジュール」と一致するレコードを取得する。そして、タイマー管理部324は取得したレコードの実行間隔カラムの値をタイマー情報テーブルにスリープモード時のメッセージ確認タイマー情報として登録する。
S1709において、タイマー管理部324は未使用時刻の経過に従ってクライアント装置101がスリープモードに移行すると判断する。タイマー管理部324は、条件別メッセージ確認間隔テーブルのスリープ種別カラムの値が「無使用」と一致するレコードを取得する。そして、タイマー管理部324は取得したレコードの実行間隔カラムの値をタイマー情報テーブルにスリープモード時のメッセージ確認タイマー情報として登録する。S1711からS1712までは図9に示したS907からS908の処理と同様のため説明を省略する。
図17に示した一連の処理によって、クライアント装置101がスリープモードに移行する際、過去の指示実行履歴から予測できるタイミングで状態変更指示を確認するためのタイマーを制御することができる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
101 クライアント装置
201 CPU
311 制御部
321 通信部

Claims (13)

  1. クライアント装置への指示を管理する管理サーバーからの指示を受信するために、前記管理サーバーと通信を行う通信手段と、
    前記クライアント装置の電源を、通常状態からスリープ状態に、または、スリープ状態から通常状態に移行させる移行手段と、を有し、
    前記移行手段は、一定時間、前記クライアント装置がユーザー操作を受け付けなかったことにより、前記クライアント装置の電源を通常状態からスリープ状態に移行させるクライアント装置において、
    前記通信手段は、ユーザー操作を受け付けたことにより前記クライアント装置の電源がスリープ状態から通常状態に移行した場合に、前記クライアント装置からの要求なしに前記管理サーバーからの指示を受信することが可能な第1の通信方式によって前記管理サーバーと通信を行い、
    前記移行手段は、前記クライアント装置の電源が通常状態からスリープ状態へ移行された後、ユーザー操作を受け付けることなく前記クライアント装置の電源をスリープ状態から一時的に通常状態に移行させ、
    前記通信手段は、前記クライアント装置の電源が一時的に通常状態である際に、前記管理サーバーと通信を行い、
    前記移行手段は、前記クライアント装置の電源が一時的に通常状態である際に行われた前記通信手段による通信の後、前記クライアント装置の電源を通常状態からスリープ状態に移行させることを特徴とするクライアント装置。
  2. 前記通信手段は、前記クライアント装置の電源が一時的に通常状態である際に、前記第1の通信方式とは異なる第2の通信方式によって前記管理サーバーとの通信を行い、前記管理サーバーに対して前記管理サーバーで管理される指示を要求することを特徴とする請求項1に記載のクライアント装置。
  3. 前記通信手段は、前記第1の通信方式によって通信を行う際に、前記第2の通信方式による通信とは異なり、前記クライアント装置と前記管理サーバーとの間に前記クライアント装置からの要求なしに前記管理サーバーからの指示を受信するためのセッションを確立することを特徴とする請求項2に記載のクライアント装置。
  4. 前記管理サーバーからの指示に基づく処理を実行する実行手段を更に有し、
    前記移行手段は、前記クライアント装置の電源がスリープ状態から一時的に通常状態に移行された際に行われた前記通信手段による通信によって前記管理サーバーからの指示を受信した場合、前記実行手段による前記指示に基づく処理が完了した後、前記一定時間、待機することなく、前記クライアント装置の電源を通常状態からスリープ状態に移行させることを特徴とする請求項1乃至3のいずれか1項に記載のクライアント装置。
  5. 前記管理サーバーは、前記クライアント装置の状態情報を管理しており、
    前記クライアント装置への指示を前記管理サーバーに対して登録するアプリケーションサーバーおよび前記クライアント装置はいずれも、前記管理サーバーが管理する前記クライアント装置の状態情報を変更および参照することを特徴とする請求項1乃至4のいずれか1項に記載のクライアント装置。
  6. 前記移行手段は、所定時間おきに、前記クライアント装置の電源をスリープ状態から一時的に通常状態に移行させることを特徴とする請求項1乃至5のいずれか1項に記載のクライアント装置。
  7. 前記移行手段は、
    スケジュールにより前記クライアント装置の電源が通常状態からスリープ状態に移行された場合、第1の所定時間おきに、前記クライアント装置の電源をスリープ状態から一時的に通常状態に移行させ、
    一定時間、ユーザー操作を受け付けなかったことにより前記クライアント装置の電源が通常状態からスリープ状態に移行された場合、第2の所定時間おきに、前記クライアント装置の電源をスリープ状態から一時的に通常状態に移行させ、
    前記第1の所定時間は、前記第2の所定時間よりも長いことを特徴とする請求項6に記載のクライアント装置。
  8. 前記移行手段は、スケジュールによって前記クライアント装置の電源が通常状態からスリープ状態に移行された場合、所定時刻に、前記クライアント装置の電源をスリープ状態から一時的に通常状態に移行させることを特徴とする請求項1乃至5のいずれか1項に記載のクライアント装置。
  9. 前記指示に基づく処理の実行履歴を管理する管理手段を更に有し、
    前記所定時刻は、前記管理される実行履歴に基づき決定されることを特徴とする請求項8に記載のクライアント装置。
  10. 前記実行手段は、ユーザー操作を受け付けたことにより前記クライアント装置の電源がスリープ状態から通常状態に移行された際に行われた前記通信手段による通信によって前記管理サーバーからの指示を受信した場合、前記受け付けたユーザー操作に対応する処理が完了した後に、前記受信した指示に基づく処理を実行することを特徴とする請求項4乃至9のいずれか1項に記載のクライアント装置。
  11. 前記実行手段は、ユーザー操作を受け付けたことによって前記クライアント装置の電源がスリープ状態から通常状態に移行された際に行われた前記通信手段による通信によって前記管理サーバーからの指示を受信した場合であって、
    前記受信した指示に基づく処理が前記ユーザー操作に基づく処理を妨げる処理である際に、前記ユーザー操作に基づく処理を優先して実行し、
    前記受信した指示に基づく処理が前記ユーザー操作に基づく処理を妨げる処理でない際に、前記ユーザー操作に基づく処理と前記受信した指示に基づく処理とを並行して実行することを特徴とする請求項10に記載のクライアント装置。
  12. クライアント装置への指示を管理する管理サーバーからの指示を受信するために、前記管理サーバーと通信を行う通信手段と、
    前記クライアント装置の電源を、通常状態からスリープ状態に、または、スリープ状態から通常状態に移行させる移行手段と、を有し、
    一定時間、前記クライアント装置がユーザー操作を受け付けなかったことにより、前記クライアント装置の電源が通常状態からスリープ状態に移行するクライアント装置の制御方法において、
    ユーザー操作を受け付けたことにより前記クライアント装置の電源がスリープ状態から通常状態に移行した場合に、前記クライアント装置からの要求なしに前記管理サーバーからの指示を受信することが可能な通信方式によって前記管理サーバーと通信を行い、
    前記クライアント装置の電源が通常状態からスリープ状態へ移行した後、ユーザー操作を受け付けることなく前記クライアント装置の電源をスリープ状態から一時的に通常状態に移行させ、
    前記クライアント装置の電源が一時的に通常状態である際に、前記管理サーバーと通信を行い、
    前記クライアント装置の電源が一時的に通常状態である際に行われた前記通信の後、前記クライアント装置の電源を通常状態からスリープ状態に移行させることを特徴とする制御方法。
  13. 請求項1乃至11のいずれか1項に記載の手段としてコンピューターを機能させるためのプログラム。
JP2017162176A 2017-08-25 2017-08-25 クライアント装置、制御方法、およびプログラム Active JP7080604B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017162176A JP7080604B2 (ja) 2017-08-25 2017-08-25 クライアント装置、制御方法、およびプログラム
US16/108,790 US10587768B2 (en) 2017-08-25 2018-08-22 Client apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017162176A JP7080604B2 (ja) 2017-08-25 2017-08-25 クライアント装置、制御方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2019040413A true JP2019040413A (ja) 2019-03-14
JP2019040413A5 JP2019040413A5 (ja) 2020-08-27
JP7080604B2 JP7080604B2 (ja) 2022-06-06

Family

ID=65435863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017162176A Active JP7080604B2 (ja) 2017-08-25 2017-08-25 クライアント装置、制御方法、およびプログラム

Country Status (2)

Country Link
US (1) US10587768B2 (ja)
JP (1) JP7080604B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021109355A (ja) * 2020-01-08 2021-08-02 ブラザー工業株式会社 印刷装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6958481B2 (ja) * 2018-05-25 2021-11-02 京セラドキュメントソリューションズ株式会社 遠隔管理システムおよび情報処理方法
JP7405033B2 (ja) * 2020-07-20 2023-12-26 トヨタ自動車株式会社 サーバ、更新管理方法、更新管理プログラム、ソフトウェア更新装置、サーバ及びソフトウェア更新装置を備えるシステム、センタ、otaマスタ、センタ及びotaマスタを備えるシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522062A (ja) * 2011-08-10 2014-08-28 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
JP2015171127A (ja) * 2014-03-11 2015-09-28 キヤノン株式会社 画像形成装置、画像形成装置の制御方法およびプログラム
JP2017108296A (ja) * 2015-12-10 2017-06-15 コニカミノルタ株式会社 画像処理装置、画像処理システム及びプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809804B2 (ja) * 2006-07-13 2011-11-09 株式会社リコー 画像処理装置、デバイス制御プログラム、及び、電力制御方法
US8478861B2 (en) * 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US20090172117A1 (en) * 2008-01-02 2009-07-02 International Business Machines Corporation Methods for using message queuing telemetry transport for sensor networks to support sleeping devices
JP2009294764A (ja) * 2008-06-03 2009-12-17 Canon Inc 情報処理装置及びその制御方法
JP2010244464A (ja) * 2009-04-09 2010-10-28 Canon Inc 情報処理装置、ネットワークインターフェース装置、それらの制御方法、プログラム
JP2012043071A (ja) * 2010-08-16 2012-03-01 Canon Inc 調整システム、調整装置、調整方法、及びそのプログラム
JP5636843B2 (ja) * 2010-09-24 2014-12-10 コニカミノルタ株式会社 管理システム
US20130083338A1 (en) * 2011-09-30 2013-04-04 Mark A. Fahrenkrug Printing system with deep suspend mode
JP5511776B2 (ja) * 2011-11-29 2014-06-04 シャープ株式会社 省電力モードの学習機能を備えた画像形成装置及びその制御装置
JP5995571B2 (ja) 2012-07-17 2016-09-21 キヤノン株式会社 情報処理装置及びその制御方法
JP6039339B2 (ja) * 2012-10-03 2016-12-07 キヤノン株式会社 画像形成装置、制御方法およびコンピュータプログラム
US9531899B2 (en) * 2015-05-14 2016-12-27 Kabushiki Kaisha Toshiba Image forming apparatus to reduce power consumption, control method for the same and recording medium
KR20170006947A (ko) * 2015-07-10 2017-01-18 에스프린팅솔루션 주식회사 화상형성장치의 통신 서비스를 통해 인쇄 동작을 수행하는 방법
JP7166741B2 (ja) * 2015-08-07 2022-11-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、画像形成装置、画像形成装置の制御方法、情報処理システム、及び、プログラム
JP6737085B2 (ja) * 2016-09-06 2020-08-05 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御方法、およびプログラム
EP3306424B1 (de) * 2016-10-10 2019-08-14 Sick Ag Verfahren zur maschinenübergreifenden nutzung von daten zur bestimmung des betriebszustands einer weiteren maschine
EP3331197B1 (en) * 2016-12-02 2020-08-26 Advanced Digital Broadcast S.A. A method and system for monitoring a connection status of a device
US10666825B2 (en) * 2017-02-16 2020-05-26 Kyocera Document Solutions Inc. Image forming apparatus, image forming method, and reading medium that ensure efficient use of weekly timer
JP6958072B2 (ja) * 2017-07-31 2021-11-02 セイコーエプソン株式会社 サーバーシステム、稼働情報収集システム及びサーバーシステムの作動方法
JP7035362B2 (ja) * 2017-07-31 2022-03-15 セイコーエプソン株式会社 サーバーシステム及びサーバーシステムの作動方法
US10606534B2 (en) * 2017-08-02 2020-03-31 Seiko Epson Corporation Server system, terminal device, operating information collection system, program, server system operating method, and terminal device operating method
JP6958084B2 (ja) * 2017-08-02 2021-11-02 セイコーエプソン株式会社 端末装置、稼働情報収集システム、プログラム及び端末装置の作動方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522062A (ja) * 2011-08-10 2014-08-28 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
JP2015171127A (ja) * 2014-03-11 2015-09-28 キヤノン株式会社 画像形成装置、画像形成装置の制御方法およびプログラム
JP2017108296A (ja) * 2015-12-10 2017-06-15 コニカミノルタ株式会社 画像処理装置、画像処理システム及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Windows 8.1で利用できるInstant Goの挙動を調べる", ASCII.JP X デジタル, JPN6021019814, 4 March 2014 (2014-03-04), ISSN: 0004666127 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021109355A (ja) * 2020-01-08 2021-08-02 ブラザー工業株式会社 印刷装置

Also Published As

Publication number Publication date
JP7080604B2 (ja) 2022-06-06
US20190068818A1 (en) 2019-02-28
US10587768B2 (en) 2020-03-10

Similar Documents

Publication Publication Date Title
CN102385490B (zh) 打印作业管理系统及其控制方法
US7979726B2 (en) Information processing apparatus using server copy of predetermined information when storing part is in power saving mode
US20080120512A1 (en) Remote wake-up from an energy-saving mode
JP2012059180A (ja) 画像形成装置、ファームェアのアップデート方法、及び、プログラム
JP6849385B2 (ja) 画像処理装置、情報処理方法及びプログラム
JP2012230490A (ja) 画像形成装置、及びその制御方法、並びにプログラム
JP7013165B2 (ja) 管理装置、管理装置の制御方法、及びプログラム
CN106203880B (zh) 报告创建系统和报告创建方法
JP7080604B2 (ja) クライアント装置、制御方法、およびプログラム
JP2010218135A (ja) 管理装置、管理方法、及びプログラム
US8230132B2 (en) Management device and computer readable medium
JP5112133B2 (ja) ネットワークシステム、情報処理装置、ネットワークシステムの情報処理方法、プログラム及び記録媒体
US20130135670A1 (en) Image forming system, server apparatus and image forming apparatus
JP2012124674A (ja) 画像形成装置、画像形成システム及び文書一覧情報提供方法
JP2018061142A (ja) 管理装置、制御方法、及びプログラム
JP7034757B2 (ja) システム、それを用いる方法、プログラム、およびネットワークデバイス
JP2014149781A (ja) 画像形成装置、情報管理システム、情報管理方法および情報管理プログラム
JP6195352B2 (ja) 配信制御装置、配信制御方法、プログラム、並びに、配信制御システム及びその制御方法
JP2014216817A (ja) 情報端末管理システム
JP5987488B2 (ja) 遠隔管理システムとその被管理装置および管理情報の通知方法
JP6340786B2 (ja) 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP2013161460A (ja) 管理システム、監視装置及び情報処理方法
JP7069902B2 (ja) 遠隔管理システムおよび遠隔管理方法
JP2020170287A (ja) 装置、制御方法、およびプログラム
JP2017187906A (ja) システム、システムの制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220317

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220317

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220329

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220525

R151 Written notification of patent or utility model registration

Ref document number: 7080604

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151