JP2017167954A - システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム - Google Patents

システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム Download PDF

Info

Publication number
JP2017167954A
JP2017167954A JP2016054307A JP2016054307A JP2017167954A JP 2017167954 A JP2017167954 A JP 2017167954A JP 2016054307 A JP2016054307 A JP 2016054307A JP 2016054307 A JP2016054307 A JP 2016054307A JP 2017167954 A JP2017167954 A JP 2017167954A
Authority
JP
Japan
Prior art keywords
authentication
application
code
authentication information
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
Application number
JP2016054307A
Other languages
English (en)
Inventor
鉄也 佐藤
Tetsuya Sato
鉄也 佐藤
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 JP2016054307A priority Critical patent/JP2017167954A/ja
Publication of JP2017167954A publication Critical patent/JP2017167954A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】Webアプリケーションにアクセスするクライアント上の複数のアプリケーションのUIを相互に操作する場合でも、いずれかのアプリケーションのUIを操作している間に、他のアプリケーションでタイムアウトが発生することを抑えること。
【解決手段】機器設定管理サーバ102は、Webブラウザからトークンを受信した場合にコードを発行して該トークンと紐付けて管理し(S912,S913)、該コードをWebブラウザに対する応答に含め、また、ネイティブアプリケーションから前記コードおよびトークンを受信した場合に、該コードと該トークンとを紐付けて管理し(S904)、Webブラウザまたはネイティブアプリケーションから前記コードを受信した場合に、該コードと紐付けられて管理されているトークンの検証要求を、認証サーバ103に対して行い、それらのトークンの有効期間を更新させる(S905〜S911)。
【選択図】図9

Description

本発明は、タイムアウトの発生を抑えるシステム、サーバ、システムの制御方法、サーバの制御方法、及びプログラムに関するものである。
近年、Webサーバに配置され、インターネットなどのネットワークを介して使用可能なアプリケーション(Webアプリケーションと呼ばれる)が普及している。Webアプリケーションのユーザインタフェース(UI)は、Webアプリケーションが生成したHTML(HyperText Markup Language)などのページを、Webブラウザが受信して表示する。
一方、ユーザが使用するパーソナルコンピュータなどのクライアントコンピュータにインストールされて使用されるアプリケーションは、ネイティブアプリケーションと呼ばれる。
Webアプリケーションは、各ユーザのクライアントコンピュータにインストールされるネイティブアプリケーションに比べて、アプリケーションの更新が容易、データの一元管理が可能等の特徴がある。一方、Webアプリケーションは、リムーバブルメディアやカメラといったクライアントコンピュータに装着された装置を制御できない等の特徴もある。
このような事情から、クライアントコンピュータに装着された装置を制御するような機能をネイティブアプリケーションに持たせ、データの管理などのその他の機能をWebアプリケーションに持たせる等のハイブリッドなシステムが構築されることがある。
例えば、機器設定を扱うシステムでは、機器設定の保管や機器設定の一覧表示等の機能はWebアプリケーションに持たせ、機器設定の編集やリムーバブルメディアへの書き出しの機能はネイティブアプリケーションに持たせる、といった構成である。
このような構成のシステムでは、Webアプリケーションは、機器設定の取得や保存をするためのインタフェースを備える。ネイティブアプリケーションは、そのインタフェースにアクセスして、Webアプリケーションから機器設定を取得したり、Webアプリケーションに機器設定を保存したりする。
なお、Webアプリケーションへのアクセスには、ユーザ認証を必要とするように構成される場合が多い。その場合、WebブラウザからWebアプリケーションへのアクセス、ネイティブアプリケーションからWebアプリケーションへのアクセスの両方で、ユーザ認証が必要となる。ユーザ認証がなされた後は、所定期間アクセスがないとタイムアウトが発生するように構成される。タイムアウトを発生させることは、セキュリティを高める一方で、場合によってはユーザの利便性を低下させる可能性がある。このような点から、Webアプリケーションが処理すべきジョブがある間は、タイムアウトの発生を抑えるシステムが提案されている(特許文献1参照)。
特許文献1のようにタイムアウトの発生を抑えるシステムでは、クライアントコンピュータがジョブをWebアプリケーションに登録する際に、認証サーバで認証を行う。その後、Webアプリケーションが処理すべきジョブがある間は、Webアプリケーションが認証サーバにアクセスすることでタイムアウトの発生を抑えることを可能にする。このような構成によって、WebブラウザからWebアプリケーションにアクセスする場合、Webアプリケーションの処理が完了するまでタイムアウトが発生しないようにできる。
特開2013‐33437号公報
しかし、上述した機器設定のシステムのような構成の場合、ネイティブアプリケーションで機器設定を編集して保存し、Webブラウザに表示される機器設定一覧のUIで更新日時を確認したりする。また、Webブラウザに表示される機器設定一覧を確認し、ネイティブアプリケーションで機器設定を編集する。このように相互にUIを操作する機会が多くなるため、どちらか一方のUIを操作している間に、他方でタイムアウトが発生する場合がある。これは、ユーザにとって不便である。なお、上述した特許文献1のような従来技術は、このような場合に適用できるものではない。また、単にWebアプリケーションにおけるタイムアウト時間を延ばすといった対応では、Webアプリケーションのセキュリティを低下させてしまう可能性がある。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、サーバにアクセスするクライアント端末上の複数のアプリケーションを相互に操作することが多い場合でも、どちらか一方を操作している間に、他方でタイムアウトが発生してしまうことを抑え、ユーザの利便性を高めることができる仕組みを提供することである。
本発明は、ユーザ認証を行って有効期間を有する認証情報を発行する認証サービスと、前記認証サービスにより発行された認証情報を用いてアクセス可能なサーバと、前記サーバにアクセスする第1のアプリケーションおよび第2のアプリケーションが動作するクライアント端末とを有するシステムであって、前記認証サービスは、前記サーバからの要求に応じて前記認証情報が有効であるか検証し、有効である場合に該認証情報の有効期間を更新する検証手段を有し、前記サーバは、前記第1のアプリケーションから受信した前記認証サービスにより発行された第1の認証情報と前記第2のアプリケーションから受信した前記認証サービスにより発行された第2の認証情報とを紐付けて管理する管理手段と、前記第1のアプリケーションまたは前記第2のアプリケーションから要求を受信した場合に、該要求に対応する認証情報と紐付けられて前記管理手段で管理されている認証情報の検証要求を、前記認証サービスに対して行って、その認証情報の有効期間を更新させる更新手段と、を有することを特徴とする。
本発明によれば、サーバにアクセスするクライアント端末上の複数のアプリケーションを相互に操作することが多い場合でも、どちらか一方を操作している間に、他方でタイムアウトが発生してしまうことを抑え、ユーザの利便性を高めることができる。
本実施例を示すシステムの機器構成を例示する図 クライアントコンピュータ、サーバのハードウェア構成図 クライアントコンピュータのソフトウェア構成図 各サーバのソフトウェア構成図 各サーバで管理するデータのテーブル構成図 Webブラウザが機器設定一覧ページを表示するまでの処理のシーケンス図 Webブラウザが表示する認証ページを例示する図 認証管理プログラムの認証処理、トークンの検証処理のフローチャート 機器設定管理プログラムのコードの発行と検証処理のフローチャート 機器設定一覧ページを例示する図 機器設定編集プログラムが編集画面を表示するまでの処理のシーケンス図 機器設定編集プログラムが表示する認証画面を例示する図 機器設定編集プログラムが表示する編集画面を例示する図 機器設定管理プログラムの無効なトークンの削除処理のフローチャート
以下、本発明を実施するための形態について図面を用いて説明する。
<システム構成>
図1は、本発明の一実施例を示すシステムの機器構成を例示する図である。
本実施例のアプリケーション連携システムは、クライアントコンピュータ101、機器設定管理サーバ102、認証サーバ103を有する。クライアントコンピュータ101は、LAN及びFirewall104越しに、インタフェース等のWANを介して、機器設定管理サーバ102、認証サーバ103と通信可能である。
クライアントコンピュータ101は、各ユーザが使用する情報処理装置であり、いわゆるパーソナルコンピュータ(PC)などである。クライアントコンピュータ101には、後述する図3に示すように、Webブラウザ300、機器設定編集プログラム350がインストールされており、機器設定管理サーバ102、認証サーバ103と通信可能なクライアント端末である。
機器設定管理サーバ102は、後述する図4に示すように、機器設定管理プログラム400が配置されており、機器設定の管理を行うサーバである。
認証サーバ103は、後述する図4に示すように、認証管理プログラム450が配置されており、ユーザ情報の管理、ユーザ認証機能(認証サービス)を提供するサーバである。機器設定管理サーバ102は、認証サーバ103により発行された認証情報(トークン)を用いてアクセス可能なサーバである。
なお、本実施例では、機器設定を扱うシステムを用いて説明する。しかし、これは、あくまで一例であり、特に機器設定に限らず、ネイティブアプリケーションとWebアプリケーションのユーザインタフェース(UI)を相互に操作するシステムであれば、他のシステムにも適用可能である。
また、本実施例では、機器設定管理サーバ102、認証サーバ103は、クライアントコンピュータ101とWANを介して接続する構成として説明する。しかし、機器設定管理サーバ102、認証サーバ103は、クライアントコンピュータ101と同じLANに接続された構成でもよい。
<ハードウェア構成>
図2(A)は、クライアントコンピュータ101のハードウェア構成を例示するブロック図である。
CPU201を含む制御部200は、クライアントコンピュータ101の全体の動作を制御する。CPU201は、ROM202やHDD204等に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD204は、各種プログラムやデータを記憶する。なお、HDDの代わりに又は併用して、SSD(Solid State Drive)等の他の記憶装置を備える構成でもよい。
操作部I/F205は、クライアントコンピュータ101で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続するインタフェースである。本実施例では、ユーザインタフェース端末は、マウス209やキーボード210で構成されるが、その限りではない。ディスプレイI/F206は、クライアントコンピュータ101で実行されるプログラムのUIを表示するディスプレイ端末を接続するインタフェースである。本実施例では、ディスプレイ端末は、ディスプレイ211で構成されるが、その限りではない。
ネットワークI/F208は、制御部200をLANに接続する。ネットワークI/F208は、ネットワークを介して他の装置との間で各種情報を送受信する。
USBホストI/F207は、USBストレージ212と通信するインタフェース部である。USBホストI/F207は、HDD204に格納されているデータをUSBストレージ212に出力する。また、USBホストI/F207は、USBストレージ212に格納されているデータを入力し、CPU201にそれを伝える。USBストレージ212は、データを格納する外部記憶装置であり、USBホストI/F207に対して着脱可能である。なお、USBホストI/F207に接続されるUSB機器は、USBストレージ212に限定されるものではなく、USB機器であれば、どのような機器であってもよい。また、クライアントコンピュータ101は、USBホストI/F207以外の外部インタフェースを有し、該インタフェースを介して機器と接続される構成であってもよい。クライアントコンピュータ101に設けられる外部インタフェースは、有線であっても無線であってもよい。
図2(B)は、サーバ機器としての機器設定管理サーバ102、および、認証サーバ103のハードウェア構成を例示するブロック図である。
CPU251を含む制御部250は、各サーバ全体の動作を制御する。CPU251は、ROM252やHDD254等に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM253は、CPU251の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD254は、各種プログラム、或いは後述する各種情報テーブル等を記憶する。なお、HDDの代わりに又は併用して、SSD等の他の記憶装置を備える構成でもよい。ネットワークI/F255は、制御部250をLANに接続する。ネットワークI/F255は、ネットワークを介して他の装置との間で各種情報を送受信する。
<ソフトウェア構成>
図3は、クライアントコンピュータ101のソフトウェア構成を例示する図である。
クライアントコンピュータ101において、Webブラウザ300、機器設定編集プログラム350、制御部370は、クライアントコンピュータ101のROM202やHDD204に保存されたファイルとして存在する。これらは、クライアントコンピュータ101の起動時や各ソフトウェア実行時に、制御部370やその他ソフトウェアによってRAM203にロードされてCPU201によって実行されて機能するプログラムモジュールである。
制御部370は、各ソフトウェアからの依頼を受け付け、機器設定編集プログラム等を起動するソフトウェアである。制御部370は、例えば、オペレーティングシステム(OS)などによって実現することが可能である。
Webブラウザ300は、表示部301、解析部302、処理実行部303、通信部304を有する。
表示部301は、HTML文書をレンダリングし、ディスプレイ211を通じてUIを表示するソフトウェアである。また、表示部301は、マウス209やキーボード210を通じて作業者の操作を受け付け、処理実行部303や通信部304、制御部370等にその操作内容を通知する。
解析部302は、HTML文書を解析するソフトウェアである。処理実行部303は、ECMAScriptを解析して、ECMAScriptに記載されている処理を実行するソフトウェアである。通信部304は、他のソフトウェアからの要求を受けてHTTPのリクエストメッセージを外部機器に送信するソフトウェアである。また、通信部304は、外部機器からのHTTPレスポンスメッセージを受信し、解析部302にレスポンスの内容を通知する。
機器設定編集プログラム350は、ネイティブアプリケーションである。機器設定編集プログラム350は、表示部351、処理実行部352、ストレージ制御部353、機器設定生成部354、通信部355を有する。
表示部351は、機器設定編集プログラム350を操作するためのUIを、ディスプレイ211を通じて作業者に提供し、マウス209やキーボード210を通じて作業者の操作を受け付けるソフトウェアである。処理実行部352は、表示部351からの指示に従い、各種処理を行う。ストレージ制御部353は、USBストレージ212にアクセスしてそのデータの読み書きを行うソフトウェアである。また、ストレージ制御部353は、USBストレージ212の挿抜を検知する。
機器設定生成部354は、表示部351からの入力情報を基に、処理実行部352の指示に従って機器設定を生成するソフトウェアである。通信部355は、機器設定管理サーバ102に対して、機器設定生成部354が生成した機器設定を送信したり、機器設定管理サーバ102に保持されている機器設定を取得したりするソフトウェアである。
なお、クライアントコンピュータで動作する、Webアプリケーションにアクセスするネイティブアプリケーションは、機器設定編集プログラム350に限定されるものではなく、Webブラウザ300と連携可能なネイティブアプリケーションであればよい。
図4(A)は、機器設定管理サーバ102のソフトウェア構成の例を示す図である。
図4(A)に示すように、機器設定管理サーバ102では、機器設定管理プログラム400とデータ格納部406が機能する。これらは、機器設定管理サーバ102のCPU251がプログラムを実行することにより実現される機能に対応する。
機器設定管理プログラム400は、処理実行部401、プレゼンテーション部402、通信部403、機器設定管理部404、コード管理部405を有するWebアプリケーションである。
処理実行部401は、通信部403が受信するリクエスト内容にしたがって、機器設定管理部404やコード管理部405に対して、機器設定や図5を用いて後述するコードの格納、削除、更新、取得等の処理を指示するソフトウェアである。
プレゼンテーション部402は、後述する通信部403を介して受け取ったページ取得要求などに応じてHTML文書を作成するソフトウェアである。
通信部403は、外部機器からのHTTPリクエストメッセージを受信し、処理実行部401やプレゼンテーション部402にリクエストの内容を通知するソフトウェアである。また、通信部403は、Webサーバ機能を有しており、処理実行部401やプレゼンテーション部402からの要求を受けてHTTPのレスポンスメッセージを外部機器に送信する。
機器設定管理部404は、処理実行部401の指示に従い、後述するデータ格納部406に対して機器設定の格納、削除、更新を行うソフトウェアである。また、機器設定管理部404は、データ格納部406から機器設定の取得などを行う。
コード管理部405は、処理実行部401の指示に従い、コードの新規発行およびデータ格納部406に対してコードの格納、削除、更新を行うソフトウェアである。また、コード管理部405は、データ格納部406からコードの取得などを行う。
データ格納部406は、機器設定管理サーバ102で動作するデータベースである。なお、本実施例では、機器設定管理サーバ102にデータ格納部406が構成されているが、機器設定管理プログラム400と連携できるようになっていれば、別のサーバにデータ格納部406が配置されるような構成でもよい。データ格納部406で管理するデータの内容については図5を用いて説明する。
図4(B)は、認証サーバ103のソフトウェア構成を例示する図である。
図4(B)に示すように、認証サーバ103では、認証管理プログラム450とデータ格納部456が機能する。これらは、認証サーバ103のCPU251がプログラムを実行することにより実現される機能に対応する。
認証管理プログラム450は、処理実行部451、プレゼンテーション部452、通信部453、ユーザ情報管理部454、トークン管理部455を有するWebアプリケーションである。
処理実行部451は、通信部453が受信するリクエスト内容にしたがって、ユーザ情報管理部454やトークン管理部455に対して、図5を用いて後述するユーザ情報やトークンの格納、削除、更新、取得等の処理を指示するソフトウェアである。
プレゼンテーション部452は、後述する通信部453を介して受け取ったページ取得要求などに応じて認証を受け付けるHTML文書等を作成するソフトウェアである。
通信部453は、外部機器からのHTTPリクエストメッセージを受信し処理実行部451やプレゼンテーション部452にリクエストの内容を通知するソフトウェアである。また、通信部453は、Webサーバ機能を有しており、処理実行部451やプレゼンテーション部452からの要求を受けてHTTPのレスポンスメッセージを外部機器に送信する。
ユーザ情報管理部454は、処理実行部451の指示に従い、後述するデータ格納部456に対してユーザ情報の格納、削除、更新を行うソフトウェアである。また、ユーザ情報管理部454は、データ格納部456からユーザ情報の取得などを行う。さらに、ユーザ情報管理部454は、処理実行部451からユーザIDとパスワードから成る認証情報を受け取り、認証情報が正しいかを判断する。
トークン管理部455は、処理実行部451の指示に従い、トークンの新規発行およびデータ格納部456に対してトークンの格納、削除、更新を行うソフトウェアである。また、トークン管理部455は、データ格納部456からトークンの取得などを行う。
データ格納部456は、認証サーバ103で動作するデータベースである。なお、本実施例では、認証サーバ103にデータ格納部456が構成されているが、認証管理プログラム450と連携できるようになっていれば別のサーバにデータ格納部456が配置されるような構成でもよい。データ格納部456で管理するデータの内容については図5を用いて説明する。
<テーブル群>
図5(A)、図5(B)は、機器設定管理サーバ102のデータ格納部406で管理するテーブルの一例である。
図5(A)は、機器設定管理テーブル500を例示するものである。
機器設定管理テーブル500は、機器設定の内容を格納しているテーブルであり、カラム501〜カラム504で構成される。1レコードが1つの機器設定を表している。
カラム501は、機器設定IDを表している。機器設定IDは、機器設定を一意に識別するための識別子である。カラム502は、機器設定の名称を表している。カラム503は、機器設定の更新日時を表している。カラム504は、機器設定の実体を表している。なお、本実施例では、機器設定の実体をカラム504に格納しているが、カラム504には機器設定の実体へのパスのみを格納しておき、機器設定の実体は別の場所にファイルとして置くような構成でもよい。
図5(B)は、コード管理テーブル520を例示するものである。
コード管理テーブル520は、カラム521〜カラム524で構成される。
カラム521は、コードを表している。本コードは、認証を行った後に機器設定管理プログラム400のコード管理部405により発行されるものである。該発行されるコードは、ユニークなコード(固有のコード)である。コード発行の処理については、図9を用いて後述する。カラム522は、ユーザIDを表している。カラム523は、トークンを表している。トークンは、認証管理プログラム450で認証を行った際に、認証管理プログラム450のトークン管理部455によって発行されるものである。認証管理プログラムによって発行されたトークンが機器設定管理サーバ102に渡るまでの処理は、図7、図11を用いて後述する。カラム524は、カラム523に格納されているトークンでの最終アクセス日時を表している。
図5(C)、図5(D)は、認証サーバ103のデータ格納部456で管理するテーブルを例示するものである。
図5(C)は、ユーザ情報管理テーブル550を例示するものである。
ユーザ情報管理テーブル550は、ユーザ情報を格納しているテーブルであり、カラム551〜カラム554で構成される。1レコードが1つのユーザ情報を表している。
カラム551は、ユーザIDを表している。ユーザIDは、ユーザ情報を一意に識別するための識別子である。カラム552は、パスワードを表している。カラム553は、ユーザ名を表している。カラム554は、ユーザの表示言語を表している。なお、本例では、カラム551〜カラム554を説明するが、その他に、住所等のようにユーザに関する情報を管理するカラムを有するように構成してもよい。
図5(D)は、トークン管理テーブル570を表している。
トークン管理テーブル570は、トークンに関する情報を格納しているテーブルであり、カラム571〜カラム572で構成される。
カラム571は、トークンを表しており、認証管理プログラム450で認証を行った際に、認証管理プログラム450のトークン管理部455によって発行される。カラム572は、ユーザIDであり、カラム571のトークンがどのユーザに関するものであるかを表している。カラム573は、カラム571に格納されているトークンでの最終アクセス日時を表している。
<機器設定一覧ページの表示処理>
以下、図6〜図10を用いて、Webブラウザ300が、機器設定管理プログラム400にアクセスして、機器設定一覧ページを表示するまでの処理を説明する。
図6は、Webブラウザ300が機器設定管理サーバ102に初回アクセスしたときの処理を例示するシーケンス図である。このシーケンスにおいて、Webブラウザ300の初回アクセス時に、機器設定管理サーバ102がコードを発行する。コードを発行する詳細な処理については図9を用いて後述する。なお、図6及び後述する図11に示すクライアントコンピュータ101の処理は、クライアントコンピュータ101のCPU201が、HDD204等に記憶されるプログラムを必要に応じてRAM203にロードして実行することにより実現される。また、同じく機器設定管理サーバ102の処理は、機器設定管理サーバ102のCPU251が、HDD254等に記憶されるプログラムを必要に応じてRAM253にロードして実行することにより実現される。また、同じく認証サーバ103の処理は、認証サーバ103のCPU251が、HDD254等に記憶されるプログラムを必要に応じてRAM253にロードして実行することにより実現される。
まず、Webブラウザ300の表示部301が、機器設定一覧ページのURL(Uniform Resource Locator)指定のユーザ操作を受け付けると、S601に遷移する。
S601において、Webブラウザ300の通信部304は、機器設定管理サーバ102の機器設定管理プログラム400に対して、機器設定一覧ページをHTTPのGETコマンドで要求する。この要求を、機器設定管理プログラム400が受け取る。なお、本要求時点では、まだ認証が実施されていないため、HTTPのGETコマンドにはトークンが付加されていない。機器設定管理プログラム400の処理実行部401が、機器設定一覧ページの要求にはトークンが付加されていないことを判断する。そして、機器設定管理プログラム400の通信部403が、Webブラウザ300に対して、認証ページへのリダイレクトの要求を行う。この要求を、Webブラウザ300が受け取る。
S602において、Webブラウザ300の通信部304は、リダイレクトにより認証サーバ103の認証管理プログラム450に対して、認証ページの要求を行う。この要求を認証管理プログラム450が受け取る。
S603において、認証管理プログラム450のプレゼンテーション部452は、認証ページを作成する。
S604において、認証管理プログラム450の通信部453は、Webブラウザ300に対して認証ページを応答する。この応答をWebブラウザ300が受け取る。
S605において、Webブラウザ300の表示部301は、受信した認証ページを表示する。ここで、図7を用いて、S605でWebブラウザ300の表示部301が表示する認証ページのUIの一例について説明する。
図7は、認証ページを表示するWebブラウザのUIを例示する図である。
認証ページ700は、テキストボックス701、702、および、ボタン703を有する。
テキストボックス701は、ユーザIDの入力を受け付けるものである。テキストボックス702は、パスワードの入力を受け付けるものである。ボタン703は、認証を行うためのボタンである。表示部301は、ボタン703が押下されたことを検知すると、テキストボックス701、702に入力されているユーザIDとパスワードから成る認証情報を通信部304に渡す。通信部304は、該渡された認証情報を用いて認証サーバ103の認証管理プログラム450に認証の要求を行う。
以下、図6の説明に戻る。
Webブラウザ300の表示部301が、ボタン703を押下されたことを検知すると、S606の処理に遷移する。S606において、Webブラウザ300の通信部304は、認証サーバ103の認証管理プログラム450に認証の要求を行う。この要求を認証管理プログラム450が受け取る。認証の要求には、テキストボックス701、702に入力されている認証情報が含まれる。
S607において、認証サーバ103の認証管理プログラム450は、上記S606で受信した認証要求に対応する認証処理を実施する。ここで、図8(A)を用いて、認証管理プログラム450が実行するS607の認証処理について説明する。
図8(A)は、認証管理プログラム450が実行する認証処理を例示するフローチャートである。このフローチャートの処理は、認証サーバ103のCPU251が、HDD254等に記憶されるプログラムを必要に応じてRAM253にロードして実行することにより実現される。
S801において、認証サーバ103の処理実行部451は、認証要求に含まれる認証情報を取り出し、S802に遷移する。
S802において、ユーザ情報管理部454は、処理実行部451から受け取った認証情報が合っているかを判断する。具体的には、ユーザ情報管理部454は、ユーザ情報管理テーブル550(図5(C))のカラム551、カラム552のユーザIDとパスワードが認証情報と一致する(認証情報が合っている)かを判断する。
そして、認証情報が合っていないと判定した場合(S802でNoの場合)、ユーザ情報管理部454は、S805に遷移する。S805において、処理実行部451は、認証結果をエラーとして、本フローチャートの処理を終了する。
一方、上記S802において、認証情報が合っていると判定した場合(S802でYesの場合)、S803に遷移する。
S803において、トークン管理部455は、トークンを新規に発行し、該発行したトークン、ユーザID、最終アクセス日時を、トークン管理テーブル570に格納する。なお、最終アクセス日時は、S803の処理を実行するときの現在日時とする。
次に、S804において、処理実行部451は、認証結果を成功とし、結果にはトークンを付加して、本フローチャートの処理を終了する。
以上が、認証管理プログラム450が実行する認証処理である。
以下、図6の説明に戻る。なお、図6では、認証情報が正しかった場合について説明する。つまり、図8(A)のS802での判断によりS803に遷移した場合について説明する。
S608において、認証管理プログラム450の通信部453は、Webブラウザ300に対して認証結果を応答する。この応答をWebブラウザ300が受け取る。この認証結果にはトークンが含まれる。
次に、S609において、Webブラウザ300の通信部304は、上記S601のときと同様に、機器設定管理サーバ102の機器設定管理プログラム400に対して機器設定一覧ページの要求を行う。この要求を機器設定管理プログラム400が受け取る。なお、上記S601の処理と異なるのは、S609の処理では、機器設定一覧ページの要求に、上記S608で取得したトークンを含める点である。
S610において、機器設定管理プログラム400の通信部403は、機器設定一覧ページの要求にトークンが付加されていると判断し、認証サーバ103の認証管理プログラム450に、上記S609で受信したトークンの検証を要求する。この要求を認証管理プログラム450が受け取る。
S611において、認証サーバ103の認証管理プログラム450は、上記S610で受信したトークンの検証処理を行う。ここで、図8(B)を用いて、認証サーバ103の認証管理プログラム450のトークンの検証処理について説明する。
図8(B)は、認証管理プログラム450が実行するトークンの検証処理を例示するフローチャートである。このフローチャートの処理は、認証サーバ103のCPU251が、HDD254等に記憶されるプログラムを必要に応じてRAM253にロードして実行することにより実現される。
S851において、処理実行部451は、トークンの検証要求に含まれるトークンを取り出し、S852に遷移する。
S852において、トークン管理部455は、処理実行部451から受け取ったトークンが有効であるかを判断する。具体的には、トークン管理部455は、処理実行部451から受け取ったトークンが、トークン管理テーブル570にあり、かつ、最終アクセス日時が、現在日時から所定時間前以内である場合に有効と判断し、それ以外の場合に無効と判断する。所定時間前とは、例えば1時間前などである。
そして、トークンが有効でない(無効である)と判定した場合(S852でNoの場合)、S855に遷移する。
S855において、処理実行部451は、トークンの検証結果をエラーとして、本フローチャートの処理を終了する。
一方、上記S852において、トークンが有効であると判定した場合(S852でYesの場合)、S853に遷移する。
S853において、トークン管理部455は、トークン管理テーブル570の該当のトークンの最終アクセス日時を現在日時に更新する。これにより、トークンの有効期間が延長される。
次に、S854において、処理実行部451は、トークンの検証結果を成功として、本フローチャートの処理を終了する。
以上が、認証管理プログラム450が実行するトークン検証処理である。
以下、図6の説明に戻る。なお、図6では、トークンが有効であった場合について説明する。つまり、図8(B)のS852での判断によりS853に遷移した場合である。
S612において、認証管理プログラム450の通信部453は、トークンの検証結果を機器設定管理サーバ102の機器設定管理プログラム400に応答する。この応答を機器設定管理プログラム400が受け取る。
S613において、機器設定管理プログラム400の通信部403は、認証サーバ103の認証管理プログラム450に対して、上記トークンを付加してユーザ情報の取得要求を行う。この要求を認証管理プログラム450が受け取る。ユーザ情報の取得要求を受信した認証管理プログラム450では、トークンから特定されるユーザIDに紐付くユーザ情報を、データ格納部456から取得する。
S614において、認証管理プログラム450の通信部453は、機器設定管理サーバ102の機器設定管理プログラム400に、上記S613で取得したユーザ情報を応答する。この応答を機器設定管理プログラム400が受け取る。
S615において、機器設定管理サーバ102の機器設定管理プログラム400は、コードの発行と検証の処理を実行する。ここで、図9を用いて機器設定管理サーバ102の機器設定管理プログラム400におけるコードの発行と検証の処理について説明する。
図9は、機器設定管理プログラム400が実行するコードの発行と検証の処理を例示するフローチャートである。このフローチャートの処理は、機器設定管理サーバ102のCPU251が、HDD254等に記憶されるプログラムを必要に応じてRAM253にロードして実行することにより実現される。
S901において、機器設定管理サーバ102の処理実行部401は、クライアントコンピュータ101などの外部装置からの要求にコードが含まれるかを判断する。図6の処理を例にすると、S609の機器設定一覧ページの要求にコードが含まれていたかを判断する。そして、コードが含まれていなかったと判断した場合(S901でNoの場合)、S912に遷移する。なお、図6のS609の要求にはコードが含まれていないため、S615で実行される場合にはS912に遷移する。
S912において、コード管理部405は、コードを新規に発行して、S913に遷移する。
S913において、コード管理部405は、上記S912で発行したコードと、図6のS614で取得したユーザ情報に含まれるユーザIDと、外部装置からの要求に含まれていたトークンと、最終アクセス日時とを紐付けて、コード管理テーブル520(図5(B))に格納して、本フローチャートの処理を終了する。
一方、上記S901において、コードが含まれていたと判断した場合(S901でYesの場合)、S902に遷移する。なお、図11を用いて後述するが、S1106の要求にはコードが含まれているため、S1112で実行される場合にはS902に遷移する。以下、S902〜S911の処理については、図11のS1112を説明する際に説明する。
以上が、機器設定管理プログラム400が実行するコードの発行と検証の処理である。以下、図6の説明に戻る。
S616において、機器設定管理プログラム400のプレゼンテーション部402は、機器設定一覧ページを生成する。
ここで、図10(A)を用いて、S616で機器設定管理プログラム400のプレゼンテーション部402が生成したHTMLのページ(Webページ)について説明する。
図10(A)は、機器設定一覧ページのHTMLを例示する図である。
図10(A)において、HTML1000は、機器設定一覧ページを表している。
<table>タグ1001は、テーブルであり、機器設定の一覧を表している。<table>タグ1001で表している機器設定一覧の機器設定は機器設定管理テーブル500に格納されている機器設定である。
<td>タグ1002は、機器設定IDがD001である機器設定の機器設定名を表している。機器設定名には<a>タグでリンクが付加されている。そのリンクは、「dst://dst/app?id="D001"&code="Code001"」であり、クライアントコンピュータ101の制御部370が処理可能なコマンドである。「dst://dst/app」は、機器設定編集プログラム350を起動するためのコマンドである。「?」以降は、起動時に機器設定編集プログラム350に渡すパラメーターを示している。「id="D001"」は、機器設定IDを表しており、D001が機器設定編集プログラム350に渡されることを表している。「code="Code001"」は、コードを表しており、Code001が機器設定編集プログラム350に渡されることを表している。
<td>タグ1003は、機器設定IDがD002である機器設定の機器設定名を表している。機器設定名には<a>タグでリンクが付加されている。<td>タグ1001のリンクと異なるのは、機器設定編集プログラム350にパラメーターとして渡す機器設定IDがD002である点である。機器設定編集プログラム350にパラメーターとして渡すコードは<td>タグ1001のリンクと同じで、Code001である。
<td>タグ1004は、機器設定IDがD003である機器設定の機器設定名を表している。機器設定名には<a>タグでリンクが付加されている。<td>タグ1001のリンクと異なるのは、機器設定編集プログラム350にパラメーターとして渡す機器設定IDがD003である点である。
このように、機器設定管理サーバ102は、機器設定編集プログラム350を起動するためのコマンドと図9のS912で発行したコードを含めたWebページを、Webブラウザ300に応答する。
再び、図6の説明に戻る。
S617において、機器設定管理プログラム400の通信部403は、クライアントコンピュータ101のWebブラウザ300に機器設定一覧ページを応答する。この応答をWebブラウザ300が受け取る。
S618において、Webブラウザ300の表示部301は、上記S617で受信した応答に基づいて、機器設定一覧ページを表示する。
図10(B)は、S618でWebブラウザ300の表示部301が表示する機器設定一覧ページのUIの一例を示す図である。
図10(B)において、UI1050で表示するテーブルは、カラム1051〜カラム1052から成る。
カラム1051は、機器設定IDを表している。カラム1052は機器設定名を表しており、各機器設定名にはリンクが付与されている。このリンクは機器設定を編集するためのリンクであり、本リンクが押下されると、制御部370が機器設定編集プログラム350を起動し、押下したリンクの機器設定の編集画面が表示される。複数のリンクを押下することで、複数の機器設定の編集を行うことも可能である。カラム1053は、機器設定の更新日時を表している。
以上までが、Webブラウザ300が、機器設定管理プログラム400にアクセスして、機器設定一覧ページを表示するまでの処理である。
<機器設定の編集画面の表示処理>
次に、機器設定編集プログラム350の表示部351が機器設定の編集画面を表示するまでの処理を図11〜図13を用いて説明する。
図11は、機器設定編集プログラム350が機器設定管理サーバ102に初回アクセスしたときの処理を示したシーケンス図である。このシーケンスでは、機器設定編集プログラム350が機器設定管理サーバ102に初回アクセスした時に、Webブラウザ300で機器設定管理サーバ102にアクセスした際のトークンの有効期間も更新する。これらの処理を、図11を用いて説明する。
図11の処理シーケンスは、図10で説明したUI1050のカラム1052のいずれかが、ユーザにより押下されたことをWebブラウザ300の表示部301が検知することに開始する。
まず、S1101において、Webブラウザ300の表示部301は、制御部370を介して、機器設定編集プログラム350に起動要求を行う。より具体的には、Webブラウザ300の表示部301は、図10(A)で説明した<a>タグで記載されたリンクを制御部370に伝える。制御部370は、前述したリンクのコマンドを実行し機器設定編集プログラム350の起動を行う。機器設定編集プログラム350を起動する際、制御部370は、リンクに記載された機器設定IDとコードを機器設定編集プログラム350に渡す。
起動された機器設定編集プログラム350では、S1102において、表示部351が、認証画面を表示する。
ここで、図12を用いて、S1102で機器設定編集プログラム350の表示部351が表示する認証画面のUIの一例について説明する。
図12は、認証画面を表示する機器設定編集プログラムのUIを例示する図である。
認証画面1200は、テキストボックス1201、1202、および、ボタン1203を有する。テキストボックス1201は、ユーザIDの入力を受け付けるものである。テキストボックス1202は、パスワードの入力を受け付けるものである。ボタン1203は、認証を行うためのものである。表示部351は、ボタン1203が押下されたことを検知すると、テキストボックス1201、1202に入力されているユーザIDとパスワードから成る認証情報を通信部355に渡す。通信部355は、渡された認証情報を用いて認証サーバ103の認証管理プログラム450に認証の要求を行う。
以下、図11の説明に戻る。
表示部351が、ボタン1203を押下されたことを検知すると、S1103の処理に遷移する。
S1103において、機器設定編集プログラム350の通信部355は、認証サーバ103の認証管理プログラム450に認証の要求を行う。この要求を認証管理プログラム450が受け取る。認証の要求にはテキストボックス1201、1202に入力されていた認証情報が含まれる。
S1104において、認証サーバ103の認証管理プログラム450は、上記S1103で受け取った認証の要求に対応する認証処理を行う。なお、S1104で実行される認証処理は、図8(A)で説明した処理と同じであるため、説明を省略する。また、図11では、認証情報が正しかった場合について説明する。つまり、図8(A)のS802での判断によりS803に遷移した場合について説明する。
S1105において、認証管理プログラム450の通信部453は、クライアントコンピュータ101の機器設定編集プログラム350に対して、認証結果の応答を行う。この応答を機器設定編集プログラム350が受け取る。
S1106において、機器設定編集プログラム350の通信部355は、機器設定管理サーバ102の機器設定管理プログラム400に機器設定の実体の取得要求を行う。この要求を機器設定管理プログラム400が受け取る。なお、機器設定の実体の取得要求には、上記S1101の機器設定編集プログラム350の起動時に渡された機器設定ID、および、コードが含まれる。また、上記S1105で受信した認証結果に含まれるトークンが含まれる。
S1107において、機器設定管理プログラム400の通信部403は、認証サーバ103の認証管理プログラム450に、S1106で受信したトークンの検証を要求する。この要求を認証管理プログラム450が受け取る。
S1108において、認証サーバ103の認証管理プログラム450は、トークンの検証処理を行う。S1108で実行されるトークンの検証処理は、図8(B)を用いて説明した処理と同じであるため、説明を省略する。なお、図12では、トークンが有効であった場合について説明する。つまり、S852での判断によりS853に遷移した場合である。
S1109において、認証管理プログラム450の通信部453は、トークンの検証結果を機器設定管理サーバ102の機器設定管理プログラム400に応答する。この応答を機器設定管理プログラム400が受け取る。
S1110において、機器設定管理プログラム400の通信部403は、認証サーバ103の認証管理プログラム450に対して、トークンを付加してユーザ情報の取得要求を行う。この要求を認証管理プログラム450が受け取る。ユーザ情報の取得要求を受信した認証管理プログラム450では、トークンから特定されるユーザIDに紐付くユーザ情報をデータ格納部456から取得する。
S1111において、認証管理プログラム450の通信部453は、機器設定管理サーバ102の機器設定管理プログラム400にユーザ情報を応答する。この応答を、機器設定管理プログラム400が受け取る。
S1112において、機器設定管理サーバ102の機器設定管理プログラム400は、コードの発行と検証の処理を実行する。S1112で実行するコードの発行と検証の処理を、図9を用いて説明する。なお、S1112の処理では、上記S1106の機器設定の取得要求にコードが含まれるため、図9のS901でYesと判断され、S902に遷移することになる。ここで、図9のS901でYesと判断された場合の処理について説明する。
図9のS901において、機器設定管理サーバ102の処理実行部401が、クライアントコンピュータ101などの外部装置からの要求にコードが含まれている判断した場合(S901でYesの場合)、S902に遷移する。図11のS1106の要求にはコードが含まれているため、図11のS1112で実行される場合には、S902に遷移する。
S902において、コード管理部405で、外部装置(例えばクライアントコンピュータ101)からの要求に含まれていたトークンがコード管理テーブル520に存在するかを判断する。そして、トークンがコード管理テーブル520に存在すると判断した場合(S902でYesの場合)、S903に遷移する。
S903において、コード管理部405は、該当のトークンの最終アクセス日時を更新し、S905に遷移する。より具体的には、コード管理部405は、コード管理テーブル520における該当のトークンのレコードのカラム524の最終アクセス日時をトークン検証した日時に更新する。
一方、上記S902において、トークンがコード管理テーブル520に存在しないと判定した場合(S902でNoの場合)、S904に遷移する。
S904において、コード管理部405は、外部装置からの要求に含まれていたコードとトークン、および、ユーザ情報に含まれるユーザID、最終アクセス日時を紐付けてコード管理テーブルに格納し、S905に遷移する。なお、ユーザ情報は、例えば図6のS614や図11のS1111等で取得したものを用いる。
S905において、コード管理部405は、外部装置からの要求に含まれていたコードに一致しており、かつ、ユーザIDが一致する他のトークンが存在するかを判断する。より具体的には、コード管理部405は、外部装置からの要求に含まれていたコード、および、取得したユーザ情報に含まれるユーザIDの組み合わせと一致するがトークンが異なる組み合わせが、コード管理テーブル520の中に存在するかを確認する。
そして、コードとユーザIDが一致する他のトークンが存在しないと判断した場合(S905でNoの場合)、コード管理部405は、本フローチャートの処理を終了する。
一方、コードとユーザIDが一致する他のトークンが存在すると判断した場合(S905でYesの場合)、S906に遷移する。
S906は繰り返しの処理を表す。S906において、機器設定管理プログラム400は、外部装置からの要求に含まれていたコードと、ユーザIDに一致する他のトークンの数だけ、S907〜S911の処理を繰り返すように制御する。つまり、ユーザIDに一致する全ての他のトークンに対してS907〜S911の処理を実行する。まず、機器設定管理プログラム400は、ユーザIDに一致する全ての他のトークンのうち、S907〜S911の処理を未実行の他のトークンを1つ取得し(以下、処理対象の他のトークン)、S907に遷移する。
S907において、機器設定管理プログラム400の通信部403は、処理実行部401の指示により認証サーバ103の認証管理プログラム450に、処理対象の他のトークンの検証を要求し、S908に遷移する。処理対象の他のトークンの検証の要求を受信した認証サーバ103の認証管理プログラム450は、図8(B)で説明したトークン検証処理を実行する。つまり、コードとユーザIDが一致する、処理対象の他のトークンが有効である場合には、S853の処理が実行され、有効期間が延長される。また、この処理はコードとユーザIDが一致するすべてのトークンに対して実行されるため、コードとユーザIDが一致するすべてのトークンの有効期間が延長され、タイムアウトまでの時間が延長されることになる。
次に、S908において、機器設定管理プログラム400の通信部403は、認証サーバ103から、上記S907で要求した処理対象の他のトークンの検証結果を受信したかを監視する。そして、処理対象の他のトークンの検証結果を受信していない場合は、S908の監視を続ける。一方、処理対象の他のトークンの検証結果を受信した場合は、S909に遷移する。
S909において、処理実行部401は、処理対象の他のトークンの検証の結果から他のトークンが有効であるかを判断する。そして、他のトークンが有効であると判断した場合(S909でYesの場合)、S910に遷移する。
S910において、コード管理部405は、コード管理テーブル520における、処理対象の他のトークンの最終アクセス日時を更新し、S906に遷移する。より具体的には、コード管理部405は、コード管理テーブル520における該当するトークンのレコードのカラム524の最終アクセス日時をトークン検証した日時に更新する。
一方、上記909において、処理対象の他のトークンが有効でない(無効である)
と判断した場合(S909でNoの場合)、S911に遷移する。
S911において、コード管理部405は、コード管理テーブル520における、処理対象の他のトークンのレコードを削除し、S906に遷移する。
上記S906において、機器設定管理プログラム400は、コードとユーザIDが一致する全ての他のトークンのうち、S907〜S911の処理を未実行の他のトークンが存在する場合には、そのうちの1つ取得し(以下、処理対象の他のトークン)、S907に遷移する。一方、S907〜S911の処理を未実行の他のトークンが存在しない場合、すなわち、全ての繰り返しを終えた場合、本フローチャートの処理を終了する。
なお、上記S905では、コードとユーザIDの一致した他のトークンの存在を判断し、また、上記S906では、コードとユーザIDの一致した他のトークンについて、それぞれS906〜S911の処理を実行する構成について説明した。しかし、上記S905では、コードの一致した他のトークンの存在を判断し、また、上記S906では、コードの一致した他のトークンについて、それぞれS906〜S911の処理を実行するように構成してもよい。
以上の処理により、コードとユーザIDが一致する他のトークンの有効期間も延長されることになる。なお、コードの一致を確認することにより、該機器設定の取得要求の要求元が、Webブラウザ300のUI操作により起動された機器設定管理プログラム400であることがわかる。また、ユーザIDの一致まで確認することにより、同一ユーザがWebブラウザ300と機器設定管理プログラム400のUIを操作していることがわかる。
以下、図11の説明に戻る。
S1113において、機器設定管理プログラム400の機器設定管理部404は、上記S1106の機器設定の取得要求に含まれていた機器設定IDに一致する機器設定の実体を機器設定管理テーブル500から取得する。
次に、S1114において、機器設定管理プログラム400の通信部403は、クライアントコンピュータの機器設定編集プログラム350に対して、S1113で取得した機器設定の実体を応答する。この応答を、機器設定編集プログラム350が受け取る。そして、S1115において、機器設定編集プログラム350の表示部351は、上記S1114で受信した機器設定の編集画面(例えば図13)を表示する。
図13は、機器設定編集プログラム350の表示部351が表示するUIである機器設定の編集画面の一例を示す図である。
図13に示すように、UI1300は、テキストボックスやボタンなどのコントロール1301〜1313を有する。
ラベル1301は、編集対象である機器設定の機器設定IDを表している。
テキストボックス1302は、機器設定の名称を設定するためのテキストボックスである。
ボタン1303は、機器に適用可能なファームウェア一覧を取得するためのボタンである。機器設定編集プログラム350の表示部351は、ボタン1303が押下されたことを検知すると、処理実行部352に通知する。通信部355は、処理実行部352からの指示を受けて機器設定管理サーバ102にファームウェア一覧の取得要求を行う。本取得要求には、図11のS1101で受信したコードと、S1105で取得したトークンを付加する。そのため、図9で説明した機器設定管理サーバ102の機器設定管理プログラム400のコードの発行と検証の処理において、コードとユーザIDが一致する他のトークンの有効期間も更新される。
コンボボックス1304は、機器に適用するファームウェアを選択するためのコンボボックスである。コンボボックス1304には、前述したボタン1303の押下により取得したファームウェアの一覧を表示する。コンボボックス1304で選択されているファームウェアが機器に適用する対象のファームウェアとなる。
ボタン1305は、IPアドレス等の機器情報を設定するためのボタンである。表示部351は、ボタン1305が押下されたことを検知すると、機器情報を設定するための画面(不図示)を表示する。
ボタン1306は、機器に適用可能なアプリケーション一覧を取得するためのボタンである。機器設定編集プログラム350の表示部351は、ボタン1306が押下されたことを検知すると、処理実行部352に通知する。通信部355は、処理実行部352からの指示を受けて機器設定管理サーバ102にアプリケーション一覧の取得要求を行う。本取得要求には、ボタン1303押下時と同様にS1101で受信したコードと、S1105で取得したトークンを付加する。そのため、コードとユーザIDが一致する他のトークンの有効期間も更新される。
コンボボックス1307は、機器に適用するアプリケーションを選択するためのコンボボックスである。コンボボックス1307には、前述したボタン1306の押下により取得した機器に適用可能なアプリケーションの一覧を表示する。
ボタン1308は、機器に適用するアプリケーションを追加するためのボタンである。機器設定編集プログラム350の表示部351は、ボタン1308の押下を検知すると、コンボボックス1307で選択されているアプリケーションを機器に適用するアプリケーションとして、後述するリスト1309に追加する。
リスト1309は、機器に適用するアプリケーションを表すリストである。機器に適用する対象となるアプリケーションを表示する。機器には複数のアプリケーションを適用することが可能である。
ボタン1310は、機器に適用するアプリケーションを対象から外すためのボタンである。機器設定編集プログラム350の表示部351は、ボタン1310が押下されたことを検知すると、リスト1309で選択されているレコードを削除する。
ボタン1311は、機器設定をUSBストレージ212にエクスポートするためのボタンである。機器設定編集プログラム350の表示部351は、ボタン1311ボタンが押下されたことを検知すると、処理実行部352に通知する。ストレージ制御部353は、処理実行部352からの指示を受けてUSBストレージ212に機器設定の書き込みを行う。
ボタン1312は、機器設定管理サーバ102に機器設定を保存するためのボタンである。機器設定編集プログラム350の表示部351は、ボタン1312が押下されたことを検知すると、処理実行部352に通知する。通信部355は、処理実行部352からの指示を受けて機器設定管理サーバ102に機器設定の保存要求を行う。本保存要求には、ボタン1303押下時と同様にS1101で受信したコードと、S1105で取得したトークンを付加する。そのため、コードとユーザIDが一致する他のトークンの有効期間も更新される。
以上までが、機器設定編集プログラム350の表示部351が機器設定の編集画面を表示するまでの処理である。以降、Webブラウザ300、機器設定編集プログラム350それぞれが、機器設定管理プログラム400に対する要求にコードを含める。これにより、いずれのアプリケーションからの要求であっても両方のトークンの有効期間が延長される。また、複数の機器設定の編集のために機器設定編集プログラム350を複数起動した場合でも同様に、一度認証した後の機器設定管理プログラム400に対する要求にコードを含めることで、同一コードに紐付けられた他のトークンの有効期間も延長される。
このような処理により、ネイティブアプリケーションのUIと、Webブラウザに表示されるWebアプリケーションのUIを相互に操作するような場合でも、どちらか一方のUIを操作している間に他方でタイムアウトが発生することを抑えることができる。
<無効なトークンの削除処理>
次に、機器設定管理サーバ102の機器設定管理プログラム400が管理する無効なトークンの削除について説明する。
図14は、機器設定管理サーバ102の機器設定管理プログラム400が実行する無効なトークンの削除処理を示したフローチャートである。本処理は、定期的に実行されるようにスケジュールされて実行する処理である。このフローチャートの処理は、機器設定管理サーバ102のCPU251が、HDD254等に記憶されるプログラムを必要に応じてRAM253にロードして実行することにより実現される。
S1401において、コード管理部405は、コード管理テーブル520で管理するトークンの中でカラム524に格納されている最終アクセス日時が所定期間を過ぎているトークンがあるかを判断する。所定期間は、例えば認証サーバの認証管理プログラム450が管理するトークンの有効期間である。
そして、最終アクセス日時が所定期間を過ぎているトークンがないと判断した場合(S1401でNoの場合)、本フローチャートの処理を終了する。
一方、コード管理テーブル520で管理するトークンの中でカラム524に格納されている最終アクセス日時が所定期間を過ぎているトークンがあると判断した場合(S1401でYesの場合)、S1402に遷移する。
S1402は、繰り返しの処理を表す。S1402において、機器設定管理プログラム400は、最終アクセス日時が所定期間を過ぎているトークンの数だけ、S1403の処理を繰り返すように制御する。まず、機器設定管理プログラム400は、最終アクセス日時が所定期間を過ぎているトークンのうち、S1403の処理を未実行のトークンを1つ取得し(以下、処理対象のトークン)、S1403に遷移する。
S1403において、コード管理部405は、最終アクセス日時が所定期間を過ぎている処理対象のトークンを、コード管理テーブル520から削除して、S1402に遷移する。
そして、上記S1402において、機器設定管理プログラム400は、最終アクセス日時が所定期間を過ぎているトークンのうち、上記S1403の処理を未実行のトークンが存在する場合には、そのうちの1つを処理対象のトークンとし、S1403に遷移する。一方、上記S1403の処理を未実行のトークンが存在しない場合、すなわち、全ての繰り返しを終えた場合、本フローチャートの処理を終了する。
以上が、無効なトークンの削除処理である。これにより機器設定管理プログラム400が管理するトークンが無効になった後も残り続けることを防ぐことができる。
以上のように、機器設定管理サーバ102の機器設定管理プログラム400は、Webブラウザ300からの認証サーバ103により発行されたトークンと機器設定編集プログラム350からの認証サービス103により発行されたトークンとを紐付けて管理する。そして、Webブラウザ300または機器設定編集プログラム350から要求を受信した場合に、該要求に対応するトークンと紐付けられて管理されている認証情報の検証要求を、認証サーバ103に対して行って、そのトークンの有効期間を更新させる構成を有する。このような構成により、Webブラウザ300、ネイティブアプリケーションである機器設定編集プログラム350のどちらのUIを操作していても、両方のタイムアウトの発生を抑えることができる。
なお、上記実施例では、クライアントコンピュータで動作するWebアプリケーションにアクセスする複数のアプリケーションプログラムの例として、Webブラウザとネイティブアプリケーションを用いる場合を説明した。しかし、この組み合わせに限定されるものではなく、両方がネイティブアプリケーションであってもよい。また、3つ以上のアプリケーションプログラムがWebアプリケーションにアクセスする構成でもよい。いずれの構成でもあっても、Webアプリケーションにアクセスする複数のアプリケーション(上記例ではWebブラウザ300、機器設定編集プログラム350)のUIを相互に操作することが多い場合でも、どちらか一方のUIを操作している間に、他方でタイムアウトが発生してしまうことを抑え、ユーザの利便性を高めることができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 クライアントコンピュータ
102 機器設定管理サーバ
103 認証サーバ

Claims (13)

  1. ユーザ認証を行って有効期間を有する認証情報を発行する認証サービスと、前記認証サービスにより発行された認証情報を用いてアクセス可能なサーバと、前記サーバにアクセスする第1のアプリケーションおよび第2のアプリケーションが動作するクライアント端末とを有するシステムであって、
    前記認証サービスは、
    前記サーバからの要求に応じて前記認証情報が有効であるか検証し、有効である場合に該認証情報の有効期間を更新する検証手段を有し、
    前記サーバは、
    前記第1のアプリケーションから受信した前記認証サービスにより発行された第1の認証情報と前記第2のアプリケーションから受信した前記認証サービスにより発行された第2の認証情報とを紐付けて管理する管理手段と、
    前記第1のアプリケーションまたは前記第2のアプリケーションから要求を受信した場合に、該要求に対応する認証情報と紐付けられて前記管理手段で管理されている認証情報の検証要求を、前記認証サービスに対して行って、その認証情報の有効期間を更新させる更新手段と、を有することを特徴とするシステム。
  2. 前記サーバは、
    前記第1のアプリケーションから前記認証サービスにより発行された第1の認証情報を受信した場合に固有のコードを発行する発行手段と、
    前記コードが発行された場合に、該コードを前記第1のアプリケーションに対する応答に含める応答手段と、を有し、
    前記管理手段は、前記コードが発行された場合に、該コードと該第1の認証情報とを紐付けて記憶し、また、前記第2のアプリケーションから前記コードおよび前記認証サービスにより発行された第2の認証情報を受信した場合に、該コードと該第2の認証情報とを紐付けて記憶し、
    前記更新手段は、前記第1のアプリケーションまたは前記第2のアプリケーションから前記コードを受信した場合に、該コードと紐付けられて前記管理手段で記憶されている認証情報の検証要求を、前記認証サービスに対して行い、
    前記クライアント端末は、
    前記サーバで発行されたコードを前記第2のアプリケーションに渡し、前記第1のアプリケーションおよび前記第2のアプリケーションは、前記コードが発行されている場合、前記サーバとの通信に前記コードを含めることを特徴とする請求項1に記載のシステム。
  3. 前記応答手段は、前記第2のアプリケーションを起動し前記コードを前記第2のアプリケーションに渡すためのコマンドを含めたWebページを、前記第1のアプリケーションに応答し、
    前記第1のアプリケーションは、Webブラウザであり、前記コマンドを実行することにより前記第2のアプリケーションを起動して前記コードを前記第2のアプリケーションに渡すことを特徴とする請求項2に記載のシステム。
  4. 前記管理手段は、前記コード、前記認証情報およびユーザ情報を紐付けて記憶するものであり、
    前記更新手段は、前記第1のアプリケーションまたは前記第2のアプリケーションから前記コードおよび前記認証情報を受信した場合に、該コードと、前記認証情報に基づいて前記認証サービスから取得されたユーザ情報とに紐付けられて前記管理手段に記憶されている認証情報の検証要求を、前記認証サービスに対して行うことを特徴とする請求項2又は3に記載のシステム。
  5. 前記管理手段は、前記コード、前記認証情報、および、前記認証情報に対応する前記サーバへの最終アクセス日時を紐付けて記憶するものであり、
    前記更新手段は、前記認証サービスに対して検証要求を行う認証情報と紐付けられて前記管理手段に記憶されている最終アクセス日時の更新も行い、
    前記サーバは、所定期間を過ぎている最終アクセス日時に紐付けられている認証情報を、前記管理手段から削除する削除手段を有する、
    ことを特徴とする請求項2乃至4のいずれか1項に記載のシステム。
  6. ユーザ認証を行って有効期間を有する認証情報を発行する認証サービスにより発行された認証情報を用いてアクセス可能なサーバであって、
    クライアント端末で動作する第1のアプリケーションから受信した前記認証サービスにより発行された第1の認証情報と前記クライアント端末で動作する第2のアプリケーションから受信した前記認証サービスにより発行された第2の認証情報とを紐付けて管理する管理手段と、
    前記第1のアプリケーションまたは前記第2のアプリケーションから要求を受信した場合に、該要求に対応する認証情報と紐付けられて前記管理手段で管理されている認証情報の検証要求を、前記認証サービスに対して行って、その認証情報の有効期間を更新させる更新手段と、を有し、
    前記認証サービスは、前記サーバからの要求に応じて前記認証情報が有効であるか検証し、有効である場合に該認証情報の有効期間を更新することを特徴とするサーバ。
  7. クライアント端末で動作する第1のアプリケーションから前記認証サービスにより発行された第1の認証情報を受信した場合に固有のコードを発行する発行手段と、
    前記コードが発行された場合に、該コードを前記第1のアプリケーションに対する応答に含める応答手段を有し、
    前記管理手段は、前記コードが発行された場合に、該コードと該第1の認証情報とを紐付けて記憶し、また、前記第2のアプリケーションから前記コードおよび前記認証サービスにより発行された第2の認証情報を受信した場合に、該コードと該第2の認証情報とを紐付けて記憶し、
    前記更新手段は、前記第1のアプリケーションまたは前記第2のアプリケーションから前記コードを受信した場合に、該コードと紐付けられて前記管理手段で記憶されている認証情報の検証要求を、前記認証サービスに対して行い、
    前記第1のアプリケーションは、前記サーバで発行されたコードを前記第2のアプリケーションに渡し、前記第1のアプリケーションおよび前記第2のアプリケーションは、前記コードが発行されている場合、前記サーバとの通信に前記コードを含めることを特徴とする請求項6に記載のサーバ。
  8. 前記応答手段は、前記第2のアプリケーションを起動し前記コードを前記第2のアプリケーションに渡すためのコマンドを含めたWebページを、前記第1のアプリケーションに応答し、
    前記第1のアプリケーションは、Webブラウザであり、前記コマンドを実行することにより前記第2のアプリケーションを起動して前記コードを前記第2のアプリケーションに渡すことを特徴とする請求項7に記載のサーバ。
  9. 前記管理手段は、前記コード、前記認証情報およびユーザ情報を紐付けて記憶するものであり、
    前記更新手段は、前記第1のアプリケーションまたは前記第2のアプリケーションから前記コードおよび前記認証情報を受信した場合に、該コードと、前記認証情報に基づいて前記認証サービスから取得されたユーザ情報とに紐付けられて前記管理手段に記憶されている認証情報の検証要求を、前記認証サービスに対して行うことを特徴とする請求項7又は8に記載のサーバ。
  10. 前記管理手段は、前記コード、前記認証情報、および、前記認証情報に対応する前記サーバへの最終アクセス日時を紐付けて記憶するものであり、
    前記管理手段は、前記認証サービスに対して検証要求を行う認証情報と紐付けられて前記管理手段に記憶されている最終アクセス日時の更新も行い、
    前記サーバは、所定期間を過ぎている最終アクセス日時に紐付けられている認証情報を、前記管理手段から削除する削除手段を有する、
    ことを特徴とする請求項7乃至9のいずれか1項に記載のサーバ。
  11. ユーザ認証を行って有効期間を有する認証情報を発行する認証サービスと、前記認証サービスにより発行された認証情報を用いてアクセス可能なサーバと、前記サーバにアクセスする第1のアプリケーションおよび第2のアプリケーションが動作するクライアント端末とを有するシステムの制御方法であって、
    前記認証サービスが実行する、
    前記サーバからの要求に応じて前記認証情報が有効であるか検証し、有効である場合に該認証情報の有効期間を更新する検証ステップと、
    前記サーバが実行する、
    前記第1のアプリケーションから受信した前記認証サービスにより発行された第1の認証情報と前記第2のアプリケーションから受信した前記認証サービスにより発行された第2の認証情報とを紐付けて管理する管理ステップと、
    前記第1のアプリケーションまたは前記第2のアプリケーションから要求を受信した場合に、該要求に対応する認証情報と紐付けられて前記管理ステップで管理されている認証情報の検証要求を、前記認証サービスに対して行って、それらの認証情報の有効期間を更新させる更新ステップと、
    を有することを特徴とするシステムの制御方法。
  12. ユーザ認証を行って有効期間を有する認証情報を発行する認証サービスにより発行された認証情報を用いてアクセス可能なサーバの制御方法であって、
    クライアント端末で動作する第1のアプリケーションから受信した前記認証サービスにより発行された第1の認証情報と前記クライアント端末で動作する第2のアプリケーションから受信した前記認証サービスにより発行された第2の認証情報とを紐付けて管理する管理ステップと、
    前記第1のアプリケーションまたは前記第2のアプリケーションから要求を受信した場合に、該要求に対応する認証情報と紐付けられて前記管理ステップで管理されている認証情報の検証要求を、前記認証サービスに対して行って、それらの認証情報の有効期間を更新させる更新ステップと、を有し、
    前記認証サービスは、前記サーバからの要求に応じて前記認証情報が有効であるか検証し、有効である場合に該認証情報の有効期間を更新することを特徴とするサーバの制御方法。
  13. コンピュータを、請求項6乃至10のいずれか1項に記載の手段として機能させるためのプログラム。
JP2016054307A 2016-03-17 2016-03-17 システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム Pending JP2017167954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016054307A JP2017167954A (ja) 2016-03-17 2016-03-17 システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016054307A JP2017167954A (ja) 2016-03-17 2016-03-17 システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2017167954A true JP2017167954A (ja) 2017-09-21

Family

ID=59913799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016054307A Pending JP2017167954A (ja) 2016-03-17 2016-03-17 システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2017167954A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446023A (zh) * 2018-10-12 2019-03-08 上海东土远景工业科技有限公司 一种数据采集周期的确定方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446023A (zh) * 2018-10-12 2019-03-08 上海东土远景工业科技有限公司 一种数据采集周期的确定方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US8983935B2 (en) Methods for utilizing a javascript emulator in a web content proxy server and devices thereof
EP2972827B1 (en) Collaborative editing
WO2015196979A1 (en) Web page information presentation method and system
KR20150033453A (ko) 빅데이터 처리 방법, 이를 수행하는 빅데이터 처리 장치 및 이를 저장하는 기록매체
JP2016177553A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP5604016B1 (ja) スクリプトのキャッシュ方法及びそれを適用した情報処理装置
JP5544029B1 (ja) 環境構築装置および環境構築プログラム
JP5393242B2 (ja) データ提供方法および中間サーバ装置
JP2017167954A (ja) システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム
JP5224839B2 (ja) 文書管理システム、文書管理装置、文書管理方法及びプログラム
JP5703352B2 (ja) アプリケーションシステム、携帯端末、サーバコンピュータおよびコンピュータプログラム
JP6231260B2 (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
US20220206763A1 (en) Information processing system, information processing apparatus information processing method, and program
JP6729166B2 (ja) 情報処理装置及びプログラム
JP6403429B2 (ja) 画像形成装置、その制御方法、及びプログラム
JP6728840B2 (ja) 画像処理サーバ、振分装置及びプログラム
JP5835447B2 (ja) 情報処理装置、情報処理システム、制御方法、およびプログラム
JP6331455B2 (ja) 情報処理システム、及びその制御方法、並びに情報処理サーバ、その制御方法、及びプログラム
JP2014071789A (ja) 情報処理装置およびプログラム
JP2011253423A (ja) 作業支援システム
JP6941980B2 (ja) テストシナリオ実行システムおよびテストシナリオ実行方法
JP2009181240A (ja) ワークフロー処理装置
JP2017027320A (ja) 文書データの表示・編集・印刷方法、装置、処理プログラム
JP5712314B2 (ja) 環境構築装置および環境構築プログラム
JP6588304B2 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180306