JP2019133438A - 情報処理装置及びその制御方法、プログラム - Google Patents
情報処理装置及びその制御方法、プログラム Download PDFInfo
- Publication number
- JP2019133438A JP2019133438A JP2018015505A JP2018015505A JP2019133438A JP 2019133438 A JP2019133438 A JP 2019133438A JP 2018015505 A JP2018015505 A JP 2018015505A JP 2018015505 A JP2018015505 A JP 2018015505A JP 2019133438 A JP2019133438 A JP 2019133438A
- Authority
- JP
- Japan
- Prior art keywords
- connection
- client
- information processing
- processing apparatus
- server
- 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.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
- Computer And Data Communications (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】ネットワークの安定性を保ちつつ、待機モードを利用したシャットダウン後の高速起動を実現する。【解決手段】サーブレットとクライアントとの間の接続の状態は接続リストにより管理される。待機モードへの移行イベントがあるとHTTPサーバーは、接続リストを先頭から読み込んで着目し、着目サーブレットの状態を取得し、動作中であればエラーレスポンスをクライアントに返す(S504)。その後接続を切断し、接続リストから切断した接続のレコードを削除し(S505)、それをすべての接続について繰り返す。【選択図】図5
Description
本発明は、シャットダウン処理などを行う情報処理装置とその制御方法およびプログラムに関する。
近年、情報処理装置には、消費電力を抑えた待機モードを備えることが一般的になっている。待機モードは、いわゆるDeepSleepとも呼ばれる状態である。DeepSleep状態の情報処理装置は、情報処理装置内のCPUクロックを停止させて、内部処理動作を止めることによって、消費電力を抑えている。情報処理装置は、CPUクロックを停止させているため、CPUを動作させることで、すぐにDeepSleepから通常状態に復帰できる。
この特徴に着目し、DeepSleepへの遷移を仮想的な電源OFFとして利用し、次回起動を高速にする高速起動モードなどが実現されている。DeepSleepに移行すると、情報処理装置の内部で動作するサーバー機能も停止されるため、ネットワーク通信も出来なくなる。ネットワーク通信の安定性を保つために、DeepSleepに移行する前に、ネットワーク通信の終了を待ち、サーバー機能を停止させるようなことが行われている(特許文献1)。
しかしながら、ネットワークの状態を考慮せず、DeepSleepを利用した高速起動モードを実現させると、ネットワーク接続先のクライアントに影響を与えてしまうという課題がある。クライアントはサーバーの動作を検知できないため、突然サーバーが動作しなくなると、クライアントはタイムアウト等によってサーバーの状態を判定するしかない。
また、DeepSleepに移行する前に、シャットダウンシーケンスに移行し、サーバー機能を停止させることも考えられるが、その場合だとDeepSleep移行までに時間が掛かってしまう。さらに、サーバー機能の再起動に時間を要するため、次回起動の高速化を実現できないという課題がある。
本発明は上記従来例に鑑みて成されたもので、ネットワークの安定性を保ちつつ、待機モードを利用したシャットダウン後の高速起動を実現することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。
本発明の一側面によれば、本発明は動作を停止した待機モードへの移行が可能な情報処理装置であって、
クライアントとサーバーとの間の接続ごとに前記サーバーの動作状態を管理する管理手段と、
前記待機モードへの移行通知に応じて、前記接続のそれぞれについて前記サーバーの動作状態を判定し、処理中であれば当該接続のクライアントに対してエラーを送信し、その後に当該接続を切断する接続管理手段と
を有することを特徴とする。
クライアントとサーバーとの間の接続ごとに前記サーバーの動作状態を管理する管理手段と、
前記待機モードへの移行通知に応じて、前記接続のそれぞれについて前記サーバーの動作状態を判定し、処理中であれば当該接続のクライアントに対してエラーを送信し、その後に当該接続を切断する接続管理手段と
を有することを特徴とする。
本発明によれば、ネットワークの安定性を保ちつつ、待機モードを利用したシャットダウン後の高速起動を実現することができる。
[第一実施形態]
本実施形態は、情報処理装置が、CPUの動作を停止した待機モードに移行する際のサーバーの処理について説明するものである。本実施形態のシステム及びハードウェア構成の一例を、図1を用いて説明する。なお待機モードではCPUの動作を停止するだけでもよいが、CPUおよびCPU周辺の回路への電源の供給を停めてもよい。
本実施形態は、情報処理装置が、CPUの動作を停止した待機モードに移行する際のサーバーの処理について説明するものである。本実施形態のシステム及びハードウェア構成の一例を、図1を用いて説明する。なお待機モードではCPUの動作を停止するだけでもよいが、CPUおよびCPU周辺の回路への電源の供給を停めてもよい。
●システム構成
本システムは、画像形成装置100と情報処理装置120がネットワーク110に接続されており、相互の通信が可能である。なお画像形成装置100は、プリンタやスキャナといったデバイスを有する情報処理装置とみなすこともできるため、以下の説明では情報処理装置と呼ぶこともある。情報処理装置100には、CPU101と、RAM102を備えており、プログラムはRAM102に展開され、CPU101によって実行されて本実施形態に係る発明が実現される。またそのプログラムやデータはROM103や外部記憶装置104に保存されている。或いはプログラムはROM3に、該プログラムが使用するデータは外部記憶装置104に保存されていてもよい。
本システムは、画像形成装置100と情報処理装置120がネットワーク110に接続されており、相互の通信が可能である。なお画像形成装置100は、プリンタやスキャナといったデバイスを有する情報処理装置とみなすこともできるため、以下の説明では情報処理装置と呼ぶこともある。情報処理装置100には、CPU101と、RAM102を備えており、プログラムはRAM102に展開され、CPU101によって実行されて本実施形態に係る発明が実現される。またそのプログラムやデータはROM103や外部記憶装置104に保存されている。或いはプログラムはROM3に、該プログラムが使用するデータは外部記憶装置104に保存されていてもよい。
また、情報処理装置100には、ユーザーインターフェースとして、操作を受け付けるUIパネル105や、ネットワーク制御部106から構成されている。各モジュールは、バス107によって相互に接続されており、データのやり取りを行うことが可能である。また、情報処理装置100にはユーザーが操作可能な電源スイッチ108を備えている。情報処理装置100はネットワーク制御部106によって、ネットワーク110に接続されており、情報処理装置100がサーバーとして動作する場合のクライアントとして情報処理装置120がある。さらに情報処理装置100は前述したように画像形成装置であり、プリンタデバイスやスキャナデバイスを備えた多機能周辺機器(MFP)であってもよい。
●ソフトウェアの構成
図2は本実施例の情報処理装置100のソフトウェアの構成の一例を示す図である。情報処理装置のハードウェアを制御するBIOS202上に、OS203が実装されている。OS203上では、情報処理装置100の電源を管理する電源管理モジュール208や、情報処理装置100における内部のイベントを制御するイベント管理モジュール209等が動作している。他にも、OS203上では、HTTPサーバー204が動作し、情報処理装置に搭載されているServlet(サーブレット)プログラムの管理を行っている。
図2は本実施例の情報処理装置100のソフトウェアの構成の一例を示す図である。情報処理装置のハードウェアを制御するBIOS202上に、OS203が実装されている。OS203上では、情報処理装置100の電源を管理する電源管理モジュール208や、情報処理装置100における内部のイベントを制御するイベント管理モジュール209等が動作している。他にも、OS203上では、HTTPサーバー204が動作し、情報処理装置に搭載されているServlet(サーブレット)プログラムの管理を行っている。
HTTPサーバー204は、OS203が提供するネットワークAPIを使用し、情報処理装置100のネットワーク制御部107を通じて外部と通信を行っている。
Servlet211、Servlet212は、HTTPサーバー204を拡張するプログラムであり、HTTPサーバー204の呼び出しにより動作する。HTTPサーバー204上では、0個以上のServletが動作していることとなる。サーブレットはHTTPサーバーの機能を拡張することで、たとえばクライアントの要求に応じた付加的なサービスを提供するプログラムであり、HTTPサーバー204と併せてサーバーと呼んでもよい。
HTTPサーバー204は、リクエスト受信部205によって外部からのHTTPリクエストを受信すると、Servlet管理部206により、受信したリクエストの内容を解析する。そして、リクエストの解析結果に応じて適切なServletを選択し、選択したServletを呼び出す。呼び出されたServlet211、212は、Servlet管理部206よりHTTPリクエストのデータを受け取ると、HTTPレスポンスデータを生成し、Servlet管理部206に返す。Servlet管理部206はServletからのHTTPレスポンスを、レスポンス送信部207を通して、リクエスト元へ返送する。HTTPサーバー204は、接続しているServletとクライアントの情報を接続リストに記憶しており、リクエストの受信やレスポンスの返送の状態を記憶する。接続リストにより、たとえばひとつのクライアントとひとつのサーブレットとの間で交換される1以上のHTTPリクエストとそれに対するHTTPレスポンスの組をひとまとまりのセッションとして管理できる。HTTPサーバー204は、たとえば、クライアントから新規の接続を介してHTTPリクエストがあると、接続リスト300にそのHTTPリクエストのための接続を登録し、その接続を解放してよいことを示すHTTPリクエストがあると接続を解放して該当する項目を接続リストから消去する。接続リスト300は、たとえばHTTPサーバー204により保持管理され、特にサーブレット管理部206により管理される。
●接続リスト
接続リストの一例を図3に示す。接続リスト300には、接続しているクライアントや該クライアントと接続しているServlet等の情報を保持する。カラム301は、クライアントと接続しているServletの名称を示し、カラム302は接続しているクライアントの情報として、クライアントのIPアドレスやマシン名などが保持されている。カラム303は、クライアントとサーブレットログとして、最終的なやり取りの時間が保持されている。カラム304は、各接続の状態を記載しており、例えば「Wait Request」のようなステータス311は、「AppABC」Servletが、クライアントからのリクエスト待ちであることを示している。ステータス312の「In Progress」は「AppOPQ」Servletが何かしらの処理を行い、レスポンスを準備していることを示す。これらのステータスはServlet管理部206によって管理され、Servletを呼び出した際に更新される。すなわちステータス311はサーブレットの動作状態を示しているということもできる。また接続リスト300は、サーブレットとクライアントとの接続を用いたHTTPの要求/応答の状態を管理するためのテーブルなので、管理テーブルと呼ぶこともある。なお図3ではサーブレットもクライアントも重複していないが、重複していることもあり得る。たとえば一つのサーブレットが、2つの相異なるクライアントと接続している接続状態が接続テーブル300に登録されていることもあってよい。
接続リストの一例を図3に示す。接続リスト300には、接続しているクライアントや該クライアントと接続しているServlet等の情報を保持する。カラム301は、クライアントと接続しているServletの名称を示し、カラム302は接続しているクライアントの情報として、クライアントのIPアドレスやマシン名などが保持されている。カラム303は、クライアントとサーブレットログとして、最終的なやり取りの時間が保持されている。カラム304は、各接続の状態を記載しており、例えば「Wait Request」のようなステータス311は、「AppABC」Servletが、クライアントからのリクエスト待ちであることを示している。ステータス312の「In Progress」は「AppOPQ」Servletが何かしらの処理を行い、レスポンスを準備していることを示す。これらのステータスはServlet管理部206によって管理され、Servletを呼び出した際に更新される。すなわちステータス311はサーブレットの動作状態を示しているということもできる。また接続リスト300は、サーブレットとクライアントとの接続を用いたHTTPの要求/応答の状態を管理するためのテーブルなので、管理テーブルと呼ぶこともある。なお図3ではサーブレットもクライアントも重複していないが、重複していることもあり得る。たとえば一つのサーブレットが、2つの相異なるクライアントと接続している接続状態が接続テーブル300に登録されていることもあってよい。
このように、接続リスト300は、HTTPサーバー204とクライアント120との間の接続を示し、そしてその接続が確立されてから解消されるまでの間に行われるHTTPのセッションの状態を示しているということもできる。
●情報処理装置100の動作
情報処理装置100が電源スイッチ108の変更を機に待機モードに入る際の内部モジュールの動作について図4を用いて説明する。
情報処理装置100が電源スイッチ108の変更を機に待機モードに入る際の内部モジュールの動作について図4を用いて説明する。
ユーザーにより電源スイッチ108がオフ状態にされる(401)と、電源スイッチ108の状態の変更は電源管理モジュール208によって検知される。そして、電源管理モジュール208は、他モジュールへの問い合わせを行い待機モードへの移行の可否を判定する(不図示)。そして、移行可能と判定した場合、イベント管理モジュール209に対して、待機モードへ移行する通知を行う(402)。電源管理モジュール208から待機モードへの移行通知を受けたイベント管理モジュール209は、リスナー登録されている各モジュールに対し、待機モード移行のイベントを発行する(403)。図4の例では、イベント管理モジュール209は待機モード移行のイベントをHTTPサーバー204、サーブレット211,212に対して発行している。ここで、電源管理モジュール208は、イベント管理モジュール209へ待機モードへの移行を通知すると、待機モードへの移行処理を開始する。
一方、待機モード移行のイベントを受信したHTTPサーバー204は、イベントを受信してから待機モードへの移行処理を行うことになる。このため、情報処理装置内もモジュール間では、処理の開始にタイムラグが生じることとなる。そして、実際に情報処理装置100が待機モードに移行すると(404)、内部では電力消費を抑えるため、CPUが停止した状態となる。待機モードに移行すると、CPUが停止しているため、HTTPサーバー204が管理するServletの動作も停止する。仮にHTTPサーバー204が、待機モードへの移行イベントを受信しても何の処理も行わなければ、停止したServletにリクエストを投げてレスポンスを待機していたクライアントはレスポンスを受信できなくなる。そこで本実施形態では、クライアントに対してサーブレットが停止することを通知した上でHTTPサーバー204とクライアントとの間の接続を解除する。この待機モードへの移行手順については後で図5等を参照して説明する。
情報処理装置100が待機モードから復帰する場合の一例として、図4ではユーザーからの電源スイッチ108がオン状態にされる(411)ことを例にする。電源スイッチ108等の状態の変更は、電源管理モジュール208によって検知される。電源スイッチ108がオンにされたことが検知されると、それに応じて停止していたCPUの動作が再開され、待機モードからの復帰が始まる(412)。電源管理モジュール208は待機モードからの復帰処理を開始し、イベント管理モジュール209に対して待機モードからの復帰を通知する(413)。電源管理モジュール208の復帰処理の開始によりCPUが動作することで、HTTPサーバー204の動作が開始され、Servletも動作可能になる。
イベント管理モジュール209は、電源管理モジュール208から待機モードからの復帰の通知を受けると、リスナー登録されている各モジュールに対して、待機モードからの復帰イベントを通知する(414)。HTTPサーバーのような復帰イベントを受信するモジュールは、復帰イベントを受信してから待機モードからの復帰処理を開始する。
●接続リストの追加・更新処理
図6に、HTTPサーバー204がクライアントからHTTPリクエスト受けた際の、接続リスト300に対する処理を示す。HTTPサーバー204は、HTTPリクエストに応じて指定されたコンテンツを生成したり、あるいはレスポンスを送信するといった実質的な処理を行うが、本実施形態ではその実質的な処理の部分はどのようなものでもよいことから、それについては省略している。なお図6においては、接続たとえばTCPコネクションは既に確立済みであることを前提として記載している。
図6に、HTTPサーバー204がクライアントからHTTPリクエスト受けた際の、接続リスト300に対する処理を示す。HTTPサーバー204は、HTTPリクエストに応じて指定されたコンテンツを生成したり、あるいはレスポンスを送信するといった実質的な処理を行うが、本実施形態ではその実質的な処理の部分はどのようなものでもよいことから、それについては省略している。なお図6においては、接続たとえばTCPコネクションは既に確立済みであることを前提として記載している。
HTTPサーバー204は、HTTPリクエストを受信すると(S601)、そのリクエストが新規の接続上でのリクエストか、既存の接続上のリクエストかを判定する(S602)。新規の接続上でのリクエストとは、たとえばHTTPのセッションの最初のHTTPリクエストなどでよい。ステップS602では、たとえば接続リスト300を参照し、既に登録された接続であれば既存、登録されていなければ新規と判定することで実現できる。新規の接続上でのリクエストである場合は、HTTPサーバー204は、その接続に対応するServletの情報とクライアントの情報とを取得し(S603)、接続リスト300の末尾に新たな接続に関する情報を追加する(S604)。追加された時にはHTTPリクエストを受信しているので、状態304は処理中(In Progress)とする。
一方、既存の接続上のリクエストであった場合は、リクエスト先のServletを特定し(S605)、特定したServletのAPIを呼び出す。そして、その接続に該当する接続リスト300の履歴303とステータス304を更新する(S606)。図3の接続先リストを例にすると、「AppOPQ」Servletにリクエストが来たことにより、そのステータス304が「Wait Response」から「In Progress」に更新されることになる。逆に、HTTPサーバー204がレスポンスをクライアントに送信すると、そのステータス304が「In Progress」から「Wait Response」に更新される。このようにして接続リスト300に新たな接続が追加され、またその状態が更新される。
●HTTPサーバーの待機モードへの移行処理
次に、前述した図4のステップ404における待機モードへの移行処理について説明する。本実施形態の一例について、図5のフローチャートを用いて説明する。本フローチャートは、HTTPサーバー204により実行され、HTTPサーバー204が待機モード移行のイベントを受信するところから始まる。図5の手順は、待機モードへの移行時の接続管理を提供する。
次に、前述した図4のステップ404における待機モードへの移行処理について説明する。本実施形態の一例について、図5のフローチャートを用いて説明する。本フローチャートは、HTTPサーバー204により実行され、HTTPサーバー204が待機モード移行のイベントを受信するところから始まる。図5の手順は、待機モードへの移行時の接続管理を提供する。
HTTPサーバー204は、イベント管理モジュール209から待機モード移行のイベントを受信すると、Servlet管理部206にて保持されている接続リスト300を読み込む(S501)。そして、接続リスト300の先頭から順に接続に着目し、接続しているServletの状態(あるいは接続状態ともいえる)取得し(S502)、該Servletが動作中であるか否かを判定する(S503)。この判定は、Servlet管理部206からServletのインターフェースに対して呼び出しを行う状態を基とする。Servlet管理部206がServletのAPIをコールし、Servletからのレスポンスを待っている状態であれば、Servletが動作している状況であると判別する。Servlet管理部206がServletのAPI呼び出しを行っていない状況であれば、Servletは動作していない状況であると判別する。具体的には、たとえば、HTTPサーバー204が接続リスト300中の着目接続のサーブレットのステータス304を参照し、処理中(In Progress312)であれば、当該サーブレットは動作中と判定し、待機中(Wait Request311)であれば、当該サーブレットは動作していないと判定してもよい。
Servletが動作している状況であると判別するとステップS504へ進み、Servletが動作していない状況であると判別した場合はステップS505へ進む。ステップS504では、Servletが動作している判別した状況では、レスポンス送信部207がエラーレスポンス生成し、接続リスト300に記載のクライアントに対して、エラーレスポンスを送信する。たとえば、本フローチャートの状況下では、情報処理装置100が待機モードに移行するため、HTTPサーバーとして503(Service Unavailable)エラーレスポンスを返すことが考えられる。HTTPエラーについては、503エラーに限定するものではなく、それ以外のエラーであっても構わない。
HTTPサーバー204は、エラーレスポンスを送信すると、ステップS505へ進む。そして、接続リスト300の記載にクライアントとの接続(すなわち着目している接続)に対して、切断処理を行い(S505)、接続リストから該接続に関係する情報を削除する(S506)。そして、接続リスト300にまだ接続(すなわちServletないしクライアント)が残っているか判定し(S507)、残っている場合は、ステップS502に戻り接続リストの先頭に着目して処理を継続する。接続リスト300に接続(あるいはServlet)が残っていなければ、本フローチャートを終了する。
このように、待機モードに入る前に、サーブレットに接続しているクライアントへエラーレスポンスsを送信することで、クライアントはエラーレスポンスを受信することができるので、タイムアウトを待たず、情報処理装置の状態を知ることが出来る。それにより、接続するクライアントや送受信中のデータに与える影響を少なくすることが可能となる。
[第二実施形態]
第二の実施形態について、図8を用いて説明する。本フローチャートは、第一実施形態の図6の手順に代えてHTTPサーバー204およびOS203、そのうち特にTCP/IPスタックのTCPレイヤにより実行される。図8の手順は、OS203からの通信の通知、すなわちクライアントからのアクセスを検知することで開始される。クライアントからのアクセスには、TCPコネクション(すなわち接続)の確立の要求やHTTPリクエストが含まれる。
第二の実施形態について、図8を用いて説明する。本フローチャートは、第一実施形態の図6の手順に代えてHTTPサーバー204およびOS203、そのうち特にTCP/IPスタックのTCPレイヤにより実行される。図8の手順は、OS203からの通信の通知、すなわちクライアントからのアクセスを検知することで開始される。クライアントからのアクセスには、TCPコネクション(すなわち接続)の確立の要求やHTTPリクエストが含まれる。
HTTPサーバー204は、OS203からネットワーク通信の通知を受信すると(S801)、該ネットワーク通信が新規の接続要求か、既存の接続からのリクエストか否かを判定する(S802)。ステップS602は、たとえば接続リストを参照し、既に登録された接続であれば既存、登録されていなければ新規と判定することで実現できる。新規の接続要求である場合は、HTTPサーバー204は、該接続に対応するServletの情報と、該接続のクライアントの情報を取得し(S803)、接続を確立させる(S804)。既存の接続からのリクエストであった場合は、リクエスト先のServletを特定し(S809)、該特定したServletのAPIを呼び出す。そして、該接続に該当する接続先リストの履歴303とステータス304を更新する(S810)。図7(a)の接続先リストを例にすると、「AppGHI」Servletにリクエストが来たことにより、ステータス702が「In Progress」に更新されることになる。
新規の接続要求として確立させた接続に対し、HTTPサーバー204は、情報処理装置100の状態を判定するために、イベント管理モジュール209から待機モード移行のイベントを受けているか否かを判定する(S805)。ここでイベントを受信していなければ、情報処理装置は通常の状態であると判定し、新規の接続要求を接続リスト300に追加する(S811)。
待機モード移行イベントを受信している場合、図4の待機モード移行イベントを受信し(403)、実際の待機モードへ移行(404)するまでに間に来た接続要求であると判定できる。情報処理装置100はこの後待機モードに移行することになり、待機モードに移行すると、接続しているクライアントとリクエスト/レスポンスのやり取りが行えず、クライアントに影響を与えてしまうことになる。新規の接続は関しては、接続が確立したのちに、接続しているクライアントから、高い確率でリクエストが来ることが想定される。それゆえ、該新規の接続に関しては、図7(a)のレコード701のように、接続先リスト300の先頭に新たな接続に対応するレコードを挿入し(S806)、接続先クライアントに直ぐにエラーレスポンスを返す(S807)、処理を行う。そして、該接続の切断処理を行い(S808)、本フローチャートを終了する。S806で挿入したレコードは図5の手順により削除される。
これにより、クライアントからのリクエスト要求が、高い確率でくると考えられる接続に対して、すぐにエラーレスポンスを返すことが可能となる。クライアントにタイムアウト処理を行わせることなく、ネットワークの切断処理を進めることが可能となる。
[第二実施形態の変形例]
本実施形態の考え方は、既存の接続先リストに対しても同様に考えることもできる。例えば、既存の接続の切断には、幾分かの時間が掛かるため、接続先リストに記載の接続が膨大である場合には、情報処理装置100が実際に待機モードに入るまでに全ての接続が切断できるとは限らなくなる。
本実施形態の考え方は、既存の接続先リストに対しても同様に考えることもできる。例えば、既存の接続の切断には、幾分かの時間が掛かるため、接続先リストに記載の接続が膨大である場合には、情報処理装置100が実際に待機モードに入るまでに全ての接続が切断できるとは限らなくなる。
そういった場合に、既存の接続先の中から、優先度をつけて、切断する順番を変更することにより、クライアントへの影響を少なくすることが考えられる。例えば、待機モードに入ることでCPU停止するため、Servletが処理中の接続、つまりクライアントがレスポンス待ちの状態であるような場合は、待機モードへの移行がクライアントへ大きな影響を与えると考えられる。さらに、「Wait Request」のステータスである接続の中で、前回の通信からの時間が経過している接続は、使用されない接続が維持されているKeepAliveの状態であると想定できる。このような接続ではクライアントからリクエストが来る頻度は低いことから、CPU停止によって切断されるようなことがあっても、クライアントへの影響度は少ない想定できる。この想定のもとで、優先度を考慮し、接続先リストの順序を変更した例を図7(b)に示す。図7(b)では、状態304をキーとし、処理中(In Progress)を接続リスト300の先に処理される側(例えば上)に再配置(あるいはソート)している。このように、接続先リストの順序を変えて、切断する順番を変更することで、接続するクライアントへの影響を少なくすることが可能となる。
[第三実施形態]
図9に第三実施形態のTCPレイヤの処理の一例を示す。本実施形態は、第一実施形態に図9の手順が付加される形で実施される。OS203のTCPレイヤでは、TCP接続の要求があると(たとえばACKパケットを受信すると)、図9の手順を実行する。まず要求された接続に関する情報を取得し(S901)、接続を確立する(S902)。そしてHTTPサーバ204が待機モード移行イベントを受信したか判定する(S903)。受信していればエラーを応答して(S904)、接続を切断する(S905)。この場合には、接続リスト300に新たなレコードが追加されることはない。HTTPサーバー204は第一実施形態と同様に動作する。これにより接続が確立された状態であり、なおかつその接続でHTTPリクエストが送られていない場合には、HTTPレベルでその接続を切断することで、クライアントへの影響を押さえることができる。なお、TCPコネクションの設定時に、たとえば最初のクライアントからSYNCパケットをサーバーが受信した時点において待機モード移行イベントが受信しているか判定し、受信していればSYNC/ACKパケットに代えて例えばNACKパケットをクライアントに応答してもよい。このようにすることで、待機モードへの移行直前のコネクションの確立を防ぐことができる。待機モード移行イベントはHTTPサーバー204に対して送信されるので、待機モード移行イベントを受信したか否かはHTTPサーバ204に問い合わせることになる。
図9に第三実施形態のTCPレイヤの処理の一例を示す。本実施形態は、第一実施形態に図9の手順が付加される形で実施される。OS203のTCPレイヤでは、TCP接続の要求があると(たとえばACKパケットを受信すると)、図9の手順を実行する。まず要求された接続に関する情報を取得し(S901)、接続を確立する(S902)。そしてHTTPサーバ204が待機モード移行イベントを受信したか判定する(S903)。受信していればエラーを応答して(S904)、接続を切断する(S905)。この場合には、接続リスト300に新たなレコードが追加されることはない。HTTPサーバー204は第一実施形態と同様に動作する。これにより接続が確立された状態であり、なおかつその接続でHTTPリクエストが送られていない場合には、HTTPレベルでその接続を切断することで、クライアントへの影響を押さえることができる。なお、TCPコネクションの設定時に、たとえば最初のクライアントからSYNCパケットをサーバーが受信した時点において待機モード移行イベントが受信しているか判定し、受信していればSYNC/ACKパケットに代えて例えばNACKパケットをクライアントに応答してもよい。このようにすることで、待機モードへの移行直前のコネクションの確立を防ぐことができる。待機モード移行イベントはHTTPサーバー204に対して送信されるので、待機モード移行イベントを受信したか否かはHTTPサーバ204に問い合わせることになる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 情報処理装置、204 HTTPサーバー、206 Servlet管理部、208 電源管理モジュール、209 イベント管理モジュール、300 接続先リスト
Claims (11)
- 動作を停止した待機モードへの移行が可能な情報処理装置であって、
クライアントとサーバーとの間の接続ごとに前記サーバーの動作状態を管理する管理手段と、
前記待機モードへの移行通知に応じて、前記接続のそれぞれについて前記サーバーの動作状態を判定し、処理中であれば当該接続のクライアントに対してエラーを送信し、その後に当該接続を切断する接続管理手段と
を有することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記接続管理手段は、
新たな接続が確立された場合に確立した接続の情報を接続リストに追加し、
前記クライアントからの要求に応じて処理を行っている場合には前記サーバーの動作状態を処理中に設定し、
前記クライアントからの要求に応じて応答を送信した場合には前記サーバーの動作状態を待機中に設定し、
前記接続を切断した場合には当該接続の情報を前記接続リストから削除する
ことを特徴とする情報処理装置。 - 請求項1または2に記載の情報処理装置であって、
前記クライアントからのアクセスが新規の接続要求である場合に、前記接続要求に対して新規の接続を確立する手段と、
前記待機モードへの移行通知がある場合には、前記新規の接続の情報を前記接続リストの先頭に追加し、前記新規の接続を用いてエラーレスポンスを送信し、その後で前記新規の接続を切断する手段とを更に有し、
前記接続管理手段は、前記接続リストの先頭から前記サーバーの動作状態を判定することを特徴とする情報処理装置。 - 請求項1または2に記載の情報処理装置であって、
前記クライアントからのアクセスが新規の接続要求である場合に、前記接続要求に対して新規の接続を確立する手段と、
前記待機モードへの移行通知がある場合には、前記新規の接続を用いてエラーレスポンスを送信し、その後で前記新規の接続を切断する手段と
を更に有することを特徴とする情報処理装置。 - 請求項1乃至4のいずれか一項に記載の情報処理装置であって、
前記サーバーは、HTTPサーバーのサーブレットを含み、
前記接続は前記サーブレットと前記クライアントとの間の接続であることを特徴とする情報処理装置。 - 請求項1乃至5のいずれか一項に記載の情報処理装置であって、
プリンタとスキャナとを更に有することを特徴とする情報処理装置。 - 動作を停止した待機モードへの移行が可能な情報処理装置の制御方法であって、
クライアントとサーバーとの間の接続ごとに前記サーバーの動作状態を管理する管理手段を有し、
前記待機モードへの移行通知に応じて、前記接続のそれぞれについて前記サーバーの動作状態を判定し、処理中であれば当該接続のクライアントに対してエラーを送信し、その後に当該接続を切断する
ことを特徴とする情報処理装置の制御方法。 - 請求項7に記載の情報処理装置の制御方法であって、さらに、
新たな接続が確立された場合に確立した接続の情報を接続リストに追加し、
前記クライアントからの要求に応じて処理を行っている場合には前記サーバーの動作状態を処理中に設定し、
前記クライアントからの要求に応じて応答を送信した場合には前記サーバーの動作状態を待機中に設定し、
前記接続を切断した場合には当該接続の情報を前記接続リストから削除する
ことを特徴とする情報処理装置の制御方法。 - 請求項7または8に記載の情報処理装置の制御方法であって、さらに、
前記クライアントからのアクセスが新規の接続要求である場合に、前記接続要求に対して新規の接続を確立し、
前記待機モードへの移行通知がある場合には、前記新規の接続の情報を前記接続リストの先頭に追加し、前記新規の接続を用いてエラーレスポンスを送信し、その後で前記新規の接続を切断し、
前記サーバーの動作状態の判定では、前記接続リストの先頭から前記サーバーの動作状態を判定することを特徴とする情報処理装置の制御方法。 - 請求項7または8に記載の情報処理装置の制御方法であって、さらに、
前記クライアントからのアクセスが新規の接続要求である場合に、前記接続要求に対して新規の接続を確立し、
前記待機モードへの移行通知がある場合には、前記新規の接続を用いてエラーレスポンスを送信し、その後で前記新規の接続を切断する
ことを特徴とする情報処理装置の制御方法。 - 動作を停止した待機モードへの移行が可能なコンピュータを、
クライアントとサーバーとの間の接続ごとに前記サーバーの動作状態を管理する管理手段と、
前記待機モードへの移行通知に応じて、前記接続のそれぞれについて前記サーバーの動作状態を判定し、処理中であれば当該接続のクライアントに対してエラーを送信し、その後に当該接続を切断する接続管理手段と
して機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018015505A JP2019133438A (ja) | 2018-01-31 | 2018-01-31 | 情報処理装置及びその制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018015505A JP2019133438A (ja) | 2018-01-31 | 2018-01-31 | 情報処理装置及びその制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019133438A true JP2019133438A (ja) | 2019-08-08 |
Family
ID=67544982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018015505A Pending JP2019133438A (ja) | 2018-01-31 | 2018-01-31 | 情報処理装置及びその制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019133438A (ja) |
-
2018
- 2018-01-31 JP JP2018015505A patent/JP2019133438A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5377091B2 (ja) | 情報処理装置及びその制御方法 | |
US9497298B2 (en) | Information processing apparatus, network interface device, control method therefor, and storage medium | |
JP2011232893A (ja) | 印刷データ作成サーバ及び印刷装置及び印刷システム | |
JP2011154446A (ja) | ネットワークシステムの節電制御 | |
JP2013054421A (ja) | 処理制御サーバー,処理制御方法および処理端末 | |
US9569145B2 (en) | Gateway apparatus | |
US10326906B2 (en) | Management apparatus and control method | |
JP2005346573A (ja) | Webサービス提供方法、Webサービスシステムにおけるサーバ装置およびクライアント端末、Webサービスシステム、ならびに、Webサービスプログラムおよび記録媒体 | |
JP2007143147A (ja) | ドキュメント処理サービスのスタートアップ・システム、方法およびプログラム | |
JP5874399B2 (ja) | 処理装置 | |
KR102138041B1 (ko) | 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램 | |
JP2020013195A (ja) | プリントサーバー、制御方法、およびそのプログラム | |
JP6256506B2 (ja) | 情報処理装置、情報処理システム、サーバー及びプログラム | |
US10558404B2 (en) | Printing apparatus, control method, and storage medium | |
JP2019133438A (ja) | 情報処理装置及びその制御方法、プログラム | |
JP2017134702A (ja) | サーバシステム、サーバシステムの制御方法、およびプログラム | |
JP2016020034A (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
US20130215442A1 (en) | Communication device allowing proxy reception of data directed thereto, and control method and storage medium therefor | |
JP2016152461A (ja) | クラウドシステム、ルータ、管理用サーバおよびプログラム | |
US9392030B2 (en) | Communication apparatus, communication apparatus control method, and storage medium for data communication using a call control server | |
JP5674583B2 (ja) | 通信装置 | |
JP2004265388A (ja) | 通信装置とその遠隔管理システムおよび異常発生時の制御方法並びにプログラム | |
JP2015114878A (ja) | 通信装置、通信制御方法、プログラム及び記憶媒体 | |
JP2009134584A (ja) | 情報処理装置管理システム及び情報処理装置管理方法ならびに、プログラムおよび記憶媒体 | |
JP2024036076A (ja) | 情報処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |