JP6471441B2 - 情報処理装置、システム及びプログラム - Google Patents

情報処理装置、システム及びプログラム Download PDF

Info

Publication number
JP6471441B2
JP6471441B2 JP2014193648A JP2014193648A JP6471441B2 JP 6471441 B2 JP6471441 B2 JP 6471441B2 JP 2014193648 A JP2014193648 A JP 2014193648A JP 2014193648 A JP2014193648 A JP 2014193648A JP 6471441 B2 JP6471441 B2 JP 6471441B2
Authority
JP
Japan
Prior art keywords
unit
communication
communication path
information
software
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.)
Expired - Fee Related
Application number
JP2014193648A
Other languages
English (en)
Other versions
JP2016066165A (ja
Inventor
大竹 晋
晋 大竹
石川 智久
智久 石川
芳裕 竹下
芳裕 竹下
洋 劉
洋 劉
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2014193648A priority Critical patent/JP6471441B2/ja
Priority to US14/814,640 priority patent/US9658805B2/en
Priority to CN201510570367.1A priority patent/CN105450890B/zh
Publication of JP2016066165A publication Critical patent/JP2016066165A/ja
Application granted granted Critical
Publication of JP6471441B2 publication Critical patent/JP6471441B2/ja
Expired - Fee Related 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/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/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00214Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission
    • H04N1/00217Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission only involving computer data transmission protocols, e.g. SMTP, WAP or HTTP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • 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/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00413Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
    • 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/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00474Output means outputting a plurality of functional options, e.g. scan, copy or print
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • 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/1222Increasing security of the print job
    • 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/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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/1292Mobile client, e.g. wireless printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup

Description

本発明は、情報処理装置、システム及びプログラムに関する。
特許文献1には、画像形成装置の操作部と外部情報端末の表示部とにおいて操作パネルとしての表示画面データを表示する技術が記載されている。
特開2013−256016号公報
本発明は、複数の通信プロトコルを併用するソフトウェアにおいて、認証に関するユーザの操作負荷を軽減することを目的とする。
本発明の請求項1に係る情報処理装置は、ウェブクライアントとして機能するソフトウェアから第1通信プロトコルによる第1通信路を介して認証情報を受信する第1受信手段と、前記受信された認証情報を用いた認証に成功した場合、前記第1通信路を介した通信を許可するとともに、アクセス許可情報を前記第1通信路により前記ソフトウェアへ送信する送信手段と、前記第1通信プロトコルと異なる第2通信プロトコルによる第2通信路の確立要求を、前記ソフトウェアから受信する第2受信手段と、前記送信されたアクセス許可情報が前記受信された確立要求に含まれている場合、前記ソフトウェアと前記第2通信路を確立する確立手段と、前記確立された第2通信路が切断された場合、切断された第2通信路が確立されていたソフトウェアとの第1通信路を切断する切断手段とを有し、前記切断手段は、前記ソフトウェアの優先度に応じて前記第1通信路を切断するか否かを判断することを特徴とする。
本発明の請求項2に係る情報処理装置は、請求項1に記載の構成において、前記アクセス許可情報には有効期限が設定されており、前記確立手段は、前記確立要求に含まれているアクセス許可情報の有効期限が過ぎている場合、前記第2通信路を確立しないことを特徴とする。
本発明の請求項3に係る情報処理装置は、請求項1または2に記載の構成において、前記確立された第2通信路が切断された後にアクセス許可情報の取得要求を前記ソフトウェアから前記通信が許可された第1通信路を介して受信した場合、前記送信手段は、アクセス許可情報を当該第1通信路により当該ソフトウェアへ送信することを特徴とする。
本発明の請求項に係るシステムは、第1情報処理装置と、第2情報処理装置とを有し、前記第1情報処理装置は、ウェブクライアントとして機能する第1ソフトウェアから第1通信プロトコルによる第1通信路を介して認証情報を受信する第1受信手段と、前記受信された認証情報を用いた認証に成功した場合、前記第1通信路を介した通信を許可するとともに、アクセス許可情報を前記第1通信路により前記第1ソフトウェアへ送信する送信手段と、前記第1通信プロトコルと異なる第2通信プロトコルによる第2通信路の確立要求を、前記第1ソフトウェアから受信する第2受信手段と、前記送信されたアクセス許可情報が前記受信された確立要求に含まれている場合、前記第1ソフトウェアと前記第2通信路を確立する確立手段と、前記確立された第2通信路が切断された場合、切断された第2通信路が確立されていたソフトウェアとの第1通信路を切断する切断手段とを備え、前記第2情報処理装置は、前記認証情報を取得する取得手段と、前記取得された認証情報を、サーバとして機能する第2ソフトウェアへ前記第1通信路を介して送信する第1送信手段と、前記第2ソフトウェアから前記第1通信路を介してアクセス許可情報を受信する受信手段と、前記第2通信路の確立要求であって前記受信されたアクセス許可情報を含む確立要求を、前記第1通信路を介して前記第2ソフトウェアへ送信する第2送信手段とを備え、前記切断手段は、前記ソフトウェアの優先度に応じて前記第1通信路を切断するか否かを判断することを特徴とする。
本発明の請求項に係るプログラムは、コンピュータに、ウェブクライアントとして機能するソフトウェアから第1通信プロトコルによる第1通信路を介して認証情報を受信するステップと、前記受信された認証情報を用いた認証に成功した場合、前記第1通信路を介した通信を許可するとともに、アクセス許可情報を前記第1通信路により前記ソフトウェアへ送信するステップと、前記第1通信プロトコルと異なる第2通信プロトコルによる第2通信路の確立要求を、前記ソフトウェアから受信するステップと、前記送信されたアクセス許可情報が前記受信された確立要求に含まれている場合、前記ソフトウェアと前記第2通信路を確立するステップと、前記確立された第2通信路が切断された場合、切断された第2通信路が確立されていたソフトウェアとの第1通信路を切断するか否かを、該ソフトウェアの優先度に応じて判断するステップとを実行させるためのプログラムであることを特徴とする。
請求項1、4および5に係る発明によれば、第1の通信プロトコルについての認証に成功した場合に発行されるアクセス許可情報を第2通信プロトコルの通信確立に用いるので、複数の通信プロトコルを併用するソフトウェアにおける認証に関するユーザの操作負荷が軽減されるとともに、第2通信路が切断された場合にソフトウェアの優先度に応じて第1通信路を切断するか否かを判断しない場合と比べて、通信に係るセキュリティの信頼性が高まる
請求項2に係る発明によれば、アクセス許可情報に有効期限を設けることにより、セキュリティの方針に基づいた設定をすることが可能となる。
請求項3に係る発明によれば、第2通信路が切断された場合に、通信が許可された第1通信路を介してアクセス許可情報が送信されない場合と比べて、第2通信路の再確立に係る処理負荷が軽減される
実施形態の情報処理システムの全体構成の一例を示すブロック図 表示された操作画像の一例を示す図 表示された状況情報の例を示す図 ユーザ装置のハードウェア構成の一例を示すブロック図 操作装置のハードウェア構成の一例を示すブロック図 情報処理装置のハードウェア構成の一例を示すブロック図 情報処理システムの機能構成の一例を示すブロック図 情報処理システムの構成を表す階層構造の一例を示す図 機能部に含まれるモジュール群の一例を示す図 表示された状況情報の例を示す図 表示された状況情報の例を示す図 第1の方法が用いられる場合の各装置の動作の一例を示すシーケンス図 第2の方法が用いられる場合の各装置の動作の一例を示すシーケンス図 第3の方法が用いられる場合の各装置の動作の一例を示すシーケンス図 第4の方法が用いられる場合の各装置の動作の一例を示すシーケンス図 ログイン動作の一例を示すシーケンス図 ユーザ管理テーブルの内容の一例を示す図 第2チャネルの再接続動作の一例を示すシーケンス図 変形例の情報処理装置のハードウェア構成の一例を示す図 変形例の情報処理装置のハードウェア構成の一例を示す図
[1]実施形態
まず、図1から図11までを参照して、実施形態の情報処理システムの全体構成、ハードウェア構成及び機能構成について説明する。
[1−1]全体構成
図1は、情報処理システムの全体構成の一例を示すブロック図である。図1では、通信回線2と、通信機器3と、情報処理装置10と、複数のユーザ装置20とを備える情報処理システム1が示されている。情報処理システム1は、本実施形態では、コピーやスキャン、FAX(ファクシミリ)、プリント(画像データの媒体への出力)などの機能をユーザに提供するシステムである。
通信回線2は、例えばインターネットや移動体通信網、電話回線などのうちの少なくとも1つ以上を含む通信のためのシステムである。通信回線2は、自システムに接続された装置同士の通信を仲介する。通信回線2には、情報処理装置10及び通信機器3が接続されている。通信機器3は、通信機能を有する装置であり、本実施形態では無線LANの規格に準拠して無線通信を行う。通信機器3は、ユーザ装置20と無線通信を行う一方、通信回線2を介して情報処理装置10と通信する。つまり、情報処理装置10は、通信回線2及び通信機器3を介してユーザ装置20と通信する。また、情報処理装置10とユーザ装置30は、通信機器3を介することなく、直接通信するように構成してもよい。
情報処理装置10は、媒体に画像を形成する画像形成処理や、媒体に形成された画像を読み取る画像読取処理などの処理を行う装置である。これらの処理は、前述したコピーやスキャン、FAX、プリントなどの機能がユーザに提供される際に行われる。情報処理装置10は、自装置の操作に用いられる操作装置30を有する。操作装置30は、情報処理装置10を操作するための装置であり、いわゆるコントロールパネルである。操作装置30は、情報処理装置10の筐体に固定されており、情報処理装置10が設置されている場所に来たユーザによって用いられる。操作装置30は、例えば液晶ディスプレイ等を有し、情報処理装置10を操作するための画像データ(以下「操作画像データ」という)を表示する。操作画像データに基づき表示される操作画像について、図2を参照して説明する。
図2は、操作装置30に表示される操作画像の一例を示す図である。図2の例では、コピー機能を利用するための操作画像データ群A1が表示されている。操作画像データ群A1には、コピーを開始させるための操作画像データA11などが含まれている。ユーザは、操作画像データA11をタップする(軽く叩く)ことで、操作画像データA11に対応する操作、すなわちコピーを開始させる操作を行う。操作装置30は、表示した操作画像データに対して操作が行われると、その操作に対応した処理の要求を情報処理装置10に対して行う。操作画像データA11が操作された場合であれば、操作装置30は、コピー機能を提供するための処理(具体的には画像読取処理および画像形成処理を含む一連の処理。以下「コピー処理」という)を情報処理装置10に要求する。
図1の説明に戻る。ユーザ装置20は、例えばタブレット端末やパーソナルコンピュータなどの装置である。ユーザ装置20は、ユーザによって持ち運ばれて利用されるものでもよいし、机に設置されて利用されるものでもよい。また、ユーザ装置20は、情報処理装置10の操作に限らず、他の用途(会社の業務など)にも用いられてもよい。ユーザ装置20は、操作画像データを表示し、表示した操作画像データに対して操作が行われると、その操作に対応した処理の要求を情報処理装置10に対して行うという点で、操作装置30と共通している。
情報処理装置10は、操作装置30やユーザ装置20からの要求に基づいて処理を実行すると、実行している処理の状況を表す情報(以下「状況情報」という)をこれらの装置に送信することで、これらの装置に対して処理の状況を通知する。状況情報とは、例えば、コピー機能が利用される場合であれば、画像が読み取られた媒体の枚数や画像が形成された媒体の枚数などの処理の状況を示す情報である。
図3は、表示された状況情報の例を示す図である。情報処理装置10は、例えばコピー処理を実行した場合であれば、図3(a)に示すように、コピーが完了した枚数(部数及びページ数)を表す枚数情報C11や「コピーしています。」という文字列、「白黒」、「A4」、「100%」及び「ソート」というコピーのパラメータなどを含む状況情報C1を送信する。
また、情報処理装置10は、コピー処理が進んで要求された枚数のコピーが完了すると、図3(b)に示すように、要求された枚数の分のコピーが完了したことを表す枚数情報C21や「コピーが完了しました。」という文字列などを含む状況情報C2を送信する。なお、枚数情報C11及びC21は、コピーを要求された枚数を分母とし、そのうちコピーが完了した枚数を分子とする分数で表されている。このように、状況情報には、処理の進捗を表す情報や処理の結果を表す情報、処理に用いられるパラメータの情報などが含まれる。操作装置30及びユーザ装置20は、いずれも、通知された状況を図3に示すように表示する表示装置でもある。以下では、操作装置30及びユーザ装置20を区別しない場合には表示装置4という。
[1−2]ハードウェア構成
図4は、ユーザ装置20のハードウェア構成の一例を示すブロック図である。ユーザ装置20は、制御部21と、記憶部22と、通信部23と、表示部24と、操作部25とを備える。制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)及びリアルタイムクロックを備え(いずれも図示略)、CPUが、RAMをワークエリアとして用いてROMや記憶部22に記憶されたプログラムを実行することによって各部の動作を制御する。リアルタイムクロックは、現在の日時を算出してCPUに通知する。
記憶部22は、ハードディスクドライブ等を備え、制御部21が制御に用いるデータやプログラム、画像データなどを記憶する。通信部23は、無線LAN(Local Area Network)の規格に準拠して無線通信を行う通信回路及びアンテナを備える通信手段であり、例えば図1に示す通信機器3と無線通信を行う。表示部24は、例えば液晶ディスプレイを有し、制御部21により制御されて表示面に画像を表示する。操作部25は、例えば自装置がタブレット端末である場合には、表示面に重ねて設けられたタッチセンサ(タッチスクリーンやタッチパネルともいう)や筐体に設けられたボタン等を備え、上述したタップ等のユーザの操作を受け付けてその操作の内容を示す操作データを制御部21に供給する。なお、自装置がパーソナルコンピュータである場合には、操作部25はキーボードやマウスを備えていてもよい。制御部21は、供給された操作データに応じた制御を行う。
図5は、操作装置30のハードウェア構成の一例を示すブロック図である。操作装置30は、制御部31と、記憶部32と、通信部33と、表示部34と、操作部35とを備える。以下、図4に示すブロックと共通のハードウェアを表すブロック(通信部33を除く各部)には、共通の名称を付して説明を省く。通信部33は、有線LANの規格に準拠して通信を行う通信回路と、通信用のケーブル(具体的にはLANケーブル)が有するコネクタを差し込むポートとを備える通信手段である。
上述したように、操作装置30とユーザ装置20を区別しない場合には表示装置4という。これに伴い、制御部31と制御部21を区別する必要がない場合には「制御部141」という。記憶部32と記憶部22を区別する必要がない場合には「記憶部142」という。表示部34と表示部24を区別する必要がない場合には「表示部144」という。操作部35と操作部25を区別する必要がない場合には「操作部145」という。
図6は、情報処理装置10のハードウェア構成の一例を示すブロック図である。情報処理装置10は、制御部11と、記憶部12と、画像読取部13と、画像形成部14と、第1通信部15と、第2通信部16と、接続部17とを備える。以下、図4及び図5に示すブロックと共通のハードウェアを表すブロック(制御部11及び記憶部12)には、共通の名称を付して説明を省く。また、情報処理装置10は、UI(User Interface)部として機能する前述した操作装置30を備えている。制御部11は、本実施形態では、操作装置30を除く各部を制御する。
画像読取部13は、例えばCCD(Charge Coupled Devices)方式を用いて、原稿に描かれた画像を読み取る画像読取処理を行う。画像読取部13は、用紙等の媒体に形成されたコンテンツの画像を光学的に読み取って、読み取った画像を表す画像データを制御部11に供給する。画像形成部14は、例えば電子写真方式を用いて、媒体に画像を形成する画像形成処理を行う。画像形成部14は、制御部11から供給される画像データが示す画像を用紙等の媒体に形成する。なお、画像の読み取り及び画像の形成に用いられる前述した方式は、それぞれ一例であり、他の方式であってもよい。
第1通信部15は、通信用のケーブルやデータバスを介して操作装置30の通信部33と接続され、前述した外部装置を介さずに操作装置30と通信する。つまり、通信部33も、前述した外部装置を介さずに情報処理装置10と通信する。第2通信部16は、有線LANまたは無線LANの規格に準拠して通信を行う通信回路と、通信用のケーブル(LANケーブル)が有するコネクタを差し込むポートや無線LANの規格に準拠した無線の送受信装置とを通信用のインターフェースとして備え、このインターフェースを介して接続される装置と通信する通信処理を行う。第2通信部16は、図1に示す通信回線2に接続されて、外部装置(情報処理装置10にとっての外部装置であり、例えば通信機器3)を介して例えばユーザ装置20と通信する。
接続部17は、SDメモリーカード等の記憶媒体を接続するスロット等を有し、それらの記憶媒体と接続する。制御部11は、接続部17を介して、それらの記憶媒体に記憶されているデータの読み出しや記憶媒体へのデータの書き込みを行う。操作装置30は、図5の説明で述べた構成を備え、第1通信部15と通信する。操作装置30は、この通信を行うことで、例えば制御部11から送信されてくるデータが示す画像を表示したり、情報処理装置10を操作するためのデータを制御部11に送信したりするユーザインターフェース部(UI部)として機能する。
[1−3]機能構成
図7は、情報処理システム1の機能構成の一例を示すブロック図である。情報処理システム1は、情報処理装置10(第1情報処理装置の一例)と、表示装置4(すなわち操作装置30またはユーザ装置20(第2情報処理装置の一例))とを有する。情報処理装置10は、第1受信手段101と、送信手段102と、第2受信手段103と、確立手段104と、切断手段105とを備える。第1受信手段101は、ウェブクライアントとして機能するソフトウェアから、第1通信プロトコルによる第1通信路を介して認証情報を受信する。
送信手段102は、第1受信手段101により受信された認証情報を用いた認証に成功した場合、第1通信路を介した通信を許可するとともに、アクセスを許可する情報であるアクセストークン(アクセス許可情報の一例)を第1通信路により上記ソフトウェアへ送信する。第2受信手段103は、第1通信プロトコルと異なる第2通信プロトコルによる第2通信路の確立要求を、上記ソフトウェアから受信する。確立手段104は、送信手段102により送信されたアクセストークンが、第2受信手段103により受信された確立要求に含まれている場合、上記ソフトウェアと第2通信路を確立する。
切断手段105は、確立手段104により確立された第2通信路が切断された場合、切断された第2通信路が確立されていたソフトウェアとの第1通信路を切断する。この例で、情報処理装置10の制御部11、または、制御部11および第1通信部15は、第1受信手段101、送信手段102、第2受信手段103、確立手段104および切断手段105の一例である。
なお、切断手段105は、第2通信路が切断された場合に、ウェブクライアントの優先度に応じて、第1通信路を切断するか否かを判断してもよい。例えば、切断手段105は、ウェブクライアントがローカルのUI部(操作装置30)である場合は信頼性が高いので第1通信路を切断せず、リモートのUI部(ユーザ装置20)である場合は信頼性が低いので第1通信路を切断する。また、切断手段105は、ウェブクライアントの接続履歴を記録しておき、接続履歴が記録されたウェブクライアントである場合には、第1通信路を切断しないようにしてもよい。
表示装置4は、取得手段401と、第1送信手段402と、受信手段403と、第2送信手段404と、第3送信手段405とを備える。取得手段401は、認証情報を取得する。第1送信手段402は、取得手段401により取得された認証情報を、サーバとして機能するソフトウェアへ第1通信プロトコルによる第1通信路を介して送信する。受信手段403は、上記ソフトウェアから第1通信路を介してアクセストークンを受信する。第2送信手段404は、第2通信プロトコルによる第2の通信路の確立要求であって、受信手段403により受信されたアクセストークンを含む確立要求を上記ソフトウェアへ送信する。
第3送信手段405は、第2通信路が切断された場合、第1通信路を介して、受信手段403により受信されたアクセストークンを含む第2通信路の確立要求を、上記ソフトウェアへ送信する。この例で、ユーザ装置20の制御部21、制御部21および通信部23、操作装置30の制御部31、または制御部31および通信部33は、第1受信手段101、送信手段102、第2受信手段103、確立手段104および切断手段105の一例である。
[1−4]階層構造
図8は、情報処理システム1の構成を表す階層構造の一例を示す図である。情報処理システム1は、プレゼンテーション層40と、インターフェース50と、ファンクション層60と、ミドルウェア層70と、ハードウェア層80とを備える。プレゼンテーション層40は表示装置4(すなわち操作装置30およびユーザ装置20)の制御部141が記憶部142に記憶されたプログラムを実行することによって実現される。プレゼンテーション層40はウェブクライアントとして機能するソフトウェアの一例である。インターフェース50、ファンクション層60およびミドルウェア層70は、情報処理装置10の制御部11が記憶部12に記憶されたプログラムを実行することによって実現される。インターフェース50、ファンクション層60およびミドルウェア層70の少なくともいずれかひとつは、サーバとして機能するソフトウェアの一例である。ハードウェア層80は、情報処理装置10のハードウェア資源の集合であり、ミドルウェア層70により制御される。
この実施形態では、プレゼンテーション層40(すなわち表示装置4)とインターフェース50(すなわち情報処理装置10)とは、WWW(World Wide Web:ワールドワイドウェブ。以下「ウェブ」という)の規格に準拠して通信が行われる。この例で、プレゼンテーション層40とインターフェース50とは、HTTP(Hypertext Transfer Protocol)およびWebSocketにより通信を行う。
表示装置4がユーザ装置20である場合、情報処理装置10とユーザ装置20(すなわちプレゼンテーション層40とインターフェース50)は、図1の説明で述べたように、通信回線2および通信機器3を介してデータの授受を行う。すなわち、この場合、情報処理装置10およびユーザ装置20ではない通信機器(通信機器3や通信回線2が有する通信機器など。以下「他の通信機器」という)を介する通信が行われる。一方、表示装置4が操作装置30である場合、情報処理装置10と操作装置30(すなわちプレゼンテーション層40とインターフェース50)は、図6の説明で述べた第1通信部15に接続されているケーブルを介してデータの授受を行う。すなわち、この場合、前述した他の通信機器を介さない通信が行われる。上記他の通信機器には、通信機器3以外にも、例えば通信回線2が有するルータやハブ、ブリッジなどが含まれる。
[1−4−1]プレゼンテーション層
操作装置30またはユーザ装置20に相当するプレゼンテーション層40は、ユーザによる操作を受け付ける機能(いわゆるユーザインターフェース)を実現する。プレゼンテーション層40は、UI制御部41と、デバイス制御部42と、通信部43とを備える。UI制御部41は、ユーザインターフェースを制御する部分であり、インターフェース50(すなわち情報処理装置10)から送信されてくる、上述した操作画像や状況情報を表示部144に表示したり、操作部145から供給されるデータに応じてユーザの操作を受け付けたりする。具体的には、例えば、UI制御部41は、前述した図3に示される状況情報C1や状況情報C2を表示する。ここで、状況情報の他の例について図10及び図11を参照して説明する。
図10は、表示された状況情報の例を示す図である。この例では、媒体を収納する収納部がユーザによって開かれた場合に表示される状況情報が表示されている。具体的には、「用紙収容部がセットされていません。」という文字列を含む状況情報C3が表示されている。
図11は、表示された状況情報の別の例を示す図である。この例では、複数の画像を記憶したSDメモリーカード等の記憶媒体が図6に示す情報処理装置10の接続部17に接続されたときに、その記憶媒体に記憶された画像のサムネイル画像の一覧を表示する処理の状況及び結果が表示されている。図11(a)では、「画像一覧を表示しています。」という文字列と、読み込みが済んだ画像から生成したサムネイル画像(この例では10個のサムネイル画像)とを含む状況情報C4が示されている。図11(b)では、「画像一覧を表示しました。」という文字列と、記憶媒体から読み出した全画像から生成したサムネイル画像の一覧とを含む状況情報C5が示されている。
また、UI制御部41は、例えば情報処理装置10のURL(Uniform Resource Locator)にアクセスする操作をユーザが行うことで、操作画像データの要求を情報処理装置10のインターフェース50に送信する。また、UI制御部41は、送信した操作画像データの要求の応答として情報処理装置10の操作画像管理部63から送信されてきた操作画像データを表示部144に表示する。より具体的には、UI制御部41は、操作画像データによって示される操作画像の配置や大きさなどのパラメータに基づいて、操作画像を表示する。こうして表示された操作画像が例えば図2に示す操作画像データ群A1である。操作画像データを構成する情報の一例としては、HTML(HyperText Markup Language)形式で記述されたファイルがある。UI制御部41は、取得したHTML形式のファイルを解釈して操作画像を表示したり操作情報を受け付けるように制御している。
操作画像データ群A1には、コピーする画像の倍率、コピーした画像を形成する用紙及びコピーした画像のカラーモードというパラメータをそれぞれ選択させるための操作画像データが含まれている。UI制御部41は、ユーザがこれらの操作画像データを操作することで、パラメータを示す画像を選択されたパラメータを表す表示態様に変更して表示する。図2は、現在選択されているコピーの倍率(この例では「110%」)を表す文字列を含む画像と、現在選択されている用紙及びカラーモードを表す操作画像データ(この例では「他の倍率」、「A4普通紙」、「白黒」という文字列が描かれたもの)を、選択されていない選択画像とは異なる態様(この例では線を太くする態様。ハイライトやラジオボタンなどの態様でもよい。)で表示した例である。
操作画像データ群A1には、コピーを開始させるための操作画像データA11が含まれている。操作画像データA11が操作されると、その時点で選択されているパラメータを用いたコピーの処理がインターフェース50を介してファンクション層60に要求される。このように、操作画像データA11は情報処理装置10に要求する内容を決定するための画像である。
図8の説明に戻る。UI制御部41は、表示した操作画像データに関するデータをデバイス制御部42に供給する。操作画像データに関するデータとは、操作画像データが操作されたか否かを判断するために用いられるデータであり、例えば操作画像データが表示されている領域(例えば、ボタン画像やアイコン画像などの領域)を示すデータである。また、UI制御部41は、上記のとおり表示したパラメータを示す画像の表示態様に基づき、パラメータの内容を表すデータをデバイス制御部42に供給する。
デバイス制御部42は、ユーザの操作に基づいてインターフェース50を介してファンクション層60へ処理の実行を要求する。デバイス制御部42は、操作画像データに対する操作がユーザにより行われると、UI制御部41から供給されるデータに基づいて、そのユーザの操作に応じた処理を情報処理装置10に要求する。デバイス制御部42は、例えばユーザが操作部145のタッチセンサをタップした場合に、UI制御部41から供給されたデータに基づき、タップされた位置が操作画像データの領域に含まれているか否かを判断する。デバイス制御部42は、操作画像データの領域に含まれていると判断した場合に、その操作画像データの領域に表示されている操作画像への操作を受け付ける。
デバイス制御部42は、上述した要求内容を決定する画像(図2の例であれば操作画像データA11)への操作を受け付けた場合に、UI制御部41から供給されたデータが示すパラメータを用いて、その画像が示す処理を情報処理装置10に対して要求する。図2に示す状態で操作画像データA11に対する操作が行われた場合であれば、デバイス制御部42は、110%の倍率でA4普通紙に白黒でコピーするための処理を情報処理装置10に要求する。
この例で、デバイス制御部42は、操作された画像(要求内容を決定する画像)に対応する処理(この例ではコピー処理)を、操作により設定されるパラメータを用いて行うという指示を記述したデータ(以下「指示データ」という)を生成する。この実施形態では、指示データはXML(Extensible Markup Language)で記述される。デバイス制御部42は、生成した指示データを含むHTTP(Hypertext Transfer Protocol)リクエストを生成する。デバイス制御部42は、生成したHTTPリクエストをインターフェース50に送信することで、ファンクション層60に対して処理を要求する。このようにデバイス制御部42が処理を要求するためにインターフェース50へ送信するHTTPリクエストのことを以下では「処理要求」という。なお、コピー処理が要求される場合には、指示データを含む処理要求が生成されるが、要求される処理によっては、処理要求に指示データが含まれない場合もある。例えば情報処理装置10の電源を落とす処理が要求される場合には処理要求に指示データが含まれない。
通信部43は、UI制御部41及びデバイス制御部42がインターフェース50と行う通信を制御する。
[1−4−2]インターフェース50
インターフェース50は、プレゼンテーション層40とファンクション層60との接続を仲介する機能を実現する層である。プレゼンテーション層40とインターフェース50との接続は、図1に示す通信機器3等の通信機能を有する外部装置を介する場合(ユーザ装置20との接続)と、そういった外部装置を介さない場合(操作装置30との接続)とがある。インターフェース50は、ユーザ装置20及び操作装置30との通信を、共通の通信手順(HTTP、WebSocketなどの規格に準拠した通信の手順)で仲介する。インターフェース50は、例えばプレゼンテーション層40から送信されてくるHTTPリクエストを受け取ってファンクション層60に供給したり、その応答でファンクション層60から供給されるHTTPレスポンスを受け取ってプレゼンテーション層40に向けて送信したりする。
[1−4−3]ファンクション層60
ファンクション層60は、コピー機能やスキャン機能など、目的とする用途に沿ってデータを加工する機能を実現する層である。ファンクション層60は、受付・応答部61と、イベント通知部62と、操作画像管理部63と、操作画像DB(Data Base:データベース)64と、コピー機能やスキャン機能などを提供する機能部65とを備える。
受付・応答部61は、プレゼンテーション層40からインターフェース50を介して送信されてくる処理要求を受け付け、機能部65に処理を依頼する。このとき、受付・応答部61は、依頼された処理を識別する情報として、トランザクションIDを発行する。また、受付・応答部61は、その処理を要求してきた要求元(表示装置4)を識別する情報として、クライアントIDを発行する。受付・応答部61は、発行したトランザクションID及びクライアントIDと、要求元の表示装置4の通信の宛先を互いに対応付けて記憶部12に記憶させる。受付・応答部61は、機能部65に処理を依頼する際に、発行したトランザクションIDを機能部65に供給する。また、受付・応答部61は、受け付けた要求に対する応答を、インターフェース50を介してプレゼンテーション層40に送信する。応答は、要求を受け付けた旨を示すだけの場合もあれば、状況情報を含む場合もある。
イベント通知部62は、状況情報を含む通知データを生成し、生成した通知データを,
WebSocketプロトコルを用いてインターフェース50を介してプレゼンテーション層40に送信する。
本実施形態では、ファンクション層60とプレゼンテーション層40は、大別して4つの方法で、要求、応答または通知の送信を行う。第1および第2の方法は、HTTPプロトコルが用いられる方法であり、これらは受付・応答部61により行われる。一方、第3の方法は、HTTPプロトコルとWebSocketプロトコルとが併用される方法であり、この方法は受付・応答部61とイベント通知部62が協働することにより行われる。第4の方法は、WebSocketプロトコルにより通知の送信が行われる方法であり、この方法はイベント通知部62により行われる。
第1の方法では、受付・応答部61は、プレゼンテーション層40から処理要求(HTTPリクエスト)が送信されてきた場合、ミドルウェア層70およびハードウェア層80によるその処理の実行が完了するまで待機する。この場合、受付・応答部61は、ミドルウェア層70から処理の完了が通知されると、処理が完了したときの状況を示す状況情報を含むHTTPレスポンスを、処理を要求してきたプレゼンテーション層40に送信する。具体例を挙げると、例えば図2に示す「倍率選択」の欄の「−」や「+」という操作画像データをユーザが操作した場合、プレゼンテーション層40からコピーの倍率というパラメータを下げる処理や上げる処理が要求される。この場合、受付・応答部61は、要求された処理が実行されて変化したパラメータの値を含む応答をプレゼンテーション層40へ送信する。
第2の方法では、受付・応答部61は、プレゼンテーション層40から処理要求(HTTPリクエスト)が受信された場合、要求された処理の完了を待たずにまずは処理要求が受け付けられた旨の応答(HTTPレスポンス)を送信する。その後、状況情報は、プレゼンテーション層40がHTTPによるいわゆるポーリングを行うことにより取得される。すなわち、受付・応答部61は、プレゼンテーション層40からその処理の状況の通知を求める要求(以下「通知要求」という)があったときに、その通知要求に対する応答を行う。第2の方法で応答が行われると、例えば図3(a)に示す枚数情報C11は、コピーされた画像が媒体に形成される度ではなく、ポーリングの度に通知されて表示される。このため、例えばページ数が1枚ずつ増えるのではなく、数枚ずつ増えることがある。
このように、受付・応答部61は、第1及び第2の方法を用いた場合、プレゼンテーション層40からの要求(処理要求または通知要求)があったときにその要求に対する応答を送信する。受付・応答部61は、第1の方法を用いた場合には、処理要求に対する応答で処理の結果を要求元のプレゼンテーション層40に送信し、第2の方法を用いた場合には、処理要求に対する応答よりもあとに受け取った通知要求に対する応答で、処理の結果およびそれ以外の処理の状況を要求元のプレゼンテーション層40に送信する。
第3の方法では、受付・応答部61は、プレゼンテーション層40から処理要求(HTTPリクエスト)が受信されると、第2の方法のように、要求された処理の完了を待たずにまずは処理要求が受け付けられた旨を示す応答(HTTPレスポンス)を送信する。そのあと、イベント通知部62は、ミドルウェア層70およびハードウェア層80により実行されている処理において通知すべき状況が生じたら、通知要求がなくてもその状況を示す状況情報を含むメッセージとしての通知データをWebSocketによりプレゼンテーション層40に送信する。つまり、第3の方法により通知される状況は、処理要求により実行される処理の状況である。第3の方法で通知の送信が行われると、例えば図3(a)に示す枚数情報C11のうちの「ページ数」が、コピーされた画像が媒体に形成される度に増えていく。
第4の方法では、イベント通知部62は、プレゼンテーション層40からの処理要求の有無に関係なく、通知すべき状況が生じたら、通知要求がなくてもその状況を示す状況情報を含むメッセージとしての通知データをWebSocketによりプレゼンテーション層40に送信する。つまり、第4の方法により通知される状況は、処理要求により実行される処理とは関係がない。第4の方法では、例えば、WebSocketの規格に基づいて情報処理装置10とセッションが確立されたプレゼンテーション層40であればどれでも通知先となり得る。情報処理システム1においては、例えば、「トナー切れ」や「用紙切れ」、「収容部オープン(用紙等の媒体を収納する収納部が開いた状態)」などの状況は第4の方法で通知するように定められる。なお、第4の方法により通知される状況は、通知先であるプレゼンテーション層40(表示装置4)毎に異なっていてもよい。
このように、イベント通知部62は、第3及び第4の方法を用いた場合、プレゼンテーション層40からの要求(処理要求及び通知要求)の有無に関係なく、能動的に(いわゆるプッシュ型の)通知を行う。イベント通知部62は、第3の方法を用いた場合には、処理要求に対する応答よりもあとに、その処理の結果およびそれ以外の処理の状況を通知し、第4の方法を用いた場合には、予め定められた処理の状況を通知する。
第2及び第3の方法が用いられた場合、受付・応答部61またはイベント通知部62は、どちらの場合でも、処理要求に対する応答よりもあとに、処理の結果およびそれ以外の処理の状況を送信する。また、第1から第3までの3通りの方法は、要求された処理の状況を通知するための方法である。本実施形態では、プレゼンテーション層40は、処理を要求するときに、その処理の状況(処理の結果を含む)を送信する方法(すなわち第1の方法ないし第3の方法のいずれか)を指定する。例えば、送信の方法は、デバイス制御部42によって生成される処理要求に含まれるパラメータによって指定されてもよい。受付・応答部61およびイベント通知部62は、プレゼンテーション層40によって指定された方法を用いて応答および/または通知の送信を行う。
この実施形態では、状況情報は、ミドルウェア層70によって生成され、受付・応答部61またはイベント通知部62に供給される。なお、状況情報は、機能部65、受付・応答部61またはイベント通知部62によって生成されてもよい。また、イベント通知部62へ供給される状況情報は、ミドルウェア層70(または機能部65)からイベント通知部62へ直接供給されることなく、受付・応答部61を経由してイベント通知部62へ供給されてもよい。
操作画像管理部63は、プレゼンテーション層40に送信する操作画像データの管理を行う。操作画像DB64は、操作画像データを格納するデータベースである。操作画像管理部63は、上述した操作画像データを、インターフェース50を介してプレゼンテーション層40に提供する。操作画像管理部63は、操作画像データ(操作画像を示す画像データであり、例えばHTML形式で記述されたファイルである)を記憶しており、操作画像データの要求がインターフェース50を介して送信されてくると、操作画像データを含む応答を要求元に対してインターフェース50を介して送信する。
操作画像管理部63は、ユーザ装置20から操作画像データの要求が送信されてきた場合、それに応答してユーザ装置20に操作画像データを送信する。また、操作画像管理部63は、操作装置30から操作画像データの要求が送信されてきた場合には、それに応答して操作装置30に操作画像データを送信する。このように操作画像データの要求元(ユーザ装置20及び操作装置30)に操作画像データを送信することで、操作画像管理部63は、それらの要求元に操作画像データをそれぞれ提供する。
機能部65は、情報処理装置10がユーザに提供する機能を実現するためのモジュール群である。情報処理装置10の機能部65は、プレゼンテーション層40から処理要求がインターフェース50を介して送信されてくると、ミドルウェア層70を制御して、その処理要求により要求された処理を実行させる。
図9は、機能部65に含まれるモジュール群の一例を示す図である。機能部65には、コピー機能、スキャン機能、FAX機能、プリント機能、宛先表管理機能(宛先情報を管理する機能)、デバイス管理機能(画像読取部13の原稿セット状態や画像形成部14の媒体、消耗品の状態などを管理する機能)、認証機能、親展ボックス機能(情報処理装置10に記憶されている電子文書を管理する機能)、プレビュー機能、ダウンロード機能(プログラムの更新を制御する機能)、保守機能(リモートからの要求に従いハードウェアをメンテナンスする機能)、診断機能(ハードウェアを診断する機能)をそれぞれ実現するためのモジュールが含まれている。
機能部65は、例えば、処理要求に含まれている指示データを解析し、解析した指示の内容のとおりに処理が実行されるように、ミドルウェア層70を制御する。具体的には、機能部65は、指示された処理(例えばコピー処理)を指示されたパラメータで実行させる。これにより、ミドルウェア層70は、例えばユーザの操作によって定められた画質及び読取方法で媒体から画像を読み取り、読み取った画像を、ユーザの操作によって定められた出力形式、倍率、用紙及びカラーモードで形成する。
機能部65は、ミドルウェア層70に処理の実行を指示する際に、受付・応答部61から供給されたトランザクションIDをミドルウェア層70に供給する。ミドルウェア層70は、受付・応答部61に対して、上述した状況情報とともにトランザクションIDを供給する。
また、機能部65は、処理要求に記述されている方法(第1から第3の方法のうちのいずれか)を指定する記述を解析し、解析した方法(すなわち表示装置4が指定した方法)を受付・応答部61に伝達する。受付・応答部61またはイベント通知部62は、機能部65から供給されたトランザクションIDに対応付けられた通信の宛先に対して、ともに供給された状況情報を記述した通知データを、伝達された方法に則って送信する。これにより、受付・応答部61またはイベント通知部62は、処理の要求元に対して処理の状況を指定された方法で送信する。なお、機能部65は処理要求を受付・応答部61に供給するだけにして、受付・応答部61が指定された通知先の解析を行ってもよい。
ミドルウェア層70は、ファンクション層60とハードウェア層80との中間で汎用的な処理を実行する層である。ハードウェア層80は、画像読み取りや画像形成などの処理を物理的に実現する層である。ミドルウェア層70およびハードウェア層80は、上述したコピー処理の他、スキャン処理、FAX処理、プリント処理(それぞれスキャン機能、FAX機能、プリント機能を提供するための処理)などの各種の処理を実行する。コピー処理には、図6に示す画像読取部13による画像読取処理及び画像形成部14による画像形成処理が含まれる。スキャン処理には画像読取処理が含まれる。また、プリント処理には、第1通信部15による通信処理及び画像形成処理が含まれる。スキャン処理には、他にも、データの取得及び出力の方法に応じて、第2通信部16を用いたデータ通信処理やデータを記憶部12に書き込む書込処理、記憶されたデータを記憶部12から読み出す読出処理などが含まれる。ミドルウェア層70およびハードウェア層80は、処理を実行すると、上述した状況情報(実行している処理の状況を表す情報)をファンクション層60に供給する。
図8に示す受付・応答部61、イベント通知部62、操作画像管理部63および機能部65の少なくともいずれかひとつは、図7の第1受信手段101、送信手段102、第2受信手段103、確立手段104および切断手段105の一例である。UI制御部41、デバイス制御部42および通信部43の少なくともいずれか一つは、取得手段401、第1送信手段402、受信手段403、第2送信手段404および第3送信手段405の一例である。
[1−5]動作
[1−5−1]状況情報の送信動作
まず、上述した第1から第4までの4つの方法で状況情報を送信する際に各装置が行う動作の例について、図12から図15までを参照して説明する。
[1−5−1−1]状況情報の第1の送信動作
図12は、状況情報の送信方法として、上述の第1の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図12に示す動作は、例えば、ユーザがコピーを行う前に、コピーのためのパラメータ(倍率や用紙のサイズ、カラーモードなど)を変更する操作を行うことを契機に開始される。まず、表示装置4の制御部141(プレゼンテーション層40)が、パラメータを変更する操作を受け付けると(ステップS111)、パラメータの変更の要求を記述した指示データをHTTPリクエストに含めて情報処理装置10に対して送信する(ステップS112)。情報処理装置10の受付・応答部61は、そのHTTPリクエストを受信すると、受信された要求の内容を解釈し(ステップS113)、解釈した内容での処理の実行を情報処理装置10のミドルウェア層70に指示する(ステップS114)。
ミドルウェア層70は、ハードウェア層80と協働して、指示された処理、すなわちパラメータの変更を実行し(ステップS115)、その結果を表す情報を状況情報として受付・応答部61に供給する(ステップS116)。受付・応答部61は、供給された状況情報(この例ではパラメータの変更結果)を記述した通知データを生成する(ステップS117)。受付・応答部61は、生成した通知データを含むHTTPレスポンスを、処理の要求元である表示装置4に送信する(ステップS118)。表示装置4の制御部141は、送信されてきたHTTPレスポンスに含まれる状況情報を自装置の表示部144に表示させる(ステップS119)。
[1−5−1−2]状況情報の第2の送信動作
図13は、第2の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図13に示す動作は、例えば、ユーザが情報処理装置10の画像読取部13に原稿をセットし、表示装置4に対してコピーを開始させる操作を行うことを契機に開始される。まず、表示装置4の制御部141は、コピーを開始させる操作を受け付けると(ステップS121)、受け付けた操作に応じた指示データを作成する(ステップS122)。制御部141は、作成した指示データを含む処理要求(HTTPリクエスト)を情報処理装置10に送信する(ステップS123)。情報処理装置10の受付・応答部61は、図8に示すインターフェース50を介して処理要求を受け取ると、受け付けた処理要求に含まれる指示データを解析することで、指示の内容を解釈する(ステップS124)。
受付・応答部61が、解釈した内容に基づいてコピー処理をミドルウェア層70に指示すると(ステップS125)、ミドルウェア層70及びハードウェア層80が協働して、指示された内容に基づく処理(コピー処理)を実行する(ステップS126)。受付・応答部61は、コピー処理を指示したあと、コピー処理の要求を受け付けた旨を示すHTTPレスポンスを、ステップS123において受信されたHTTPリクエストの応答として表示装置4に送信する(ステップS131)。表示装置4の制御部141は、受信されたHTTPレスポンスに応じた内容を自装置の表示部144に表示させる(ステップS132)。なお、ステップS131の動作は、ステップS124またはS125の動作の前に行われてもよい。
第2の方法においては、表示装置4からの処理要求に対する処理状況の通知および処理完了の通知は、表示装置4がHTTPリクエストによりポーリング処理を行うことにより表示装置4に取得される。表示装置4の制御部141は、コピー処理の要求に対する応答を受け取ったあと、そのコピー処理の状況の通知を求める通知要求(HTTPリクエスト)を送信することによってポーリング処理を行う(ステップS141)。情報処理装置10の受付・応答部61は、コピー処理の状況情報がまだ供給されていなければ、その旨を示すHTTPレスポンスを表示装置4に送信する(ステップS142)。ステップS141及びS142の動作は繰り返し行われる。
情報処理装置10のミドルウェア層70は、コピー(読み取った原稿を示す画像)を媒体に出力すると、それを検知して(ステップS151)、コピーが媒体に出力されたという状況を示す状況情報を受付・応答部61に供給する(ステップS152)。受付・応答部61は、状況情報が供給されたあとに通知要求(HTTPリクエスト)を受信すると(ステップS141)、状況情報を含む通知データを生成して(ステップS153)、HTTPレスポンスに含めて表示装置4に送信する(ステップS154)。表示装置4の制御部141は、ステップS132のように、通知データに応じた内容を自装置の表示部に表示させる(ステップS155)。
[1−5−1−3]状況情報の第3の送信動作
図14は、第3の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。第1の方法および第2の方法では、表示装置4と情報処理装置10との間でHTTPによるデータの遣り取りが行われた。それに対し、第3の方法では、HTTPに加えて、WebSocketプロトコルにより情報処理装置10から表示装置4へのデータの送信が行われる。具体的には、第2の方法においてポーリングにより取得された状況情報が、第3の方法においてはWebSocketのメッセージとして表示装置4へ通知される。第2の方法と第3の方法とは、ひとつの処理を異なる方法で実現するものであり、両者は選択的に用いられる。
図14に示す動作は、図13のように、コピーを開始させる操作をユーザが行うことを契機に開始される。まず、表示装置4の制御部141は、コピーを開始させる操作を受け付けると(ステップS121)、情報処理装置10との間でWebSocketセッションを確立するための処理を行う。すなわち、制御部141は、情報処理装置10へWebSocketのハンドシェイク要求であるHTTPリクエストを送信する。このHTTPリクエストには、表示装置4を識別するクライアントIDが含まれる。
情報処理装置10のインターフェース50は、表示装置4から受信されたHTTPリクエストに基づき、WebSocketへの切り替えを行う。受付・応答部61は、WebSocketのハンドシェイク応答を表示装置4へ送信し、これにより、表示装置4と情報処理装置10との間でWebSocketのセッション(以下、単に「セッション」という)が確立される(ステップS160)。なお、セッションが確立されるタイミングはこのタイミングに限られない。例えば、ユーザが表示装置4を用いてウェブブラウザを起動して情報処理装置10のURL(Uniform Resource Locator)にアクセスする操作を行ったタイミングで、セッションの確立処理が行われてもよい。
また、受付・応答部61は、受信されたHTTPリクエストに含まれるクライアントIDを記憶部12の予め定められた領域(以下「キャッシュ領域12a」という)に格納する。キャッシュ領域12aに記憶されたクライアントIDは、セッションが正常な処理により切断された場合にキャッシュ領域12aから削除される。すなわち、キャッシュ領域12aには、情報処理装置10との間でセッションを確立中である表示装置4のクライアントID、およびセッションが処理の途中で切断されてしまった表示装置4のクライアントIDが蓄積される。
ステップS161以降の処理において、表示装置4と情報処理装置10とは、HTTPまたはWebSocketのいずれかのプロトコルを用いてメッセージのやりとりを行う。以下、HTTPにより送受信されるメッセージとWebSocketにより送信されるメッセージとを各々区別する必要がない場合には、これらを単に「メッセージ」と称して説明する。情報処理装置10の受付・応答部61は、自装置が送信したメッセージを、そのメッセージに付与されていたクライアントID、トランザクションIDおよびシーケンスIDとともにキャッシュ領域12aに格納する。シーケンスIDは、そのメッセージを識別する識別情報である。また、表示装置4の制御部141は、自装置が受信したメッセージに付与されていたトランザクションIDおよびシーケンスIDの組を、自装置のキャッシュ領域(以下「キャッシュ領域142a」という)に格納する。キャッシュ領域142aは、記憶部142に設けられていてもよく、また、RAMに設けられてもよい。キャッシュ領域142aに格納されたIDのセットは、セッションが処理の途中で切断された場合などに参照される。
図14の説明に戻る。WebSocketセッションが確立されると、制御部141は、上述した第3の方法を申し込む旨を記述したデータを含むHTTPリクエストを情報処理装置10に送信する(ステップS161)。情報処理装置10の受付・応答部61は、そのHTTPリクエストを受信すると、受信されたHTTPリクエストに含まれるデータに記述された申込みの内容をミドルウェア層70に伝達する(ステップS162)。ミドルウェア層70は、伝達された申込みを受け付け、表示装置4に対して今後第3の方法で状態情報の送信を行うための設定を行う(ステップS163)。ミドルウェア層70は、例えば第3の方法で通知を行うか否かを表すフラグをONにする。
次に、図13に示すステップS122からS126までの動作と、ステップS131及びS132の動作が行われる。続いて、情報処理装置10のミドルウェア層70及びハードウェア層80は、ステップS151(コピー出力の検知)の動作を行うと、上記フラグがONになっているため、コピーが媒体に出力されたという状況を示す状況情報を受付・応答部61ではなく、イベント通知部62に供給する(ステップS172)。イベント通知部62は、供給された状況情報(コピー枚数等)を記述した通知データを生成して(ステップS173)、生成したデータをステップS160で確立したWebSocketセッションを介して表示装置4に送信する(ステップS174)。表示装置4の制御部141は、受信されたデータに記述された内容(例えば図3(a)に示す状況情報C1)を自装置の表示部144に表示させる(ステップS175)。
ミドルウェア層70及びハードウェア層80は、コピー処理を完了すると(ステップS181)、その旨を示す状況情報をイベント通知部62に供給する(ステップS182)。イベント通知部62は、この状況情報を記述した通知データ(例えば「コピーが完了しました。」という文字列を含む通知データ)を生成し(ステップS183)、生成した通知データを、WebSocketのメッセージに含めて表示装置4に送信する(ステップS184)。表示装置4の制御部141は、ステップS184で受信した通知データに記述された内容(例えば図7(b)に示す状況情報C2)を自装置の表示部に表示させる(ステップS185)。
[1−5−1−4]状況情報の第4の送信動作
図15は、第4の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。第4の方法では、WebSocketにより状況情報が表示装置4へ通知される。この方法では、予め確立されたWebSocketセッション、例えば図14のステップS160で確立されたセッションが用いられる。情報処理装置10において予め定められた状況(トナー切れや用紙切れ、収容部オープンなど)が発生すると、情報処理装置10のミドルウェア層70及びハードウェア層80が協働して、その定められた状況を検知し(ステップS201)、検知した状況を表す状況情報をイベント通知部62に供給する(ステップS202)。イベント通知部62は、供給された状況情報を記述した通知データを生成し(ステップS203)、生成した通知データを、確立されているWebSocketのセッションを介して表示装置4にインターフェース50を介して送信する(ステップS204)。表示装置4の制御部141は、ステップS204で受信した通知データに記述された状況情報を自装置の表示部に表示させる(ステップS205)。
なお、上述したように、表示装置4毎に異なる状況が通知されてもよい。その場合には、ステップS201のまえに、制御部141が、自装置に通知すべき状況を記述した通知データを情報処理装置10に通信部43を介して送信する。インターフェース50を介してそれを受け取ったイベント通知部62は、その通知すべき状況を表示装置4の宛先に対応付けて記憶しておく。イベント通知部62は、ステップS202で供給された状況情報が、記憶しておいた通知すべき状況を表している場合にその状況の通知を行う。
[1−5−2]動作例1
図16は、情報処理システム1の具体的な動作の一例を示すシーケンス図である。この例では、ユーザU1が表示装置4を操作して、情報処理装置10が提供する各種の機能を利用するための認証情報を入力し、表示装置4が情報処理装置10にログインする一連の動作例を説明する。この動作例では、表示装置4と情報処理装置10とのデータの遣り取りを行うための通信プロトコルとして、TCPおよびHTTP(第1通信プロトコルの一例)と、TCPおよびWebSocket(第2通信プロトコルの一例)が併用される。また、この例で、HTTPのBasic認証によりユーザ認証が行われる。
まず、ユーザU1は、表示装置4に対して、ウェブブラウザを起動して情報処理装置10のURLにアクセスする操作を行う。このとき、ユーザU1は、情報処理装置10にログインするために使用するユーザのアカウント情報(認証情報の一例)を表示装置4の操作部145を用いて入力する。この例で、アカウント情報として、ユーザIDとパスワードが用いられる。ユーザIDは、各ユーザに割り当てられた識別情報である。
ステップS301において、表示装置4の制御部141は、ウェブブラウザを起動する。ステップS302において、制御部141は、情報処理装置10とTCP(Transmission Control Protocol)コネクション(第1通信路の一例)を確立し、確立したTCPコネクションを介して、入力されたアカウント情報を含むHTTPリクエスト(認証要求)を、情報処理装置10へ送信する。
受付・応答部61は、表示装置4から送信されてくるHTTPリクエストを受信する。受付・応答部61は、HTTPリクエストに含まれるアカウント情報を機能部65に供給する。ステップS303において、機能部65は、供給されたアカウント情報が、記憶部12に記憶されている認証データベース(図示略)に格納されているか否かに基づいて、ユーザ認証を行う。機能部65に供給されたアカウント情報が認証データベースに格納されている場合、ユーザ認証は成功する。一方、アカウント情報が認証データベースに格納されていない場合、ユーザ認証は失敗する。図16では、ユーザU1のアカウント情報が認証データベースに登録されている場合の動作を示す。ユーザU1のアカウント情報が認証データベースに登録されているため、ユーザ認証は成功する。
ユーザ認証に成功した場合、機能部65は、ステップS304において、ユーザ認証に成功したユーザU1のユーザIDを、記憶部12のユーザ管理テーブル121(図6参照)に登録する。ユーザ管理テーブル121は、ユーザのログイン状態や接続状態を管理するためのテーブルである。
図17は、ユーザ管理テーブル121の内容の一例を示す図である。ユーザ管理テーブル121は、図示のように、「ユーザID」と「アクセストークン」と「ログイン状態」と「接続状態」との各項目が互いに関連付けられている。これらの項目のうち、「ユーザID」は、ユーザを識別する識別情報である。「アクセストークン」は、WebSocketのセッションを開設するために用いられるアクセスを許可する情報である。アクセストークンは、HTTPのBasic認証に成功した場合に、機能部65により生成される。「ログイン状態」は、そのユーザIDの情報処理装置10に対するログイン状態を示す情報であり、「ログイン中」または「ログオフ」の値が設定される。「接続状態」は、WebSocketセッションの接続状態を示す情報であり、「接続中」または「切断」を示す値が設定される。
図16に戻る。ステップS305において、機能部65は、WebSocketのセッションを確立するために用いられるアクセストークンを生成する。このアクセストークンには、有効期限(例えば、アクセストークンが生成されてから3分、など)が設定される。ステップS306において、機能部65は、生成したアクセストークンを、ユーザU1のユーザIDに対応付けてユーザ管理テーブル121に登録する。また、機能部65は、生成したアクセストークンを受付・応答部61に供給する。機能部65は、アクセストークンを供給したタイミングで、そのアクセストークンに設定された有効期限に対応するタイマを発行する。ユーザ管理テーブル121に登録されたアクセストークンは、タイマが切れるまでにそのアクセストークンが含まれるセッションの確立要求が表示装置4から受信されなかった場合に無効となり、ユーザ管理テーブル121から削除される。一方、タイマが切れるまでにそのアクセストークンが含まれるセッションの確立要求が表示装置4から受信された場合、そのアクセストークンはユーザ管理テーブル121から削除されることなく、有効のままとなる。この場合、ユーザ管理テーブル121に格納されているアクセストークンは、セッションが切断されて再接続処理が行われる場合に参照される。
ステップS307において、受付・応答部61は、機能部65から供給されたアクセストークンおよびユーザ認証の結果を示す情報を含むHTTPレスポンスを生成し、生成したHTTPレスポンスを、インターフェース50を介して表示装置4へ送信する。
表示装置4の制御部141は、ユーザ認証が成功したことを示すHTTPレスポンスを受信した場合には、ステップS308に進む。一方、制御部141は、ユーザ認証が失敗したことを示す認証結果を受信した場合には、以降の処理を行わずにこの処理を終了する。この例では、表示装置4は、ユーザ認証が成功したことを示すHTTPレスポンスを受信し、ステップS308に進む。ステップS308において、制御部141は、受信したHTTPレスポンスに含まれるアクセストークンを、記憶部142またはRAMの予め定められたキャッシュ領域(以下「キャッシュ領域142a」という)に格納する。ステップS309において、制御部141は、アクセストークンの送信元である情報処理装置10とTCPコネクションを確立し、このTCPコネクションを介してWebSocketのハンドシェイク要求であるHTTPリクエストを送信する。このHTTPリクエストには、ステップS307で受信されたアクセストークンが含まれる。
受付・応答部61は、表示装置4からハンドシェイク要求を受信する。受付・応答部61は、受信されたハンドシェイク要求にアクセストークンが含まれているかを特定し、アクセストークンが含まれている場合、そのアクセストークンを機能部65に供給する。ステップS310において、機能部65は、受付・応答部61からアクセストークンが供給された場合、供給されたアクセストークンがユーザ管理テーブル121に登録されているかを照合する。そのアクセストークンがユーザ管理テーブル121に格納されている場合、ユーザU1によるログインは成功する。一方、そのアクセストークンがユーザ管理テーブル121に格納されていない場合、ユーザU1によるログインは失敗する。この例で、供給されたアクセストークンがユーザ管理テーブル121に登録されているため、ログインは成功する。ステップS311において、機能部65は、ユーザ管理テーブル121において、ユーザU1のユーザIDに対応する「ログイン状態」の値を、「ログイン中」を示す値に変更する。ステップS312において、機能部65は、アクセストークンの照合に成功した旨をインターフェース50に通知する。
インターフェース50は、機能部65からアクセストークンの照合に成功した旨を通知された場合、ステップS313以降の処理に進む。一方、アクセストークンの照合に失敗した旨を通知された場合、インターフェース50は、以降の処理を行わずに、ログインに失敗した旨を表示装置4に応答する。この例では、インターフェース50は、アクセストークンの照合に成功した旨を通知され、ステップS313の処理に進む。ステップS313において、インターフェース50は、ステップS309において表示装置4から受信されたHTTPリクエストに基づき、WebSocketへの切り替えを行う。インターフェース50は、WebSocketのハンドシェイク応答を行い、これにより、表示装置4と情報処理装置10との間でWebSocketのセッション(第2通信路の一例)が確立される。
セッションが確立されると、ステップS314において、セッションの確立に成功した旨がインターフェース50から受付・応答部61を介して機能部65へ通知される。ステップS315において、機能部65は、ユーザ管理テーブル121において、ユーザU1のユーザIDに対応する「接続状態」の値を、「接続中」を示す値に更新する。
ステップS316において、制御部141は、情報処理装置10へのログインに成功した旨を表示部144に表示する。
この実施形態では、上述したように、表示装置4と情報処理装置10とがデータの遣り取りを行うための通信路として、TCPコネクション上でのHTTPによる通信路(第1通信路の一例)と、TCPコネクション上でのWebSocketセッション(第2通信路の一例)とが併用される。以下の説明では、説明の便宜上、TCPコネクション上でのHTTPによる通信路を「第1チャネル」と称し、WebSocketセッションを「第2チャネル」と称して説明する。
ステップS316までの処理により、表示装置4を用いたログイン処理が行われる。ログイン処理を終えると、ユーザU1は表示装置4を用いて、情報処理装置10により提供される各種の機能を利用するための操作を行う。情報処理装置10は、表示装置4から送信されてくる処理要求に応じて、各種の処理を実行する。例えば、ユーザU1によってコピー処理が指示された場合は、上述した図13に示した一連の処理、または図14に示したステップS160の処理(WebSocketセッションの確立処理)を除く一連の処理が実行されることにより、コピー機能が提供される。また、例えば、コピー処理に係るパラメータの変更が指示された場合には、上述した図12に示した一連の処理が実行されることにより、パラメータの変更機能が提供される。また、例えば、ログイン中に媒体の収容部が開かれた場合、上述した図15に示した一連の処理が実行されることにより、用紙の収容部がセットされていない旨がユーザU1に通知される。
ステップS316の処理の後に、図12に示した一連の処理または図13に示した一連の処理が行われる場合、第1チャネルによりデータの遣り取りが行われる。一方、図14に示した処理が行われる場合、第1チャネルと第2チャネル(すなわちステップS309ないしステップS313で確立されたWebSocketセッション)が併用される。また、図16に示した一連の処理は、第2チャネル(すなわちステップS309ないしステップS313で確立されたWebSocketセッション)によってメッセージの送信が行われる。
図16では、ステップS316の処理の後に、媒体を収容する収容部がユーザU1によって開かれた場合の動作を示す。媒体を収容する収容部がユーザU1によって開かれた場合、ステップS317において、ミドルウェア層70は、ハードウェア層80からの通知に応じて、収容部がセットされていない旨を検知する。ステップS318において、ミドルウェア層70は、検知した状態を示す状態情報をイベント通知部62に供給する。ステップS319において、イベント通知部62は、供給された状態情報を含むWebSocketのメッセージを第2チャネルにより表示装置4に送信する。ステップS320において、制御部141は、受信された状態情報に応じた画面(図10に例示される画面)を表示する。
[1−5−3]動作例2
図18は、第2チャネルが切断された場合の第2チャネルの再接続処理の流れを示すシーケンス図である。ユーザU1が情報処理装置10にログインしている状態において、何らかの原因により第2チャネルが切断されてしまう場合がある。第2チャネルが切断されてしまう場合とは、例えばネットワークの通信状態が不安定であったり、停電や節電などの理由による切断が挙げられる。この場合、この実施形態では、図18に示す処理が行われることにより、第2チャネルの再接続が行われる。
ステップS401において、制御部141は、第2チャネルの切断を検知する。第2チャネルの切断を検知すると、ステップS402において、制御部141は、キャッシュ領域142aに記憶されているアクセストークンを読み出す。ステップS403において、制御部141は、再度TCPコネクションを確立し、確立したTCPコネクションを介して、WebSocketのハンドシェイク要求を送信する。このハンドシェイク要求には、ステップS402で読み出されたアクセストークンが含まれる。
一方、情報処理装置10のインターフェース50も、ステップS404において第2チャネルの切断を検知する。ステップS405において、インターフェース50は、第2チャネルの切断を検知した旨を機能部65に通知する。ステップS406において、機能部65は、切断された第2チャネルに対応するユーザ管理テーブル121の「接続状態」の値を「切断」を示す値に変更する。また、機能部65は、ステップS407において、切断された第2チャネルに対応するアクセストークンの有効期限に応じたタイマを発行する。ユーザ管理テーブル121に登録されているアクセストークンは、発行されたタイマが切れるまでにそのアクセストークンが含まれる第2チャネルの確立要求(WebSocketのハンドシェイク要求)が表示装置4から受信されなかった場合に無効となる。無効となった場合、タイムアウトしたアクセストークンに対応するユーザに関する情報(ユーザID、アクセストークン、など)は、ユーザ管理テーブル121から削除される。一方、発行されたタイマが切れるまでにそのアクセストークンを含む第2チャネルの確立要求が表示装置4から受信された場合、そのアクセストークンはユーザ管理テーブル121から削除されることなく、有効のままとなる。
ステップS408において、インターフェース50は、ステップS403において送信されたハンドシェイク要求を受信し、受信した要求に含まれるアクセストークンを機能部65に供給する。図18には、ステップS407で発行されたタイマが切れるまでに、ステップS403で送信されたハンドシェイク要求が機能部65に供給された場合の動作を示す。ステップS409において、機能部65は、供給されたアクセストークンがユーザ管理テーブル121に登録されているかを照合する。供給されたアクセストークンがユーザ管理テーブル121に格納されている場合、認証は成功する。一方、供給されたアクセストークンがユーザ管理テーブル121に格納されていない場合、認証は失敗する。この例で、供給されたアクセストークンがユーザ管理テーブル121に登録されているため、認証は成功する。ステップS410において、機能部65は、ユーザ管理テーブル121において、供給されたアクセストークンに対応する「接続状態」の値を、「接続中」を示す値に変更する。ステップS411において、機能部65は、アクセストークンの照合に成功した旨をインターフェース50に通知する。
ステップS412において、インターフェース50は、ステップS403において表示装置4から受信されたハンドシェイク要求に対するハンドシェイク応答を行う。これにより、表示装置4と情報処理装置10との間で、第2チャネルが再度確立される。ステップS413において、制御部141は、第2チャネルが再接続された旨を表示部144に表示する。
ところで、複数の通信プロトコルを併用するソフトウェアにおいては、それぞれの通信プロトコルについて認証情報が必要とされる場合、ユーザによるそれぞれの通信プロトコルに対応した認証情報の入力が煩わしい場合がある。それに対しこの実施形態では、情報処理装置10が、一の通信プロトコル(HTTP)でのユーザ認証に成功した場合に、その通信プロトコルの通信路を介してアクセストークンを送信し、他の通信プロトコル(WebSocket)の通信のための認証情報としてそのアクセストークンが用いられる。これにより、複数の通信プロトコルが併用されるシステムにおけるユーザの認証に係る操作負荷が軽減される。
[2]変形例
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
[2−1]アクセストークンの取得要求の送信1
上述の実施形態では、制御部141は、図16のステップS308に示したように、情報処理装置10から受信されたアクセストークンをキャッシュ領域121aに格納した。アクセストークンは必ずしもキャッシュされる必要はない。アクセストークンがキャッシュされない場合、制御部141は、第2チャネルの再接続処理を行う場合に、上述の実施形態において図18のステップS402およびステップS403に示す処理を行うのに代えて、アクセストークンの取得要求を、第1チャネルを介して情報処理装置10へ送信する。すなわち、制御部141は、第2チャネルが切断された後、アクセストークンの取得要求を、通信が許可されている第1チャネルを介して情報処理装置10へ送信する。
この場合、機能部65は、インターフェース50を介して取得要求を受信すると、アクセストークンを再度生成し、生成したアクセストークンを、通信が許可されている第1チャネルを介して表示装置4へ送信する。この例では、アクセストークンが再度発行されることにより、キャッシュされているアクセストークンが再利用される場合に比べて、セキュリティの信頼性が高いといえる。
[2−2]アクセストークンの取得要求の送信2
上述の実施形態において、制御部141が図18のステップS403において送信する第2チャネルの再接続要求に含めたアクセストークンの有効期限が切れていると判定された場合、機能部65はその旨を示す応答を表示装置4に送信する。制御部141は、アクセストークンが無効である旨の応答を情報処理装置10から受信した場合、通信が許可された第1チャネルを介して、第2チャネルを開設するためのアクセストークンの取得要求を情報処理装置10へ送信してもよい。
[2−3]第2チャネルが切断された場合の処理
上述の実施形態では、機能部65は、図18に示したように、第2チャネルの切断を検知すると、タイマを発行してタイマが切れるまで表示装置4から第2チャネルの再接続要求の受信を待機した。第2チャネルが切断された場合に機能部65が行う処理はこれに限られない。例えば、機能部65は、第2チャネルが切断された場合、切断された第2チャネルが確立されていたソフトウェアとの第1チャネルを切断してもよい。この場合、第1チャネルおよび第2チャネルの確立処理を再度行う必要が生じるため、第1チャネルが切断されることなくそのまま継続して用いられる場合に比べて、セキュリティの信頼性が高いといえる。
[2−4]アクセストークンの有効期限
上述の実施形態では、機能部65は、アクセストークンに有効期限を設定したが、アクセストークンに有効期限が設定されていなくてもよい。また、機能部65は、認証やアクセス要求を行った操作装置4の種別毎や、認証やアクセス要求とともに送信される処理要求の種別毎に、異なる有効期限を設定したアクセストークンを発行するようにしてもよい。例えば、ローカルのUI部である操作装置30からの要求に対しては、悪意あるユーザやクライアント装置からの要求である可能性が低いので、有効期限を相対的に長く設定してもよい。また、リモートのUI部であるユーザ装置20のような外部からの要求の場合、悪意あるユーザやクライアント装置からの可能性が相対的に高いので、有効期限を相対的に短く設定してアクセストークンを発行するようにしてもよい。
[2−5]非同期チャネルを開設できない場合の処理
上述の実施形態において、非同期チャネルを開設できなかった場合、制御部141が、動的にポーリング処理(上述した第2の方法を用いた処理)に切り替えてもよい。この場合、制御部141は、ポーリングによりネット状況を確認し、非同期チャネルを開設可能であると判断した場合、非同期チャネルを開設して、第2の方法から第3の方法へ処理の実行方法を切り替えてもよい。
[2−6]ユーザ管理テーブル
上述の実施形態では、図17に例示したユーザ管理テーブルが用いられたが、ユーザ管理テーブルの内容はこれに限られない。ユーザ管理テーブルには、図17で示した情報以外の情報が格納されてもよい。また、図17の例では、ユーザIDとアクセストークンとが対応付けて記憶されたが、アクセストークンと対応付けて記憶される識別情報はユーザIDに限られない。例えば、アクセストークンと、表示装置4または表示装置4で稼働するブラウザやアプリケーションを識別するクライアントIDとが対応付けて記憶されてもよい。アクセストークンと対応付けて記憶される識別情報は、第1チャネルと第2チャネルの対応関係が把握され得るものであればよい。
[2−7]認証の順序
上述の実施形態では、情報処理装置10が、第1通信プロトコル(HTTP)でのユーザ認証に成功した場合に、HTTPの通信路を介してアクセストークンを送信し、第2通信プロトコル(WebSocket)の通信のための認証情報としてそのアクセストークンが用いられた。これに代えて、第2通信プロトコルの通信路を介して第1通信プロトコルの通信に用いられる認証情報が送信されてもよい。この場合、情報処理装置10が、表示装置4との間でWebSocketのチャネルを確立して認証した後、HTTPによる通信のために用いられる認証情報(アクセストークンなど)をWebSocketのチャネルを介して表示装置4へ送信してもよい。表示装置4は、情報処理装置10から受信された認証情報をHTTPリクエストに含めて情報処理装置10へ送信すればよい。
[2−8]通信の規格
実施形態では、ユーザ装置20は、無線LANの規格に準拠する無線通信を行う通信部を備えていたが、これに限らず、例えば操作装置30の通信部33と同様に有線LANの規格に準拠する通信を行う通信部を備えていてもよい。この場合、ユーザ装置20は、有線LANのルータやハブなどに通信用のケーブルを介して接続される。この場合のユーザ装置20の通信部も、上述した他の通信機器(ルータやハブなど)と通信する通信手段として機能する。また、無線通信を行う通信部として、Bluetooth(登録商標)、NFC(Near field communication)などの規格に準拠する無線通信を行う通信部を備えるようにしてもよい。
また、実施形態では、情報処理装置10の第1通信部と操作装置30の通信部が有線LANの規格に準拠して通信を行ったが、これに限らず、例えば、USB(Universal Serial Bus)やHDMI(登録商標)(High-Definition Multimedia Interface)などの規格に準拠する通信を行ってもよいし、他にも、無線LANやBluetooth(登録商標)、NFC(Near field communication)などの規格に準拠する無線通信を行ってもよい。いずれの場合も、操作装置30の通信部は、他のルータはハブなどの通信機器を介さずに情報処理装置10の第1通信部と通信する。このように、操作装置30の通信部は、他の通信機器を介さず情報処理装置10と通信する通信手段として機能する。
また、上述の実施形態では、情報処理装置10と表示装置4とは、HTTPおよびWebSocketの2種類の通信プロトコルを併用してデータの授受を行ったが、用いられる通信プロトコルはこれらに限られない。情報処理装置10と表示装置4とが用いる通信プロトコルは、表示装置4(ウェブクライアント)から送信される要求に対する応答を情報処理装置10(ウェブサーバ)が送信することによりに同期的に情報をやりとりする第1通信プロトコルと、情報処理装置10から表示装置4へ非同期的に通知を送信するために第2通信プロトコルであればよい。
また、上述の実施形態において、情報処理装置10と表示装置4とは、SOAP(Simple Object Access Protocol)の規格に準拠したデータの授受を行ってもよい。また、情報処理装置10と表示装置4とがデータの授受を行う際に準拠するプロトコルはこれに限られない。情報処理装置10と表示装置4とは、例えばREST(Representational State Transfer)やSGML(Standard Generalized Markup Language)などの規格に準拠して通信してもよい。
[2−9]操作装置の構成
操作装置30は、実施形態では図5に示すように制御部や記憶部、通信部を備えていたが、これらを備えていなくてもよい。
図19は、本変形例の情報処理装置10aのハードウェア構成の一例を示す図である。図19の例では、図6に示す各部のうち、操作装置30を除く各部を備える情報処理装置10aと、操作装置30aとが示されている。本変形例でも、操作装置30aは情報処理装置10aの筐体に固定されている。操作装置30aは、図5に示す通信部33と、UI部36とを備える。
通信部33及びUI部36は、情報処理装置10a内のバスに接続され、制御部11によって制御されるようになっている。また、通信部33は、第1通信部15とも接続されている。UI部36は、表示面と表示面に重ねられたタッチセンサとを備え、ユーザからの操作を受け付けるとともに画像を表示する。UI部36は、受け付けたユーザの操作に応じた操作データを制御部11に供給し、制御部11は、この操作データに応じた処理を行う。本変形例では、制御部11がブラウザのプログラムを実行することで図7に示す表示装置4の機能を実現する。
[2−10]操作装置の設置
操作装置は、実施形態や上記変形例では情報処理装置の筐体に固定されていたが、固定されていなくてもよい。例えば、操作装置が情報処理装置の筐体に固定されておらず、いわゆるリモコンとして用いられる装置であってもよい。
図20は、本変形例の情報処理装置10bのハードウェア構成の一例を示す図である。図20の例では、図6に示す各部のうち、操作装置30を除く各部を備える情報処理装置10bと、操作装置30bとが示されている。操作装置30bは、図5に示す各部を備え、図7に示す表示装置4として機能する装置である。情報処理装置10bの筐体には、操作装置30bを設置可能な形に形成された部分(以下「設置部」という)を有する。
操作装置30bは、通信用のケーブルを介して第1通信部15に接続されており、設置部に設置された状態でユーザにより使用される。操作装置30bは、実施形態の操作装置30と同様に、他の通信機器を介さずに情報処理装置10と通信を行うローカルの表示装置4として用いられる。なお、ユーザは、操作装置30bからケーブルを取り外して、操作装置30bを別の場所に持って行き別の用途に用いてもよい。なお、図20の例では、操作装置30bに代えて、操作手段として機能する他の装置(例えば図1等に示したユーザ装置20)が接続されてもよい。また、操作装置30bを、通信機器3に接続させて、通信機器3及び通信回線2を介して情報処理装置10bと通信させてもよい。
[2−11]情報処理装置10が行う処理
上述の実施形態では、コピー処理を行う場合の動作について説明したが、情報処理装置10が行う処理はコピー処理に限られない。情報処理装置10が行う処理は、例えば上述した画像読取処理であってもよく、また、画像形成処理であってもよい。
[2−12]操作の受付方法
上述の実施形態では、制御部21は、タッチセンサでユーザの操作を受け付けたが、ユーザの操作を受け付ける方法はこれに限られない。例えば、表示装置4がタブレット端末であれば筐体に設けられたボタンで操作を受け付けてもよい。また、表示装置4がパーソナルコンピュータであればキーボードやマウスなどで操作を受け付けてもよい。
[2−13]メッセージの送信
イベント通知部62は、実施形態では、WebSocketの規格に準拠する通信プロトコルを利用してメッセージ情報として通知するデータを送信したが、これに限らない。例えば、Cometと呼ばれる技術を用いて、表示装置4のUI制御部41が送信してきたHTTPリクエストをイベント通知部62が維持し、送信すべきメッセージ(状況情報の更新など)が発生することを契機に、イベント通知部62が、維持していたHTTPリクエストへの応答で状況情報を送信してもよい。Cometを用いた方法だと、実施形態と同様に、操作用装置からの要求が行われたときにその応答でこの送信が行われる場合に比べて、処理の状況がユーザに早く伝達されることになる。
[2−14]
実施形態では、ユーザU1が表示装置4を操作して、情報処理装置10が提供する各種の機能を利用する際に実行される認証について図16に示すシーケンス図等で説明したが、認証が実行されるタイミングはこれに限らない。例えば、ユーザU1がログインのために表示装置4を操作して、表示装置4が情報処理装置10に接続を確立したときに、認証を実行するようにしてもよい。
[2−15]発明のカテゴリ
本発明は、情報処理装置、表示装置、通信機器及びこれらの装置を備える情報処理システムの他にも、これらの装置が実施する処理を実現するための情報処理方法としても捉えられるものである。また、本発明は、情報処理装置及び表示装置というコンピュータを、上述した各手段として機能させるためのプログラムとしても捉えられるものである。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等の通信回線を介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
1…情報処理システム、2…通信回線、3…通信機器、4…表示装置、10…情報処理装置、20…ユーザ装置、30…操作装置、11、21、31…制御部、12、22、32…記憶部、13…画像読取部、14…画像形成部、15…第1通信部、16…第2通信部、17…接続部、23、33…通信部、24、34…表示部、25、35…操作部、101…第1受信手段、102…送信手段、103…第2受信手段、104…確立手段、105…切断手段、401…取得手段、402…第1送信手段、403…受信手段、404…第2送信手段、405…第3送信手段

Claims (5)

  1. ウェブクライアントとして機能するソフトウェアから第1通信プロトコルによる第1通信路を介して認証情報を受信する第1受信手段と、
    前記受信された認証情報を用いた認証に成功した場合、前記第1通信路を介した通信を許可するとともに、アクセス許可情報を前記第1通信路により前記ソフトウェアへ送信する送信手段と、
    前記第1通信プロトコルと異なる第2通信プロトコルによる第2通信路の確立要求を、前記ソフトウェアから受信する第2受信手段と、
    前記送信されたアクセス許可情報が前記受信された確立要求に含まれている場合、前記ソフトウェアと前記第2通信路を確立する確立手段と
    前記確立された第2通信路が切断された場合、切断された第2通信路が確立されていたソフトウェアとの第1通信路を切断する切断手段と
    を有し、
    前記切断手段は、前記ソフトウェアの優先度に応じて前記第1通信路を切断するか否かを判断する情報処理装置。
  2. 前記アクセス許可情報には有効期限が設定されており、
    前記確立手段は、前記確立要求に含まれているアクセス許可情報の有効期限が過ぎている場合、前記第2通信路を確立しない
    請求項1に記載の情報処理装置。
  3. 前記確立された第2通信路が切断された後にアクセス許可情報の取得要求を前記ソフトウェアから前記通信が許可された第1通信路を介して受信した場合、前記送信手段は、アクセス許可情報を当該第1通信路により当該ソフトウェアへ送信する
    請求項1または2に記載の情報処理装置。
  4. 第1情報処理装置と、
    第2情報処理装置と
    を有し、
    前記第1情報処理装置は、
    クライアントとして機能する第1ソフトウェアから第1通信プロトコルによる第1通信路を介して認証情報を受信する第1受信手段と、
    前記受信された認証情報を用いた認証に成功した場合、前記第1通信路を介した通信を許可するとともに、アクセス許可情報を前記第1通信路により前記第1ソフトウェアへ送信する送信手段と、
    前記第1通信プロトコルと異なる第2通信プロトコルによる第2通信路の確立要求を、前記第1ソフトウェアから受信する第2受信手段と、
    前記送信されたアクセス許可情報が前記受信された確立要求に含まれている場合、前記第1ソフトウェアと前記第2通信路を確立する確立手段と
    前記確立された第2通信路が切断された場合、切断された第2通信路が確立されていたソフトウェアとの第1通信路を切断する切断手段と
    を備え、
    前記第2情報処理装置は、
    前記認証情報を取得する取得手段と、
    前記取得された認証情報を、サーバとして機能する第2ソフトウェアへ前記第1通信路を介して送信する第1送信手段と、
    前記第2ソフトウェアから前記第1通信路を介してアクセス許可情報を受信する受信手段と、
    前記第2通信路の確立要求であって前記受信されたアクセス許可情報を含む確立要求を、前記第1通信路を介して前記第2ソフトウェアへ送信する第2送信手段と
    を備え
    前記切断手段は、前記ソフトウェアの優先度に応じて前記第1通信路を切断するか否かを判断す
    システム。
  5. コンピュータに、
    クライアントとして機能するソフトウェアから第1通信プロトコルによる第1通信路を介して認証情報を受信するステップと、
    前記受信された認証情報を用いた認証に成功した場合、前記第1通信路を介した通信を許可するとともに、アクセス許可情報を前記第1通信路により前記ソフトウェアへ送信するステップと、
    前記第1通信プロトコルと異なる第2通信プロトコルによる第2通信路の確立要求を、前記ソフトウェアから受信するステップと、
    前記送信されたアクセス許可情報が前記受信された確立要求に含まれている場合、前記ソフトウェアと前記第2通信路を確立するステップと
    前記確立された第2通信路が切断された場合、切断された第2通信路が確立されていたソフトウェアとの第1通信路を切断するか否かを、該ソフトウェアの優先度に応じて判断するステップと
    を実行させるためのプログラム。
JP2014193648A 2014-09-24 2014-09-24 情報処理装置、システム及びプログラム Expired - Fee Related JP6471441B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014193648A JP6471441B2 (ja) 2014-09-24 2014-09-24 情報処理装置、システム及びプログラム
US14/814,640 US9658805B2 (en) 2014-09-24 2015-07-31 Information processing apparatus, system, storage medium, and information processing method for establishing communication path
CN201510570367.1A CN105450890B (zh) 2014-09-24 2015-09-09 信息处理设备、系统和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014193648A JP6471441B2 (ja) 2014-09-24 2014-09-24 情報処理装置、システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2016066165A JP2016066165A (ja) 2016-04-28
JP6471441B2 true JP6471441B2 (ja) 2019-02-20

Family

ID=55525778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014193648A Expired - Fee Related JP6471441B2 (ja) 2014-09-24 2014-09-24 情報処理装置、システム及びプログラム

Country Status (3)

Country Link
US (1) US9658805B2 (ja)
JP (1) JP6471441B2 (ja)
CN (1) CN105450890B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10674339B2 (en) * 2015-10-27 2020-06-02 Sony Corporation Information processing device and information processing method
JP6825439B2 (ja) * 2017-03-22 2021-02-03 富士ゼロックス株式会社 端末装置、情報処理システムおよびプログラム
US10158626B1 (en) * 2017-06-16 2018-12-18 International Business Machines Corporation Token-based access control
EP3693290B1 (en) * 2017-10-04 2024-01-17 Toray Industries, Inc. Packing material and method for producing packing material
JP7059559B2 (ja) * 2017-10-11 2022-04-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10911801B1 (en) * 2018-08-21 2021-02-02 CSC Holdings, LLC CPE real-time event capture and notification
US10986082B2 (en) 2018-11-02 2021-04-20 Citrix Systems, Inc. Local mapped accounts in virtual desktops
US11563823B2 (en) * 2019-11-27 2023-01-24 Verifone, Inc. Systems and methods for device connectivity management
JP2022138291A (ja) * 2021-03-10 2022-09-26 セイコーエプソン株式会社 システム、サーバー装置及び端末装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507567B1 (en) * 1999-04-09 2003-01-14 Telefonaktiebolaget Lm Ericsson (Publ) Efficient handling of connections in a mobile communications network
US7062019B2 (en) * 2001-07-27 2006-06-13 Avaya Technology Corp. Method of providing speech recognition for IVR and voice mail systems
JP2009037566A (ja) * 2007-08-03 2009-02-19 Ricoh Co Ltd 情報処理システム、情報処理装置、携帯端末装置、情報処理方法および情報処理プログラム
JP4506856B2 (ja) * 2008-03-10 2010-07-21 ソニー株式会社 通信装置、及び通信方法
US8527774B2 (en) * 2009-05-28 2013-09-03 Kaazing Corporation System and methods for providing stateless security management for web applications using non-HTTP communications protocols
JP5777375B2 (ja) * 2011-03-31 2015-09-09 キヤノン株式会社 画像処理装置、画像処理装置のデータ処理方法、及びプログラム
EP2850801A1 (en) * 2012-02-21 2015-03-25 ZIH Corp. Methods, apparatuses, and computer program products for implementing cloud connected printers and an adaptive printer- based application framework
JP2013256016A (ja) 2012-06-11 2013-12-26 Konica Minolta Inc 画像形成装置及び画像形成装置制御方法並びに画像形成システム
JP6039339B2 (ja) * 2012-10-03 2016-12-07 キヤノン株式会社 画像形成装置、制御方法およびコンピュータプログラム
JP6016936B2 (ja) * 2012-10-29 2016-10-26 三菱電機株式会社 設備管理システム及び設備管理方法
US9270660B2 (en) * 2012-11-25 2016-02-23 Angel Secure Networks, Inc. System and method for using a separate device to facilitate authentication
JP5954142B2 (ja) * 2012-11-30 2016-07-20 ブラザー工業株式会社 画像処理システム,画像処理装置,および情報処理装置
US9277402B2 (en) * 2013-03-06 2016-03-01 Qualcomm Incorporated Systems and methods for secure high-speed link maintenance via NFC
US9154485B1 (en) * 2013-03-15 2015-10-06 Kaazing Corporation Authentication revalidation
JP2015097356A (ja) * 2013-11-15 2015-05-21 キヤノン株式会社 通信システム、画像形成装置及びそれらの制御方法、並びにプログラム
US9814084B2 (en) * 2014-08-07 2017-11-07 Belkin International Inc. Location and pairing of devices on a local area network using a unique identifier

Also Published As

Publication number Publication date
US9658805B2 (en) 2017-05-23
CN105450890A (zh) 2016-03-30
US20160085488A1 (en) 2016-03-24
JP2016066165A (ja) 2016-04-28
CN105450890B (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
JP6471441B2 (ja) 情報処理装置、システム及びプログラム
EP3148160B1 (en) Information processing apparatus, information processing method, and program
US8982388B2 (en) Information processing apparatus that displays operation screen and control method therefor
JP6040878B2 (ja) 印刷装置、印刷制御装置、印刷システム及びプログラム
US9807262B2 (en) Relaying apparatus communicating with information processing terminal, image processing apparatus, and service-providing apparatus
JP2011253474A (ja) ユーザ装置特定方法および情報処理システム
EP3113013B1 (en) Method and system for server-based transfer of gui state among terminals
JP2012064091A (ja) 情報処理システム、情報処理装置、及びプログラム
JP6451175B2 (ja) 画像処理装置、システム及びプログラム
US9535639B2 (en) Communication apparatus
KR20040086099A (ko) 서비스 처리장치, 서비스 처리시스템 및 서비스처리시스템의 원 데이터 보관방법
US20180097944A1 (en) Information processing apparatus
KR20170034219A (ko) 보안 환경에서의 솔루션 서버를 통한 서비스 제공 방법, 이를 수행하기 위한 장치 및 시스템
JP6488608B2 (ja) 情報処理装置、システム及びプログラム
JP6561444B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP6476685B2 (ja) 情報処理装置、情報処理システム、表示装置及びプログラム
JP6492486B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP6471440B2 (ja) 情報処理装置、情報処理システム及びプログラム
CN106559593B (zh) 信息处理设备和信息处理方法
JP6424538B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP6471439B2 (ja) 情報処理装置、システム及びプログラム
US20240045915A1 (en) Web browsing system, communication terminal, image generation server
EP2700034B1 (en) Information processing apparatus, information processing system, control method therefor, and storage medium
US9596242B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2016066159A (ja) 情報処理装置、情報処理システム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180827

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: 20181225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190107

R150 Certificate of patent or registration of utility model

Ref document number: 6471441

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees