(57)【要約】【課題】  ユーザはシャットダウンを指示して認証セッションがリセットされたと思っていたにも関わらず、高速スタートアップ後に再ログイン処理をせずとも通信サービスにログインさせている機器に対し、セキュリティの観点で不信感を抱く虞がある。【解決手段】  機器が高速シャットダウンから復帰した際、高速シャットダウンに入る前に発行した認証識別情報を無効化する仕組みを提供する。【選択図】  図５
2017169137.tif 000002
【特許請求の範囲】
【請求項１】
受信した認証情報を基に認証処理を行い前記認証情報が有効であることに応じて認証識別情報を発行するログインサービスと、外部装置から初回リクエストを受信した際には通信識別情報を発行しレスポンスとともに前記外部装置へ送信し、前記通信識別情報を含むリクエストを受信した際は前記リクエストに含まれる前記認証識別情報を確認しレスポンスを前記外部装置へ送信する通信サービスとの少なくとも２つのサービスを有する情報処理装置であって、
シャットダウンの指示を受け付けたことに応じて、前記情報処理装置のメモリに記憶された情報を削除することなく前記情報処理装置のハードウェアリソースへの電源供給を停止する省電力状態へ遷移する遷移手段と、
前記遷移手段により省電力状態へと遷移する場合、発行済みの前記通信識別情報を無効化予定の通信識別情報として前記メモリに記憶させる記憶手段と、を有し、
前記省電力状態から復帰した後、前記通信サービスは、前記外部装置から受信したリクエストに含まれる通信識別情報が前記記憶手段により記憶された無効化予定の通信識別情報と一致した場合、前記外部装置から受信したリクエストに含まれる認証識別情報を無効化する要求を前記ログインサービスへ送信するとともに、前記認証情報を要求するレスポンスを前記外部装置へ送信することを特徴とする情報処理装置。
【請求項２】
前記通信サービスは、前記リクエストに含まれる前記認証識別情報が前記記憶手段により記憶された無効化予定の通信識別情報と一致しない場合、前記リクエストに含まれる前記認証識別情報を確認し前記リクエストに対応する処理結果のレスポンスを前記外部装置へ送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記通信サービスは、前記外部装置から受信したリクエストに含まれる通信識別情報が前記記憶手段により記憶された無効化予定の通信識別情報と一致した場合であっても、前記外部装置から受信したリクエストに含まれる認証識別情報の有効期限が満了している、もしくは前記外部装置から受信したリクエストに認証識別情報が含まれない際は、前記外部装置から受信したリクエストに含まれる認証識別情報を無効化する要求を前記ログインサービスへ送信しないことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記認証情報を要求するレスポンスとは認証情報を入力するためのログインページの画面情報であって、前記通信サービスは前記ログインページを介して入力された認証情報をログインリクエストとともに前記外部装置から受信し、受信した前記認証情報を前記ログインサービスへ送信し、前記ログインサービスから受信した認証識別情報を前記ログインリクエストに対するレスポンスとして送信することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記外部装置からのリクエストを前記通信サービスから受信し、受信されたリクエストに対応する処理を実行するアプリケーションサービスを有し、
前記記憶手段は、前記アプリケーションサービスから前記通信サービスに対して送信される発行済みの前記通信識別情報の無効化の要求が受信されたことに応じて、前記アプリケーションサービスから指定された前記通信識別情報を前記メモリから削除するとともに、指定された前記通信識別情報を無効化された通信識別情報として記憶し、前記遷移手段により省電力状態へと遷移する場合、無効化された通信識別情報を発行済み前記通信識別情報とともに無効化予定の通信識別情報として前記メモリに記憶させることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記通信サービスはＨＴＴＰサーバであって、前記認証識別情報としてＨＴＴＰセッションを発行することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記遷移手段は、前記情報処理装置に備えられた電源スイッチが押されたことでシャットダウンの指示を受け付けることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記ハードウェアリソースとは、記録紙に画像を印刷するプリントエンジンであって、
前記省電力状態へと遷移したことに応じて、前記プリントエンジンへの電源供給を停止することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記無効化とは、前記メモリに保存された情報を削除することを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
受信した認証情報を基に認証処理を行い前記認証情報が有効であることに応じて認証識別情報を発行するログインサービスと、外部装置から初回リクエストを受信した際には通信識別情報を発行しレスポンスとともに前記外部装置へ送信し、前記通信識別情報を含むリクエストを受信した際は前記リクエストに含まれる前記認証識別情報を確認しレスポンスを前記外部装置へ送信する通信サービスとの少なくとも２つのサービスを有する情報処理装置を制御する方法であって、
遷移手段は、シャットダウンの指示を受け付けたことに応じて、前記情報処理装置のメモリに記憶された情報を削除することなく前記情報処理装置のハードウェアリソースへの電源供給を停止する省電力状態へ遷移し、
記憶手段は、前記遷移手段により省電力状態へと遷移する場合、発行済みの前記通信識別情報を無効化予定の通信識別情報として前記メモリに記憶させ、
前記省電力状態から復帰した後、前記通信サービスは、前記外部装置から受信したリクエストに含まれる通信識別情報が前記記憶手段により記憶された無効化予定の通信識別情報と一致した場合、前記外部装置から受信したリクエストに含まれる認証識別情報を無効化する要求を前記ログインサービスへ送信するとともに、前記認証情報を要求するレスポンスを前記外部装置へ送信することを特徴とする方法。
【請求項１１】
受信した認証情報を基に認証処理を行い前記認証情報が有効であることに応じて認証識別情報を発行するログインサービスと、外部装置から初回リクエストを受信した際には通信識別情報を発行しレスポンスとともに前記外部装置へ送信し、前記通信識別情報を含むリクエストを受信した際は前記リクエストに含まれる前記認証識別情報を確認しレスポンスを前記外部装置へ送信する通信サービスとの少なくとも２つのサービスを有する情報処理装置で実行されるプログラムであって、
シャットダウンの指示を受け付けたことに応じて、前記情報処理装置のメモリに記憶された情報を削除することなく前記情報処理装置のハードウェアリソースへの電源供給を停止する省電力状態へ遷移する遷移ステップと、
前記遷移ステップにおいて省電力状態へと遷移する場合、発行済みの前記通信識別情報を無効化予定の通信識別情報として前記メモリに記憶させる記憶ステップと、を含み、
前記省電力状態から復帰した後、前記通信サービスが、前記外部装置から受信したリクエストに含まれる通信識別情報が前記記憶ステップにより記憶された無効化予定の通信識別情報と一致した場合、前記外部装置から受信したリクエストに含まれる認証識別情報を無効化する要求を前記ログインサービスへ送信するとともに、前記認証情報を要求するレスポンスを前記外部装置へ送信するように制御するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は省電力モードへ遷移する情報処理装置、制御方法、およびそのプログラムに関する。
【背景技術】
【０００２】
機器が備える省電力モードとして、スキャナやプリンタなどの少なくとも一部のハードウェアリソースへの電力供給を停止し、メモリ内の少なくとも一部の内容は維持したままＣＰＵを停止する省電力状態へ遷移する省電力モードがある。以下、この省電力状態へ遷移していることをディープスリープモードと呼び、機器がディープスリープモードに遷移することをディープスリープに入ると呼称する。
【０００３】
長期間、機器の操作がおこなわれないことを契機にディープスリープに入る以外に、ユーザが電源スイッチを押すことを契機にディープスリープに入ることも可能である。機器は、通常のシャットダウンよりもより高速にシャットダウン動作を行う高速シャットダウンおよび通常のスタートアップより高速にスタートアップ動作を行う高速スタートアップを実現するため、ディープスリープおよびディープスリープからの復帰を実行する。
【０００４】
高速シャットダウンに関する技術として、ユーザが電源スイッチを押下した際、機器はネットワークの通信状況を確認し通常のシャットダウン、または高速シャットダウンのどちらかのシャットダウンを行う技術を特許文献１が開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１０６８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザが電源スイッチを操作することで高速シャットダウンまたは高速スタートアップが実行される。しかし、ユーザは機器の高速動作がディープスリープによる高速なシャットダウンおよびディープスリープからの復帰によるスタートアップで実現されていることを認識していない可能性がある。
【０００７】
一方、ディープスリープ時における機器のＣＰＵは一時停止するが、メモリ内の少なくとも一部の内容は削除されずに保持されることが考えられる。そのため、機器上で動作するプログラムの状態はディープスリープに入る前とディープスリープから復帰した後は同じである。例えば、機器内に備えられた通信サービスに対するユーザのログイン状態を示す認証識別情報も、ディープスリープから復帰した際に保持されたままということになる。そのため、ユーザはシャットダウンを指示して認証セッションがリセットされたと思っていたにも関わらず、高速スタートアップ後に再ログイン処理をせずとも通信サービスにログインさせている機器に対し、セキュリティの観点で不信感を抱く虞がある。
【０００８】
本願発明は、機器が高速シャットダウンから復帰した際、高速シャットダウンに入る前に発行した認証識別情報を無効化する仕組みを提供することで、メモリ内の少なくとも一部の内容を保持する省電力モードの機器におけるセキュリティ性を維持させる。
【課題を解決するための手段】
【０００９】
本発明の一実施形態に係る情報処理装置は、受信した認証情報を基に認証処理を行い前記認証情報が有効であることに応じて認証識別情報を発行するログインサービスと、外部装置から初回リクエストを受信した際には通信識別情報を発行しレスポンスとともに前記外部装置へ送信し、前記通信識別情報を含むリクエストを受信した際は前記リクエストに含まれる前記認証識別情報を確認しレスポンスを前記外部装置へ送信する通信サービスとの少なくとも２つのサービスを有する情報処理装置であって、シャットダウンの指示を受け付けたことに応じて、前記情報処理装置のメモリに記憶された情報を削除することなく前記情報処理装置のハードウェアリソースへの電源供給を停止する省電力状態へ遷移する遷移手段と、前記遷移手段により省電力状態へと遷移する場合、発行済みの前記通信識別情報を無効化予定の通信識別情報として前記メモリに記憶させる記憶手段と、を有し、前記省電力状態から復帰した後、前記通信サービスは、前記外部装置から受信したリクエストに含まれる通信識別情報が前記記憶手段により記憶された無効化予定の通信識別情報と一致した場合、前記外部装置から受信したリクエストに含まれる認証識別情報を無効化する要求を前記ログインサービスへ送信するとともに、前記認証情報を要求するレスポンスを前記外部装置へ送信することを特徴とする。
【発明の効果】
【００１０】
メモリ内の少なくとも一部の内容を保持する省電力モードの機器におけるセキュリティ性を維持させることが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明が実施されるシステム、ソフトウェアの構成を示す図である。
【図２】実施例１の認証セッション記憶部、ＨＴＴＰセッション記憶部、無効化予定ＨＴＴＰセッション記憶部を示す図。
【図３】実施例１のログイン処理のシーケンス図。
【図４】実施例１の高速シャットダウン時のシーケンス図。
【図５】実施例１のＷｅｂブラウザからリクエストが送信された時の処理のシーケンス図。
【図６】実施例１のログアウトリクエストのシーケンス図。
【図７】実施例１のセッション記憶部の状態の変化を示す図。
【図８】実施例２のソフトの構成図を示す図。
【図９】ＳｅｒｖｌｅｔのＨＴＴＰセッション無効化処理のシーケンス図。
【図１０】実施例２のＳｅｒｖｌｅｔによるＨＴＴＰセッション無効化処理と高速シャットダウン通知処理のフローチャート。
【図１１】実施例３の高速シャットダウン処理とＨＴＴＰリクエスト受信処理のフローチャート。
【図１２】実施例１のログイン処理のフローチャート。
【図１３】実施例１の高速シャットダウン時のＨＴＴＰサーバの処理のフローチャート。
【図１４】実施例１のＷｅｂブラウザからリクエストが送信された時の処理のフローチャート。
【発明を実施するための形態】
【００１２】
［実施例１］
図１は本実施例のシステムおよびソフトウェアの構成を示す図である。本システムは情報処理装置であるＭＦＰ１００と、ネットワーク１１０で接続された同じく情報処理装置であるＰＣ１０８で構成される。ＭＦＰ１００は本発明を実現するソフトウェアを実行するＣＰＵ１０１、本発明を実現するソフトウェアを保存しているＲＯＭ１０２、本発明を実現するソフトウェアを実行するＲＡＭ１０３、本発明を実現するソフトウェアがデータを保存する外部記憶装置１０４、ユーザが操作をおこなうＵＩ１０５、ネットワークＩ／Ｆ制御部１０７から構成される。ＵＩ１０５は液晶タッチパネルや液晶パネルとハードキー組み合わせたものとして実現されている。上記モジュールはバス１０６によって相互に接続されておりデータのやり取りをおこなう。ＭＦＰ１００はネットワークＩ／Ｆ制御部１０７によってネットワーク１１０に接続されている。
【００１３】
電源スイッチ１２１はユーザが電源のＯＮ／ＯＦＦを行うためのスイッチである。ユーザが電源スイッチを押下することによりＭＦＰ１００のスタートアップ、シャットダウン、高速スタートアップ、高速シャットダウンがおこなわれる。なお、ＭＦＰ１００は不図示のプリントエンジンおよびスキャナエンジンと言ったハードウェアリソースを備えており、ＭＦＰ１００の高速シャットダウン時には、ハードウェアリソースへの電源供給は停止する。プリントエンジンはデータ化された画像を記録紙に印字するエンジンであり、スキャナエンジンは記録紙を電子的に読み取り、読み取ったデータを画像にするエンジンである。
【００１４】
ＰＣ１０８はネットワーク１１０に接続されており、不図示のＣＰＵ、ＲＯＭ、ＲＡＭ、外部記憶装置、ネットワークＩ／Ｆ制御部を有する。Ｗｅｂブラウザ１０９はＰＣ１０８上で動作している。ユーザは、Ｗｅｂブラウザ１０９を使用し後述するＨＴＴＰサーバ１１２にアクセス、その後Ｗｅｂ  ＵＩを受信し、Ｗｅｂ  ＵＩを介してＭＦＰ１００設定や印刷などをおこなう。
【００１５】
ＯＳ１１１、ＨＴＴＰサーバ１１２、ログインサービス１１５、Ｓｅｒｖｌｅｔ１１７、電源管理モジュール１１８はＭＦＰ１００のＲＯＭ１０２に保存されているソフトウェアである。ＭＦＰ１００が起動するとＲＡＭ１０３にロードされＣＰＵ１０１で実行される。これらのソフトウェアが後述するシーケンス、およびフローを実行する。
【００１６】
ＯＳ１１１はＯＳ１１１上で動作するアプリケーションに対してハードウェアの機能を提供する基本ソフトである。ＨＴＴＰサーバ１１２はＨＴＴＰで通信を行う通信サービスであり、ネットワーク１１０を通じてＷｅｂブラウザ１０９からＨＴＴＰリクエストを受信するサーバ機能を有する。実施例１では通信サービスとしてＨＴＴＰ方式により通信を行うＨＴＴＰサーバ１１２を採用している。ＨＴＴＰサーバ１１２は受信したＨＴＴＰリクエストを解析しログインサービス１１５に認証処理を要求する。また受信したＨＴＴＰリクエストを解析しＳｅｒｖｌｅｔ１１７に対して処理の要求をおこなう。さらにログインサービス１１５やＳｅｒｖｌｅｔ１１７の処理結果をＨＴＴＰレスポンスとしてＷｅｂブラウザ１０９に送信する。
【００１７】
ＨＴＴＰサーバ１１２は、ＨＴＴＰ通信のセッション管理を行うためのＨＴＴＰセッション記憶部１１３、および高速シャットダウン実行前に発行済みのＨＴＴＰセッションを記憶する無効化予定ＨＴＴＰセッション記憶部１１４を有する。実施例１では、ＨＴＴＰセッション記憶部１１３と無効化予定ＨＴＴＰセッション記憶部１１４は別の記憶部として記載しているが、ＨＴＴＰセッション記憶部１１３に無効化予定フラグを付けて管理する形態であってもよい。
【００１８】
ログインサービス１１５はユーザ認証を行うためのモジュールであり、入力された認証情報が事前に登録された認証情報と一致する有効な認証情報であるか否かを確認する。ログインサービス１１５はユーザがＷｅｂブラウザ１０９でログインをおこなうためのログインページの生成、およびＷｅｂブラウザ１０９から送信されてきた認証情報が有効な認証情報であるか否かの判定をおこなう。ログインサービス１１５は認証情報が有効な認証情報であり、ユーザがログイン可能である場合に認証セッションＣｏｏｋｉｅ、および認証セッションを発行する。ログインサービス１１５はＨＴＴＰサーバ１１２からの要求に従い、Ｗｅｂブラウザ１０９から送信されたＨＴＴＰリクエストに含まれる認証セッションが有効であるか否かの判定をおこなう。ログインサービス１１５はログインしているユーザの認証情報等を保持する認証セッション記憶部１１６をもつ。
【００１９】
Ｓｅｒｖｌｅｔ１１７はアプリケーションサービスの１つであり、ＨＴＴＰサーバ１１２からの要求に従い、Ｗｅｂ  ＵＩの画面情報であるＨＴＭＬの生成処理、Ｗｅｂ  ＵＩを介して指示された処理を行い、処理結果をＨＴＴＰサーバ１１２へ送信する。
【００２０】
電源管理モジュール１１８はユーザにより電源スイッチ１２１が押された際に高速シャットダウン処理、高速スタートアップ処理、シャットダウン処理、またはスタート処理をおこなう。ＭＦＰ１００が動作中、電源管理モジュール１１８はユーザにより電源スイッチ１２１が押されると、高速シャットダウンを行うか、またはシャットダウンを行うかを決定する。例えば、電源管理モジュール１１８は、ユーザによってＩＰアドレスの設定など再起動が必要な設定変更がおこなわれているか否かを判断する。再起動が必要な設定変更がおこなわれていれば通常のシャットダウン処理を行い、再起動が不要であれば高速シャットダウンを行う。
【００２１】
電源管理モジュール１１８は、ＭＦＰ１００が高速シャットダウンされた状態でユーザにより電源スイッチ１２１が押されると高速スタートアップ処理を行う。電源管理モジュール１１８は通常のシャットダウン処理が実行された状態でユーザにより電源スイッチ１２１が押されるとスタートアップ処理をおこなう。さらに、電源管理モジュール１１８はユーザ操作により高速シャットダウンが実行される際に、ＨＴＴＰサーバ１１２に対して高速シャットダウン実行通知を行う。
【００２２】
図２は認証セッション記憶部１１６、ＨＴＴＰセッション記憶部１１３、無効化予定ＨＴＴＰセッション記憶部１１４が記憶するデータを示す図である。Ｃｏｏｋｉｅは２つの通信装置間で任意の情報をやり取りする際に、特定の通信装置が受信した任意の情報が何れのセッションに関連する情報であるかを特定するための識別情報である。セッションの詳細なデータ内容は後述するが、セッションとは通信装置間で確立したコネクションが多数ある中で、特定のコネクションにおいて任意の情報を送受信し終えるまでに利用される情報のことである。なお、本実施例ではＷｅｂブラウザ１０９とＨＴＴＰサーバ１１２とのセッションを識別する通信識別情報としてＨＴＴＰセッションＣｏｏｋｉｅを採用している。
【００２３】
ＨＴＴＰセッションＣｏｏｋｉｅはまずＨＴＴＰサーバ１１２からＷｅｂブラウザ１０９に送信される。Ｗｅｂブラウザ１０９は接続するＨＴＴＰサーバ毎にＨＴＴＰセッションＣｏｏｋｉｅを記憶している。Ｗｅｂブラウザ１０９はＨＴＴＰサーバ１１２にリクエストを送信するときに、そのＨＴＴＰサーバ１１２から受信したＨＴＴＰセッションＣｏｏｋｉｅをＨＴＴＰサーバ１１２に送信する。ＨＴＴＰサーバ１１２はＨＴＴＰレスポンスヘッダ「Ｓｅｔ−Ｃｏｏｋｉｅ」を使ってＨＴＴＰセッションＣｏｏｋｉｅをＷｅｂブラウザ１０９に送信する。Ｓｅｔ−Ｃｏｏｋｉｅヘッダは以下のようにＨＴＴＰセッションＣｏｏｋｉｅの識別子であるＣｏｏｋｉｅ名とＣｏｏｋｉｅの値から構成される。「Ｓｅｔ−Ｃｏｏｋｉｅ：  ＬＯＧＩＮＳＥＳＳＩＯＮ＝ＡＡＡＡＡ」。この例ではＣｏｏｋｉｅ名「ＬＯＧＩＮＳＥＳＳＩＯＮ」、Ｃｏｏｋｉｅの値「ＡＡＡＡＡ」となる。
【００２４】
ＨＴＴＰセッションＣｏｏｋｉｅ以外に、認証識別情報である認証セッションＣｏｏｋｉｅ２０１のようにログインサービス１１５によってＨＴＴＰレスポンスヘッダに設定されるＣｏｏｋｉｅもある。通信識別情報と同様、認証識別情報も２つの装置間で任意の情報を送受信する際に利用される識別情報である。さらにＳｅｒｖｌｅｔ１１７が任意のＣｏｏｋｉｅをＨＴＴＰレスポンスヘッダに設定することも可能である。つまり、一つのＨＴＴＰレスポンスに０個以上のＳｅｔ−Ｃｏｏｋｉｅヘッダを含めることができる。Ｗｅｂブラウザ１０９はＨＴＴＰサーバ１１２から１つまたは複数のＣｏｏｋｉｅを受信するとＣｏｏｋｉｅ名と値のセットを記憶する。Ｗｅｂブラウザ１０９は記憶したＨＴＴＰリクエストヘッダ「Ｃｏｏｋｉｅ」を使用しＳｅｔ−Ｃｏｏｋｉｅヘッダを行い、ＨＴＴＰサーバ１１２へ設定されたＣｏｏｋｉｅを送信する。
【００２５】
Ｃｏｏｋｉｅヘッダは少なくとも一つの、Ｃｏｏｋｉｅの識別子であるＣｏｏｋｉｅ名とＣｏｏｋｉｅの値のセットから構成される。「Ｃｏｏｋｉｅ：  ＨＴＴＰＳＥＳＳＩＯＮ＝１１１１１；ＬＯＧＩＮＳＥＳＳＩＯＮ＝ＡＡＡＡＡ」。この例ではＣｏｏｋｉｅ名「ＨＴＴＰＳＥＳＳＩＯＮ」、Ｃｏｏｋｉｅの値「１１１１１」のＣｏｏｋｉｅ、およびＣｏｏｋｉｅ名「ＬＯＧＩＮＳＥＳＳＩＯＮ」、Ｃｏｏｋｉｅの値「ＡＡＡＡＡ」のＣｏｏｋｉｅを送信している。即ち、通信識別情報、および認証識別情報がＨＴＴＰサーバ１１２へ送信される。Ｗｅｂブラウザ１０９が複数のＣｏｏｋｉｅをＨＴＴＰサーバ１１２に送信する場合、Ｃｏｏｋｉｅ名とＣｏｏｋｉｅの値のセットを「；」で区切って送信する。
【００２６】
認証セッション記憶部１１６は認証セッションＣｏｏｋｉｅ２０１と認証セッション２０２のセットから構成される認証セッションを記憶する記憶部である。認証セッション２０２は有効期限２０３、有効フラグ２１０や権限情報等を含む。認証セッションＣｏｏｋｉｅ２０１は認証セッション記憶部１１６から認証セッションを検索するための識別子である。ログインサービス１１５はＨＴＴＰリクエストに含まれる認証セッションＣｏｏｋｉｅをキーにそのＨＴＴＰリクエストに対応する認証セッションを検索する。有効期限２０３は認証セッションの有効期限であり、有効期限がきれた認証セッションはログインサービス１１５によって認証セッション記憶部１１６から削除される。権限情報は認証されたユーザの権限情報であり、Ｓｅｒｖｌｅｔ１１７を使用制限ために使用される。例えば、管理者権限をもっていないユーザが管理者としての作業をおこなうＳｅｒｖｌｅｔ１１７を使用した際に、権限エラーを返すために使用される。
【００２７】
ＨＴＴＰセッション記憶部１１３はＨＴＴＰセッションＣｏｏｋｉｅ２０４とＨＴＴＰセッション２０５のセットから構成されるＨＴＴＰセッションを記憶する記憶部である。ＨＴＴＰセッション２０５は有効期限２０６等を含む。ＨＴＴＰセッションＣｏｏｋｉｅ２０４はＨＴＴＰセッション記憶部１１３からＨＴＴＰセッションを検索するための識別子である。ＨＴＴＰサーバ１１２はＨＴＴＰリクエストに含まれるＨＴＴＰセッションＣｏｏｋｉｅをキーにして受信したＨＴＴＰリクエストに対応するＨＴＴＰセッションを検索する。有効期限２０６はＨＴＴＰセッションの有効期限であり、有効期限がきれたＨＴＴＰセッションはＨＴＴＰサーバ１１２によってＨＴＴＰセッション記憶部１１３から削除される。
【００２８】
無効化予定ＨＴＴＰセッション記憶部１１４はＨＴＴＰセッションＣｏｏｋｉｅ２０７とＨＴＴＰセッション２０８のセットから構成されるＨＴＴＰセッションを記憶する記憶部である。ＨＴＴＰセッション２０８は有効期限２０９等を含む。ＨＴＴＰセッションＣｏｏｋｉｅ２０７は無効化予定ＨＴＴＰセッション記憶部１１４からＨＴＴＰセッションを検索するための識別子である。ＨＴＴＰサーバ１１２はＨＴＴＰリクエストに含まれるＨＴＴＰセッションＣｏｏｋｉｅをキーにそのＨＴＴＰリクエストに対応するＨＴＴＰセッションを検索する。有効期限２０９はＨＴＴＰセッションの有効期限であり、有効期限がきれたＨＴＴＰセッションはＨＴＴＰサーバ１１２によって無効化予定ＨＴＴＰセッション記憶部１１４から削除される。
【００２９】
図３はログインがおこなわれる際のシーケンス図である。ＨＴＴＰサーバ１１２は、Ｗｅｂブラウザ１０９から３１０１に示されるログインページリクエストを受信し（Ｓ３００１）、ＨＴＴＰリクエスト形式のログインページリクエストを解析する。Ｗｅｂブラウザ１０９とＨＴＴＰサーバ１１２は初めてコネクションを確立することになるので、ログインページリクエストはＷｅｂブラウザ１０９から送信される初回リクエストとなる。初回リクエストが必ずしもログインページリクエストである必要はない。
【００３０】
ＨＴＴＰサーバ１１２は、ＨＴＴＰリクエストがログインサービス１１５に対するものであればログインページを生成するログインページリクエストを行う（Ｓ３００２）。ＨＴＴＰサーバ１１２からログインページリクエストを受けたログインサービス１１５はログインページを生成し（Ｓ３００３）、ＨＴＴＰサーバ１１２に生成したログインページを返す（Ｓ３００４）。ＨＴＴＰサーバ１１２はＷｅｂブラウザ１０９とコネクションを初めて確立した際にＨＴＴＰセッションを発行し（Ｓ３００５）、ＨＴＴＰセッション記憶部１１３に追加する（Ｓ３００６）。ＨＴＴＰサーバ１１２は、ＨＴＴＰセッションが無効になりＷｅｂブラウザ１０９とセッションを確立する度に新たなＨＴＴＰセッションを発行し、ログインリクエストを実行する。これにより、ＨＴＴＰサーバ１１２はＨＴＴＰセッションと認証セッションとを間接的に関連付けていく。
【００３１】
ＨＴＴＰサーバ１１２は発行したＨＴＴＰセッションのＨＴＴＰセッションＣｏｏｋｉｅの値をＨＴＴＰレスポンス３１０２のＳｅｔ−Ｃｏｏｋｉｅヘッダに設定する（Ｓ３００７）。実施例１ではＨＴＴＰセッション、認証セッションの情報のやり取りに識別情報としてＣｏｏｋｉｅを使用しているが、ＨＴＴＰサーバ１１２、ログインサービス１１５の実装にあわせてリクエストＵＲＬのパラメータや専用のＨＴＴＰヘッダ等を使用してもよい。さらにＨＴＴＰサーバ１１２はログインサービス１１５が生成したログインページをＨＴＴＰレスポンス３１０２のレスポンスボディとしてＷｅｂブラウザ１０９に送信する（Ｓ３００８）。
【００３２】
Ｗｅｂブラウザ１０９が画面情報であるログインページを受信し、表示する。ユーザが表示されたログインページに認証情報であるログインＩＤとパスワードを入力しログイン操作を行うと、Ｗｅｂブラウザ１０９は３１０３に示されるＨＴＴＰリクエストをログインリクエストとして送信する（Ｓ３００９）。ＨＴＴＰリクエスト３１０３のリクエストボディにはログインをおこなうために必要なユーザＩＤやパスワードなどの情報が含まれている。リクエストボディに含まれるログインに必要な情報はログインサービス１１５の仕様によって決定されている。ＨＴＴＰサーバ１１２は、Ｗｅｂブラウザ１０９から３１０３で示されるＨＴＴＰ形式のログインクエストを受信するとＨＴＴＰリクエスト解析を行う。ＨＴＴＰサーバ１１２はＨＴＴＰリクエストがログインサービス１１５に対するものであればログイン要求を行う（Ｓ３０１０）。
【００３３】
ＨＴＴＰサーバ１１２からログインリクエストを受けたログインサービス１１５はログイン処理を実行する（Ｓ３０１１）。ログイン処理の実行に関しては図１２を用いて説明する。ログイン処理が開始されると（ステップ１２００１）、ログインサービス１１５はリクエストボディからログインＩＤを取得する（ステップ１２００２）。さらにログインサービス１１５はリクエストボディからログインパスワードを取得する（ステップ１２００３）。
【００３４】
ログインサービス１１５はステップ１２００２で取得したログインＩＤおよびステップ１２００３で取得したログインパスワードを使用してログインが可能であるかを判定する（ステップ１２００４）。ログイン可であればステップ１２００５に遷移する。ログイン不可であればステップ１２０１３に遷移する。ログインサービス１１５は、ステップ１２０１３でログインページをレスポンスとして返し（Ｓ３０１３）、ログイン処理を終了する（ステップ１２０１１）。
【００３５】
ログインサービス１１５は、認証セッションＣｏｏｋｉｅを生成する（ステップ１２００５）。次に、ログインサービス１１５は認証セッションを生成する（ステップ１２００６）。さらに、ログインサービス１１５は生成した認証セッション（３０１４）に有効期限と（ステップ１２００７）、ユーザの権限情報と言った情報を設定する（ステップ１２００８）。ログインサービス１１５はステップ１２００５で生成した認証セッションＣｏｏｋｉｅと認証セッションを認証セッション記憶部１１６に追加する。ログインサービス１１５はステップ１２００５で生成した認証セッションＣｏｏｋｉｅの値をレスポンスヘッダの「Ｓｅｔ−Ｃｏｏｋｉｅ」に設定（ステップ１２０１０）する。さらに、ログインサービス１１５はレスポンスボディとしてログイン完了ページを生成し（ステップ１２０１２）、ステップ１２０１１に遷移しログイン処理を終了する。実施例１ではログインＩＤとログインパスワードを取得しているが、どのような情報を使用するかはログインサービスの仕様に依存するため他の情報を取得してもよい。ログインサービス１１５から３１０４に示すレスポンスが返ると（Ｓ３０１３）、ＨＴＴＰサーバ１１２はＨＴＴＰレスポンス３１０４をＷｅｂブラウザ１０９に返す（Ｓ３０１４）。
【００３６】
図４はユーザによって電源スイッチ１２１が押下され高速シャットダウンが開始された際のシーケンス図である。ユーザによって電源スイッチ１２１が押されると電源管理モジュール１１８はＭＦＰ１００の現在の状態から高速シャットダウンを実施するか、またはシャットダウンを実施するかを決定する。電源管理モジュール１１８が高速シャットダウンを開始すると判断すると、電源管理モジュール１１８からＨＴＴＰサーバ１１２に対して高速シャットダウン通知がおこなわれる（Ｓ４００１）。ＨＴＴＰサーバ１１２が高速さっとダウン通知を受信した際のフローを図１３を用いて説明する。
【００３７】
ＨＴＴＰサーバ１１２は高速シャットダウン通知を受信すると高速シャットダウン処理を開始する（ステップ１３００１）。ＨＴＴＰサーバはＨＴＴＰセッション記憶部１１３から発行済みのＨＴＴＰセッションを一つ取得する（ステップ１３００２）。次に、ＨＴＴＰサーバはステップ１３００２で取得した発行済みのＨＴＴＰセッションをＨＴＴＰセッション記憶部１１３から削除する（ステップ１３００３）。ＨＴＴＰサーバ１１２はステップ１３００２で取得した発行済みのＨＴＴＰセッションを無効化予定ＨＴＴＰセッション記憶部１１４に追加する（ステップ１３００４）。ＨＴＴＰサーバ１１２はＨＴＴＰセッション記憶部１１３が空であるか否かを判定する（ステップ１３００５）。ＨＴＴＰセッション記憶部１１３が空であればステップ１３００６に遷移し高速シャットダウン処理を終了し（ステップ１３００６）、電源管理モジュールに処理を返す（Ｓ４００２）。
【００３８】
ＨＴＴＰサーバ１１２は、ＨＴＴＰセッション記憶部１１３が空でなければステップＳ１３０００２に遷移し、別の発行済みのＨＴＴＰセッションを無効化予定ＨＴＴＰセッション記憶部１１４に追加する処理を繰り返す。これにより、高速シャットダウン時に発行済みのＨＴＴＰセッションは全て削除され、かつ無効化予定ＨＴＴＰセッション記憶部１１４に追加されることになる。なお、高速シャットダウン操作が行われ、ＭＦＰ１００が備えるプリントエンジンを始めとしたハードウェアリソースへの電源供給が停止された後も、無効化予定ＨＴＴＰセッション記憶部１１４を始めとする少なくとも一部のデータは削除されない。
【００３９】
図５はＷｅｂブラウザ１０９からＨＴＴＰサーバ１１２に対してＷｅｂ  ＵＩへのリクエストが送信された際の処理のシーケンス図である。図５のシーケンスは、既に、図３に示したログインは終えており、かつ図４で示す高速シャットダウンが実行された後にユーザが電源スイッチ１２１を押すことによりＭＦＰ１００が高速スタートアップした後のシーケンスを示している。Ｗｅｂブラウザ１０９はＨＴＴＰサーバ１１２に対してＷｅｂ  ＵＩへのリクエストがおこなわれる（Ｓ５００１）。５１０１に示されるＨＴＴＰリクエストのＣｏｏｋｉｅヘッダには、ＨＴＴＰセッションを識別するためのＨＴＴＰセッションＣｏｏｋｉｅと、認証セッションを識別するための認証セッションＣｏｏｋｉｅが含まれている。ＨＴＴＰリクエストを受信したＨＴＴＰサーバ１１２のフローを図１４を用いて説明する。
【００４０】
ＨＴＴＰサーバ１１２はＷｅｂブラウザ１０９からＨＴＴＰリクエストを受信するとＨＴＴＰリクエスト受信処理を開始する（ステップ１４００１）。ＨＴＴＰサーバ１１２はＨＴＴＰリクエストのＣｏｏｋｉｅヘッダからＨＴＴＰセッションＣｏｏｋｉｅを取得する（ステップ１４００２）。ＨＴＴＰサーバ１１２は、ステップ１４０２で取得したＨＴＴＰセッションＣｏｏｋｉｅをキーに無効化予定ＨＴＴＰセッション記憶部１１４に高速シャットダウンで無効になったＨＴＴＰセッションが存在するかを調べる（Ｓ５００２、ステップ１４００３）。存在すればステップ１４００４に遷移する。存在しなければステップ１４０１３に遷移する。ＨＴＴＰサーバ１１２はログインサービス１１５に対して認証セッションを要求する（Ｓ５００３）。ステップ１４００４〜１４０１１の処理はユーザがログインしている状態で高速シャットダウンが行われ、その後に高速スタートアップしＷｅｂブラウザ１０９からＨＴＴＰサーバ１１２に対してＷｅｂ  ＵＩへのリクエストが送信された際に実行される処理である。
【００４１】
ログインサービス１１５はＨＴＴＰリクエスト５１０１のＣｏｏｋｉｅヘッダの認証セッションＣｏｏｋｉｅの値をキーに認証セッション記憶部１１６を検索し、認証セッション５１０２を取得する（Ｓ５００５、ステップ１４００４）。認証セッション５１０２を取得できればログインサービス１１５はＨＴＴＰサーバ１１２に認証セッション５１０２を返す、取得できなければ認証セッション無しの旨を返す（Ｓ５００６）。ＨＴＴＰサーバ１１２はログインサービス１１５から認証セッションか返ってきたか否かを確認する（ステップ１４００５）。認証セッションが返ってきていればステップ１４００６に遷移する。認証セッション無しの旨が返ってきていればステップ１４００７に遷移する。認証セッション無しの旨が返ってくるのはＨＴＴＰリクエストを受信する前に認証セッションの有効期限が満了し、ログインサービス１１５によって認証セッションが認証セッション記憶部１１６から削除されている場合がある。
【００４２】
ＨＴＴＰサーバ１１２はログインサービス１１５に対して取得した認証セッションの無効化を要求する（Ｓ５００６、ステップ１４００６）。無効化の要求方法として、ＨＴＴＰサーバ１１２はログインサービス１１５に対して無効化対象となる認証セッションの認証セッションＣｏｏｋｉｅを送信する形態が考えられるが、この方法に限られない。ログインサービス１１５は無効化要求された認証セッションを無効化するため、認証セッション記憶部１１６から認証セッションを削除する（Ｓ５００７）。認証セッションが認証セッション記憶部１１６から削除されると、以後ＨＴＴＰサーバ１１２が受信するＨＴＴＰリクエストに削除した認証セッションの認証セッションＣｏｏｋｉｅが含まれていても、ＨＴＴＰサーバ１１２は認証セッションを取得できない。よってＨＴＴＰリクエストを送信したＷｅｂブラウザ１０９を操作するユーザは再度ログインのための操作を行う必要がある。ログインサービス１１５はＨＴＴＰサーバ１１２に処理を返す（Ｓ５００８）。
【００４３】
ＨＴＴＰサーバ１１２はログインサービス１１５に対してログインページの生成を要求する（Ｓ５００９）。ログインサービス１１５はログインページを生成し（Ｓ５０１０）、ＨＴＴＰサーバ１１２に返す（Ｓ５０１１、ステップ１４００７）。ＨＴＴＰサーバ１１２は新規ＨＴＴＰセッション生成し（Ｓ５０１２、ステップ１４００８）、ＨＴＴＰセッション記憶部１１３に追加（ステップ１４００９）する。さらに５１０３に示すようにＨＴＴＰセッションＣｏｏｋｉｅの値をもつレスポンスヘッダ「Ｓｅｔ−Ｃｏｏｋｉｅ」をレスポンスに設定する（ステップ１４０１０）。ＨＴＴＰサーバ１１２はログインページをＨＴＴＰレスポンスとしてＷｅｂブラウザ１０９に送信し（Ｓ５０１３、ステップ１４０１１）、ＨＴＴＰリクエスト受信処理を終了する（ステップ１４０１２）。ＨＴＴＰサーバ１１２はステップ１４００２で取得したＨＴＴＰセッションＣｏｏｋｉｅをキーにＨＴＴＰセッション記憶部１１３にＨＴＴＰセッションが存在するか否かを調べる（ステップ１４０１３）。存在すればステップ１４０１４に遷移し、存在しなければステップ１４０２１に遷移する。ＨＴＴＰサーバ１１２はＨＴＴＰセッション記憶部１１３に記憶されているＨＴＴＰセッションの有効期限を、現在時刻にＨＴＴＰセッションの生存時間を加えた値に更新する（ステップ１４０１４）。ＨＴＴＰセッションの生存時間はＨＴＴＰサーバ１１２で予め決められた時間である。
【００４４】
次にＨＴＴＰサーバ１１２はログインサービス１１５に対して認証セッションを要求する。ログインサービス１１５は認証セッションを取得する（ステップ１４０１５）。ログインサービス１１５は、ステップ１４０１５で認証セッションが取得できればＨＴＴＰサーバ１１２に認証セッションを返す、取得できなければ認証セッション無しの旨を返す。ＨＴＴＰサーバ１１２はログインサービス１１５から認証セッションか返ってきたか否かを確認する（ステップ１４０１６）。認証セッションが返ってきていればステップ１４０１７に遷移する。認証セッション無しが返ってきていればステップ１４０１９に遷移する。認証セッション無しの旨が返ってくるのは、ＨＴＴＰサーバ１１２がＨＴＴＰリクエストを受信する前に認証セッションの有効期限が満了してしまった場合である。
【００４５】
ＨＴＴＰサーバ１１２はＳｅｒｖｌｅｔ１１７に対してＳｅｒｖｌｅｔの処理を要求し、Ｓｅｒｖｌｅｔ１１７はＨＴＭＬ生成等のＳｅｒｖｌｅｔとしての処理を実行する（ステップ１４０１７）。ＨＴＴＰサーバ１１２はＳｅｒｖｌｅｔ１１７の生成したＨＴＭＬデータをＨＴＴＰレスポンスとしてＷｅｂブラウザ１０９に送信し（ステップ１４０１８）、ＨＴＴＰリクエスト受信処理を終了する（ステップ１４０１２）。
【００４６】
ＨＴＴＰセッション記憶部１１３にＨＴＴＰセッションが存在しない場合、ＨＴＴＰサーバ１１２は新規ＨＴＴＰセッション生成し（ステップ１４０２１）、ＨＴＴＰセッション記憶部１１３に追加（ステップ１４０２２）する。さらにステップ１４０２１で生成したＨＴＴＰセッションのＨＴＴＰセッションＣｏｏｋｉｅの値をもつレスポンスヘッダ「Ｓｅｔ−Ｃｏｏｋｉｅ」をレスポンスに設定する（ステップ１４０２３）。ＨＴＴＰサーバ１１２がこのフローを実行するということは、Ｗｅｂブラウザ１０９からのリクエストが初回リクエストであるため、ステップ１４０１６において認証セッションがない旨を確認することになる。ＨＴＴＰサーバ１１２はログインサービス１１５に対してログインページの生成を要求するとログインサービス１１５はログインページを生成しＨＴＴＰサーバ１１２に返す（ステップ１４０１９）。ＨＴＴＰサーバ１１２はログインページをＨＴＴＰレスポンスとしてＷｅｂブラウザ１０９に送信し（ステップ１４０２０）、ＨＴＴＰリクエスト受信処理を終了する（ステップ１４０１２）。
【００４７】
認証セッションの取得について詳細に説明する。ＨＴＴＰサーバ１１２から認証セッション要求を受け取るとログインサービス１１５は認証セッション取得処理を開始する（ステップ１４１０１）。ログインサービス１１５はＨＴＴＰリクエストのＣｏｏｋｉｅヘッダから認証セッションＣｏｏｋｉｅを取得する（ステップ１４１０２）。ログインサービス１１５は認証セッションＣｏｏｋｉｅが取得できたかを判定し、取得できればステップ１４１０４に遷移する、取得できなければステップ１４１０９に遷移する。ログインサービス１１５は取得した認証セッションＣｏｏｋｉｅをキーに認証セッション記憶部１１６を検索し、認証セッションがあれば取得し（ステップ１４１０４）、ステップ１４１０５に遷移する。取得できなければステップ１４１０９に遷移する。
【００４８】
ログインサービス１１５は取得した認証セッションの有効期限を調べ、取得した認証セッションの有効期限が有効期限内であればステップ１４１０６に遷移する。取得した認証セッションの有効期限が満了していればステップ１４１０９に遷移する。ログインサービス１１５は取得した認証セッションの有効期限を、現在時刻に認証セッションの生存時間を加えた値に更新する（ステップ１４１０６）。認証セッションの生存期間はログインサービス（１１５）で予め定められた期間である。Ｗｅｂブラウザ１０９が認証セッションの生存期間内に次のＨＴＴＰリクエストを送ってきた場合、認証セッションの有効期限は更新されるため認証セッションの有効期限は生存期間より長くなる。ログインサービス１１５はＨＴＴＰサーバ１１２に対して取得した認証セッションを渡し（ステップ１４１０７）、認証セッション取得処理を終了する（ステップ１４１０８）。ログインサービス１１５はＨＴＴＰサーバ１１２に対して認証セッション無しの旨を返し（ステップ１４１０９）、認証セッション取得処理を終了する（ステップ１４１０８）。
【００４９】
ここで、セッションについて詳細に説明する。ＨＴＴＰセッションには有効期限がありＨＴＴＰサーバ１１２は有効期限の切れたＨＴＴＰセッションをＨＴＴＰセッション記憶部１１３、および無効化予定ＨＴＴＰセッション記憶部１１４から削除する。同じく、認証セッションには有効期限があり、ログインサービス１１５は有効期限が満了した認証セッションを認証セッション記憶部１１６から削除する。ＭＦＰ１００のセキュリティを高めるため、ＨＴＴＰサーバ１１２で定めているＨＴＴＰセッションの生存期間にくらべ認証セッションの生存期間は短いことを想定している。ＨＴＴＰのセッションはユーザの利便性を考えて可能な限り長く維持するが、認証セッションはセキュリティの向上のために可能な限り短い時間で無効にする必要がある。例えば、ＨＴＴＰセッションの生存期間は３０分から１時間程度であるが、認証セッションの生存期間は１分から５分程度である。
【００５０】
ＨＴＴＰサーバ１１２は、Ｗｅｂブラウザ１０９からＨＴＴＰセッションＣｏｏｋｉｅ、および認証セッションＣｏｏｋｉｅを含むリクエストを受信すると、夫々のＣｏｏｋｉｅに対応するＨＴＴＰセッション、および認証セッションの有効期限を更新する。同時にログインサービス１１５は認証セッションの有効期限を更新する。そのため、一定期間ＨＴＴＰのリクエストが無い場合、先に認証セッションが有効期限切れとなる。
【００５１】
Ｗｅｂブラウザ１０９からログアウトのリクエストを受信することにより、ログインサービス１１５は認証セッションを無効化することもできる。図６はＷｅｂブラウザ１０９からログアウトのリクエストが送られた際のシーケンス図である。Ｗｅｂブラウザ１０９は６１０１に示すＨＴＴＰリクエストをＨＴＴＰサーバ１１２に送信する（Ｓ６００１）。ＨＴＴＰリクエスト６１０１のリクエストＵＲＬはログアウトを示すＵＲＬである。さらにＣｏｏｋｉｅヘッダには認証セッションＣｏｏｋｉｅの値が含まれている。ＨＴＴＰリクエスト６１０１を受信したＨＴＴＰサーバ１１２はリクエストＵＲＬを解析しログアウトのリクエストであると判断すると、ログインサービス１１５に対してログアウト要求をおこなう（Ｓ６００２）。
【００５２】
ログインサービス１１５はログアウト処理を実施し、リクエストのＣｏｏｋｉｅヘッダに含まれる認証セッションＣｏｏｋｉｅをもつ認証セッションを認証セッション記憶部１１６から削除する（Ｓ６００３）。さらにログインサービス１１５はログインページを生成し（Ｓ６００４）、ＨＴＴＰサーバ（１１２にログインページを返す（Ｓ６００５）。ＨＴＴＰサーバ１１２はＷｅｂブラウザ１０９に対して６１０２のようなログインページのＨＴＭＬデータを含むレスポンスを返す（Ｓ６００６）。
【００５３】
図７はＨＴＴＰセッションおよび認証セッションのタイムアウト、ユーザによるログアウト、高速シャットダウンおよび高速スタートアップが混在して実行されたときのセッション記憶部の状態の変化を示す図である。７０１８は時間経過を示す矢印である上から下に時間がすすんでいることを示している。
【００５４】
７００１は認証セッション記憶部１１６、ＨＴＴＰセッション記憶部１１３、および無効化予定ＨＴＴＰセッション記憶部１１４の初期状態１である。認証セッション記憶部１１６には認証セッション「ＡＡＡＡＡ」、「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。認証セッション「ＡＡＡＡＡ」とＨＴＴＰセッション「１１１１１」は同じＨＴＴＰリクエストに含まれるものとする。７００２は時間が経過し認証セッション「ＡＡＡＡＡ」のタイムアウトがおこなわれた時の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。
【００５５】
７００３は時間が経過しＨＴＴＰセッション「１１１１１」のタイムアウトがおこなわれた時の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。７００４は高速シャットダウン・スタートアップがおこなわれた後の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３は空である。無効化予定ＨＴＴＰセッション記憶部１１４にはＨＴＴＰセッション「２２２２２」が保持されている。この段階でＨＴＴＰサーバ１１２が７００５のようなＨＴＴＰリクエストを受信すると、認証セッション「ＡＡＡＡＡ」は既にタイムアウトしているため、ユーザは新たにログインが必要となる。
【００５６】
７００６は認証セッション記憶部１１６、ＨＴＴＰセッション記憶部１１３、無効化予定ＨＴＴＰセッション記憶部１１４の初期状態２である。認証セッション記憶部１１６には認証セッション「ＡＡＡＡＡ」、「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。認証セッション「ＡＡＡＡＡ」とＨＴＴＰセッション「１１１１１」は同じＨＴＴＰリクエストに含まれるものとする。７００７は時間が経過し認証セッション「ＡＡＡＡＡ」のタイムアウトがおこなわれた時の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。
【００５７】
７００８は高速シャットダウン・スタートアップがおこなわれた後の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３は空である。無効化予定ＨＴＴＰセッション記憶部１１４にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。
この段階でＨＴＴＰサーバ１１２が７００９のようなＨＴＴＰリクエストを受信すると、認証セッション「ＡＡＡＡＡ」は既にタイムアウトしているため、ユーザは新たにログインが必要となる。
【００５８】
７０１０は認証セッション記憶部１１６、ＨＴＴＰセッション記憶部１１３、無効化予定ＨＴＴＰセッション記憶部１１４の初期状態３である。認証セッション記憶部１１６には認証セッション「ＡＡＡＡＡ」、「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。７０１１はユーザによってログアウトがおこなわれた時の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。
【００５９】
７０１２は高速シャットダウン・スタートアップがおこなわれた後の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３は空である。無効化予定ＨＴＴＰセッション記憶部１１４にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。この段階でＨＴＴＰサーバ１１２が７０１３のようなＨＴＴＰリクエストを受信すると、認証セッション「ＡＡＡＡＡ」は既にログアウトされているため、ユーザは新たにログインが必要となる。
【００６０】
７０１４は認証セッション記憶部１１６、ＨＴＴＰセッション記憶部１１３、無効化予定ＨＴＴＰセッション記憶部１１４の初期状態４である。認証セッション記憶部１１６には認証セッション「ＡＡＡＡＡ」、「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。無効化予定ＨＴＴＰセッション記憶部１１４は空である。７０１５は高速シャットダウン・スタートアップがおこなわれた後の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＡＡＡＡ」「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３は空である。無効化予定ＨＴＴＰセッション記憶部１１４にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。
【００６１】
７０１６は時間が経過し認証セッション「ＡＡＡＡＡ」のタイムアウトがおこなわれた時の各記憶部の状態である。認証セッション記憶部１１６には認証セッション「ＢＢＢＢ」が保持されている。ＨＴＴＰセッション記憶部１１３は空である。無効化予定ＨＴＴＰセッション記憶部１１４にはＨＴＴＰセッション「１１１１１」、「２２２２２」が保持されている。この段階でＨＴＴＰサーバ１１２が７０１７のようなＨＴＴＰリクエストを受信すると、認証セッション「ＡＡＡＡＡ」は既にタイムアウトしているため、ユーザは新たにログインが必要となる。
【００６２】
以上、実施例１では、高速シャットダウン前に生成されたＨＴＴＰセッションを無効化予定ＨＴＴＰセッション記憶部に保存しておくことにより、高速シャットダウン前に生成された認証セッションを無効化することが可能になる。この構成によって、ユーザの電源操作によりメモリ内の少なくとも一部の内容を保持しながら省電力状態へと遷移するディープスリープに入り高速シャットダウンを行う機器において、セキュリティ性を維持させることが可能になる。
【００６３】
［実施例２］
実施例１では、高速シャットダウンに入る前にＳｅｒｖｌｅｔ１１７によってＨＴＴＰセッションの無効化がおこなわれた場合、無効化されたＨＴＴＰセッションはＨＴＴＰセッション記憶部１１３から削除される。そのため、Ｓｅｒｖｌｅｔ１１７の指示によりＭＦＰ１００が高速シャットダウンするまえに無効化したＨＴＴＰセッションを無効化予定ＨＴＴＰセッション記憶部１１４に移動させることができない。よって、ＭＦＰ１００が高速スタートアップした後、Ｓｅｒｖｌｅｔ１１７によって無効化されたＨＴＴＰセッションと間接的に関連付いている認証セッションを無効化することができず、認証セッション記憶部１１６に認証セッションが残ってしまう。仮に、時間が経過することで認証セッションが削除されるとしても、削除されるまでの間に何らかの形でＳｅｒｖｌｅｔ１１７に対し削除できなかった認証セッションでリクエストされると、Ｓｅｒｖｌｅｔ１１７を利用できてしまう虞がある。実施例２ではこの課題を解決する方法を説明するが、説明されていない箇所については実施例１と同じ構成、動作となる。
【００６４】
図８は実施例２のソフトウェア構成を示す図である。実施例１のソフトウェア構成に加え、ＨＴＴＰサーバ１１２は無効ＨＴＴＰセッション記憶部８００１を備える。無効ＨＴＴＰセッション記憶部８００１はＨＴＴＰセッションＣｏｏｋｉｅ８００２とＨＴＴＰセッション８００３を記憶する記憶部である。
【００６５】
図９はＳｅｒｖｌｅｔ１１７がＨＴＴＰリクエストに含まれるＨＴＴＰセッションを無効化するような機能を備えている場合に発生する課題を示すシーケンス図である。Ｗｅｂブラウザ１０９は９１０１のようなＨＴＴＰリクエストをＨＴＴＰサーバ１１２に送信する（Ｓ９００１）。ＨＴＴＰリクエスト９１０１にはＨＴＴＰセッションを識別するためのＨＴＴＰセッションＣｏｏｋｉｅと認証セッションを識別するための認証セッションＣｏｏｋｉｅが含まれている。図１４の処理をおこないログインサービス１１５から認証セッションが取得すると、ＨＴＴＰサーバ１１２はＨＴＴＰリクエストを解析する。ＨＴＴＰサーバ１１２はＳｅｒｖｌｅｔ１１７へのリクエストであると判断するとＳｅｒｖｌｅｔ１１７にＳｅｒｖｌｅｔの処理を要求する（Ｓ９００２）。Ｓｅｒｖｌｅｔ１１７はＨＴＴＰサーバ１１２に対してＨＴＴＰリクエストに含まれるＨＴＴＰセッションＣｏｏｋｉｅに対応するＨＴＴＰセッションの無効化を要求する（Ｓ９００３）。ＨＴＴＰサーバ１１２は指定されたＨＴＴＰセッションをＨＴＴＰセッション記憶部から削除し無効化する（Ｓ９００４）。ＨＴＴＰサーバ１１２はＨＴＴＰセッションの無効化が終わるとＳｅｒｖｌｅｔ１１７に処理を返す（Ｓ９００５）。Ｓｅｒｖｌｅｔ１１７はＨＴＭＬの生成やＭＦＰ１００の制御等Ｓｅｒｖｌｅｔの処理をおこなう（Ｓ９００６）。Ｓｅｒｖｌｅｔ１１７の処理の内容によってはＳ９００３とＳ９００６の呼び出しの順序が変わってもよいし、複数回行われてもよい。
【００６６】
Ｓｅｒｖｌｅｔ１１７はＨＴＴＰサーバ１１２に生成したＨＴＭＬを渡す（Ｓ９００７）。ＨＴＴＰサーバはＳｅｒｖｌｅｔ１１７の生成したＨＴＭＬデータをレスポンスとしてＷｅｂブラウザ１０９に送信する（Ｓ９００８）。この状態で、ユーザが電源スイッチ１２１押下により電源管理モジュールが高速シャットダウンを開始すると、電源管理モジュール１１８がＨＴＴＰサーバ１１２に高速シャットダウン通知がおこう（Ｓ９００９）。ＨＴＴＰサーバは図１３のステップ１３００１〜１３００６の処理を行いＨＴＴＰセッション記憶部１１３に含まれるＨＴＴＰセッションを無効化予定ＨＴＴＰセッション記憶部１１４に移動する。ところが、Ｓｅｒｖｌｅｔ１１７によって無効化されたＨＴＴＰセッションは既にＨＴＴＰセッション記憶部１１３に存在しないため無効化予定ＨＴＴＰセッション記憶部１１４に移動されない。ＨＴＴＰサーバ１１２は電源管理モジュール１１８に高速シャットダウン通知受信完了を返す（Ｓ９０１０）。
【００６７】
高速スタートアップ後、Ｗｅｂブラウザ１０９はＨＴＴＰサーバ１１２に９１０２のようなＨＴＴＰリクエストを送信する。（Ｓ９０１１）。リクエスト（９０１３）に含まれるＨＴＴＰセッションは無効化予定ＨＴＴＰセッション記憶部１１４に存在しないため、ＨＴＴＰサーバ１１２はリクエスト９１０２に含まれる認証セッションを無効化することができない（Ｓ９０１３）。
【００６８】
図１０は図９で示した課題を解決するためのＳｅｒｖｌｅｔ１１７によるＨＴＴＰセッション無効化処理と高速シャットダウン通知処理のフローチャートである。ステップ１０００１〜１０００４がＳｅｒｖｌｅｔ１１７によるＨＴＴＰセッション無効化処理のフローチャートである。
【００６９】
ステップ１０１０１〜１０１１０が高速シャットダウン通知処理のフローチャートである。ＨＴＴＰサーバ１１２はＳｅｒｖｌｅｔ１１７からＨＴＴＰセッション無効化処理を要求されるとＨＴＴＰセッション無効化処理を開始する（ステップ１０００１）。ＨＴＴＰサーバ１１２はＳｅｒｖｌｅｔ１１７から指定された無効化するＨＴＴＰセッションをＨＴＴＰセッション記憶部１１３から削除する（ステップ１０００２）。
【００７０】
ＨＴＴＰサーバ１１２は無効ＨＴＴＰセッション記憶部（８００１）にＳｅｒｖｌｅｔ１１７から指定された無効化するＨＴＴＰセッションを追加し（ステップ１０００３）、ＨＴＴＰセッション無効化処理を終了する（ステップ１０００４）。ユーザが電源スイッチ１２１押下により電源管理モジュール１１８が高速シャットダウンを開始すると、電源管理モジュール１１８からＨＴＴＰサーバ１１２に対して高速シャットダウン通知がおこなわれる。ＨＴＴＰサーバ１１２は高速シャットダウン通知を受信すると高速シャットダウン処理を開始する（ステップ１０１０１）。ＨＴＴＰサーバはＨＴＴＰセッション記憶部１１３からＨＴＴＰセッションを一つ取得する（ステップ１０１０２）。次にＨＴＴＰサーバは取得したＨＴＴＰセッションをＨＴＴＰセッション記憶部１１３から削除する（ステップ１０１０３）。
【００７１】
次にＨＴＴＰサーバ１１２はステップ１０１０２で取得したＨＴＴＰセッションを無効化予定ＨＴＴＰセッション記憶部１１４に追加する（ステップ１０１０４）。次にＨＴＴＰサーバ１１２はＨＴＴＰセッション記憶部１１３が空であるか否かを判定する（ステップ１０１０５）。記憶部が空であればステップ１０１０６に遷移する。記憶部が空でなければステップ１０１０２に遷移し、処理をつづける。ＨＴＴＰサーバは無効ＨＴＴＰセッション記憶部（８００１）からＨＴＴＰセッションを一つ取得する（ステップ１０１０６）。ＨＴＴＰサーバは取得したＨＴＴＰセッションを無効ＨＴＴＰセッション記憶部（８００１）から削除する（ステップ１０１０７）。
【００７２】
次にＨＴＴＰサーバ１１２はステップ１０１０６で取得したＨＴＴＰセッションを無効化予定ＨＴＴＰセッション記憶部１１４に追加する（ステップ１０１０８）。ＨＴＴＰサーバ１１２は無効ＨＴＴＰセッション記憶部（８００１）が空であるかを判定する（ステップ１０１０９）。無効ＨＴＴＰセッション記憶部が空であればステップ１０１１０に遷移し、高速シャットダウン処理を終了する（ステップ１０１１０）。無効ＨＴＴＰセッション記憶部が空でなければステップ１０１０６に遷移し、処理をつづける。
【００７３】
実施例２ではＨＴＴＰサーバ１１２が無効化要求されたＨＴＴＰセッションを一旦無効ＨＴＴＰセッション記憶部（８００１）に移動しているが、ＨＴＴＰサーバ１１２が直接無効化予定ＨＴＴＰセッション記憶部１１４に保存してもよい。また、ＨＴＴＰセッション記憶部１１３に無効化フラグのフィールドを設けて、ＨＴＴＰセッションの無効化要求をうけたＨＴＴＰサーバが該当ＨＴＴＰセッションの無効化フラグを立てることにより無効ＨＴＴＰセッション記憶部の代わりにしてもよい。
【００７４】
高速シャットダウン・スタートアップ後にＨＴＴＰサーバ１１２に対してＷｅｂブラウザ１０９のリクエストがおこなわれた時の認証セッションの無効化処理は実施例１と同様である。アプリケーションサービスがＨＴＴＰセッションの無効化をおこなう場合でも、無効ＨＴＴＰセッション記憶部８００１を利用することで高速シャットダウン以前にログインしたユーザの認証セッションを高速スタートアップ後に無効化することができる。
【００７５】
［実施例３］
実施例３は実施例１を改良し、簡易的に認証セッションを無効化する方法である。実施例３ではこの方法を説明するが、実施例３で説明されていない箇所については実施例１と同じ構成、動作となる。図１１は実施例３の高速シャットダウン処理とＨＴＴＰリクエスト受信処理のフローチャートである。ステップ１１００１〜１１００３がＨＴＴＰサーバ１１２の高速シャットダウン処理のフローチャートである。ステップ１０１０１〜１０１１０が高速スタートアップ後にＷｅｂブラウザ１０９からリクエストを受けた時のＨＴＴＰサーバ１１２の処理のフローチャートである。
【００７６】
ユーザが電源スイッチ１２１押下により電源管理モジュールが高速シャットダウンを開始すると電源管理モジュール１１８はＨＴＴＰサーバ１１２に対して高速シャットダウン通知をおこなう。ＨＴＴＰサーバ１１２は高速シャットダウン通知を受信すると高速シャットダウン処理を開始する（ステップ１１１０１）。ＨＴＴＰサーバ１１２はＨＴＴＰセッション記憶部１１３を空にする（ステップ１１００２）。ＨＴＴＰサーバ１１２は高速シャットダウン処理を終了する（ステップ１１００３）。ＨＴＴＰサーバ１１２はＷｅｂブラウザ１０９からＨＴＴＰリクエストを受信するとＨＴＴＰリクエスト受信処理を開始する（ステップ１１１０１）。ＨＴＴＰサーバ１１２はＨＴＴＰリクエストのＣｏｏｋｉｅヘッダからＨＴＴＰセッションＣｏｏｋｉｅを取得する（ステップ１１１０２）。
【００７７】
ＨＴＴＰサーバ１１２はステップ１１１０２で取得したＨＴＴＰセッションＣｏｏｋｉｅをキーにＨＴＴＰセッション記憶部１１３にＨＴＴＰセッションが存在するか否かを確認する（ステップ１１１０３）。存在すればステップ１１１１２に遷移する。存在しなければステップ１１１０４に遷移する。ＨＴＴＰサーバ１１２はログインサービス１１５に対して認証セッションを要求する。ログインサービス１１５は図５のステップ１４１０１〜１４１０８の処理を行い、認証セッションを取得する（ステップ１１１０４）。ログインサービス１１５は認証セッションを取得できればＨＴＴＰサーバ１１２に認証セッションを返す、取得できなければ認証セッション無しの旨を返す。
【００７８】
ＨＴＴＰサーバ１１２はログインサービス１１５から認証セッションか返ってきたか否かを確認する（ステップ１１１１７）。認証セッションが返ってきたことを確認した場合はステップ１１１０５に遷移する。認証セッション無しの旨が返ってきたことを確認した場合はステップ１１１０６に遷移する。認証セッション無しの旨が返ってくるのはＨＴＴＰリクエストを受信する前に認証セッションの有効期限が過ぎてしまっている場合である。ＨＴＴＰサーバ１１２はログインサービス１１５から取得した認証セッションの無効化をおこなう（ステップ１１１０５）。
【００７９】
認証セッションの無効化処理は実施例１と同様である。ＨＴＴＰサーバ１１２は新規ＨＴＴＰセッション生成し（ステップ１１１０６）、ＨＴＴＰセッション記憶部１１３に追加（ステップ１１１０７）する。さらにステップ１１１０６で生成したＨＴＴＰセッションのＨＴＴＰセッションＣｏｏｋｉｅの値をもつレスポンスヘッダ「Ｓｅｔ−Ｃｏｏｋｉｅ」をレスポンスに設定（ステップ１１１０８）する。ＨＴＴＰサーバ１１２はログインサービス１１５に対してログインページの生成を要求する。ログインサービス１１５はログインページを生成しＨＴＴＰサーバ１１２に返す（ステップ１１１０９）。ＨＴＴＰサーバ１１２はログインページをＨＴＴＰレスポンスのボディデータとしてＷｅｂブラウザ１０９に送信し（ステップ１１１１０）、ＨＴＴＰリクエスト受信処理を終了する（ステップ１１１１１）。ＨＴＴＰサーバはステップ１１１０２で取得したＨＴＴＰセッションの有効期限を更新する（ステップ１１１１２）。ＨＴＴＰセッションの有効期限の更新処理は実施例１と同様である。
【００８０】
次にＨＴＴＰサーバ１１２はログインサービス１１５に対して認証セッションを要求する。ログインサービス１１５は図１４のステップ１４１０１〜１４１０８の処理を行い認証セッションを取得する（ステップ１１１１３）。ログインサービス１１５は認証セッションが取得できればＨＴＴＰサーバ１１２に認証セッションを返す、取得できなければ認証セッション無しの旨を返す。ＨＴＴＰサーバ１１２はログインサービス１１５から認証セッションか返ってきたかを確認する（ステップ１１１１４）。認証セッションが返ってきていることを確認した場合はステップ１１１１５に遷移する。認証セッション無しが返ってきていないことを確認した場合はステップ１１１０９に遷移する。ＨＴＴＰサーバ１１２はＳｅｒｖｌｅｔ１１７に対してＳｅｒｖｌｅｔの処理を要求する、Ｓｅｒｖｌｅｔ１１７はＨＴＭＬ生成等のＳｅｒｖｌｅｔとしての処理を実行する（ステップ１１１１５）。ＨＴＴＰサーバ１１２はＳｅｒｖｌｅｔ１１７の生成したＨＴＭＬデータをＨＴＴＰレスポンスのボディデータとしてＷｅｂブラウザ１０９に送信し（ステップ１１１１６）、ＨＴＴＰリクエスト受信処理を終了する（ステップ１１１１１）。
【００８１】
以上、実施例３の構成により、高速シャットダウン時にＨＴＴＰサーバがＨＴＴＰセッション記憶部に記憶されているＨＴＴＰセッションを全て削除し、高速シャットダウン以前にログインしたユーザの認証セッションを高速スタートアップ後に無効化することができる。
【００８２】
［その他の実施例］
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８３】
１１２  ＨＴＴＰサーバ
１１３  ＨＴＴＰセッション記憶部
１１４  無効化予定ＨＴＴＰセッション記憶部
１１５  ログインサービス
１１６  認証セッション記憶部
１１７  Ｓｅｒｖｌｅｔ
１１８  電源管理モジュール
【図１】
2017169137.tif 000003
【図２】
2017169137.tif 000004
【図３】
2017169137.tif 000005
【図４】
2017169137.tif 000006
【図５】
2017169137.tif 000007
【図６】
2017169137.tif 000008
【図７】
2017169137.tif 000009
【図８】
2017169137.tif 000010
【図９】
2017169137.tif 000011
【図１０】
2017169137.tif 000012
【図１１】
2017169137.tif 000013
【図１２】
2017169137.tif 000014
【図１３】
2017169137.tif 000015
【図１４】
2017169137.tif 000016