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

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

Info

Publication number
JP2021029036A
JP2021029036A JP2019147964A JP2019147964A JP2021029036A JP 2021029036 A JP2021029036 A JP 2021029036A JP 2019147964 A JP2019147964 A JP 2019147964A JP 2019147964 A JP2019147964 A JP 2019147964A JP 2021029036 A JP2021029036 A JP 2021029036A
Authority
JP
Japan
Prior art keywords
setting
information processing
application
setting data
value
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
JP2019147964A
Other languages
English (en)
Other versions
JP2021029036A5 (ja
JP7418168B2 (ja
Inventor
優一 八木
Yuichi Yagi
優一 八木
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 JP2019147964A priority Critical patent/JP7418168B2/ja
Priority to US16/940,736 priority patent/US20210042131A1/en
Publication of JP2021029036A publication Critical patent/JP2021029036A/ja
Publication of JP2021029036A5 publication Critical patent/JP2021029036A5/ja
Application granted granted Critical
Publication of JP7418168B2 publication Critical patent/JP7418168B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】設定項目が相違していたり、設定値の範囲が異なったりする他の画像形成装置の複数の拡張アプリケーションの設定データをインポートする場合、拡張アプリケーションごとに設定項目の相違、設定値の範囲が異なるか否かを判定し、必要に応じて設定値を変換して記憶する必要がある。そのため、各拡張アプリケーションを起動させる必要があるため、複数の拡張アプリケーションのインポートが完了するまでの間、ユーザが拡張アプリケーションを使用できない期間が長くなる。【解決手段】拡張アプリケーションをアドインして機能を拡張できる情報処理装置であって、他の機器のアプリケーションの設定データを取り込んで、管理している、各アプリケーションの設定データを書き換える。そして拡張アプリケーションを起動して前記設定データを編集する際に、他の機器と情報処理装置との間で前記設定データの設定値が異なる場合、前記異なる設定値を前記情報処理装置の構成情報に基づく設定値に変換する。【選択図】 図12

Description

本発明は、情報処理装置とその制御方法、及びプログラムに関する。
画像形成装置に拡張プログラムをアドインすることにより、その画像形成装置の機能を拡張できるシステムが普及している。このシステムは、画像形成装置の制御プログラムとは別に、拡張プログラムを動かす実行環境を持つ。拡張アプリケーションは、拡張プログラムと、画像データなどのリソースを含んでいる。
特許文献1は、提供されたアプリケーションをインストールして実行可能な画像形成装置と、その画像形成装置が実行するアプリケーションの開発環境を提供する情報処理装置とを含むシステムを記載している。そして、その情報処理装置は、アプリケーションが提供する機能をテストするためのテスト用プログラムと、情報処理装置からの指示に応じてテスト用プログラムの実行を開始する命令を出すテストエージェント用プログラムとを含むアプリケーションを生成して画像形成装置に送信することが記載されている。
また特許文献2には、他の機器から設定情報を取り込む際に、設定項目が相違していたり設定値の範囲が異なったりする場合は、ユーザ設定に基づく設定値を記憶する画像形成装置が記載されている。
特開2013−69077号公報 特開2014−120824号公報
しかしながら、設定項目が相違していたり、設定値の範囲が異なったりする他の画像形成装置の複数の拡張アプリケーションの設定データをインポートする場合、拡張アプリケーションごとに設定項目の相違、設定値の範囲が異なるか否かを判定し、必要に応じて設定値を変換して記憶する必要がある。そのためには、各拡張アプリケーションを起動させる必要があるため、複数の拡張アプリケーションのインポートが完了するまでの間、ユーザが拡張アプリケーションを使用できない期間が長くなるという課題があった。
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
本発明の目的は、拡張アプリケーションの設定データをインポートした場合でも、ユーザは、直ぐにアプリケーションを使用できる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
拡張アプリケーションをアドインして機能を拡張できる情報処理装置であって、
各アプリケーションの設定データを記憶して管理する管理手段と、
他の機器のアプリケーションの設定データを取り込んで、前記情報処理装置が有する対応する拡張アプリケーションの設定データを書き換える書き換え手段と、
前記拡張アプリケーションを起動して前記設定データを編集する編集手段と、
前記編集手段によって前記設定データを編集する際に、前記他の機器と前記情報処理装置との間で前記設定データの設定値が異なる場合、前記異なる設定値を前記情報処理装置の構成情報に基づく設定値に変換する変換手段と、を有することを特徴とする。
本発明によれば、拡張アプリケーションを起動することなく設定データをインポートすることができ、拡張アプリケーションを起動した際に、設定項目の相違、設定値の範囲が異なるか否かを判定し変換するようにしたことで、設定値のインポートを行ってもユーザは即座にアプリケーションを使用することが可能となる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係る画像形成装置の主要部の構成を説明するブロック図。 実施形態に係る画像形成装置における拡張アプリケーションの実行環境の一例を示すブロック図。 実施形態に係る画像形成装置のCPUが実行するソフトウェアモジュールの構成図。 実施形態に係る画像形成装置を含む印刷システムの構成例を示す図。 実施形態に係る画像形成装置のストレージに格納されている拡張アプリケーションの情報の一例を示す図。 実施形態に係る画像形成装置におけるアプリケーションの設定処理の流れを説明するシーケンス図。 実施形態に係るWebブラウザに表示されるフォーム印刷アプリケーションの設定画面の一例を示す図。 実施形態に係る画像形成装置の操作部に表示される画面例を示す図。 実施形態に係る画像形成装置において拡張アプリケーションを起動する際の処理を説明するシーケンス図。 実施形態に係る画像形成装置404のアプリケーション設定情報を画像形成装置401に反映する処理の概要を説明する図。 実施形態に拡張アプリケーションが拡張VMシステムサービス222を用いて取得する画像形成装置の構成情報の一例を示す図。 実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態でアプリケーションの設定を実行した際に、HTMLフォームに記述する設定データを決定する処理を説明するフローチャート。 実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態で、フォーム印刷アプリケーションがジョブを投入するときの処理を説明するフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。尚、以下に説明する実施形態では、本発明に係る情報処理装置の一例を、例えば複合機などの画像形成装置を例に説明するが、本発明はこのような画像形成装置に限定されるものではない。
図1は、本発明の実施形態に係る画像形成装置の主要部の構成を説明するブロック図である。
この画像形成装置は、コントローラユニット100を含み、コントローラユニット100には、スキャナ170やプリンタ195が接続され、更にはユーザインタフェースのための操作部112が接続される。コントローラユニット100は、スキャナ170で読み取られた画像データをプリンタ195により印刷するコピー機能を実現するように各部を制御することもできる。
コントローラユニット100は、CPU101を有し、CPU101は、ROM103に格納されているブートプログラムを実行してストレージ104に格納されているオペレーティングシステム(OS)やプログラムをRAM102に展開する。CPU101は、RAM102に展開されたプログラムを実行することにより、後述する各種処理を実行する。このCPU101の作業領域としてはRAM102が用いられる。RAM102は、前述の作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ストレージ104は、プログラムや画像データを格納する。
CPU101には、システムバス107を介して、ROM103及びRAM102、操作部I/F(操作部インターフェース)106、ネットワークI/F(ネットワークインターフェース)110、USBホストI/F113、画像バスI/F(画像バスインターフェース)105が接続される。操作部I/F106は、タッチパネルを有する操作部112とのインターフェースであり、システムバス107を介して受け取った操作部112に表示すべき画像データを操作部112に出力する。また、操作部I/F106は、操作部112においてユーザにより入力された情報をシステムバス107を介してCPU101に送出する。ネットワークI/F110は、画像形成装置をLANに接続するためのインターフェースである。USBホストI/F113は、USBストレージ114と通信し、CPU101の指示に従ってUSBストレージ114にデータを記憶させたり、USBストレージ114に格納されているデータを入力してシステムバス107に出力する。USBストレージ114は、データを格納する外部記憶装置であり、USBホストI/F113に対して着脱可能である。USBホストI/F113には、USBストレージ114を含む複数のUSBデバイスが接続可能である。
画像バスI/F105は、システムバス107と、画像データを高速で転送する画像バス108とを接続し、データ形式を変換するためのバスブリッジとして機能している。画像バス108は、PCIバス又はIEEE1394等によって構成される。画像バス108上には、デバイスI/F120、スキャナ画像処理部180、プリンタ画像処理部190が設けられる。デバイスI/F120には、スキャナ270及びプリンタ195が接続され、デバイスI/F120は、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部180は、スキャナ170から入力した画像データに対し補正、加工、編集を行う。プリンタ画像処理部190は、プリンタ195に出力する画像データに対してプリンタ195に応じた補正、解像度変換などを行う。
図2は、実施形態に係る画像形成装置における拡張アプリケーションの実行環境の一例を示すブロック図である。尚、この図2に示す各モジュールの機能は、CPU101がストレージ104に記憶されているプログラムをRAM102に展開して実行することにより実現される。
この画像形成装置は、拡張アプリケーションをアドインして、その機能を拡張できる画像形成装置である。オペレーティングシステムであるOS201上では、プリンタやFAX、スキャナと言った画像処理ユニットを制御するためのネイティブプログラム210と、拡張アプリケーション240の実行環境である仮想マシン(Virtual Machine:VM)230が動作している。VM230は、拡張アプリケーション240を制御するプログラムを理解して実行するモジュールである。拡張アプリケーション240は、必ずVM230上で動作する。VM230で動作するプログラムは、CPU101で動作する命令とは異なり、VM230専用の命令で動作する。この命令をバイトコードと呼ぶ。一方でCPU専用命令をネイティブコードと呼ぶ。VM230がこのバイトコードを逐次解釈し処理することで、CPU101上ではネイティブコードと、VM230のバイトコードが動作する。VM230には、バイトコードをそのまま逐次解釈処理するタイプと、バイトコードをネイティブコードに変換して実行するタイプがある。実施形態に係るVM230は前者のタイプであるが、後者のタイプであってもよい。一般的にCPUの種別が異なると、CPUで動作する命令に互換性が無い様に、VMが異なるとVMで動作する命令も互換性が無い。またこの実施形態に係るVM230は、CPU101上で動作するソフトウェアモジュールであるが、ハードウェアモジュールであってもよい。
ネイティブプログラム210には、プリンタやFAX、スキャナと言った画像処理ユニットを制御するためのネイティブスレッド214と、VM230を動かすためのVMスレッド215がある。VMスレッド215は、VM230の数に対応する数存在する。ここでは、VMスレッド211,212,213の3つのスレッドが生成されている。ここではVM A−1(231)と、VM A−2(232)及びVM B−1(233)に対応して3つのVMスレッド211,212,213が存在している。
VMシステムサービス220は、拡張アプリケーション240から共通して利用されるユーティリティライブラリである。拡張アプリケーション240からVMシステムサービス220の機能を呼び出すことにより、拡張アプリケーションを開発する手間を省いて、画像形成装置の各モジュールへアクセスすることができる。VMシステムサービス220には、VMとして最低限動作させる標準VMシステムサービス221と、画像形成装置の各モジュールへのアクセスやOSの機能を提供する拡張VMシステムサービス222とが含まれる。また標準VMシステムサービス221は、拡張アプリケーションをロードする機能も含む。VM230が拡張アプリケーションのバイトコードで指示されているAPIを実行することで、そのAPIに関連づけられているVMシステムサービスが呼び出される。拡張アプリケーション240は、拡張VMシステムサービス222を用いて、画像形成装置の構成情報、例えば、印刷可能な用紙サイズのリストや、カラー印刷可能か否か、印刷データの色判定が可能か否か、印刷部数の範囲、などの構成情報を取得できる。また、それらに対応したデフォルト設定値も取得することができる。
VM230は、拡張アプリケーション240を実行する。VM230は、拡張アプリケーションのスレッド毎に生成される。この図では拡張アプリケーションA241で2つのスレッドを動かすためのVM A−1(231)と、VM A−2(232)、拡張アプリケーションB242で1つのスレッドを動かすためのVM B−1(233)を生成している。
また、画像形成装置の操作部112に表示されるメインメニュー画面には、拡張アプリケーションごとのアイコンが表示される。このアイコンをユーザが選択したことを、操作部112を通じて操作部I/F106が検知すると、操作部I/F106はその旨をCPU101に通知する。その通知を受け取ったCPU101は、ユーザによって選択された拡張アプリケーションを起動する。
図3は、実施形態に係る画像形成装置のCPU101が実行するソフトウェアモジュールの構成図である。
サーブレットサービス304は、ネットワークI/F110を通してHTTPアクセスされた際に、そのリクエストを受け付け、アクセスされたURLによってモジュール(アプリケーション管理部302か標準機能制御部301)に処理を振り分ける。UI制御部303は、操作部112に画面を表示し、ユーザからの操作を受け付けて、その操作情報を適切なモジュール(アプリケーション管理部302か標準機能制御部301)に通知する。アプリケーション管理部302は、インストールされている拡張アプリケーションのアンインストールや、起動等の管理を行うモジュールである。アプリケーション実行制御部305は、アプリケーション管理部302により起動されたアプリケーションの実行制御を行うモジュールである。具体的には、アプリケーション実行制御部305は、VMスレッド215、VMシステムサービス220、VM230、拡張アプリケーション240を制御する。ストレージ制御部306は、画像成形装置の設定情報を記憶及び管理するモジュールである。各モジュールは、ストレージ制御部306にアクセスし、設定値の参照、設定を行う。標準機能制御部301は、画像形成装置の標準機能であるコピーやFAXの制御や、その他の画像成形装置に必要な制御(例えばUSBホストパスI/F113の制御)を行うモジュールである。
図4は、実施形態に係る画像形成装置を含む印刷システムの構成例を示す図である。この印刷システムは、画像形成装置(MFP)401,404、PC402を含み、これらは、LAN等のネットワーク403を介して接続されている。
画像形成装置401,404には、画像形成装置の機能を拡張する拡張プログラム(アプリケーションA、アプリケーションB)がインストールされている。PC402は、画像形成装置401,404にアクセスし、インストールされているアプリケーションの設定を行う。ここで画像形成装置401のアプリケーションA431と、画像形成装置404のアプリケーションA434は同じアプリケーションである。また、これらアプリケーションA431,434はそれぞれ設定データ441,444を有し、これら設定データの構成は画像形成装置の機能に違いに応じて互いに相違している。またアプリケーションB411,413も同じアプリケーションである。また画像形成装置401のアプリケーションB411と、画像形成装置404のアプリケーションB414は同じアプリケーションで、それぞれが保持する設定データ421,424も、設定データ441,444と同様に、各画像形成装置が有する機能に応じて互いに相違している。
図5は、実施形態に係る画像形成装置のストレージ104に格納されている拡張アプリケーションの情報の一例を示す図である。
ストレージ104は、ファイルシステムで管理され、ディレクトリ構造を持つ。アプリケーションのデータは、アプリケーションごとにディレクトリに分かれて管理される。アプリケーションAのデータは、501〜503で示すディレクトリに格納される。
「ApplicationA」のディレクトリ501は、アプリケーションAのデータを管理するルートディレクトリである。アプリケーションのルートディレクトリは、dataディレクトリ502と、packageディレクトリ503を有する。dataディレクトリ502は、アプリケーションの設定情報などを動的に生成する情報を保持するディレクトリである。このディレクトリにどのような情報を書き込むか、また、どのようなデータフォーマットで書き込むかは、アプリケーションによって異なる。実施形態では、アプリケーションの例として、ユーザが登録したフォーム画像データを印刷するフォーム印刷アプリケーションを用いて説明する。このフォーム印刷アプリケーションの設定データは、「setting.info」520,540に格納されている。
設定データ520は、カラーと白黒印刷可能な画像形成装置の設定データ、設定データ540は、白黒印刷のみ可能な画像形成装置の設定データの例を示す。ここでは、設定データの一例をJSONフォーマットで示しているが、この設定情報のフォーマットはアプリケーションが自由に決めてよく、例えば独自のバイナリ形式でもよいし、XMLでも良い。
また、この設定データ520,540には、操作部112にアイコン表示する際のボタンID521,529,541、フォーム名522,530,542、印刷ファイル523,531,543、印刷設定524,532,544が含まれる。ボタンID521,529,541は、アイコンを識別するIDであり、押下されたボタンを識別する際に使用される。フォーム名522,530,542は、フォームの内容を示す名称であり、ユーザにより登録される。ここではフォーム名522,542は「form1」であり、フォーム名530は「form2」に設定されている。フォーム画像ファイルは、フォーム印刷で印刷する対象の画像ファイルであり、ユーザが登録する。
印刷設定524,532,544には、用紙サイズ525,533,545、両面設定526,534,546、印刷カラー設定527,535,547、印刷部数設定528,536,548が含まれる。ここで印刷カラー設定527,535は、カラー及び白黒モードでの印刷設定、印刷カラー設定547は白黒での印刷設定である。
packageディレクトリ503は、アプリケーションの動作を記述するスクリプトファイルや、画面に表示する画像データのリソースファイルなど、静的な情報を保持するディレクトリである。スクリプトファイルや、リソースファイルなどは、package.bin550の一つのファイルにアーカイブされる。このpackage.bin550には、アプリケーション情報551が含まれる。アプリケーション情報551には、アプリケーションを識別するためのアプリケーション識別ID552、アプリケーション名553、アプリケーションバージョン554、データバージョン555が含まれる。
アプリケーションBのデータは、511〜513で示すディレクトリに格納される。
図6は、実施形態に係る画像形成装置におけるアプリケーションの設定処理の流れを説明するシーケンス図である。これ以降では、アプリケーションの一例として、ユーザが登録したフォーム画像データを印刷するフォーム印刷アプリケーションのアイコン情報の生成処理を例に説明する。アプリケーションによって細かい処理内容は異なるが、基本的な処理はここで示す処理と同じ処理になる。アプリケーションの設定は、PC402で動作するWebブラウザから画像形成装置401に接続し、Webブラウザを介して行う。
まずS601で、Webブラウザから画像形成装置401のサーブレットサービス304に対してアプリケーションを設定するための設定用URLをリクエストする。これによりサーブレットサービス304はS602で、アプリケーション管理部302に処理を依頼する。これによりアプリケーション管理部302はS603で、リクエストされているURLから該当アプリケーションを特定し、そのアプリケーションのアプリケーションサーブレットを起動する。そしてアプリケーション(フォーム印刷アプリケーション)はS604で、要求されたURLのリクエストに対するレスポンス処理を行う。ここでは、設定用URLに対するHTMLリソースを返す準備を行う。このHTMLリソースには、フォーム印刷処理に必要な設定データ520,540を参照及び設定するためのHTMLフォームが記述されている。また、この中には、設定データ520,540の各項目の設定範囲情報が含まれる。この設定範囲情報は、拡張VMシステムサービス222を用いて、画像形成装置401の構成情報を取得して生成される。
用紙サイズ525,533,545は、印刷可能な用紙サイズのリストから設定範囲が決定される。印刷カラー設定527,535,547は、カラー印刷可能か否か、印刷データの色判定が可能か否かの2つの情報から設定リストが決定される。カラー印刷ができない場合は参照及び設定の対象外とし、HTMLフォームには記述されない。印刷部数設定528,536,548は、印刷部数の範囲から上限値と下限値が決定される。
次にフォーム印刷アプリケーションはS605で、S604で準備したHTMLリソースを応答する。これにより画像形成装置401のアプリケーション管理部302はS606で、その受けたレスポンスをそのままサーブレットサービス304にレスポンスする。またサーブレットサービス304はS607で、受けたレスポンスをそのままWebブラウザに応答する。
これによりPC402のユーザはS608で、そのWebブラウザに表示された画面を編集し、フォーム印刷アプリケーションの設定を変更する。こうして表示される画面例を、後述する図7に示す。ここでは、新しく印刷フォームを登録したとする。そしてS609でWebブラウザは、ユーザの操作に従って、新しく設定された設定情報の登録リクエストをサーブレットサービス304に送信する。これによりサーブレットサービス304はS610で、アプリケーション管理部302にその処理を依頼する。これによりアプリケーション管理部302はS611で、要求されたURLから該当するアプリケーションを特定し、そのアプリケーションのアプリケーションサーブレットを起動する。これによりアプリケーション(フォーム印刷アプリケーション)はS612で、Webブラウザから送られたリクエストに基づいて、フォーム印刷アプリケーションの設定の登録処理を実行する。このときフォーム印刷アプリケーションは、設定データ520,540に行を追加して登録する。次にS613でフォーム印刷アプリケーションは、その登録処理の結果をレスポンスとしてアプリケーション管理部302に返す。そしてアプリケーション管理部302はS614で、その受けたレスポンスをそのままサーブレットサービス304に返し、更にサーブレットサービス304はS615で、その受けたレスポンスをそのままWebブラウザに返す。
更に、フォーム印刷アプリケーションはS616で、新たに登録したフォームのアイコンを登録するために、アプリケーション管理部302にアイコン情報の更新通知を送る。これによりアプリケーション管理部302はS617で、アイコンの更新処理を行う。
図7は、実施形態に係るWebブラウザに表示されるフォーム印刷アプリケーションの設定画面の一例を示す図である。
図7(A)は、A3サイズまでの用紙に印刷可能で、カラーと白黒印刷が可能な画像形成装置の設定画面の一例を示す。また図7(B)は、A3サイズより小さいA4サイズまでの用紙に印刷可能で、白黒印刷のみが可能な画像形成装置の設定画面の一例を示す。
この設定画面で、OKボタン701が押下されると、図6のS609で示す設定情報の登録リクエストが画像形成装置401に送信される。一方、キャンセルボタン702が押下されると編集が中止され、この登録リクエストが送信されない。ここで図7(A)は、図5の設定データ520に対応しており、図7(B)は、図5の設定データ540に対応している。
印刷可能な用紙サイズのリスト703は、印刷サイズを選択するためのリストである。この例では、最大A3サイズまでの用紙サイズがリストに含まれている。図7(B)の用紙サイズのリスト753は、印刷サイズを選択するためのリストである。この例では、最大A4サイズまでの用紙サイズがリストに含まれている。印刷カラー設定リスト704は、印刷カラー設定のリストである。図7(B)の設定画面は、白黒印刷が可能な画像形成装置の画面であるため、印刷カラー設定リストは表示されていない。印刷部数範囲705は、印刷部数設定の上限値と下限値である。
図8は、実施形態に係る画像形成装置の操作部112に表示される画面例を示す図である。
「form1」801は、フォーム印刷アプリケーションのボタンID521に対応するアイコンである。また「form2」802は、フォーム印刷アプリケーションのボタンID529に対応するアイコンである。またこの画面は、標準機能のコピー803、FAX804、Send805アイコンを含む。ユーザが、これらアイコンのいずれかを押下することで、それぞれ対応する機能が起動する。
図9は、実施形態に係る画像形成装置において拡張アプリケーションを起動する際の処理を説明するシーケンス図である。
図8に示す操作部112に表示される画面で、ユーザが、拡張アプリケーションに対応するアイコンを押下したことを検知すると、S901で、ネイティブスレッド214に拡張アプリケーションの起動要求が通知される。この通知には、押下されたボタンのアプリケーション識別情報と、ボタンIDが含まれる。この通知を受けたネイティブスレッド214は、S902でVMスレッド215の生成処理を行う。この処理では、OS201に対してスレッドの生成要求を出す。このスレッド生成要求を受けたOS201は、S903でVMスレッド215を生成する。
こうして生成されたVMスレッド215はS904で、スレッドの初期化を行う。続いてS905でVM230を生成する。生成されたVM230はS906において、拡張アプリケーションの読み込み処理を実行する。ここでは、標準VMシステムサービス221に拡張アプリケーションの読み込み要求を出す。この読み込み要求には、アプリケーション識別情報が含まれており、どのアプリケーションを読み込むのかを指示する。この読み込み要求を受けた標準VMシステムサービス221は、S907で拡張アプリケーションデータをVM230に読み込む。このとき、読み込む拡張アプリケーションのデータは、拡張アプリケーション毎に共通の固定の名前であり、各拡張アプリケーションは必ずこの名前のデータを持つ。
続いてVM230はS908で、読み込んだ拡張アプリケーションを実行する。S908の処理内容は、拡張アプリケーションのスクリプト内容によって異なる。この時、拡張アプリケーションには、どのボタンが押下されたかを示すボタンIDを通知する。拡張アプリケーションは、通知されたボタンIDの情報を基に、どのアイコンが押下されたのかを判定し、そのボタンに応じた処理を実行する。フォーム印刷アプリケーションは、S909で設定データ520,540を読み込み、アプリケーションにどのような設定がされているかを認識する。また、通知されているボタンIDに基づいて、そのボタンIDに関連する設定情報を抽出する。続いてS910で、抽出した設定情報をもとに、フォームの印刷を行うためにジョブを投入する。この処理によって、フォーム印刷アプリケーションは、登録されているフォームを印刷することができる。
図10は、実施形態に係る画像形成装置404のアプリケーション設定情報を画像形成装置401に反映する処理の概要を説明する図である。
まず画像形成装置404に設定されているアプリケーション設定データ424,444から設定情報1001を生成する。この設定情報1001には、アプリケーションAの設定データ444を復元するための設定データ1002と、アプリケーションBの設定データ424を復元するための設定データ1003が含まれる。この処理は、アプリケーションが行わず、アプリケーション管理部302が行う。
具体的には、図5で示すアプリケーションのデータディレクトリ502,512のファイルに基づいて、設定データ1002,1003を生成する。このときアプリケーション管理部302は、ファイルの種別(設定データか、リソースデータか)を識別せずに処理する。この設定データ1001を画像形成装置401にインポートして反映することで、画像形成装置401の設定データが、アプリケーションAの設定データ441から設定データ1002に書き換わり、アプリケーションBの設定データ421から設定データ1003に書き換えられる。この書き換える処理も、アプリケーション管理部302が行う。尚、対応するアプリケーションが存在しない場合は取り込みが実施されない。
画像形成装置404の現在の設定データ424,444から設定情報1001を生成することをエクスポート、設定情報1001を基に、設定データを画像形成装置401に反映することをインポートとする。フォーム印刷アプリケーションの場合、設定データ444が図5の設定データ520に、設定データ424が図5の設定データ540に対応する。
次に、このように構成情報が異なる設定データを画像形成装置401にインポートしたときの設定データの変換について、具体例を挙げて説明する。
図11は、実施形態に拡張アプリケーションが拡張VMシステムサービス222を用いて取得する画像形成装置の構成情報の一例を示す図である。
図11(A)は、A3サイズまでの用紙に印刷可能で、カラーと白黒印刷が可能な構成情報の一例を示し、図11(B)は、A3サイズより小さいA4サイズまでの用紙に印刷可能で、白黒印刷のみ可能な構成情報の一例を示す図である。図7(A)は図5の設定データ520に、図7(B)は、図5の設定データ540に対応している。
構成情報には、項目1101、設定タイプ1102、設定範囲1103、デフォルト設定1104が含まれる。設定タイプ1102は、設定範囲1103からリスト選択するタイプと、設定範囲1103から数値で設定するタイプがある。設定タイプ1102がリスト選択で選択肢が1つしかない項目、設定タイプ1102が数値で、上限値と下限値が同じ値になっている項目は固定設定となる。
図12は、実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態でアプリケーションの設定を実行した際に、HTMLフォームに記述する設定データを決定する処理を説明するフローチャートである。このフローチャートで示す処理は、図6のS604で、拡張アプリケーションが、アプリケーション管理部302から要求されたURLのリクエストに対するレスポンス処理を実行するときの処理である。各ステップで示す処理は、拡張アプリケーションを実行するCPU101によって実行される。
先ずS1201でCPU101は、拡張VMシステムサービス222を用いて画像形成装置の構成情報を取得する。次にS1202に進みCPU101は、設定データ520,540を読み込む。次にS1203に進みCPU101は、設定データ520,540の全ての設定項目の確認が完了したかを判定する。確認が完了していない場合はS1204に進み、確認が完了した場合は、このフローチャートを終了する。
S1204でCPU101は、この画像形成装置の構成情報に依存する設定か否かを判定する。実施形態では、画像形成装置の構成情報に依存する設定は、例えば図5の印刷設定524,532,544とし、依存しない設定は、その他のボタンID521,529,541、フォーム名522,530,542、印刷ファイル523,531,543とする。S1204で構成情報に依存する設定と判定した場合はS1205に進み、そうでないときはS1203に戻る。S1205でCPU101は、設定項目に対応する構成情報の項目から固定設定か否かを判定する。ここで固定設定と判定した場合はS1205に処理を進め、そうでないときはS1203に戻る。
S1206でCPU101は、設定項目に対応する構成情報の項目から設定項目は数値設定か否かを判定する。ここで数値と判定した場合はS1207に進み、数値でない、即ち、リストからの選択であると判定した場合はS1211に進む。S1207でCPU101は、設定項目の設定値と構成情報の設定範囲1103とを比較する。ここで設定値が、設定範囲の下限値より小さい場合はS1208に進み、設定値が設定範囲の上限値より大きい場合はS1209に進み、設定値が設定範囲内である場合はS1210に進む。S1208でCPU101は、HTMLフォームに記述する設定データを構成情報の設定範囲1103の下限値に設定してS1203に戻る。S1209でCPU101は、HTMLフォームに記述する設定データを構成情報の設定範囲1103の上限値に設定してS1203に戻る。またS1210でCPU101は、HTMLフォームに記述する設定データに、設定データ520,540をそのまま設定してS1203に戻る。
一方、リストからの選択の場合はS1211でCPU101は、設定データ520,540が設定項目に対応する構成情報の設定範囲のリストに含まれているか否かを判定する。ここでリストに含まれていると判定した場合はS1210に進み、そうでないときはS1212に進む。S1212でCPU101は、HTMLフォームに記述する設定データを構成情報のデフォルト値に設定してS1203に戻る。
以上説明したように実施形態によれば、構成情報に基づいて、HTMLフォームに記述する設定データを決定することで、構成情報が異なる設定データが画像形成装置にインポートされた状態であっても図7の設定画面のように、画像形成装置の構成に応じた設定画面を生成して表示することができる。
更に、拡張アプリケーションは、画像形成装置の構成に応じた設定画面で、OKボタン701が押下され、Webブラウザから送られたリクエストに基づいてS612で登録処理を行う際に、そのリクエストに基づいた設定値で、設定データ520,540を上書きする。そうすることで、構成情報が異なる設定データが画像形成装置にインポートされた状態から、画像形成装置の構成情報に合った設定データに変換されて反映されることになる。
図13は、実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態で、フォーム印刷アプリケーションがジョブを投入するときの処理を説明するフローチャートである。このフローチャートで示す処理は、拡張アプリケーションを実行するCPU101によって実行される。このフローチャートで示す処理は、図9のS909で実行される。ここでは、拡張アプリケーションが、図9のS909で設定データ520,540を読み込み、アプリケーションにどのような設定がされているかを認識する際に、図12と同様のフローチャートで示すS1201〜S1207,S1211の処理を実行する。従って、図13では図12の処理と同じ処理には同じ参照番号を付し、それらの説明を省略する。
S1207でCPU101は、設定項目の設定値と構成情報の設定範囲1103とを比較する。ここで設定値が、設定範囲の下限値より小さい場合はS1301に進み、設定値が設定範囲の上限値より大きい場合はS1302に進み、設定値が設定範囲内にある場合はS1303に進む。S1301でCPU101は、ジョブを投入するための設定データを、構成情報の設定範囲1103の下限値に設定してS1203に戻る。またS1302でCPU101は、ジョブを投入するための設定データを、構成情報の設定範囲1103の上限値に設定してS1203に戻る。またS1303でCPU101は、ジョブを投入するための設定データに、設定データ520,540をそのまま設定してS1203に戻る。
またS1211でCPU101は、設定データ520,540が設定項目に対応する構成情報の設定範囲のリストに含まれているか否かを判定する。ここでリストに含まれていると判定した場合はS1303に進み、そうでないときはS1304に進む。S1304でCPU101は、ジョブを投入するための設定データを、構成情報のデフォルト値に設定してS1203に戻る。
つまり、ジョブを実行しただけでは設定データ520,540は上書きされず、構成情報が異なる設定データを画像形成装置にインポートされた状態が維持される。
以上説明したように実施形態によれば、拡張アプリケーションを起動することなく設定データをインポートでき、拡張アプリケーションを起動した際に、設定項目の相違、設定値の範囲が異なるか否かを判定して設定データを変換する。これにより、設定値のインポートを行っても、ユーザは即座にアプリケーションを使用することが可能となった。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
100…コントローラユニット、101…CPU、102…RAM、112…操作部、210…ネイティブプログラム、220…VMシステムサービス、230…仮想マシン(VM)、240…拡張アプリケーション、302…アプリケーション管理部、304…サーブレットサービス

Claims (12)

  1. 拡張アプリケーションをアドインして機能を拡張できる情報処理装置であって、
    各アプリケーションの設定データを記憶して管理する管理手段と、
    他の機器のアプリケーションの設定データを取り込んで、前記情報処理装置が有する対応する拡張アプリケーションの設定データを書き換える書き換え手段と、
    前記拡張アプリケーションを起動して前記設定データを編集する編集手段と、
    前記編集手段によって前記設定データを編集する際に、前記他の機器と前記情報処理装置との間で前記設定データの設定値が異なる場合、前記異なる設定値を前記情報処理装置の構成情報に基づく設定値に変換する変換手段と、
    を有することを特徴とする情報処理装置。
  2. 前記変換手段は、前記異なる設定値が、前記情報処理装置の構成情報に基づく設定範囲内でなく、かつ前記異なる設定値が数値の場合、前記異なる設定値が前記設定範囲の下限値よりも小さいか、或いは上限値よりも大きいかに応じて、前記異なる設定値を前記下限値、或いは前記上限値に変換することを特徴とする請求項1に記載の情報処理装置。
  3. 前記変換手段は、前記異なる設定値が、前記情報処理装置の構成情報に基づく設定できる値でない場合は、デフォルトの設定値に変換することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記編集手段は、前記設定データを編集するための画面を表示し、前記画面は前記変換手段により変換された設定値を含む画面であることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記編集手段は、前記設定データを編集するための画面を表示し、前記画面は前記異なる設定値が、前記情報処理装置の構成情報に基づく設定できる設定項目に含まれない場合、前記画面は当該設定項目を含まない画面であることを特徴とする請求項3に記載の情報処理装置。
  6. 拡張アプリケーションをアドインして機能を拡張できる情報処理装置であって、
    各アプリケーションの設定データを記憶して管理する管理手段と、
    他の機器のアプリケーションの設定データを取り込んで、前記情報処理装置が有する対応する拡張アプリケーションの設定データを書き換える書き換え手段と、
    前記拡張アプリケーションが起動されると、当該拡張アプリケーションに対応する設定データに従って前記拡張アプリケーションによるジョブを実行する実行手段と、
    前記実行手段が前記ジョブを実行する際に、前記他の機器と前記情報処理装置との間で前記設定データの設定値が異なる場合、前記異なる設定値を前記情報処理装置の構成情報に基づく設定値に変換して前記ジョブに設定する変換手段と、
    を有することを特徴とする情報処理装置。
  7. 前記変換手段は、前記異なる設定値が、前記情報処理装置の構成情報に基づく設定範囲内でなく、かつ前記異なる設定値が数値の場合、前記異なる設定値が前記設定範囲の下限値よりも小さいか、或いは上限値よりも大きいかに応じて、前記異なる設定値を前記下限値、或いは前記上限値に変換することを特徴とする請求項6に記載の情報処理装置。
  8. 前記変換手段は、前記異なる設定値が、前記情報処理装置の構成情報に基づく設定できる値でない場合は、デフォルトの設定値に変換することを特徴とする請求項6又は7に記載の情報処理装置。
  9. 前記情報処理装置は、ネイティブプログラムと、前記拡張アプリケーションを制御するプログラムを理解して実行するモジュールである仮想マシンを有し、前記ネイティブプログラムと前記仮想マシンは、OS(オペレーティングシステム)上で動作することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 拡張アプリケーションをアドインして機能を拡張できる情報処理装置を制御する制御方法であって、
    各アプリケーションの設定データを記憶して管理する管理工程と、
    他の機器のアプリケーションの設定データを取り込んで、前記情報処理装置が有する対応する拡張アプリケーションの設定データを書き換える書き換え工程と、
    前記拡張アプリケーションを起動して前記設定データを編集する編集工程と、
    前記編集工程によって前記設定データを編集する際に、前記他の機器と前記情報処理装置との間で前記設定データの設定値が異なる場合、前記異なる設定値を前記情報処理装置の構成情報に基づく設定値に変換する変換工程と、
    を有することを特徴とする制御方法。
  11. 拡張アプリケーションをアドインして機能を拡張できる情報処理装置を制御する制御方法であって、
    各アプリケーションの設定データを記憶して管理する管理工程と、
    他の機器のアプリケーションの設定データを取り込んで、前記情報処理装置が有する対応する拡張アプリケーションの設定データを書き換える書き換え工程と、
    前記拡張アプリケーションが起動されると、当該拡張アプリケーションに対応する設定データに従って前記拡張アプリケーションによるジョブを実行する実行工程と、
    前記実行工程が前記ジョブを実行する際に、前記他の機器と前記情報処理装置との間で前記設定データの設定値が異なる場合、前記異なる設定値を前記情報処理装置の構成情報に基づく設定値に変換して前記ジョブに設定する変換工程と、
    を有することを特徴とする制御方法。
  12. コンピュータを、請求項1乃至9のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2019147964A 2019-08-09 2019-08-09 情報処理装置とその制御方法、及びプログラム Active JP7418168B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019147964A JP7418168B2 (ja) 2019-08-09 2019-08-09 情報処理装置とその制御方法、及びプログラム
US16/940,736 US20210042131A1 (en) 2019-08-09 2020-07-28 Information processing apparatus, method of controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019147964A JP7418168B2 (ja) 2019-08-09 2019-08-09 情報処理装置とその制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2021029036A true JP2021029036A (ja) 2021-02-25
JP2021029036A5 JP2021029036A5 (ja) 2022-08-17
JP7418168B2 JP7418168B2 (ja) 2024-01-19

Family

ID=74498248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019147964A Active JP7418168B2 (ja) 2019-08-09 2019-08-09 情報処理装置とその制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US20210042131A1 (ja)
JP (1) JP7418168B2 (ja)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
US7523142B2 (en) * 2001-12-17 2009-04-21 Sap Ag Systems, methods and articles of manufacture for upgrading a database with a shadow system
US20040194055A1 (en) * 2003-03-24 2004-09-30 International Business Machines Corporation Method and program product for costing and planning the re-hosting of computer-based applications
JP4796450B2 (ja) 2005-10-03 2011-10-19 株式会社リコー 画像形成装置
US9003473B2 (en) * 2009-11-09 2015-04-07 Verizon Patent And Licensing Inc. Enhanced television extension
US9244700B2 (en) * 2010-05-09 2016-01-26 Citrix Systems, Inc. Methods and systems for delivering applications from a desktop operating system
US10584890B2 (en) * 2010-05-26 2020-03-10 Ecofactor, Inc. System and method for using a mobile electronic device to optimize an energy management system
JP2013008338A (ja) * 2011-06-27 2013-01-10 Canon Inc 設定値管理装置、設定値管理方法、およびプログラム
JP2013103411A (ja) 2011-11-14 2013-05-30 Ricoh Co Ltd 画像形成装置、画像形成システム、及び画像形成プログラム
JP6296765B2 (ja) * 2013-11-20 2018-03-20 キヤノン株式会社 情報処理装置および制御方法およびプログラム
JP6237724B2 (ja) 2015-07-27 2017-11-29 コニカミノルタ株式会社 設定情報適用装置、設定情報適用方法、およびコンピュータプログラム
US10360190B2 (en) * 2016-03-31 2019-07-23 Microsoft Technology Licensing, Llc Migrate data in a system using extensions
US10241776B2 (en) * 2016-04-08 2019-03-26 Microsoft Technology Licensing, Llc User settings across programs
JP6991852B2 (ja) 2017-12-19 2022-01-13 キヤノン株式会社 制御装置及びその制御方法、並びにプログラム
US11347627B2 (en) * 2019-08-07 2022-05-31 Bank Of America Corporation System for customization of software platforms for implementation in legacy systems

Also Published As

Publication number Publication date
JP7418168B2 (ja) 2024-01-19
US20210042131A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US8392523B2 (en) Image forming apparatus for determining the availability of application program interfaces
US20070038946A1 (en) Systems, methods and devices for controlling a multifunctional product using a scriptable user interface
US8438567B2 (en) Information processing device and image processing apparatus
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
US11140291B2 (en) Information processing apparatus, control method thereof, and storage medium
US20080055667A1 (en) Image processing apparatus, image processing method, and recording medium
JP5634132B2 (ja) 情報処理システム、情報処理装置、それらの制御方法及びプログラム
JP2018015947A (ja) 画像形成装置、画像形成方法、およびプログラム
JP6827821B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
US20110035704A1 (en) Information processing device, operation control system, and computer readable recording medium with screen data generation program recorded thereon
JP7402643B2 (ja) 情報処理装置とその制御方法、及びプログラム
JP7472177B2 (ja) 画像形成装置およびその制御方法
JP7418168B2 (ja) 情報処理装置とその制御方法、及びプログラム
JP2002222081A (ja) プログラム作成装置、プログラム作成方法、その方法をコンピュータに実行させるプログラム、画像形成装置およびアドレス解決方法
JP2010218469A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP7080061B2 (ja) 画像処理装置
US20230036834A1 (en) Information processing system, apparatus, and storage medium having combinational and non-combinational applications
JP2022144925A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
JP7030426B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP6852591B2 (ja) 入出力デバイス、プログラム及び情報処理システム
JP2023011236A (ja) 情報処理システム、情報処理方法、プログラム
JP6808520B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP2016018508A (ja) 画像形成装置及びその制御方法
JP2020108021A (ja) 情報処理装置およびプログラム
JP2021016183A (ja) 情報処理装置、データ処理方法、プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240109

R151 Written notification of patent or utility model registration

Ref document number: 7418168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151