JP2011008542A - 情報処理装置、情報処理装置の制御方法、及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP2011008542A
JP2011008542A JP2009151480A JP2009151480A JP2011008542A JP 2011008542 A JP2011008542 A JP 2011008542A JP 2009151480 A JP2009151480 A JP 2009151480A JP 2009151480 A JP2009151480 A JP 2009151480A JP 2011008542 A JP2011008542 A JP 2011008542A
Authority
JP
Japan
Prior art keywords
request
web server
session
processing
web browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009151480A
Other languages
English (en)
Other versions
JP5489555B2 (ja
JP2011008542A5 (ja
Inventor
Makiya Tamura
牧也 田村
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 JP2009151480A priority Critical patent/JP5489555B2/ja
Priority to PCT/JP2010/003720 priority patent/WO2010150467A1/en
Priority to US12/863,310 priority patent/US8275831B2/en
Publication of JP2011008542A publication Critical patent/JP2011008542A/ja
Publication of JP2011008542A5 publication Critical patent/JP2011008542A5/ja
Priority to US13/585,732 priority patent/US8533262B2/en
Application granted granted Critical
Publication of JP5489555B2 publication Critical patent/JP5489555B2/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/00222Transmitting 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 image data generation or reproduction, e.g. scan-to-email or network printing
    • 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
    • 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
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3226Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of identification information or the like, e.g. ID code, index, title, part of an image, reduced-size image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3274Storage or retrieval of prestored additional information
    • H04N2201/3276Storage or retrieval of prestored additional information of a customised additional information profile, e.g. a profile specific to a user ID

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】Webサーバからの要求に基づく処理を実行している間は、Webブラウザが送信したリクエストを無効化しないようにする仕組みを提供する。
【解決手段】サービスプロバイダ450がWebサーバ102からの要求に基づく処理を実行している間は、Webブラウザ430が送信したリクエストを無効化することなく処理を実行し、サービスプロバイダ450がWebサーバ102からの要求に基づく処理を実行していない場合は、Webブラウザ430がリクエストを送信した後、Webサーバ102からのレスポンスがなく所定のタイムアウト時間が経過したことに応じてWebブラウザ430が送信したリクエストを無効化する。
【選択図】図4

Description

本発明は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた情報処理装置、情報処理装置の制御方法、プログラムに関する。
PCなどの情報処理装置がネットワーク上のWebサーバに接続され、Webサーバにより提供される操作画面を、情報処理装置が備えるWebブラウザ上に表示することが知られている。
この場合、まず情報処理装置のWebブラウザが、Webサーバに対して操作画面を要求(リクエスト)する。そして、Webサーバ上のWebアプリケーションが情報処理装置からの要求に応えて、Webブラウザに操作画面を表示させるためのHTMLファイルを情報処理装置に応答(レスポンス)する。情報処理装置のWebブラウザは、受信したHTMLファイルを解析し、HTMLファイルの記述に基づいた操作画面を表示する。
更に、Webブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をWebブラウザがWebサーバに対して通知する。そして、この通知を受けたWebサーバ上のWebアプリケーションは、入力された指示に従って処理を実行する。
ところで、最近ではスキャナやプリンタを備えたMFP(Multi Function Peripheral)の中にも、上述したようなWebブラウザを備えているものがある。そして、MFPは、上述した手順を用いてWebサーバにより提供される操作画面をMFPのWebブラウザに表示し、ユーザからの各種指示を受け付ける。
また更には、特許文献1のような技術も考えられている。特許文献1の記載によれば、MFPが備える各機能を利用するための指示を入力する操作画面を、Webサーバが提供する。即ち、MFPのユーザは、Webブラウザ上に表示された操作画面を介して、MFPに対する指示を入力する。そして、入力された指示はMFPのWebブラウザによってWebサーバに通知される。
この通知を受けたWebサーバは、ユーザから入力された指示の内容に従って、MFPに対して各種処理の実行を依頼する。そして、この依頼を受けたMFPは、依頼された処理を実行する。これにより、MFPを操作するための全てのメニューデータをMFP内で保持しておく必要がなくなり、またメニューデータの変更もWebサーバ上で容易に行うことができるようになる。
特開2006−127503号公報
一般的に、Webブラウザに表示された操作画面を介して入力された指示に基づいてWebサーバ上のWebアプリケーションが処理を実行する場合、Webアプリケーションによる処理が終了したことに応じて、新たな操作画面がWebブラウザに表示される。つまり、Webサーバは、Webアプリケーションによる処理が終了した時に、処理の終了を通知するための操作画面、或いは次の操作をユーザに行わせるための操作画面のHTMLデータを生成する。そして、生成したHTMLデータを、Webブラウザからのリクエストに対するレスポンスとしてWebブラウザに送信する。
一方、PCやMFPなどの情報処理装置に搭載されるWebブラウザには、Webサーバに対してリクエストを送信した後、Webサーバからのレスポンスを受け取るまでの制限時間(タイムアウト時間)が設定されているものがある。そして、このタイムアウト時間内にWebサーバからのレスポンスがない場合、Webブラウザはタイムアウト処理を行う。タイムアウト処理とは、送信したリクエストを無効化する処理である。送信したリクエストが無効化されることにより、例えば、送信したリクエストに対するレスポンスを待つことを止め、新たなリクエストの送信が可能な状態となる。またこのとき、セッション自体を破棄する処理を行って、Webブラウザのリソースを開放する場合もある。
しかしながら、上述した特許文献1のように、MFPのWebブラウザに表示された操作画面を介したユーザ操作に基づいてリクエストをWebサーバに送信し、このリクエストに基づいてWebサーバがMFPに処理を要求する場合、以下の問題が考えられる。
即ち、特許文献1のような構成では、MFPが実行した処理の結果は一旦Webサーバに通知され、この通知を受けたMFPが、Webブラウザから最初に受けたリクエストに対するレスポンスとして処理結果を通知するためのHTMLデータを送信する。このとき、Webサーバからの要求に基づいて実行するMFPの処理に時間がかかった場合、WebサーバがWebブラウザからのリクエストを受けてから、Webブラウザにレスポンスを返すまでに長い時間が必要となる。従って、Webブラウザにより上述したタイムアウト処理が行われてしまうと、Webサーバから返されてくるレスポンスがWebブラウザによって正常に受け取られなくなるため、MFPで実行した処理の結果をユーザに通知することができなくなってしまう。
本発明は、上記の問題点に鑑みなされたものであり、Webサーバからの要求に基づく処理を実行している間は、Webブラウザが送信したリクエストを無効化しないようにする仕組みを提供することを目的とする。
上記の目的を達成するために本発明の情報処理装置は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた情報処理装置であって、前記Webブラウザに表示された操作画面を介したユーザ操作に基づいて、前記Webサーバにリクエストを送信する送信手段と、前記送信手段が送信したリクエストに基づいて前記Webサーバから処理の実行を要求された場合に、当該要求された処理を実行する処理手段と、前記処理手段が前記Webサーバからの要求に基づく処理を実行している間は、前記送信手段が送信したリクエストを無効化することなく、前記処理手段が前記Webサーバからの要求に基づく処理を実行していない場合は、前記送信手段がリクエストを送信した後、前記Webサーバからのレスポンスがなく所定のタイムアウト時間が経過したことに応じて前記送信手段が送信したリクエストを無効化する制御手段と、を備えることを特徴とする。
本発明によれば、Webサーバからの要求に基づく処理を実行している間は、Webブラウザが送信したリクエストを無効化しないようにする仕組みを提供することができる。
本発明の実施形態における情報処理システムの全体図である。 本発明の実施形態におけるMFP101の構成を示すブロック図である。 本発明の実施形態におけるWebサーバ102の構成を示すブロック図である。 本発明の実施形態における情報処理システムのソフトウェア構成を示す図である。 本発明の実施形態におけるセッション・サービス管理部440を示す図である。 Webブラウザ430、Webサーバ102、及びサービスプロバイダ450が一連の処理を実行する動作を説明するシーケンス図である。 本発明の実施形態におけるWebブラウザ430の動作を説明するフローチャートである。 本発明の実施形態におけるサービスプロバイダ450の動作を説明するフローチャートである。 本発明の実施形態におけるWebブラウザ430の動作を説明するフローチャートである。 本発明の実施形態におけるサービスプロバイダ450の動作を説明するフローチャートである。 本発明の実施形態におけるWebブラウザ430の動作を説明するフローチャートである。
以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
図1は、本実施形態における情報処理システムの全体図である。LAN110には、MFP101およびWebサーバ102が互いに通信可能に接続されている。
図2は、MFP101の構成を示すブロック図である。CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。
HDD214は、画像データや各種プログラム、或いは各種情報テーブルを記憶する。操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。また、MFP101には後述するWebブラウザ機能が備えられており、MFP101のWebブラウザはWebサーバ102から受信したHTMLファイルを解析し、受信したHTMLファイルの記述に基づく操作画面を操作部219の液晶表示部に表示する。
プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210から転送され、プリンタ220において記録媒体上に印刷される。
スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する。ネットワークI/F218は、LAN110上の外部装置(例えば、Webサーバ102)に画像データや情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
図3は、Webサーバ102の構成を示すブロック図である。CPU311を含む制御部310は、Webサーバ102全体の動作を制御する。CPU311は、ROM312に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
ネットワークI/F315は、制御部310(Webサーバ102)をLAN110に接続する。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
図4は、情報処理システム全体のソフトウェア構成を説明するための図である。図4に示す各機能部は、MFP101/Webサーバ102のそれぞれが有しているCPU211/CPU311が制御プログラムを実行することにより実現される。
MFP101は、Webブラウザ430、セッション・サービス管理部440、サービスプロバイダ450、およびログ記録部460を有している。Webブラウザ430、セッション・サービス管理部440、サービスプロバイダ450、およびログ記録部460のそれぞれは、MFP101が有しているCPU211が制御プログラムを実行することにより実現される。
Webブラウザ430は、通信部431、解析部432、セッション管理部433、および画面表示部434を有する。通信部431は、HTTPプロトコルに従って、Webアプリケーション410のプレゼンテーション部411と通信する。より具体的には、通信部431は、Webブラウザ430で表示した操作画面を介して入力される情報をWebアプリケーション410に対するリクエストとして送信する。また、通信部431は、Webアプリケーション410から送信されるレスポンス(処理結果)を受信する。
解析部432は、Webアプリケーション410から受信したレスポンスを解析する。レスポンスの中には、Webアプリケーション410が発行するセッションIDなどの管理データやHTMLデータが含まれる。HTMLデータには、Webブラウザ430に表示すべき操作画面の内容を示す記述が含まれている。
セッション管理部433は、解析部432の解析により得られたセッションIDが新規に発行されたセッションIDであるか否かを判断し、新規に発行されたセッションIDであれば後述のセッション・サービス管理部440へ登録する。
画面表示部433は、解析部432によるHTMLデータの解析結果に基づいて、操作部219に操作画面を表示する。
セッション・サービス管理部440は、Webブラウザ430とWebサーバ102の間で確立されるセッションを一意に識別するためのセッションIDを管理する。セッションIDはWebサーバ102によって発行される。また、セッション・サービス管理部440は、各セッションにおいてWebブラウザ430がWebサーバ102に送信した情報に基づいて、Webサーバ102からサービスプロバイダ450へ依頼された処理の実行状況を管理する。なお、サービスプロバイダ450へ依頼された処理の実行状況をサービス状況と呼ぶこととする。
サービスプロバイダ450は、通信部451、ジョブ生成部452およびサービス管理部453を有する。通信部451は、後述のWebアプリケーション410内のロジック部412から処理依頼を受け付ける。なお、この処理依頼には、Webブラウザ430とWebアプリケーション410との間のセッションを示すセッションIDが含まれる。
ジョブ生成部452は、通信部451が受け付けた処理依頼を受け取り、依頼された処理を実行するためのジョブを生成して実行する。更に、ジョブ生成部452はジョブの実行結果をログ記録部460に記録する。
サービス管理部453は、ジョブ生成部452によるジョブの実行状況に応じて、セッション・サービス管理部440で管理されるサービス状況を更新する。より具体的には、ジョブの実行を開始すると、セッション・サービス管理部440で管理される、処理依頼に含まれるセッションIDに対応するサービス状況の値を「実行中」にする。ジョブの実行が終了すると、処理依頼に含まれるセッションIDに対応するサービス状況の値を「終了」にする。ログ記録部460は、前述のようにジョブを実行した結果やMFP101上で動作するアプリケーションの実行ログなどが記録される。
Webサーバ102は、Webアプリケーション410、ログ記録部420を有する。Webアプリケーション410およびログ記録部420のそれぞれはWebサーバ102が有しているCPU311が制御プログラムを実行することにより実現される。
Webアプリケーション410はWebブラウザ430からリクエストとして送信される情報を受信し、受信した情報に基づいて処理を実行する。処理結果は、Webアプリケーション410からWebブラウザ430に対してレスポンスとして送信される。
Webアプリケーション410はプレゼンテーション部411およびロジック部412を有する。プレゼンテーション部411は、通信部431と通信し、MFP101から送信されるリクエストを受信する。次に、プレゼンテーション部411は、受信したリクエストをロジック部412へ通知し、ロジック部412からの応答を待つ。ロジック部412からの応答を受け取ったプレゼンテーション部411は、応答内容にしたがってMFP101のWebブラウザ430で表示すべき操作画面に対応するHTMLデータをレスポンスとして送信する。MFP101のWebブラウザ430に表示された操作画面を介して入力された情報はリクエストとして通信部431から送信される。
ロジック部412は、プレゼンテーション部411から通知されるリクエストに応じて各種処理を実行するとともに、MFP101に対して処理の実行を依頼する。具体的には、MFP101のプリンタ220による印刷処理の実行や、スキャナ221による読み取り処理の実行、あるいはネットワークI/F218を介した送信処理の実行を依頼する。
MFP101に対して処理の実行を依頼する場合、ロジック部412はMFP101が有するサービスプロバイダ450内の通信部451と通信する。そして、ロジック部412はMFP101により実行された処理結果をMFP101から受信し、ログ記録部420に記録する。ログ記録部420には、Webサーバ102で実行される各種処理の結果をWebアプリケーション410が記録する。
図5は、セッション・サービス管理部440を説明するための図である。セッション・サービス管理部440はカラム「セッションID」501とカラム「サービス状況」502とを構成要素とするデータベースを有する。セッション・サービス管理部440は、カラム「セッションID」501とカラム「サービス状況」502によってWebブラウザ430とWebアプリケーション410との間のセッションと、MFP101で実行される処理の実行状況とを関連付けて管理する。つまり、セッション・サービス管理部440には、複数のセッションと、各セッションに対応する処理の実行状況とが対応付けて管理される。
カラム「セッションID」501には、Webブラウザ430とWebアプリケーション410との間のセッションを識別するセッションIDが格納される。セッションIDは、Webブラウザ430とWebアプリケーション410とが通信を開始する時に、Webアプリケーション410により発行される。Webブラウザ430のセッション管理部433は、Webアプリケーション410からのレスポンスに含まれる新規発行されたセッションIDをカラム「セッションID」501に登録する。
カラム「サービス状況」502は、Webアプリケーション410のロジック部412から依頼される処理のサービスプロバイダ450による実行状況を示す。ロジック部412から依頼される処理の実行を開始する時に、後述のサービス管理部453がカラム「サービス状況」502に“実行中”と登録する。
このとき、サービス管理部453は、ロジック部412から依頼の中に含まれるセッションIDが登録されているカラム「セッションID」501に対応するカラム「サービス状況」502に登録する。処理が終了すると、後述のサービス管理部453はカラム「サービス状況」502の値を“終了”に更新する。
図6は、Webブラウザ430からのリクエストに基づいてWebサーバ102がサービスプロバイダ450に処理の実行を依頼し、サービスプロバイダ450が処理を実行する動作を説明するシーケンス図である。
最初に、MFP101のWebブラウザ430からWebサーバ102のWebアプリケーション410に対してリクエスト600が送信される。Webブラウザ430からリクエスト600を受信したWebアプリケーション410は以降のWebブラウザ430との一連のデータ送受信を一意に識別するために、セッションIDを発行する。なお、このセッションIDは、後述するWebブラウザ430とWebサーバ102とやり取り(600、601、602、603、604、及び607)で共通に使用される。
次に、Webアプリケーション410はリクエストに対する処理結果をHTMLデータとともにレスポンス601としてWebブラウザ430に送信する。このとき、Webアプリケーション410が発行したセッションIDは、Webブラウザ430に送信されたレスポンス601に含まれる。
Webブラウザ430は、受信したレスポンス601に含まれるセッションIDを取得し、セッション・サービス管理部440のカラム「セッションID」501に取得したセッションIDを登録する。更に、Webブラウザ430は、受信したレスポンス601に含まれるHTMLデータを解析部432において解析し、画面表示部434によって解析結果を表示する。
次に、Webブラウザ430は画面表示部434に表示される操作画面上でのユーザ操作に応じて、次のリクエスト602をWebアプリケーション410に対して送信する。Webアプリケーション410は受信したリクエスト602に対する処理を実行し、処理結果をHTMLデータとともにレスポンス603としてWebブラウザ430に送信する。このようなリクエストとレスポンスによるやり取りをWebブラウザ430とWebアプリケーション410は繰り返す。
ここで、図6は、Webブラウザ430からWebアプリケーション410に対して送信されるリクエスト604の中に「原稿をスキャンしてファイル送信する」という処理の実行指示および処理の実行に必要なパラメータ値が含まれている場合を説明する。なお、MFP101内のサービスプロバイダ450が実行する処理は、「原稿をスキャンしてファイル送信する」に限らず、印刷など他の処理であっても良い。
Webブラウザ430は画面表示部434に表示される操作画面上でのユーザ操作により、次のリクエスト604をWebアプリケーション410に対して送信する。なお、処理の実行指示および処理の実行に必要なパラメータ値などの情報は、操作画面を介したユーザ操作によりユーザが入力したものである。但し、処理の実行に必要なパラメータ値は必ずしもユーザが入力したものでなくても良い。例えば、Webアプリケーション410自体がデフォルト設定値として予め保持しているパラメータ値を使用してもかまわない。
リクエスト604を受信したWebアプリケーション410は、リクエスト604に含まれる処理の実行指示および処理の実行に必要なパラメータ値を取得する。次に、Webアプリケーション410は、取得した処理の実行指示および処理の実行に必要なパラメータ値に基づいて、MFP101のサービスプロバイダ450に対してリクエスト605を送信する。このとき、リクエスト605にはWebアプリケーション102が発行したセッションID(Webブラウザ430とWebアプリケーション410の間の通信に使用されたセッションを識別するID)が含まれる。このリクエスト605により、Webアプリケーション410はサービスプロバイダ450に対して「原稿スキャンしてファイル送信する」という処理の実行を依頼する。
リクエスト605を受けたサービスプロバイダ450は、依頼された内容に従って「原稿をスキャンしてファイル送信する」の処理を開始する。このとき、サービスプロバイダ450はリクエスト605に含まれるセッションIDを取得する。そして、セッション・サービス管理部440のカラム「セッションID」501を参照し、取得したセッションIDが格納されているカラム「セッションID」501に対応するカラム「サービス状況」502の値を“実行中”に更新する。
一方、Webブラウザ430は、リクエスト604を送信したあとWebアプリケーション410からのレスポンスが返されてくるまでの経過時間をタイマーにより計時する。そして、レスポンスがないままタイムアウト時間が経過した場合、サービス・セッション管理部440に登録したセッションIDに対応するサービス状況を確認する。確認の結果、サービス状況が“実行中”であれば、Webブラウザ430はタイムアウト処理を行わず、計時した時間をリセットする。このとき、計時した時間をリセットせずに、単にタイムアウト処理を行わないようにするだけでも構わない。あるいは、サービス状況が“実行中”となっている間はタイマーによる計時を行わず、サービス状況が“終了”となったことに応じて計時を開始するような構成としても良い。
Webブラウザ430からサービス状況の問い合わせを受けたサービス・セッション管理部440は、問い合わせされたセッションIDが登録されているカラム「セッションID」501に対応するカラム「サービス状況」502に格納されている値を応答する。
サービスプロバイダ450は、リクエスト605で要求された処理が終了すると、リクエスト605から取得したセッションIDが登録されているカラム「セッションID」501に対応するカラム「サービス状況」502の値を“終了”に更新する。そして、サービスプロバイダ450は、処理結果をレスポンス606に含め、Webサーバ102へ返信する。
レスポンス606を受信したWebアプリケーション410は、レスポンス606の中に含まれる処理結果を、リクエスト604で要求された処理に対する結果としてレスポンス607に含めWebブラウザ430へ返信する。
レスポンス607を受信したWebブラウザ430は、レスポンス607に含まれるHTMLデータを解析し、画面表示部434にて結果画面を表示する。
図7は、MFP101のWebブラウザ430が、Webアプリケーション410により発行されたセッションIDをセッション・サービス管理部440に登録する一連の処理を説明するフローチャートである。図7のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
ステップS701において、Webブラウザ430の通信部431が、画面表示部434により表示された操作画面を介してユーザが入力した値などを含めたリクエストを生成し、Webアプリケーション410に対して送信する。
ステップS702において、Webブラウザ430の通信部431がWebアプリケーション410のプレゼンテーション部411から送信されたレスポンスを受信する。受信したレスポンスはWebブラウザ430の解析部432が解析し、解析結果をWebブラウザ430の画面表示部434が画面上に表示する。
ステップS703では、Webブラウザ430のセッション管理部433が、解析部432による解析で得られたセッションIDが、前回受信したセッションIDから変更されているか否かを確認する。セッションIDが前回受信したセッションIDから変更されている場合、セッション管理部433はセッションIDが新規発行されていると判断し、ステップS704へ進む。セッションIDが前回受信したセッションIDと同じ場合、セッション管理部433はセッションIDが新規発行されていないと判断し、ステップS705へ進む。
ステップS704では、Webブラウザ430のセッション管理部433がステップS703で新規発行されていると判断したセッションIDをセッション・サービス管理部440のカラム「セッションID」501に登録する。このとき、セッションIDを登録したカラム「セッションID」501に対応するカラム「サービス状況」502の値は“‐‐”とする。
ステップS705では、Webブラウザ430が処理を終了するか否かを判断し、終了しない場合はステップS701に戻る。Webブラウザ430が処理を終了すると判断した場合、処理を終了する。
図8は、サービスプロバイダ450が、Webサーバ102から依頼された処理を実行する一連の処理を説明するフローチャートである。図8のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
ステップS801において、サービスプロバイダ450の通信部451がWebアプリケーション410のロジック部412からリクエスト(処理依頼)を受信する。リクエストを受信した通信部451は、リクエストをサービス管理部453とジョブ生成部452へ送信する。リクエストを受信したサービス管理部453はリクエストに含まれるセッションIDを取得する。
ステップS802において、リクエストを受信したジョブ生成部452が、リクエストにより依頼された処理をMFP101が実行可能な状態であることを確認する。
続くステップS803において、ジョブ生成部452はリクエストにより依頼された処理を実行するためのジョブを生成し、実行開始する。この際、ジョブ生成部452はジョブを実行開始した旨をサービス管理部453に通知する。
ステップS804において、ジョブを実行開始した旨の通知を受信したサービス管理部453は、取得したセッションIDが登録されているカラム「セッションID」501に対応するカラム「サービス状況」502を“実行中”に更新する。
ステップS805では、サービスプロバイダ450による処理が終了したかどうかを判定し、終了したと判定した場合はステップS806に進む。
ステップS806において、サービス管理部453はジョブ終了後、ステップS804で更新した、セッション・サービス管理部440の「サービス状況」501の値を“終了”に更新する。
そして、ステップS807において、通信部451はジョブの実行結果をステップS801で受信したリクエストに対するレスポンスに含め、Webアプリケーション410のロジック部412へ返信する。
図9は、Webブラウザ430がWebサーバ102にリクエストを送信してから所定のタイムアウト時間が経過してもレスポンスがない場合に、Webサーバ102から依頼された処理の実行状況を確認する一連の処理を説明するフローチャートである。図9のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
ステップS901において、Webブラウザ430のセッション管理部433は送信したリクエストに対するレスポンスがなく所定のタイムアウト時間が経過したか否かを判断する。タイムアウト時間が経過している場合、ステップS902へ進む。タイムアウト時間が経過していない場合、処理を終了する。
ステップS902において、セッション管理部433はタイムアウトが発生したセッションのセッションIDが登録されているカラム「セッションID」501に対応するカラム「サービス状況」502を確認する。
ステップS903において、セッション管理部433はステップS902で確認したカラム「サービス状況」502が“実行中”であればステップS904へ進む。ステップS902で確認したカラム「サービス状況」502が“‐‐”もしくは“終了”であればステップS905へ進む。
ステップS904では、セッション管理部433は、Webサーバ102にリクエストを送信してから計時を開始した時間をリセットする。これにより、Webブラウザ430はレスポンスがないままタイムアウト時間が経過した場合でも、Webサーバ102から要求されたMFP101側での処理が実行中であれば、Webブラウザ430のタイムアウト処理を行わないようにしている。
一方、ステップS905では、セッション管理部433がタイムアウト処理を実行する。具体的には、Webブラウザ430とWebサーバ102との間で確立したセッションを破棄することにより、これ以降、Webブラウザ430は破棄したセッションと同じセッションIDを持つレスポンスを受信しても、無効のレスポンスとして無視(破棄)する。画面表示部434は、タイムアウトエラーが発生した旨のメッセージを表示する。このように、タイムアウト処理とは、送信したリクエストを無効化する処理である。なお、送信したリクエストを無効化する処理として、セッション自体を破棄するのではなく、送信したリクエストに対するレスポンスを待つことを止め、新たなリクエストの送信が可能な状態とするだけでも良い。
以上の通り、本実施形態では、WebブラウザがWebサーバに対してリクエストを送信した後、Webサーバからのレスポンスがないまま所定のタイムアウト時間が経過した場合に、Webサーバからの要求に基づく処理を実行中であるか否かを判定する。そして、Webサーバからの要求に基づく処理を実行中でなければ、送信したリクエストを無効化し、Webサーバからの要求に基づく処理を実行中であれば、送信したリクエストを無効化しないようにしている。これにより、WebサーバがMFPの操作画面を提供するような構成であっても、より確実にユーザに処理結果を通知することができる。
(第2の実施形態)
次に本発明の第2の実施形態について説明する。第2の実施形態では、第1の実施形態で説明した構成に加えて、さらにサービスプロバイダ450がWebサーバにレスポンス(処理結果)を返せない場合に、Webブラウザ430にタイムアウト処理を実行させる構成を追加している。なお、上述した第1の実施形態と同様の構成については同じ符号を付し、詳細な説明は省略する。
図10は、サービスプロバイダ450が、Webサーバ102から依頼された処理を実行する一連の処理を説明するフローチャートである。図10のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
図10に示すフローチャートには、図8に示すフローチャートに対して、ステップS1001及びステップS1002の処理が追加されている。
ステップS1001において、サービスプロバイダ450の通信部451は、Webアプリケーション410のロジック部412へのレスポンス送信が成功したかどうかを確認する。そして、レスポンス送信が成功していれば処理を終了し、レスポンス送信が失敗していれば、ステップS1002へ進む。ステップS1002では、Webブラウザ430のセッション管理部433に対して、タイムアウト処理を指示する。
図11は、Webブラウザ430がWebサーバ102にリクエストを送信してから所定のタイムアウト時間が経過してもレスポンスがない場合に、Webサーバ102から依頼された処理の実行状況を確認する一連の処理を説明するフローチャートである。図11のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
図11に示すフローチャートには、図9に示すフローチャートに対して、ステップS1101の処理が追加されている。
ステップS1101において、Webブラウザ430のセッション管理部433はサービスプロバイザ45からタイムアウト指示を受けたかどうかを判断する。そして、タイムアウト指示を受けたと判断した場合、ステップS905へ進む。受信していない場合、ステップS901へ進む。
ステップS905では、セッション管理部433がタイムアウト処理を実行する。具体的には、Webブラウザ430とWebサーバ102との間で確立したセッションを破棄することにより、これ以降、Webブラウザ430は破棄したセッションと同じセッションIDを持つレスポンスを受信しても、無効のレスポンスとして無視(破棄)する。画面表示部434は、タイムアウトエラーが発生した旨のメッセージを表示する。このように、タイムアウト処理とは、送信したリクエストを無効化する処理である。なお、送信したリクエストを無効化する処理として、セッション自体を破棄するのではなく、送信したリクエストに対するレスポンスを待つことを止め、新たなリクエストの送信が可能な状態とするだけでも良い。
以上の通り、本実施形態では、例えばWebサーバからの処理要求を受けた後にネットワーク障害が発生し、サービスプロバイダがWebサーバに対してレスポンスを返せなくなった場合に、WebブラウザとWebサーバの間のセッションが破棄される。これにより、第1の実施形態で説明した効果に加えて、WebブラウザとWebサーバの間のセッションが不要に保持され続けてしまうことを防止することができる。
(他の実施形態)
なお、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。

Claims (8)

  1. Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた情報処理装置であって、
    前記Webブラウザに表示された操作画面を介したユーザ操作に基づいて、前記Webサーバにリクエストを送信する送信手段と、
    前記送信手段が送信したリクエストに基づいて前記Webサーバから処理の実行を要求された場合に、当該要求された処理を実行する処理手段と、
    前記処理手段が前記Webサーバからの要求に基づく処理を実行している間は、前記送信手段が送信したリクエストを無効化することなく、前記処理手段が前記Webサーバからの要求に基づく処理を実行していない場合は、前記送信手段がリクエストを送信した後、前記Webサーバからのレスポンスがなく所定のタイムアウト時間が経過したことに応じて前記送信手段が送信したリクエストを無効化する制御手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記制御手段は、前記Webブラウザと前記Webサーバの間で確立されている複数のセッションのうち、前記所定のタイムアウト時間が経過したセッションにおけるリクエストを無効化することを特徴とする請求項1に記載の情報処理装置。
  3. 前記Webブラウザと前記Webサーバの間のセッションを識別するためのセッションIDと、当該セッションIDに対応する処理の実行状況とを対応付けて管理する管理手段と、
    前記Webサーバにより発行される前記セッションIDを前記管理手段に登録する登録手段と、
    を更に備えることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記送信手段がリクエストを送信してからの経過時間を計時する計時手段を更に備え、
    前記制御手段は、前記送信手段がリクエストを送信した後、前記処理手段が前記Webサーバからの要求に基づく処理を実行している場合に、前記計時手段により計時されている経過時間をリセットすることを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記処理手段が実行した処理の結果を前記Webサーバに通知する通知手段を更に備え、
    前記制御手段は、前記通知手段が前記通知を行えない場合に、前記送信手段が送信したリクエストを無効化することを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
  6. 前記処理手段は、原稿上の画像を読み取って画像データを生成する読取手段、または画像データに基づいて印刷を行う印刷手段を少なくとも含むことを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。
  7. Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた情報処理装置の制御方法であって、
    前記Webブラウザに表示された操作画面を介したユーザ操作に基づいて、前記Webサーバにリクエストを送信する送信工程と、
    前記送信工程で送信したリクエストに基づいて前記Webサーバから処理の実行を要求された場合に、当該要求された処理を実行する処理工程と、
    前記処理工程で前記Webサーバからの要求に基づく処理を実行している間は、前記送信工程で送信したリクエストを無効化することなく、前記処理工程で前記Webサーバからの要求に基づく処理を実行していない場合は、前記送信工程でリクエストを送信した後、前記Webサーバからのレスポンスがなく所定のタイムアウト時間が経過したことに応じて前記送信工程で送信したリクエストを無効化する制御工程と、
    を備えることを特徴とする情報処理装置の制御方法。
  8. 請求項7に記載の制御方法をコンピュータに実行させるためのプログラム。
JP2009151480A 2009-06-25 2009-06-25 情報処理装置、情報処理装置の制御方法、及びプログラム Expired - Fee Related JP5489555B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009151480A JP5489555B2 (ja) 2009-06-25 2009-06-25 情報処理装置、情報処理装置の制御方法、及びプログラム
PCT/JP2010/003720 WO2010150467A1 (en) 2009-06-25 2010-06-03 Information processing apparatus, and control method of information processing apparatus, and program
US12/863,310 US8275831B2 (en) 2009-06-25 2010-06-03 Information processing apparatus, and control method of information processing apparatus, and program
US13/585,732 US8533262B2 (en) 2009-06-25 2012-08-14 Information processing apparatus, and control method of information processing apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009151480A JP5489555B2 (ja) 2009-06-25 2009-06-25 情報処理装置、情報処理装置の制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2011008542A true JP2011008542A (ja) 2011-01-13
JP2011008542A5 JP2011008542A5 (ja) 2012-07-26
JP5489555B2 JP5489555B2 (ja) 2014-05-14

Family

ID=43386257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009151480A Expired - Fee Related JP5489555B2 (ja) 2009-06-25 2009-06-25 情報処理装置、情報処理装置の制御方法、及びプログラム

Country Status (3)

Country Link
US (2) US8275831B2 (ja)
JP (1) JP5489555B2 (ja)
WO (1) WO2010150467A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226522A (ja) * 2011-04-19 2012-11-15 Canon Inc 情報処理装置およびその制御方法
JP2012226610A (ja) * 2011-04-20 2012-11-15 Canon Inc 情報処理システム、情報処理装置、及びそれらの制御方法
JP2014021812A (ja) * 2012-07-20 2014-02-03 Fujitsu Marketing Ltd 接続状態管理装置およびそのプログラム
JP2015019125A (ja) * 2013-07-08 2015-01-29 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
WO2018207363A1 (ja) * 2017-05-12 2018-11-15 三菱電機株式会社 制御装置、通信管理方法及びプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087206B2 (en) 2011-04-20 2015-07-21 Canon Kabushiki Kaisha Information processing apparatus, system, method, and storage medium for executing control operation and indicating completion
JP5397419B2 (ja) * 2011-06-16 2014-01-22 コニカミノルタ株式会社 端末装置、ウェブページ表示方法、およびコンピュータプログラム
JP5500128B2 (ja) * 2011-07-14 2014-05-21 コニカミノルタ株式会社 アプリ連携システムおよびアプリ連携方法
JP2013123212A (ja) 2011-11-10 2013-06-20 Canon Inc 通信装置、制御方法、およびプログラム
US10116814B2 (en) * 2014-10-10 2018-10-30 Seiko Epson Corporation Electronic apparatus and display control method for electronic apparatus
JP7059544B2 (ja) * 2017-09-20 2022-04-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7170453B2 (ja) * 2018-08-06 2022-11-14 キヤノン株式会社 システム、印刷装置、システムの制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006205509A (ja) * 2005-01-27 2006-08-10 Canon Inc 印刷装置と印刷制御プログラム
WO2009066394A1 (ja) * 2007-11-22 2009-05-28 Fujitsu Limited 送信情報の連携システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235437A (ja) 1999-02-17 2000-08-29 Fujitsu Ltd 電子機器の省電力化装置および電子機器の省電力化方法
JP4566679B2 (ja) 2003-11-13 2010-10-20 キヤノン株式会社 画像形成装置および制御方法およびプログラム
US8018610B2 (en) 2004-10-08 2011-09-13 Sharp Laboratories Of America, Inc. Methods and systems for imaging device remote application interaction
JP2008065650A (ja) 2006-09-08 2008-03-21 Kyocera Mita Corp 通信装置、プログラム及び通信方法
JP4935901B2 (ja) 2007-05-01 2012-05-23 富士通株式会社 ストレージシステム、ストレージ装置、リモートコピー方法
JP5349778B2 (ja) 2007-09-20 2013-11-20 キヤノン株式会社 情報処理装置、情報処理方法、ならびにそのプログラムおよび記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006205509A (ja) * 2005-01-27 2006-08-10 Canon Inc 印刷装置と印刷制御プログラム
WO2009066394A1 (ja) * 2007-11-22 2009-05-28 Fujitsu Limited 送信情報の連携システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226522A (ja) * 2011-04-19 2012-11-15 Canon Inc 情報処理装置およびその制御方法
JP2012226610A (ja) * 2011-04-20 2012-11-15 Canon Inc 情報処理システム、情報処理装置、及びそれらの制御方法
JP2014021812A (ja) * 2012-07-20 2014-02-03 Fujitsu Marketing Ltd 接続状態管理装置およびそのプログラム
JP2015019125A (ja) * 2013-07-08 2015-01-29 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
WO2018207363A1 (ja) * 2017-05-12 2018-11-15 三菱電機株式会社 制御装置、通信管理方法及びプログラム

Also Published As

Publication number Publication date
US8533262B2 (en) 2013-09-10
US20110119333A1 (en) 2011-05-19
US20120311028A1 (en) 2012-12-06
WO2010150467A1 (en) 2010-12-29
JP5489555B2 (ja) 2014-05-14
US8275831B2 (en) 2012-09-25

Similar Documents

Publication Publication Date Title
JP5489555B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
KR101238364B1 (ko) 화상 형성 장치의 커스터마이즈 방법 및 시스템
JP4403135B2 (ja) Webサービス利用システム
CN102438003A (zh) 信息处理系统、Web服务器、信息处理装置及其控制方法
US9467497B2 (en) Image forming device and web application system
US10645083B2 (en) Information processing apparatus, control method, and storage medium information processing apparatus and control method for authentication of user
JP2013042480A (ja) 画像処理装置、その制御方法及びプログラムと記憶媒体
JP2012171269A (ja) 画像形成装置、情報処理システム、課金方法、プログラム、及び記録媒体
JP2012064091A (ja) 情報処理システム、情報処理装置、及びプログラム
JP5620674B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP5704330B2 (ja) 印刷システム、印刷装置、及び、仲介装置
JP2005165750A (ja) Webサーバ機能を有する組み込み機器
JP6492711B2 (ja) 中継装置、操作画面提供装置及びプログラム
US9374496B1 (en) Form providing apparatus, form processing system, form processing method and computer readable medium
JP2017120523A (ja) 情報処理装置、情報処理システム、情報処理サーバ、情報処理方法、及びプログラム
JP6168194B2 (ja) 印刷システム、印刷装置、及び、仲介装置
JP2012029011A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2018183947A (ja) 画像形成装置および画像形成システム
JP4787655B2 (ja) 情報処理装置、表示制御装置、情報処理システム、情報処理方法、表示制御方法、情報処理プログラム及び表示制御プログラム
JP6417907B2 (ja) プリントシステム、画像形成装置、サーバ、端末装置、情報提示方法、およびコンピュータプログラム
JP5939325B2 (ja) 印刷システム、印刷装置、及び、仲介装置
JP3812170B2 (ja) 情報処理装置
JP5930602B2 (ja) 情報処理システム、情報処理装置、及びそれらの制御方法
JP2009301474A (ja) 画像形成装置、キー管理サーバ装置およびアクティベーションシステム
JP2009301476A (ja) キー管理サーバ装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R151 Written notification of patent or utility model registration

Ref document number: 5489555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees