JP7334640B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP7334640B2
JP7334640B2 JP2020020801A JP2020020801A JP7334640B2 JP 7334640 B2 JP7334640 B2 JP 7334640B2 JP 2020020801 A JP2020020801 A JP 2020020801A JP 2020020801 A JP2020020801 A JP 2020020801A JP 7334640 B2 JP7334640 B2 JP 7334640B2
Authority
JP
Japan
Prior art keywords
application
unit
web
screen
native
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.)
Active
Application number
JP2020020801A
Other languages
English (en)
Other versions
JP2021128371A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2020020801A priority Critical patent/JP7334640B2/ja
Publication of JP2021128371A publication Critical patent/JP2021128371A/ja
Application granted granted Critical
Publication of JP7334640B2 publication Critical patent/JP7334640B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。
ブラウザを搭載したMFP(Multifunction Peripheral)等の情報処理装置において、Webアプリケーション(以下、単にWebアプリと称する)を作成する場合には、例えば以下のような問題がある。例えば、Webアプリはネイティブアプリケーション(以下、単にネイティブアプリと称する)に比べて動作が遅く、また、ソースコード(HTML(HyperText Markup Language)、JavaScript(登録商標)等)が簡単に見えてしまい、セキュリティ上に問題がある。また、Webアプリの開発において、機能の一部分を既存のネイティブアプリを利用して工数削減を図ろうとしても、技術的に困難であるため、この場合、一度、Webアプリ上のホーム画面等に戻ってネイティブアプリを起動する操作を手動で行わなければならないという問題がある。
このような問題を解消するための技術として、例えば、Webアプリからネイティブアプリを起動し、ネイティブアプリの動作終了後、ネイティブアプリの画面からWebアプリの画面に戻る構成が開示されている(例えば特許文献1)。
しかしながら、特許文献1で記載された技術では、ネイティブアプリ側で、Webアプリから起動されたことを記憶しており、動作終了時(リセット時等)にネイティブアプリがWebアプリに対して当該Webアプリの画面を表示させる(元のWebアプリの画面に戻す)処理を行っている。そのため、Webアプリとネイティブアプリとの連携動作を実現する際に、ネイティブアプリ側で呼び出し元のWebアプリの情報を管理し、かつネイティブアプリ側で呼び出し元のWebアプリの画面を表示させる処理を実装しなければならないという問題がある。
本発明は、上記に鑑みてなされたものであって、Webアプリから起動されたネイティブアプリの動作終了後に、ネイティブアプリの処理によらずにWebアプリの画面に戻すことができる情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、Webアプリケーションから起動指令を受けてネイティブアプリケーションを起動させる起動ステップと、呼び出し元アプリケーションとしての前記Webアプリケーションと、呼び出し先アプリケーションとしての前記ネイティブアプリケーションとを関連付ける履歴情報を記憶部に記憶させる記憶制御ステップと、前記ネイティブアプリケーションの動作終了後、前記履歴情報に含まれている呼び出し元アプリケーションとしての前記Webアプリケーションの画面を表示部に表示させる画面制御ステップと、を備えたことを特徴とする。
本発明によれば、Webアプリから起動されたネイティブアプリの動作終了後に、ネイティブアプリの処理によらずにWebアプリの画面に戻すことができる。
図1は、実施形態に係る情報処理システムの構成の一例を示す図である。 図2は、実施形態に係るMFPのハードウェア構成の一例を示す図である。 図3は、実施形態に係るWebサーバのハードウェア構成の一例を示す図である。 図4は、実施形態に係る情報処理システムのソフトウェア構成の一例を示す図である。 図5は、実施形態に係る情報処理システムの機能ブロックの構成の一例を示す図である。 図6は、呼び出し履歴テーブルの一例を示す図である。 図7は、アプリ通知対応テーブルの一例を示す図である。 図8は、実施形態に係るMFPのWebアプリおよびネイティブアプリの連携動作の流れの一例を示すシーケンス図である。 図9は、Webアプリ画面の一例を示す図である。 図10は、MFPのWebアプリおよびネイティブアプリの連携動作における呼び出し履歴テーブルの遷移の状態を示す図である。 図11は、ネイティブアプリ画面の一例を示す図である。
以下に、図面を参照しながら、本発明に係る情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
(情報処理システムの構成)
図1は、実施形態に係る情報処理システムの構成の一例を示す図である。図1を参照しながら、本実施形態に係る情報処理システム1の構成について説明する。
図1に示すように、本実施形態に係る情報処理システム1は、1以上のMFP(MFP10a、10b、・・・)と、Webサーバ20と、を含む。なお、図1では、MFP10a、10b、・・・が示されているが、これらのうち任意の通信端末を示す場合または総称する場合、単に「MFP10」と称する。また、MFP10とWebサーバ20とは、例えば、インターネット等の広域的なネットワークNを介して互いに通信可能となっている。なお、ネットワークNは、有線だけなく無線によるネットワークが含まれるものとしてもよい。
MFP10は、Webブラウザがインストールされた画像形成装置であり、情報処理装置の一例である。ここで、MFPとは、コピー機能、プリンタ機能、スキャナ機能、およびファックス機能のうち少なくとも2つの機能を有する複合機である。MFP10のユーザは、Webサーバ20から提供されるWebアプリを利用することができる。
Webサーバ20は、ネットワークNを介して、汎用的なHTML等を用いたWebアプリをMFP10へ提供する情報処理装置または情報処理システムである。ここで、汎用的なHTMLとは、W3C(World Wide Web Consortium)で規定されたHTML5またはHTML5.1等である。また、汎用的とは、例えば、画像形成装置等の機器でのみ解釈可能なように定義されたコンテンツ(拡張HTML、拡張JavaScript等の拡張されたコンテンツ)とは異なり、汎用のWebブラウザであれば機器の種類を問わず、解釈可能なコンテンツであることを示す。
Webサーバ20によりWebアプリが提供されることで、種々のWebサービスが実現される。このようなWebサービスとしては、例えば、クラウドストレージサービス、SNS(Social Networking Service)、クラウドプリントサービス、ブログサービス、掲示板サービス、オンラインゲームサービス、オンラインショッピングサービス等が挙げられる。
なお、図1に示す情報処理システム1の構成は一例であって、他の構成であってもよい。例えば、情報処理システム1には、MFP10以外の情報処理装置が含まれるものとしてもよい。
(MFPのハードウェア構成)
図2は、実施形態に係るMFPのハードウェア構成の一例を示す図である。図2を参照しながら、本実施形態に係るMFP10のハードウェア構成について説明する。
図2に示すように、MFP10は、ユーザの操作を受け付ける操作部11と、スキャナ機能およびプリンタ機能等の各種の画像形成機能を実現する本体部12と、を備える。ここで、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報(画面の座標値を示す信号等を含む)を受け付けることを含む概念である。
操作部11および本体部12は、専用の通信路13を介して、相互に通信可能に接続されている。通信路13は、例えば、USB(Universal Serial Bus)規格のものを用いることができるが、これに限定されるものではなく、有線か無線かを問わず任意の規格のものであってよい。本体部12は、操作部11で受け付けた操作に応じた動作を行う。また、本体部12は、外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
<操作部のハードウェア構成>
図2に示すように、操作部11は、CPU(Central Processing Unit)111と、ROM(Read Only Memory)112と、RAM(Random Access Memory)113と、フラッシュメモリ114と、操作パネル115と、接続I/F116と、通信I/F117と、バス118と、を備えている。
CPU111は、操作部11の動作を統括的に制御する演算装置である。CPU111は、RAM113をワークエリア(作業領域)としてROM112またはフラッシュメモリ114等に格納されたプログラムを実行することにより、操作部11全体の動作を制御する。例えば、CPU111は、ユーザから受け付けた入力に応じた情報(画像)を操作パネル115に表示させる等の各種機能を実現する。
ROM112は、例えば、操作部111の起動時に実行されるBIOS(Basic Input/Output System)、および各種の設定等を記憶する不揮発性のメモリである。RAM113は、CPU111のワークエリア等として用いられる揮発性のメモリである。フラッシュメモリ114は、例えば、OS(Operating System)、アプリケーションプログラム、および各種データ等を記憶する不揮発性の記憶装置である。
操作パネル115は、ユーザの操作に応じた各種の入力を受け付けると共に、各種の情報(例えば、受け付けた操作に応じた情報、MFP10の動作状況を示す情報、および設定情報等)を表示する、入力機能および表示機能を有する装置である。操作パネル115は、例えば、タッチパネル機能を搭載した液晶表示装置(LCD:Liquid Crystal Display)で構成される。なお、操作パネル115は、液晶表示装置に限定されるものではなく、例えば、タッチパネル機能が搭載された有機EL(Electro-Luminescence)の表示装置で構成されていてもよい。また、操作パネル115は、タッチパネル機能に加えてまたはこれに代えて、ハードウェアキー等の操作部、またはランプ等の表示部を設けることもできる。
接続I/F116は、通信路13を介して、本体部12と通信するためのインターフェースである。
通信I/F117は、操作部11をネットワークNに接続し、ネットワークNに接続された外部装置との通信を行うためのネットワークインターフェースである。通信I/F117は、例えば、イーサネット(登録商標)に対応し、TCP(Transmission Control Protocol)/IP(Internet Protocol)等に準拠した通信が可能なインターフェースである。
バス118は、上述の各構成要素を互いに接続し、アドレス信号、データ信号、および各種制御信号等を伝送する伝送路である。
なお、図2に示した操作部11のハードウェア構成は一例を示すものであり、図2に示した構成要素以外の構成要素を含むものとしてもよい。
<本体のハードウェア構成>
図2に示すように、本体部12は、CPU121と、ROM122と、RAM123と、ストレージ124と、スキャナエンジン125と、プリンタエンジン126と、接続I/F127と、通信I/F128と、バス129と、を備えている。
CPU121は、本体部12の動作を統括的に制御する演算装置である。CPU121は、RAM123をワークエリア(作業領域)としてROM122またはストレージ124等に格納されたプログラムを実行することにより、本体部12全体の動作を制御する。例えば、CPU121は、コピー機能、スキャナ機能、ファックス機能、およびプリンタ機能等の各種機能を実現する。
ROM122は、例えば、本体部12の起動時に実行されるBIOS、および各種の設定等を記憶する不揮発性のメモリである。RAM123は、CPU121のワークエリア等として用いられる揮発性のメモリである。ストレージ124は、例えば、OS、アプリケーションプログラム、および各種データ等を記憶する不揮発性の記憶装置である。ストレージ124は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等で構成される。
スキャナエンジン125は、画像形成機能のうち、原稿をスキャンして画像として読み取るスキャナ機能を実現させるための、汎用的な情報処理および通信以外の処理を行うハードウェアである。プリンタエンジン126は、画像形成機能のうち、用紙等の印刷媒体への印刷を行うプリンタ機能を実現させるための、汎用的な情報処理および通信以外の処理を行うハードウェアである。
接続I/F127は、通信路13を介して、操作部11と通信するためのインターフェースである。
通信I/F128は、本体部12をネットワークNに接続し、ネットワークNに接続された外部装置との通信を行うためのネットワークインターフェースである。通信I/F128は、例えば、イーサネットに対応し、TCP/IP等に準拠した通信が可能なインターフェースである。
バス129は、上述の各構成要素を互いに接続し、アドレス信号、データ信号、および各種制御信号等を伝送する伝送路である。
なお、図2に示した本体部12のハードウェア構成は一例を示すものであり、図2に示した構成要素以外の構成要素を含むものとしてもよい。例えば、印刷済みの印刷媒体を仕分けるフィニッシャ、または原稿を自動給送するADF(Auto Document Feeder:自動原稿給送装置)のような特定のオプションが含まれていてもよい。
(Webサーバのハードウェア構成)
図3は、実施形態に係るWebサーバのハードウェア構成の一例を示す図である。図3を参照しながら、本実施形態に係るWebサーバ20のハードウェア構成について説明する。
図3に示すように、Webサーバ20は、CPU201と、ROM202と、RAM203と、補助記憶装置205と、メディアドライブ207と、ディスプレイ208と、ネットワークI/F209と、キーボード211と、マウス212と、DVD(Digital Versatile Disc)ドライブ214と、を備えている。
CPU201は、Webサーバ20全体の動作を制御する演算装置である。ROM202は、Webサーバ20用のプログラムを記憶している不揮発性記憶装置である。RAM203は、CPU201のワークエリアとして使用される揮発性記憶装置である。
補助記憶装置205は、MFP10によりスキャン機能で読み取られた画像等を記憶するHDDまたはSSD等の記憶装置である。メディアドライブ207は、CPU201の制御に従って、フラッシュメモリ等の記録メディア206に対するデータの読み出しおよび書き込みを制御する装置である。
ディスプレイ208は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示する液晶または有機EL等によって構成された表示装置である。
ネットワークI/F209は、ネットワークNを利用してMFP10等の外部装置とデータを通信するためのインターフェースである。ネットワークI/F209は、例えば、イーサネットに対応し、TCP/IP等に準拠した通信が可能なNIC(Network Interface Card)等である。
キーボード211は、文字、数字、各種指示の選択、およびカーソルの移動等を行う入力装置である。マウス212は、各種指示の選択および実行、処理対象の選択、ならびにカーソルの移動等を行うための入力装置である。
DVDドライブ214は、着脱自在な記憶媒体の一例としてのDVD-ROMまたはDVD-R(Digital Versatile Disk Recordable)等のDVD213に対するデータの読み出しおよび書き込みを制御する装置である。
上述のCPU201、ROM202、RAM203、補助記憶装置205、メディアドライブ207、ディスプレイ208、ネットワークI/F209、キーボード211、マウス212およびDVDドライブ214は、アドレスバスおよびデータバス等のバスライン210によって互いに通信可能に接続されている。
なお、図3に示したWebサーバ20のハードウェア構成は一例を示すものであり、図3に示した構成要素を全て含む必要はなく、または、その他の構成要素を含むものとしてもよい。
(情報処理システムのソフトウェア構成)
図4は、実施形態に係る情報処理システムのソフトウェア構成の一例を示す図である。図4を参照しながら、本実施形態に係る情報処理システム1のソフトウェア構成について説明する。
図4に示す情報処理システム1のうち、MFP10は、通信モジュール311と、OS312と、を含む。
通信モジュール311は、OS312で処理されたデータをネットワークNを介して、外部装置へ送信したり、外部装置からネットワークNを介してデータを受信してOSへ渡すモジュールである。通信モジュール311は、通信I/F117とOS312とのデータの中継を行うデバイスドライバ等である。
OS312は、Webブラウザ313、およびネイティブアプリ314等のアプリケーションを実行させると共に、ハードウェア等の動作管理を行う基本ソフトウェアである。なお、本実施形態の場合、操作部11で実行されるOSと、本体部12で実行されるOSとがあるが、Webブラウザ313は、操作部11のOS上で実行され、ネイティブアプリ314は、操作部11のOSおよび本体部12のOS双方で実行され得る。ただし、図4では、双方のOSを特に区別なくOS312として表記している。
Webブラウザ313は、Webサーバ20からWebコンテンツ(例えば、HTML、CSS(Cascading Style Sheets)、JavaScript、各種電子ファイル等)を取得することで、Webアプリの機能を実現するソフトウェアである。
例えば、Webブラウザ313は、SNSを提供するWebサーバ20からWebコンテンツを取得することで、SNSの閲覧やSNS上でのファイル共有等を行うWebアプリの機能を実現する。また、例えば、Webブラウザ313は、クラウドストレージサービスを提供するWebサーバ20からWebコンテンツを取得することで、ストレージの閲覧またはストレージへのファイルのアップロード等を行うWebアプリの機能を実現する。
なお、Webアプリは、一般に、Webサーバ20上でWebアプリに基づく処理をした結果を当該Webサーバ20から受信してWebブラウザ313上で表示させるほか、Webサーバ20から取得したJavaScript等のコンテンツをWebブラウザ313で実行することによって、Webサーバ20と協働した処理を実行させることで実現される。そのため、図4では、Webブラウザ313上で表示または実行されるWebアプリを、Webアプリ313aとして表記し、Webサーバ20から取得される各種のWebコンテンツをWebアプリ322として表記している。以下では、説明を簡潔にするため、上述のWebアプリは、Webブラウザ313上で表示および処理されるWebアプリ313aであるものとして説明する。
ネイティブアプリ314は、WebアプリのようにWebブラウザ313を介してではなく、MFP10のOS312上で直接実行可能なアプリケーションである。ネイティブアプリ314としては、例えば、スキャン動作を実行するスキャナアプリ、およびプリント動作を実行するプリンタアプリ等がある。
図4に示す情報処理システム1のうち、Webサーバ20は、通信モジュール321と、Webアプリ322と、を含む。なお、Webアプリ322は、上述した通りである。
通信モジュール321は、Webサーバ20で処理されたデータをネットワークNを介して、外部装置へ送信したり、外部装置からネットワークNを介してデータを受信するモジュールである。
なお、図4に示した情報処理システム1のソフトウェア構成は、要部のソフトウェア構成を示すものであり、他のソフトウェアが含まれるものとしてもよい。
(情報処理システムの機能ブロックの構成)
図5は、実施形態に係る情報処理システムの機能ブロックの構成の一例を示す図である。図6は、呼び出し履歴テーブルの一例を示す図である。図7は、アプリ通知対応テーブルの一例を示す図である。図5~図7を参照しながら、本実施形態に係る情報処理システム1の機能ブロックの構成について説明する。
図5に示す情報処理システム1のうち、MFP10は、通信部401と、表示制御部402と、表示部403と、起動要求部404と、起動部405(起動部、記憶制御部の一例)と、判定部406と、アプリ部407と、画面表示指令部408(画面制御部、削除部の一例)と、入力部409と、記憶部410と、を有する。
通信部401は、ネットワークNを介して、Webサーバ20等とデータ通信を行う機能部である。通信部401は、図2に示す通信I/F117(または通信I/F128)、およびCPU111(またはCPU121)により通信モジュール311が実行されることによって実現される。
表示制御部402は、Webアプリ313aの画面、およびネイティブアプリ314の画面等の各種画面の表示制御を行う機能部である。表示制御部402は、例えば、図2に示すCPU111によりOS312およびデバイスドライバおよびWebブラウザ313等が実行されることによって実現される。
表示部403は、表示制御部402による制御に従って、Webアプリ313aの画面、およびネイティブアプリ314の画面等の各種画面を表示する機能部である。表示部403は、図2に示す操作パネル115の表示機能によって実現される。
起動要求部404は、実行されているWebアプリ313aから、ネイティブアプリ314の起動要求を行う機能部である。起動要求部404は、例えば、図2に示すCPU111により実行されるWebブラウザ313上で動くWebアプリ313aによって実現される。
起動部405は、起動要求部404から起動要求を受けて、ネイティブアプリ314を起動させる機能部である。起動部405は、例えば、図2に示すCPU111によりWebブラウザ313が実行されることによって実現される。
判定部406は、アプリ部407から通知を受けた場合、当該通知が図7に示すアプリ通知対応テーブルに登録された通知であるか否かを判定する機能部である。判定部406は、アプリ部407から受けた通知がアプリ通知対応テーブルに登録された通知であると判定した場合、さらに、当該通知に対応するアプリ(呼び出し先アプリ)が、図6に示す呼び出し履歴テーブルに呼び出し先アプリの履歴として記憶されているか否かを判定する。判定部406は、例えば、図2に示すCPU111によりWebブラウザ313が実行されることによって実現される。
アプリ部407は、ネイティブアプリ(例えばスキャナアプリまたはプリンタアプリ等)の機能を実現する機能部である。また、アプリ部407は、例えば動作完了通知、および動作のキャンセル通知をWebブラウザ313へ送る。アプリ部407は、例えば、図2に示すCPU111(またはCPU121)によりネイティブアプリ314が実行されることによって実現される。
画面表示指令部408は、判定部406により、アプリ部407からの通知がアプリ通知対応テーブルに登録され、当該通知に係るアプリが呼び出し履歴テーブルに呼び出し先アプリの履歴として記憶されていると判定された場合、当該呼び出し先アプリに対応する呼び出し元アプリであるWebアプリの画面表示指令を、当該Webアプリに送る機能部である。画面表示指令部408は、例えば、図2に示すCPU111によりWebブラウザ313が実行されることによって実現される。
入力部409は、ユーザの操作入力を受け付ける機能部である。入力部409は、図2に示す操作パネル115の入力機能によって実現される。
記憶部410は、各種データを記憶する機能部である。記憶部410は、例えば、図6に示す呼び出し履歴テーブル、および図7に示すアプリ通知対応テーブルを記憶している。記憶部410は、図2に示すフラッシュメモリ114(またはストレージ124)によって実現される。
図6に示すように、呼び出し履歴テーブル(履歴情報の一例)は、他のアプリ(ネイティブアプリ)を呼び出した(起動させた)呼び出し元のアプリと、呼び出された(起動された)当該他のアプリである呼び出し先のアプリとを関連付けるテーブルである。なお、本実施形態では、呼び出し元アプリとしては、Webアプリを想定し、呼び出し先アプリとしては、ネイティブアプリを想定している。図6に示す呼び出し履歴テーブルの例では、呼び出し元アプリである「WebアプリA」に対して、呼び出し先アプリである「スキャナアプリ」が関連付けられている。
図7に示すように、アプリ通知対応テーブル(通知対応情報の一例)は、呼び出し元アプリから呼び出された呼び出し先アプリ(ここではネイティブアプリ)と、当該呼び出し先アプリの動作の終了条件と判断される通知(動作終了の通知)とを関連付けるテーブルである。図7に示すアプリ通知対応テーブルでは、例えば、呼び出しアプリである「スキャナアプリ」の終了条件となる通知として「スキャン完了通知」が関連付けられている。
なお、図6に示す呼び出し履歴テーブル、および図7に示すアプリ通知対応テーブルは、テーブル形式の情報としているが、これに限定されるものではなく、テーブルの各カラムの値が互いに関連付けて管理することができれば、どのような形式の情報であってもよい。
図5に示す情報処理システム1のうち、Webサーバ20は、通信部501と、Webアプリ制御部502と、記憶部503と、を有する。
通信部501は、ネットワークNを介して、MFP10等とデータ通信を行う機能部である。通信部501は、図3に示すネットワークI/F209、およびCPU201により通信モジュール321が実行されることによって実現される。
Webアプリ制御部502は、MFP10からの要求に応じて、WebアプリとしてのWebコンテンツ(例えば、HTML、CSS、JavaScript、各種電子ファイル等)を記憶部503から読み出して、通信部501を介してMFP10へ送信する機能部である。また、Webアプリ制御部502は、上述のように、当該WebアプリをMFP10との間で協働して動作させる制御を行う。
記憶部503は、Webアプリとしての各種Webコンテンツを蓄積している機能部である。記憶部503は、図3に示す補助記憶装置205によって実現される。
なお、図5に示すMFP10およびWebサーバ20の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図5に示すMFP10およびWebサーバ20で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。また、図5に示すMFP10およびWebサーバ20で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(MFPのWebアプリおよびネイティブアプリの連携動作)
図8は、実施形態に係るMFPのWebアプリおよびネイティブアプリの連携動作の流れの一例を示すシーケンス図である。図9は、Webアプリ画面の一例を示す図である。図10は、MFPのWebアプリおよびネイティブアプリの連携動作における呼び出し履歴テーブルの遷移の状態を示す図である。図11は、ネイティブアプリ画面の一例を示す図である。図8~図11を参照しながら、本実施形態に係るMFP10のWebアプリおよびネイティブアプリの連携動作について説明する。なお、図8に示すUI(User Interface)411は、図5に示す表示部403および入力部409を含む機能を示したものであり、具体的には操作パネル115の機能を示している。また、図8では、図5に示したアプリ部407の一例としてスキャナ動作を実行するスキャナアプリ412について説明する。また、当該連携動作が開始される前の初期状態では、図10(a)に示すように、記憶部410に記憶されている呼び出し履歴テーブルは、何もレコードが記憶されていない、すなわち、履歴が残っていない状態となっているものとする。
<ステップS11、S12>
ユーザは、UI411に対してWebアプリ313aを起動する操作を行う。すると、UI411は、Webブラウザ313に対して、Webアプリ313aの起動指令を送る。
<ステップS13、S14>
Webブラウザ313は、Webアプリ313aの起動指令を受け取ると、通信部401を介してWebサーバ20からWebアプリ313aのWebコンテンツを受信して、Webアプリ313aを起動させる。
<ステップS15、S16>
Webアプリ313aは、自身の画面の表示指令を、画面情報と共に、表示制御部402に送る。表示制御部402は、受け取ったWebアプリ313aの画面情報に基づいて、Webアプリ313aの画面をUI411に表示させる。
ここで、Webアプリ313aの画面の一例として、図9にWebアプリ画面1000を示す。Webアプリ画面1000は、Webアプリの機能を発揮するための画面であり、図9に示すように、例えば、スキャナボタン1001と、アドレス帳ボタン1002と、を含む。スキャナボタン1001は、ネイティブアプリとしてのスキャナアプリ(図8に示すスキャナアプリ412)を起動させるためのボタンである。アドレス帳ボタン1002は、スキャンした画像データを送信する送信先を選択するためのアドレス帳を表示または登録するためのボタンである。
<ステップS17、S18>
ユーザは、Webアプリ313aが提供するネイティブアプリを起動させるためのUIであるスキャナアイコンとしてのスキャナボタン1001をタップ操作する。すると、UI411は、スキャナアプリ412の起動指令をWebアプリ313aへ送る。
<ステップS19>
Webアプリ313aの起動要求部404は、スキャナアプリ412の起動指令を受け取ると、スキャナアプリ412の呼び出し要求をWebブラウザ313へ送る。
<ステップS20>
Webブラウザ313の起動部405は、起動要求部404からスキャナアプリ412呼び出し要求を受け取ると、Webアプリ313aからの要求でスキャナアプリ412を起動したことを、記憶部410の呼び出し履歴テーブルに記憶させる。具体的には、起動部405は、図10(b)に示すように、呼び出し履歴テーブルに、呼び出し元アプリとしてWebアプリ313a(図10(b)では「WebアプリA」)、呼び出し先アプリとしてスキャナアプリ412(図10(b)では「スキャナアプリ」)を互いに関連付けて記憶させる。なお、呼び出し履歴テーブルに記憶させる処理は、後述のステップS21でスキャナアプリ412の呼び出し要求が行われたから、またはステップS22でスキャナアプリ412が起動されてから行われるものとしてもよい。
<ステップS21、S22>
そして、起動部405は、起動要求部404からの呼び出し要求に従って、スキャナアプリ412を起動させる。
<ステップS23、S24>
スキャナアプリ412は、自身の画面の表示指令を、画面情報と共に、表示制御部402に送る。表示制御部402は、受け取ったスキャナアプリ412の画面情報に基づいて、スキャナアプリ412の画面をUI411に表示させる。
ここで、スキャナアプリ412の画面の一例をとして、図11にスキャナアプリ画面1100を示す。スキャナアプリ画面1100は、スキャン処理を実行させるための画面であり、図11に示すように、設定ボタン群1101と、プレビューボタン1102と、スタートボタン1103と、を含む。
設定ボタン群1101は、スキャン処理を実行させる際に必要となる各種設定を行うためのボタン群である。スキャン処理の設定項目としては、例えば、白黒・カラー設定、読み取った画像のファイル形式、解像度、片面/両面読み取り、読み取りサイズ、読み取り濃度、メール送信での送信者等の設定項目がある。
プレビューボタン1102は、原稿のスキャン処理を行った場合のプレビュー表示を行うためのボタンである。スタートボタン1103は、スキャン処理を開始するためのボタンである。
<ステップS25、S26>
ユーザは、スキャナアプリ画面1100においてスタートボタン1103をタップ操作する。すると、UI411は、スキャン処理のスタート指令をスキャナアプリ412へ送る。
<ステップS27、S28>
スキャナアプリ412は、スタート指令に従ってスキャン処理を実行する。そして、スキャナアプリ412は、スキャン処理の終了後、スキャン完了通知を、Webブラウザ313へ送る。
<ステップS29>
Webブラウザ313の判定部406は、スキャナアプリ412からスキャン完了通知を受けた場合、記憶部410のアプリ通知対応テーブル(図7参照)を参照し、当該スキャン完了通知が当該アプリ通知対応テーブルに登録された通知であるか否かを判定する。判定部406は、スキャナアプリ412から受けたスキャン完了通知がアプリ通知対応テーブルに登録された通知であると判定した場合、さらに、当該スキャン完了通知に対応するアプリ(呼び出し先アプリ)が、図6に示す呼び出し履歴テーブルに呼び出し先アプリの履歴として記憶されているか否かを判定する。スキャナアプリ412から受けたスキャン完了通知がアプリ通知対応テーブルに登録され、当該スキャン完了通知に対応するアプリ(呼び出し先アプリ)が、呼び出し履歴テーブルに呼び出し先アプリの履歴として記憶されている場合、ステップS30へ移行する。
一方、スキャナアプリ412から受けたスキャン完了通知がアプリ通知対応テーブルに登録されていない場合、または、登録されているが当該スキャン完了通知に対応するアプリ(呼び出し先アプリ)が呼び出し履歴テーブルに呼び出し先アプリの履歴として記憶されていない場合、Webブラウザ313の画面表示指令部408は何もせず、この場合、UI411に表示されている画面は、スキャナアプリ412の画面のままとなる。
<ステップS30>
Webブラウザ313の画面表示指令部408は、判定部406により呼び出し履歴テーブルに呼び出し先アプリの履歴として記憶されていると判定された当該呼び出し先アプリに対応する呼び出し元アプリであるWebアプリ313aの画面表示指令を、当該Webアプリ313aに送る。
<ステップS31、S32>
Webアプリ313aは、画面表示指令を受け取ると、自身の画面(例えば元の図9に示すWebアプリ画面1000)の表示指令を、画面情報と共に、表示制御部402に送る。表示制御部402は、受け取ったWebアプリ313aの画面情報に基づいて、Webアプリ313aの画面をUI411に表示させる。すなわち、表示制御部402は、UI411に表示されていたスキャナアプリ412の画面(例えば図11に示すスキャナアプリ画面1100)から、元のWebアプリ313aの画面に戻す。
<ステップS33>
そして、Webブラウザ313の画面表示指令部408は、図10(c)に示すように、記憶部410の呼び出し履歴テーブルから呼び出し元アプリ(Webアプリ313a)および呼び出し先アプリ(スキャナアプリ412)の履歴を削除する。
以上のように、本実施形態に係るMFP10では、Webアプリ313aから呼び出し要求をして起動したネイティブアプリ314(例えばスキャナアプリ412)によって、当該ネイティブアプリ314の画面が表示され、ネイティブアプリ314は動作終了後に、動作終了を示す通知をWebブラウザ313へ送るものとしている。そして、Webブラウザ313は、当該通知が、呼び出し先のネイティブアプリ314からのものであり、当該呼び出し先のアプリが呼び出し元のアプリと関連付けられて履歴として記憶されている場合、当該呼び出し元のアプリであるWebアプリ313aの画面を表示させるように制御している。したがって、Webアプリから起動されたネイティブアプリの動作終了後、ネイティブアプリの処理によらずにWebアプリの画面に戻すことができる。また、これによって、ネイティブアプリ側で呼び出し元のWebアプリの画面を表示される処理を実装する必要がなく、Webアプリからネイティブアプリを呼び出して、当該ネイティブアプリの動作終了後にWebアプリの画面に戻すという連携動作の実現のために、Webアプリの開発を主体として実現することが可能となる。
なお、上述の実施形態において、情報処理装置の一例であるMFP10の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の実施形態に係るMFP10で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk-Recordable)、またはDVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施形態に係るMFP10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態に係るMFP10で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施形態に係るMFP10で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPUが上述の記憶装置からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
また、上述の実施形態に係るMFP10としての情報処理装置は、通信機能を備えた装置であれば、画像形成装置に限られない。すなわち、MFP10の代わりに、例えば、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、製造装置、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPCまたはデスクトップPC等であってもよい。
また、上述の実施形態での各機能は、一または複数の処理回路によって実現することが可能である。ここで、「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上述した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
1 情報処理システム
10、10a、10b MFP
11 操作部
12 本体部
13 通信路
20 Webサーバ
111 CPU
112 ROM
113 RAM
114 フラッシュメモリ
115 操作パネル
116 接続I/F
117 通信I/F
118 バス
121 CPU
122 ROM
123 RAM
124 ストレージ
125 スキャナエンジン
126 プリンタエンジン
127 接続I/F
128 通信I/F
129 バス
201 CPU
202 ROM
203 RAM
205 補助記憶装置
206 記録メディア
207 メディアドライブ
208 ディスプレイ
209 ネットワークI/F
210 バスライン
211 キーボード
212 マウス
213 DVD
214 DVDドライブ
311 通信モジュール
312 OS
313 Webブラウザ
313a Webアプリ
314 ネイティブアプリ
321 通信モジュール
322 Webアプリ
401 通信部
402 表示制御部
403 表示部
404 起動要求部
405 起動部
406 判定部
407 アプリ部
408 画面表示指令部
409 入力部
410 記憶部
411 UI
412 スキャナアプリ
501 通信部
502 Webアプリ制御部
503 記憶部
1000 Webアプリ画面
1001 スキャナボタン
1002 アドレス帳ボタン
1100 スキャナアプリ画面
1101 設定ボタン群
1102 プレビューボタン
1103 スタートボタン
N ネットワーク
特開2016-143212号公報

Claims (8)

  1. Webアプリケーションから起動指令を受けてネイティブアプリケーションを起動させる起動部と、
    呼び出し元アプリケーションとしての前記Webアプリケーションと、呼び出し先アプリケーションとしての前記ネイティブアプリケーションとを関連付ける履歴情報を記憶部に記憶させる記憶制御部と、
    前記ネイティブアプリケーションの動作終了後、前記履歴情報に含まれている呼び出し元アプリケーションとしての前記Webアプリケーションの画面を表示部に表示させる画面制御部と、
    を備えた情報処理装置。
  2. 前記起動部により前記ネイティブアプリケーションが起動された場合、該ネイティブアプリケーションの画面を前記表示部に表示させる表示制御部を、さらに備えた請求項1に記載の情報処理装置。
  3. 前記画面制御部は、前記ネイティブアプリケーションから動作終了の通知があった場合、前記履歴情報に含まれている呼び出し元アプリケーションとしての前記Webアプリケーションの画面を前記表示部に表示させる請求項1または2に記載の情報処理装置。
  4. 前記ネイティブアプリケーションからの動作終了の通知を受けた場合、該通知が前記ネイティブアプリケーションからのものであるか否かを判定し、該通知が前記ネイティブアプリケーションからのものであると判定した場合、該ネイティブアプリケーションが呼び出し先アプリケーションとして前記履歴情報に含まれているか否かを判定する判定部を、さらに備え、
    前記画面制御部は、前記判定部によって、前記通知が前記ネイティブアプリケーションからのものであると判定され、かつ、該ネイティブアプリケーションが呼び出し先アプリケーションとして前記履歴情報に含まれていると判定された場合、該履歴情報で該ネイティブアプリケーションに関連付けられた呼び出し元アプリケーションである前記Webアプリケーションの画面を前記表示部に表示させる請求項3に記載の情報処理装置。
  5. 前記記憶部は、動作終了を示す通知と、該通知を行うアプリケーションとを関連付ける通知対応情報を記憶し、
    前記判定部は、前記ネイティブアプリケーションからの動作終了の通知を受けた場合、該通知が前記通知対応情報で前記ネイティブアプリケーションと関連付けられているか否かを判定する請求項4に記載の情報処理装置。
  6. 前記Webアプリケーションの画面を前記表示部に表示させる際に、前記履歴情報から、前記Webアプリケーション、および該Webアプリケーションに関連付けられた前記ネイティブアプリケーションの履歴を削除する削除部と、をさらに備えた請求項1~5のいずれか一項に記載の情報処理装置。
  7. Webアプリケーションから起動指令を受けてネイティブアプリケーションを起動させる起動ステップと、
    呼び出し元アプリケーションとしての前記Webアプリケーションと、呼び出し先アプリケーションとしての前記ネイティブアプリケーションとを関連付ける履歴情報を記憶部に記憶させる記憶制御ステップと、
    前記ネイティブアプリケーションの動作終了後、前記履歴情報に含まれている呼び出し元アプリケーションとしての前記Webアプリケーションの画面を表示部に表示させる画面制御ステップと、
    を有する情報処理方法。
  8. コンピュータに、
    Webアプリケーションから起動指令を受けてネイティブアプリケーションを起動させる起動ステップと、
    呼び出し元アプリケーションとしての前記Webアプリケーションと、呼び出し先アプリケーションとしての前記ネイティブアプリケーションとを関連付ける履歴情報を記憶部に記憶させる記憶制御ステップと、
    前記ネイティブアプリケーションの動作終了後、前記履歴情報に含まれている呼び出し元アプリケーションとしての前記Webアプリケーションの画面を表示部に表示させる画面制御ステップと、
    を実行させるためのプログラム。
JP2020020801A 2020-02-10 2020-02-10 情報処理装置、情報処理方法およびプログラム Active JP7334640B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020020801A JP7334640B2 (ja) 2020-02-10 2020-02-10 情報処理装置、情報処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020020801A JP7334640B2 (ja) 2020-02-10 2020-02-10 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2021128371A JP2021128371A (ja) 2021-09-02
JP7334640B2 true JP7334640B2 (ja) 2023-08-29

Family

ID=77488557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020020801A Active JP7334640B2 (ja) 2020-02-10 2020-02-10 情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP7334640B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034576A (ja) 2005-07-26 2007-02-08 Fuji Xerox Co Ltd 情報処理装置および情報処理プログラム
JP2007318697A (ja) 2006-05-29 2007-12-06 Ricoh Co Ltd 画像形成システム
JP2012004988A (ja) 2010-06-18 2012-01-05 Canon Inc 画像処理装置、その制御方法、プログラム、及び記憶媒体
JP2016143212A (ja) 2015-02-02 2016-08-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び制御プログラム
JP2018152677A (ja) 2017-03-10 2018-09-27 キヤノン株式会社 情報処理装置、表示制御方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034576A (ja) 2005-07-26 2007-02-08 Fuji Xerox Co Ltd 情報処理装置および情報処理プログラム
JP2007318697A (ja) 2006-05-29 2007-12-06 Ricoh Co Ltd 画像形成システム
JP2012004988A (ja) 2010-06-18 2012-01-05 Canon Inc 画像処理装置、その制御方法、プログラム、及び記憶媒体
JP2016143212A (ja) 2015-02-02 2016-08-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び制御プログラム
JP2018152677A (ja) 2017-03-10 2018-09-27 キヤノン株式会社 情報処理装置、表示制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2021128371A (ja) 2021-09-02

Similar Documents

Publication Publication Date Title
US10848629B2 (en) Image processing apparatus, image processing system, image processing method, and web browser program
US20170351467A1 (en) Control method
US20160165076A1 (en) Information processing system, electronic apparatus, and program
JP7346672B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2016224644A (ja) 携帯端末及び出力プログラム
JP6819196B2 (ja) 情報処理装置およびプログラム
US10893165B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP6699143B2 (ja) 情報処理システム、電子機器及びプログラム
JP7334640B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2012230514A (ja) 画像形成装置およびコンピュータプログラム
JP7206899B2 (ja) 情報処理システム、サービス提供装置、情報処理方法およびプログラム
JP7147580B2 (ja) 情報処理システム、情報処理装置、パラメータ設定方法及びプログラム
JP5673334B2 (ja) 画像データ処理装置、画像データ処理方法およびコンピュータプログラム
JP6816602B2 (ja) プログラム、メインプログラムおよびサブプログラム、ならびに情報処理端末
US11831830B2 (en) Image forming apparatus, setting method, and information processing system for setting values for installed application
JP7326755B2 (ja) サーバ装置、画像形成装置、プログラム、方法、及び情報処理システム
JP7354793B2 (ja) 情報処理装置、制御方法、およびプログラム
US20210075923A1 (en) Data transmission apparatus, and control method thereof
US20240086485A1 (en) Web browsing system, server, and control method thereof
JP6743946B2 (ja) 携帯端末及びプログラム
US20230141058A1 (en) Display apparatus and method for controlling display apparatus
JP6696609B2 (ja) 携帯端末及び出力プログラム
JP2018007075A (ja) 通信装置とその制御方法、及びプログラム
JP6613794B2 (ja) プログラム
JP6623813B2 (ja) 画像形成装置、メッセージ表示方法、およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230731

R151 Written notification of patent or utility model registration

Ref document number: 7334640

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151