JP2020095568A - Information processor, control method of information processor, and program - Google Patents

Information processor, control method of information processor, and program Download PDF

Info

Publication number
JP2020095568A
JP2020095568A JP2018234200A JP2018234200A JP2020095568A JP 2020095568 A JP2020095568 A JP 2020095568A JP 2018234200 A JP2018234200 A JP 2018234200A JP 2018234200 A JP2018234200 A JP 2018234200A JP 2020095568 A JP2020095568 A JP 2020095568A
Authority
JP
Japan
Prior art keywords
web application
information processing
connection
web browser
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018234200A
Other languages
Japanese (ja)
Inventor
祐貴 白河
Yuki Shirakawa
祐貴 白河
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 JP2018234200A priority Critical patent/JP2020095568A/en
Publication of JP2020095568A publication Critical patent/JP2020095568A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

To prevent a storage region reserved for a Web browser gets tight due to an unnecessary cache related to the Web application that operates the device connected to the information processor which is operated by the Web browser.SOLUTION: When a client computer 102 on which a Web browser 320 operates makes access to a website that provides the web application that operates a device 103 connected by USB or Bluetooth, an authorization prompt is displayed (S422). When the connection is permitted with the authorization prompt, a ServiceWorker for executing the web application in the background separately from the web browser is installed according to a script provided by the Website (S425). On the other hand, when the connection is not permitted with the authorization prompt, the Service Worker is not installed even when there is the above script.SELECTED DRAWING: Figure 4

Description

本発明は、ウェブブラウザが動作する情報処理装置、情報処理装置の制御方法及びプログラムに関する。 The present invention relates to an information processing device in which a web browser operates, a control method of the information processing device, and a program.

Webアプリケーションからクライアントコンピュータに接続されたUSBデバイスやBluetoothデバイスに接続して操作できるWebUSB、WebBluetoothという技術がある。この技術において、Webアプリケーション(JavaScript)がUSBデバイスやBluetoothデバイスに接続を要求すると、Webブラウザは接続許可プロンプトを表示し、ユーザに接続許可を求める。ユーザがWebブラウザ上に表示される接続許可プロンプトから接続許可を選択することで、WebアプリケーションはUSBデバイスやBluetoothデバイスに接続できるようになり、Webアプリケーションからデバイスを操作することが可能になる。Bluetooth(ブルートゥース)、JavaScriptは登録商標である。 There are technologies called WebUSB and WebBluetooth that can be operated by connecting to a USB device or Bluetooth device connected to a client computer from a Web application. In this technology, when a web application (Javascript) requests a connection to a USB device or a Bluetooth device, the web browser displays a connection permission prompt and asks the user for permission to connect. When the user selects connection permission from the connection permission prompt displayed on the web browser, the web application can connect to the USB device or the Bluetooth device, and the device can be operated from the web application. Bluetooth and JavaScript are registered trademarks.

Webアプリケーションからデバイスを操作できる一方で、Webアプリケーションという性質上、オフラインでは使用できないという課題がある。そこで、ServiceWorkerと呼ばれるWebブラウザのバックグラウンドで動作するJavaScriptを利用し、Webアプリケーションをオンライン時にキャッシュしておくことで、オフラインでも使用できるようにする技術が提案された。 While the device can be operated from the web application, there is a problem that it cannot be used offline due to the nature of the web application. Therefore, a technology has been proposed in which Java Script that operates in the background of a Web browser called ServiceWorker is used and the Web application is cached when online so that it can be used even offline.

特開2010−170257号公報JP, 2010-170257, A

ServiceWorkerを利用する技術では、まずWebアプリケーションを提供するWebサイトにアクセスした時点で自動的にJavaScriptが実行され、ServiceWorkerの登録とWebアプリケーションのキャッシュがなされる。キャッシュされたWebアプリケーションは、Webブラウザのために確保された記憶領域に格納される。このWebブラウザのために確保された記憶領域の容量には、Webブラウザごと、あるいはクライアントコンピュータごとに上限が設定されている。 In the technology using ServiceWorker, Javascript is automatically executed at the time of accessing a website that provides a web application, and the service worker is registered and the web application is cached. The cached Web application is stored in the storage area reserved for the Web browser. An upper limit is set for the capacity of the storage area reserved for this Web browser for each Web browser or each client computer.

WebUSBやWebBluetoothを実現するためのWebアプリケーションには、従来のネイティブアプリケーションのドライバに相当するプログラムが含まれているため、オフラインでも使用できることが望ましい。一方で、Webブラウザのために確保された記憶領域に上限があるなか、ServiceWorkerを利用することでオフラインでの操作を必要としないWebアプリケーションまでも自動的にキャッシュされてしまう。このため、ユーザにとってキャッシュする必要がないWebアプリケーションにより、Webブラウザのために確保された記憶領域が逼迫するという課題があった。なお、WebUSBやWebBluetoothを使用することを想定したWebアプリケーションには、ドライバ相当の比較的サイズの大きいプログラムが含まれているため、特にこの記憶領域を逼迫しやすい。 Since a Web application for realizing WebUSB and WebBluetooth includes a program corresponding to a driver of a conventional native application, it is desirable that it can be used even offline. On the other hand, even though there is an upper limit to the storage area reserved for the Web browser, even the Web application that does not require offline operation is automatically cached by using the ServiceWorker. Therefore, there is a problem that the storage area reserved for the Web browser becomes tight due to the Web application that the user does not need to cache. It should be noted that since a Web application that is supposed to use WebUSB or WebBluetooth includes a program having a relatively large size corresponding to a driver, this storage area is particularly likely to be tight.

特許文献1には、複合機へのアプリケーションのインストールに際して、外部記憶装置を用いることで複合機本体の記憶領域が逼迫することを防止する技術が提案されている。しかし、上述のWebブラウザのために確保された記憶領域は、Webブラウザ自身がインストールされた記憶装置に確保されるため、特許文献1に倣いWebアプリケーションのみを外部記憶装置にキャッシュさせるようなことはできない。このように従来技術では、ServiceWorkerを利用する場合にWebアプリケーションがキャッシュされてWebブラウザのために確保された記憶領域が逼迫されるという課題を解決することはできなかった。 Patent Document 1 proposes a technique for preventing the storage area of the main body of the multifunction device from becoming tight by using an external storage device when installing an application in the multifunction device. However, since the storage area reserved for the above-described Web browser is reserved in the storage device in which the Web browser itself is installed, it is not possible to cache only the Web application in the external storage device according to Patent Document 1. Can not. As described above, the conventional technique cannot solve the problem that the web application is cached and the storage area reserved for the web browser is tight when the ServiceWorker is used.

本発明は、上記の課題を解決するためになされたものである。本発明は、情報処理装置に接続されたデバイスを操作するウェブアプリケーションに関する不要なキャッシュによりウェブブラウザのために確保された記憶領域が逼迫されるのを防止する仕組みを提供することを目的とするものである。 The present invention has been made to solve the above problems. SUMMARY OF THE INVENTION It is an object of the present invention to provide a mechanism for preventing a storage area reserved for a web browser from being overwhelmed by an unnecessary cache related to a web application that operates a device connected to an information processing apparatus. Is.

本発明は、ウェブブラウザが動作する情報処理装置であって、USBまたはBluetoothで前記情報処理装置に接続されたデバイスを操作するウェブアプリケーションを提供するウェブサイトにアクセスした場合に、該ウェブアプリケーションが前記デバイスに接続することを許可するかを確認するための画面を表示する表示手段と、前記画面を介して前記デバイスに接続することが許可された場合に、前記ウェブサイトが提供するスクリプトに従い、前記ウェブアプリケーションを前記ウェブブラウザとは別にバックグラウンドで実行するためのアプリケーションプログラムをインストールするインストール手段と、を有し、前記画面を介して前記デバイスに接続することが許可されなかった場合に、前記スクリプトがあっても、前記アプリケーションプログラムのインストールが行われないことを特徴とする。 The present invention is an information processing device in which a web browser operates, and when a web application providing a web application for operating a device connected to the information processing device by USB or Bluetooth is accessed, the web application is Display means for displaying a screen for confirming whether to permit connection to the device, and, if connection to the device via the screen is permitted, according to a script provided by the website, Installation means for installing an application program for executing a web application in the background separately from the web browser, wherein the script is executed when connection to the device via the screen is not permitted. Even if there is, the application program is not installed.

本発明によれば、情報処理装置に接続されたデバイスを操作するウェブアプリケーションに関する不要なキャッシュによりウェブブラウザのために確保された記憶領域が逼迫されるのを防止することができる。 According to the present invention, it is possible to prevent a storage area reserved for a web browser from being tight due to an unnecessary cache related to a web application that operates a device connected to an information processing apparatus.

本実施形態を示すネットワークシステムの構成図。The block diagram of the network system which shows this embodiment. ハードウェア構成図。Hardware configuration diagram. ソフトウェア構成図。Software configuration diagram. Webアプリケーションをキャッシュする際のシーケンスを示す図。The figure which shows the sequence at the time of caching a Web application. Webアプリケーションをキャッシュする際のUIを示す図。The figure which shows UI at the time of caching a Web application. 接続情報を削除する際のUIを示す図。The figure which shows UI at the time of deleting connection information. Webアプリケーションのキャッシュに失敗した場合のシーケンスを示す図。The figure which shows the sequence when it fails in the cache of a Web application. Webアプリケーションのキャッシュに失敗した場合のUIを示す図。The figure which shows UI when cache of a Web application fails.

以下、本発明を実施するための形態について図面を用いて説明する。
〔第1実施形態〕
<ネットワーク構成>
図1は、本発明の一実施形態を示すネットワークシステムの構成の一例を示す図である。
サーバ101は、ネットワーク104を介してクライアントコンピュータ102にWebアプリケーション(「ウェブアプリケーション」ともいう)を提供するサーバである。
クライアントコンピュータ102は、ユーザが使用する情報処理装置である。クライアントコンピュータ102として、パーソナルコンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、スマートフォンなどが利用可能である。
デバイス103は、USB105でクライアントコンピュータ102と接続して使用するスキャナ、プリンタ等のデバイスである。
Embodiments for carrying out the present invention will be described below with reference to the drawings.
[First Embodiment]
<Network configuration>
FIG. 1 is a diagram showing an example of a configuration of a network system showing an embodiment of the present invention.
The server 101 is a server that provides a web application (also referred to as “web application”) to the client computer 102 via the network 104.
The client computer 102 is an information processing device used by a user. As the client computer 102, a personal computer, laptop computer, tablet computer, smartphone, or the like can be used.
The device 103 is a device such as a scanner or printer that is used by connecting to the client computer 102 via the USB 105.

ネットワーク104は、いわゆる通信ネットワークである。ネットワーク104は、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれ、又は、これらの組み合わせにより実現される。 The network 104 is a so-called communication network. The network 104 is realized by, for example, a LAN such as the Internet, a WAN, a telephone line, a dedicated digital line, an ATM or a frame relay line, a cable TV line, a data broadcasting wireless line, or a combination thereof.

105は、クライアントコンピュータ102とデバイス103を接続するためのUSB(Universal Serial Bus)である。本実施形態では、クライアントコンピュータ102とデバイス103がUSB105で接続されている構成を例に説明するが、105はUSBに限らない。例えば、105は、BluetoothやNFC(Near Field Communication)等の別の規格であってもよい。 Reference numeral 105 denotes a USB (Universal Serial Bus) for connecting the client computer 102 and the device 103. In the present embodiment, a configuration in which the client computer 102 and the device 103 are connected by the USB 105 will be described as an example, but the 105 is not limited to the USB. For example, 105 may be another standard such as Bluetooth or NFC (Near Field Communication).

<ハードウェア構成>
図2は、情報処理機能を有するサーバ101、クライアントコンピュータ102、デバイス103のハードウェアの構成の一例を示す図である。なお、サーバ101、クライアントコンピュータ102、デバイス103のハードウェアは、図2に示す全ての構成を備えている必要はない。
<Hardware configuration>
FIG. 2 is a diagram showing an example of a hardware configuration of the server 101 having an information processing function, the client computer 102, and the device 103. The hardware of the server 101, the client computer 102, and the device 103 need not have all the configurations shown in FIG.

CPU201は、RAM202、ROM203、記憶装置204などから読み込んだプログラムを実行する。RAM202は、一時メモリ領域として機能する。ROM203は、組込済みプログラムおよびデータが記録されている。 The CPU 201 executes a program read from the RAM 202, ROM 203, storage device 204, or the like. The RAM 202 functions as a temporary memory area. The ROM 203 stores embedded programs and data.

記憶装置204は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等の二次記憶装置である。記憶装置204には、後述するOS(Operating System)330(図3)を実現するプログラムと該OS上で動作するWebブラウザ320(図3)を実現するためのアプリケーションプログラムが格納されている。CPU201は、記憶装置204に格納されるこれらのプログラムを必要に応じてRAM202にロードして実行する。さらに、ここで実行されるWebブラウザ320を実現するためのアプリケーションプログラムは、WebUSB、WebBluetoothといったAPIをサポートしている。 The storage device 204 is a secondary storage device such as a hard disk drive (HDD) or a solid state drive (SSD). The storage device 204 stores a program that realizes an OS (Operating System) 330 (FIG. 3) described later and an application program that realizes a Web browser 320 (FIG. 3) operating on the OS. The CPU 201 loads these programs stored in the storage device 204 into the RAM 202 as needed and executes them. Further, the application program for realizing the web browser 320 executed here supports APIs such as WebUSB and WebBluetooth.

ユーザインタフェース205は、キーボードやポインティングデバイス(マウス、タッチパッド、タッチパネル、トラックボールなど)、ディスプレイ等のユーザインタフェースである。ネットワークインターフェース206は、LANなどのネットワークに接続されて、ネットワークに接続された他の機器と通信する。USBインタフェース207は、USB規格で接続されて外部の機器と通信する。前述した通り、本実施形態では、105にUSBを用いた場合について説明するが、105がBluetoothやNFCなどの他の規格である場合、207は105の規格に準拠したインタフェースを用いる。
201〜207などハードウェアを構成する各部は、内部バス208を介して接続されている。
The user interface 205 is a user interface such as a keyboard, a pointing device (mouse, touch pad, touch panel, trackball, etc.), display or the like. The network interface 206 is connected to a network such as a LAN and communicates with other devices connected to the network. The USB interface 207 is connected according to the USB standard and communicates with an external device. As described above, in the present embodiment, the case where the USB is used as the 105 is described, but when the 105 is another standard such as Bluetooth or NFC, the 207 uses an interface compliant with the 105 standard.
The respective units constituting the hardware such as 201 to 207 are connected via an internal bus 208.

<ソフトウェア構成>
以下、図3を用いて、サーバ101、クライアントコンピュータ102、デバイス103のソフトウェアの構成について説明する。
図3(A)は、サーバ101のソフトウェア構成の一例を示す図である。なお、図3(A)に示すサーバ101のソフトウェア構成は、サーバ101のCPU201が記憶装置204等に格納されたプログラムを実行することにより実現される。
図3(A)に示すように、Webサーバ310は、ネットワーク通信部311、Webアプリケーション管理部312を備える。
<Software configuration>
Hereinafter, the software configurations of the server 101, the client computer 102, and the device 103 will be described with reference to FIG.
FIG. 3A is a diagram showing an example of the software configuration of the server 101. The software configuration of the server 101 shown in FIG. 3A is realized by the CPU 201 of the server 101 executing a program stored in the storage device 204 or the like.
As shown in FIG. 3A, the Web server 310 includes a network communication unit 311 and a Web application management unit 312.

ネットワーク通信部311は、クライアントコンピュータ102等の外部のシステムと通信するためのソフトウェアモジュールである。
Webアプリケーション管理部312は、Webブラウザ320からの要求に応じて、HTMLやJavaScriptなどのWebコンテンツから成るWebアプリケーションを提供する。また、Webアプリケーション管理部312は、WebAPIにより、XLMやJSONなどの形式で各種データも提供する。本実施形態において、Webアプリケーション管理部312が提供するWebアプリケーションには、デバイス103へ接続して操作するためのJavaScriptを含む。さらに、Webブラウザ320に対して、Webアプリケーション管理部312が提供したWebアプリケーションをキャッシュするように指示するJavaScriptも含む。
The network communication unit 311 is a software module for communicating with an external system such as the client computer 102.
In response to a request from the web browser 320, the web application management unit 312 provides a web application made up of web content such as HTML or Javascript. Further, the Web application management unit 312 also provides various data in a format such as XLM or JSON by using WebAPI. In the present embodiment, the Web application provided by the Web application management unit 312 includes JavaScript for connecting to the device 103 and operating it. Further, it also includes JavaScript that instructs the web browser 320 to cache the web application provided by the web application management unit 312.

図3(B)は、クライアントコンピュータ102のソフトウェア構成の一例を示す図である。なお、図3(B)に示すクライアントコンピュータ102のソフトウェア構成は、クライアントコンピュータ102のCPU201が記憶装置204等に格納されたプログラムを実行することにより実現される。
図3(B)に示すように、Webブラウザ320は、ネットワーク通信部321、表示部322、スクリプト実行部323、データ管理部324、USB通信部325を備える。
FIG. 3B is a diagram showing an example of the software configuration of the client computer 102. The software configuration of the client computer 102 shown in FIG. 3B is realized by the CPU 201 of the client computer 102 executing a program stored in the storage device 204 or the like.
As shown in FIG. 3B, the web browser 320 includes a network communication unit 321, a display unit 322, a script execution unit 323, a data management unit 324, and a USB communication unit 325.

ネットワーク通信部321は、Webブラウザ320がWebサーバ310などの外部のシステムと通信するためのソフトウェアモジュールである。
表示部322は、Webブラウザ320自身やWebアプリケーションに含まれるHTMLやCSS、JavaScript等から生成されるUI(User Interface)を表示するためのソフトウェアモジュールである。
The network communication unit 321 is a software module for the web browser 320 to communicate with an external system such as the web server 310.
The display unit 322 is a software module for displaying a UI (User Interface) generated from HTML, CSS, Java Script, etc. included in the Web browser 320 itself or the Web application.

スクリプト実行部323は、ネットワーク通信部321が取得したWebアプリケーションに含まれるJavaScriptを解析し実行するためのソフトウェアモジュールである。
データ管理部324は、Webブラウザのために確保された記憶領域に対応し、Webアプリケーションのキャッシュや作業データ、後述するServiceWorker等のデータを、上記Webブラウザのために確保された記憶領域に格納し管理する。
The script execution unit 323 is a software module for analyzing and executing JavaScript included in the Web application acquired by the network communication unit 321.
The data management unit 324 corresponds to the storage area reserved for the web browser, and stores the cache of the web application, work data, and data such as ServiceWorker described later in the storage area reserved for the web browser. to manage.

USB通信部325は、Webブラウザ320内で動作するJavaScriptからUSBデバイス103を操作するためのソフトウェアモジュールである。スクリプト実行部323が実行するJavaScriptは、USB通信部325を使用し、OS330に備えられたUSB制御部331を介してUSBデバイス103に接続し操作を行う。
OS330は、USB制御部331を備える。OS330は、USB制御部331以外にも多くのソフトウェアモジュールを備えるが、本実施形態の説明では省略する。
USB制御部331は、USBインタフェース207に対するUSB通信を制御するためのソフトウェアモジュールである。
The USB communication unit 325 is a software module for operating the USB device 103 from Java Script operating in the web browser 320. JavaScript executed by the script execution unit 323 uses the USB communication unit 325 to connect to the USB device 103 via the USB control unit 331 included in the OS 330 to perform an operation.
The OS 330 includes a USB control unit 331. The OS 330 includes many software modules other than the USB control unit 331, but they are omitted in the description of this embodiment.
The USB control unit 331 is a software module for controlling USB communication with the USB interface 207.

ここで、Webアプリケーションをキャッシュするために、本実施形態で利用するServiceWorkerについて説明する。
ServiceWorkerは、Webブラウザのバックグラウンドで動作するJavaScriptである。Webアプリケーション管理部312が提供するWebアプリケーションには、ServiceWorkerをWebブラウザ320に登録し、動作させるためのJavaScriptが含まれている。まず、Webブラウザ320は、Webアプリケーション管理部312が提供するWebアプリケーションを取得する。取得したWebアプリケーションに含まれるServiceWorkerを登録し動作させるためのJavaScriptを、スクリプト実行部323が実行すると、ServiceWorkerがデータ管理部324に格納される。以下に、ServiceWorkerの登録情報の例をJSON形式のデータで示す。
Here, the ServiceWorker used in this embodiment to cache the Web application will be described.
ServiceWorker is Javascript that operates in the background of a Web browser. The Web application provided by the Web application management unit 312 includes Java Script for registering and operating the ServiceWorker in the Web browser 320. First, the web browser 320 acquires the web application provided by the web application management unit 312. When the script execution unit 323 executes JavaScript for registering and operating the ServiceWorker included in the acquired Web application, the ServiceWorker is stored in the data management unit 324. Below, an example of the registration information of ServiceWorker is shown in the JSON format data.

{
"service_worker": [
{
"origin": "https://xxx.com",
"source": "sw.js",
"version": "3",
"status": "active"
}
]
}
{
"service_worker": [
{
"origin": "https://xxx.com",
"source": "sw.js",
"version": "3",
"status": "active"
}
]
}

そして、ServiceWorker内のJavaScriptでキャッシュ対象のコンテンツを指定することでキャッシュを行う。以下に、キャッシュ対象のコンテンツの例をJSON形式のデータで示す。 Then, the content is cached by designating the content to be cached in the Javascript in the ServiceWorker. Below, an example of the content to be cached is shown in JSON format data.

{
"cache_storage": [
{
"origin": "https://xxx.com",
"cache_name": "v3",
"contents": [
{
"path": "index.html",
"content_type": "text/html",
"content_length": "1000",
"cache_time": "2018/01/01 12:00:00",
"header": {
...
},
"body": {
...
}
},
{
"path": "controller.js",
"content_type": "text/JavaScript",
"content_length": "30000",
"cache_time": "2018/01/01 12:00:01",
"header": {
...
},
"body": {
...
}
},
{
"path": "logo.png",
"content_type": "image/png",
"content_length": "10000",
"cache_time": "2018/01/01 12:00:02",
"header": {
...
},
"body": {
...
}
}
]
}
]
}
{
"cache_storage": [
{
"origin": "https://xxx.com",
"cache_name": "v3",
"contents": [
{
"path": "index.html",
"content_type": "text/html",
"content_length": "1000",
"cache_time": "2018/01/01 12:00:00",
"header": {
...
},
"body": {
...
}
},
{
"path": "controller.js",
"content_type": "text/JavaScript",
"content_length": "30000",
"cache_time": "2018/01/01 12:00:01",
"header": {
...
},
"body": {
...
}
},
{
"path": "logo.png",
"content_type": "image/png",
"content_length": "10000",
"cache_time": "2018/01/01 12:00:02",
"header": {
...
},
"body": {
...
}
}
]
}
]
}

キャッシュ対象のコンテンツは、スクリプト実行部323によりデータ管理部324に格納される。以降、Webブラウザ320からキャッシュしたコンテンツの"origin"、"path"にアクセスした際に、オフライン或いは"cache_name"に示す値に変更が無い場合、データ管理部324に格納(キャッシュ)されたコンテンツを読み込む。なお、オンライン時に"cache_name"に示す値に変更がある場合は、ServiceWorkerは、Webアプリケーション管理部312からWebアプリケーションを取得し、キャッシュを更新する。以上のようにWebアプリケーションを構成することで、クライアントコンピュータ102がオフラインであっても使用することが可能になる。なお、ServiceWorkerは、上記オフラインの間に、デバイス103から取得した情報等を、クライアントコンピュータ102がオンラインになった場合に、ウェブサイトに通知する。 The content to be cached is stored in the data management unit 324 by the script execution unit 323. After that, when accessing the “origin” and “path” of the cached content from the Web browser 320, if there is no change in the value shown in “cache_name” offline, the content stored (cached) in the data management unit 324 is Read. If there is a change in the value indicated by "cache_name" while online, ServiceWorker acquires the Web application from the Web application management unit 312 and updates the cache. By configuring the Web application as described above, the client computer 102 can be used even when it is offline. Note that the ServiceWorker notifies the website of the information and the like acquired from the device 103 when the client computer 102 is brought online while the above is offline.

図3(C)は、デバイス103のソフトウェア構成を示す図である。なお、図3(C)に示すデバイス103のソフトウェア構成は、デバイス103のCPU201がROM203等に格納されたプログラムを実行することにより実現される。
図3(C)に示すように、USB制御部341は、デバイス103におけるUSB制御部であり、USBインタフェース207に対するUSB通信を制御するためのソフトウェアモジュールである。
FIG. 3C is a diagram showing the software configuration of the device 103. The software configuration of the device 103 shown in FIG. 3C is realized by the CPU 201 of the device 103 executing a program stored in the ROM 203 or the like.
As shown in FIG. 3C, the USB control unit 341 is a USB control unit in the device 103, and is a software module for controlling USB communication with the USB interface 207.

デバイス機能実行部342は、デバイス103の機能を実行するためのソフトウェアモジュールであり、例えば、デバイス103がスキャナの場合はスキャン機能を、プリンタの場合はプリント機能を実現する。USB制御部341がクライアントコンピュータ102などの外部システムから命令を受け、デバイス機能実行部342に命令を出すことで、デバイス103の機能を実行することも可能である。 The device function execution unit 342 is a software module for executing the function of the device 103, and realizes a scan function when the device 103 is a scanner and a print function when the device 103 is a printer, for example. It is also possible for the USB control unit 341 to execute the function of the device 103 by receiving a command from an external system such as the client computer 102 and issuing a command to the device function execution unit 342.

<シーケンス図とUI>
本実施形態の特徴である、WebUSBを用いた場合のWebアプリケーションのキャッシュの挙動について、図4のシーケンス図と、図5のUIを用いて説明する。
図4は、ユーザ401がデバイス103をクライアントコンピュータ102に接続してから、Webアプリケーションのキャッシュが行われるまでの処理の一例を示すシーケンス図である。なお、このシーケンス図において、デバイス103の処理は、デバイス103のCPU201がROM203等に格納されたプログラムを実行することにより実現される。また、クライアントコンピュータ102の処理は、クライアントコンピュータ102のCPU201が記憶装置204等に格納されたプログラムを実行することにより実現される。また、Webサーバ310の処理は、サーバ101のCPU201が記憶装置204等に格納されたプログラムを実行することにより実現される。
<Sequence diagram and UI>
The cache behavior of the Web application when WebUSB is used, which is a feature of this embodiment, will be described with reference to the sequence diagram of FIG. 4 and the UI of FIG.
FIG. 4 is a sequence diagram showing an example of processing from the user 401 connecting the device 103 to the client computer 102 to the cache of the Web application. In this sequence diagram, the processing of the device 103 is realized by the CPU 201 of the device 103 executing a program stored in the ROM 203 or the like. The processing of the client computer 102 is realized by the CPU 201 of the client computer 102 executing a program stored in the storage device 204 or the like. The processing of the web server 310 is realized by the CPU 201 of the server 101 executing a program stored in the storage device 204 or the like.

まず、S411において、ユーザ401がデバイス103をクライアントコンピュータ102に接続する。
また、S412において、Webブラウザ320は、デバイス103の接続を監視している。そして、S413において、Webブラウザ320は、OS330のUSB制御部331から取得できるデバイス103の接続イベント或いはデバイス103の接続状態を基に、デバイス103の接続を検出すると、S414に処理を進める。
First, in step S411, the user 401 connects the device 103 to the client computer 102.
In step S412, the web browser 320 monitors the connection of the device 103. Then, in step S413, when the web browser 320 detects the connection of the device 103 based on the connection event of the device 103 or the connection state of the device 103 that can be acquired from the USB control unit 331 of the OS 330, the process proceeds to step S414.

S414において、Webブラウザ320は、OS330のUSB制御部331に対してデバイス103のdescriptorを取得するための要求を行う。descriptorとは、デバイス103がUSB規格に基づき所有するデバイスの詳細情報であり、例えば、デバイス103のベンダIDや製品ID、消費電力、転送方式などの情報が含まれる。その中で、WebUSB用のdescriptorとして、landing pageを示す情報が含まれている。landing pageとは、デバイス103を操作するためのWebアプリケーションを提供するWebサイトのURLであり、デバイスベンダがデバイス103に設定する。 In step S<b>414, the web browser 320 makes a request to the USB control unit 331 of the OS 330 to acquire the descriptor of the device 103. The descriptor is detailed information of a device owned by the device 103 based on the USB standard, and includes, for example, information such as a vendor ID or a product ID of the device 103, power consumption, and a transfer method. Among them, the information indicating the landing page is included as a descriptor for WebUSB. The landing page is a URL of a website that provides a web application for operating the device 103, and is set in the device 103 by the device vendor.

上記S414の要求に応じて、S415において、OS330のUSB制御部331が、デバイス103のUSB制御部341に対して、descriptorの取得要求を行う。
該S415の要求に応じて、S416において、デバイス103のUSB制御部341が、descriptorをOS330のUSB制御部331に返却する。
該返却されたdescriptorを取得すると、S417において、OS330のUSB制御部331は、取得したdescriptorをWebブラウザ320に返却する。
In response to the request of S414, in S415, the USB control unit 331 of the OS 330 requests the USB control unit 341 of the device 103 to obtain a descriptor.
In response to the request of S415, in S416, the USB control unit 341 of the device 103 returns the descriptor to the USB control unit 331 of the OS 330.
When the returned descriptor is acquired, the USB control unit 331 of the OS 330 returns the acquired descriptor to the Web browser 320 in S417.

該返却されたdescriptorを取得すると、S418において、Webブラウザ320は、取得したdescriptorに含まれるlanding pageを、図5(A)のように、ユーザ401に提示する。ここで、図5(A)を用いて、landing pageを提示する画面について説明する。 When the returned descriptor is acquired, the web browser 320 presents the landing page included in the acquired descriptor to the user 401 in step S418, as illustrated in FIG. 5A. Here, the screen for presenting the landing page will be described with reference to FIG.

図5(A)は、S418で、Webブラウザ320がユーザ401にlanding pageを提示した際のクライアントコンピュータ102のデスクトップ画面の一例を示す図である。 FIG. 5A is a diagram showing an example of the desktop screen of the client computer 102 when the Web browser 320 presents the landing page to the user 401 in S418.

画面510は、クライアントコンピュータ102のデスクトップ画面である。
ウィンドウ511は、Webブラウザ320の通知ウィンドウであり、descriptorにlanding pageを有するデバイス103がクライアントコンピュータ102に接続された場合に表示される。
メッセージ512は、ユーザ401にlanding pageへの誘導を促すメッセージである。ユーザ401によりボタン513が押下されると、図5(B)に示すWebブラウザ320のUIが起動され、図4のS419の処理が開始される。ボタン514が押下されると、図4のシーケンスが終了する。デバイス103に、landing pageを設定しておくことで、クライアントコンピュータ102への接続時に、デバイス103を操作するために必要なWebアプリケーションの提供元に誘導することができる。なお、ボタン514を押下し、通知ウィンドウ511を閉じたとしても、後からWebブラウザ320のUIに直接WebサイトのURLを入力することで、Webアプリケーションを取得することが可能である。
The screen 510 is a desktop screen of the client computer 102.
The window 511 is a notification window of the Web browser 320, and is displayed when the device 103 having the landing page in the descriptor is connected to the client computer 102.
The message 512 is a message that prompts the user 401 to guide to the landing page. When the button 513 is pressed by the user 401, the UI of the Web browser 320 shown in FIG. 5B is activated, and the processing of S419 in FIG. 4 is started. When the button 514 is pressed, the sequence of FIG. 4 ends. By setting the landing page in the device 103, it is possible to guide the user to a web application provider necessary for operating the device 103 when connecting to the client computer 102. Even if the button 514 is pressed and the notification window 511 is closed, the web application can be acquired by directly inputting the URL of the website in the UI of the web browser 320 later.

以下、図4の説明に戻る。
S419において、ユーザ401がボタン513を押下し、Webブラウザ320に対してlanding pageへのアクセスを指示する。該指示に応じて、S420において、Webブラウザ320は、landing pageが示すWebサーバ310が提供するWebサイトへアクセスする。
上記S420のアクセスに応じて、S421において、Webサーバ310のWebアプリケーション管理部312は、Webブラウザ320に対してデバイス103を操作するためのWebアプリケーションを返却する。該返却されたWebアプリケーションに含まれるJavaScriptをWebブラウザ320が実行すると、図5(B)に示すようなUIが表示される。このUIについて、以下、図5(B)を用いて説明する。
Hereinafter, the description returns to FIG.
In step S419, the user 401 presses the button 513 to instruct the web browser 320 to access the landing page. In response to the instruction, in step S420, the web browser 320 accesses the website provided by the web server 310 indicated by the landing page.
In response to the access in S420, in S421, the Web application management unit 312 of the Web server 310 returns the Web application for operating the device 103 to the Web browser 320. When the web browser 320 executes the Javascript included in the returned web application, a UI as shown in FIG. 5B is displayed. This UI will be described below with reference to FIG.

図5(B)は、Webブラウザ320のUIの一例を示す図である。
521は、Webアプリケーションからデバイス103への接続(操作)を許可するか否かの確認を行うプロンプト(以下、「接続許可プロンプト」と呼ぶ)である。この接続許可プロンプト521は、スクリプト実行部323がデバイスへの接続可否を問うJavaScriptを実行した際に表示されるものであり、Webアプリケーションを提供するオリジン毎に問われる。
FIG. 5B is a diagram showing an example of the UI of the web browser 320.
Reference numeral 521 is a prompt (hereinafter, referred to as “connection permission prompt”) for confirming whether or not the connection (operation) from the Web application to the device 103 is permitted. The connection permission prompt 521 is displayed when the script execution unit 323 executes Java Script that asks whether connection to the device is possible, and is requested for each origin that provides the Web application.

522は、クライアントコンピュータ102に接続されているデバイス103の一覧であり、この時点では当該Webアプリケーションからのデバイス103への接続の許可がなされていない。ユーザ401は、デバイス一覧522から、Webアプリケーションからの接続を許可するデバイス103を選択することができる。この接続許可プロンプト521は、悪意のあるWebアプリケーションからデバイス103を保護するためのものである。 Reference numeral 522 is a list of devices 103 connected to the client computer 102, and at this point of time, the connection from the Web application to the device 103 has not been permitted. The user 401 can select, from the device list 522, the device 103 permitted to connect from the Web application. The connection permission prompt 521 is for protecting the device 103 from a malicious web application.

ユーザ401がデバイス一覧522でデバイスを選択した状態でボタン523を押下すると、選択したデバイス103に対するWebアプリケーションからの接続が許可される。その後、スクリプト実行部323は、Webアプリケーションからの接続が許可されたデバイスとオリジンの組み合わせである接続情報を生成し、データ管理部324に格納する。
一方、ユーザ401がボタン524を押下すると、Webアプリケーションからのデバイス103に対する接続は許可されず、接続許可プロンプト521は閉じられる。
When the user 401 presses the button 523 with the device selected in the device list 522, the connection from the Web application to the selected device 103 is permitted. After that, the script execution unit 323 generates connection information, which is a combination of the device and the origin permitted to connect from the Web application, and stores the connection information in the data management unit 324.
On the other hand, when the user 401 presses the button 524, the connection from the Web application to the device 103 is not permitted and the connection permission prompt 521 is closed.

ServiceWorkerを利用することで、Webアプリケーションをオフラインでも使用することが可能であることを説明した。ここで、ユーザ401がボタン524(接続拒否)を押下した場合、あるいはボタン523及び524のいずれも押下せずにWebアプリケーションを終了した場合について考える。この場合、Webアプリケーションからデバイス103への接続が許可されないため、ServiceWorkerによりキャッシュを行ったとしてもデバイス103を操作することができない。つまり、Webアプリケーションからデバイス103への接続を許可しないのであれば、データ管理部324の記憶領域が逼迫する原因となるため、ServiceWorkerによりキャッシュを行うのは望ましくない。しかし、Webブラウザ320がWebサイトにアクセスし、スクリプト実行部323がWebアプリケーションに含まれるJavaScriptを実行した時点でキャッシュ処理が実行されてしまう。接続許可プロンプト521で接続許可しない場合はキャッシュ処理も実行しないようにWebアプリケーション側の実装で回避することは可能であるが、Webサーバ310によって実装は異なるため、必ずしもキャッシュ処理が実行されないわけでは無い。そこで、Webブラウザ側の判断により、不要なキャッシュを行わないようにする方法を以下に説明する。 It has been described that the Web application can be used even offline by using the ServiceWorker. Here, consider a case where the user 401 presses the button 524 (connection refusal) or the Web application ends without pressing any of the buttons 523 and 524. In this case, since the connection from the Web application to the device 103 is not permitted, the device 103 cannot be operated even if the cache is performed by the ServiceWorker. In other words, if the connection from the Web application to the device 103 is not permitted, the storage area of the data management unit 324 becomes tight, and therefore it is not desirable to perform the cache by ServiceWorker. However, when the web browser 320 accesses the website and the script execution unit 323 executes Java Script included in the web application, the cache process is executed. It is possible to avoid the cache process so that the cache process is not executed if the connection is not permitted by the connection permission prompt 521, but the cache process is not necessarily executed because the implementation differs depending on the Web server 310. .. Therefore, a method for preventing unnecessary caching based on the judgment of the Web browser will be described below.

以下、図4の説明に戻る。
S421の後、S422〜S425、又は、S431〜S435が実行される。
S422〜S425は、ユーザ401が先に接続許可・拒否の選択を行い、その後にキャッシュ処理が実行される場合のシーケンスである。
S431〜S435は、ユーザ401が接続許可・拒否の選択を行う前にキャッシュ処理が実行される場合のシーケンスである。
Hereinafter, the description returns to FIG.
After S421, S422 to S425 or S431 to S435 are executed.
Steps S422 to S425 are a sequence in the case where the user 401 first selects connection permission/rejection, and then the cache process is executed.
S431 to S435 are a sequence in the case where the cache process is executed before the user 401 selects connection permission/rejection.

まず、S422〜S425を用いて、ユーザ401が先に接続許可・拒否の選択を行い、その後にキャッシュ処理が実行される場合のシーケンスについて説明する。
S422において、スクリプト実行部323がWebアプリケーションのJavaScriptを実行することで、Webブラウザ320の表示部322に接続許可プロンプト521を表示する。
First, using S422 to S425, a sequence will be described in which the user 401 first selects connection permission/rejection, and then cache processing is executed.
In step S422, the script execution unit 323 executes the Java script of the web application to display the connection permission prompt 521 on the display unit 322 of the web browser 320.

次にS423において、ユーザ401が接続許可・拒否の選択を行う。ユーザ401がS423にて接続許可を選択していた場合、スクリプト実行部323は、S424を実行する。
S424において、スクリプト実行部323が、前述したWebアプリケーションからの接続が許可されたデバイス103とオリジンの組み合わせである接続情報を生成する。次にS425において、スクリプト実行部323が、ServiceWorkerの登録とWebアプリケーションのキャッシュ(保持)を行うJavaScriptを実行する。すなわち、ServiceWorkerのインストールを行う。
一方、S423にてユーザ401が接続拒否を選択していた場合は、スクリプト実行部323はS424を実行せず、シーケンスを終了する。
Next, in step S423, the user 401 selects connection permission/rejection. When the user 401 has selected the connection permission in S423, the script execution unit 323 executes S424.
In step S424, the script execution unit 323 generates connection information that is a combination of the device 103 and the origin permitted to connect from the Web application described above. Next, in step S425, the script execution unit 323 executes JavaScript for registering ServiceWorker and caching (holding) the Web application. That is, ServiceWorker is installed.
On the other hand, when the user 401 has selected connection refusal in S423, the script execution unit 323 does not execute S424 and ends the sequence.

次に、S431〜S435を用いて、ユーザ401が接続許可・拒否の選択を行う前にキャッシュ処理が実行される場合のシーケンスについて説明する。
S431において、スクリプト実行部323が、ServiceWorkerの登録とWebアプリケーションのキャッシュを行うJavaScriptを実行する。
次にS432において、スクリプト実行部323がWebアプリケーションのJavaScriptを実行することで、Webブラウザ320の表示部322に接続許可プロンプト521を表示する。
Next, a sequence in the case where the cache process is executed before the user 401 selects the connection permission/rejection will be described using S431 to S435.
In step S431, the script execution unit 323 executes Java Script for registering ServiceWorker and caching the Web application.
Next, in step S432, the script execution unit 323 executes the Javascript of the web application to display the connection permission prompt 521 on the display unit 322 of the web browser 320.

次にS433において、ユーザ401は接続許可・拒否の選択を行う。ユーザ401が接続拒否を選択していた場合は、スクリプト実行部323はS434を実行する。S434において、スクリプト実行部323が、データ管理部324に格納された当該WebアプリケーションのServiceWorkerとキャッシュを削除する。
一方、ユーザ401が接続許可を選択していた場合は、スクリプト実行部323は、S435を実行する。S435では、上述したS424と同様に、スクリプト実行部323が接続情報を生成する。
Next, in step S433, the user 401 selects connection permission/rejection. If the user 401 has selected connection refusal, the script execution unit 323 executes S434. In step S434, the script execution unit 323 deletes the ServiceWorker and cache of the Web application stored in the data management unit 324.
On the other hand, when the user 401 has selected connection permission, the script execution unit 323 executes S435. In S435, the script execution unit 323 generates connection information, as in S424 described above.

以上のように、Webブラウザ320が、Webアプリケーションのプログラムの実行順序に応じてS422〜S425あるいはS431〜S435を実行することで、不要なキャッシュを行わないように制御する。この制御により、Webブラウザのために確保された記憶領域であるデータ管理部324の記憶領域が、不要なキャッシュにより逼迫されることを防止できる。さらに、不要なキャッシュとともにServiceWorker自体も削除するため、ユーザ401にとって不要なバックグラウンド処理が実行されることも防止できる。 As described above, the Web browser 320 executes S422 to S425 or S431 to S435 in accordance with the execution order of the programs of the Web application, thereby controlling not to perform unnecessary cache. By this control, it is possible to prevent the storage area of the data management unit 324, which is a storage area reserved for the Web browser, from being overwhelmed by unnecessary cache. Further, since the ServiceWorker itself is deleted together with the unnecessary cache, it is possible to prevent the background processing unnecessary for the user 401 from being executed.

〔第2実施形態〕
上述した第1実施形態では、接続許可プロンプト521において、ユーザ401がWebアプリケーションからデバイス103への接続を拒否した場合、キャッシュを行わない、あるいは、キャッシュを削除する方法について説明した。この方法により、Webブラウザのために確保された記憶領域が不要なキャッシュにより逼迫することを防止できる。
一方で、Webアプリケーションの使用当初はキャッシュを使用していたが、ある時点で不要になったため削除したいというケースが考えられる。その場合、Webブラウザ320の機能により、対象のキャッシュを選択し削除することは可能である。しかし、オフラインでのWebアプリケーションの使用を考慮すると、Local StorageやIndexed DBなどを作業データの記憶領域として使用することが想定される。つまり、ServiceWorkerによるHTMLやJavaScriptなどのWebコンテンツのキャッシュだけでなく、Local StorageやIndexed DBなどに格納された作業データも併せて削除するのが望ましい。
第2実施形態では、接続許可プロンプト521による接続許可され、後に不要となったWebアプリケーションのキャッシュ及び作業データを効率的に削除する構成について説明する。
[Second Embodiment]
In the above-described first embodiment, the method of not caching or deleting the cache when the user 401 rejects the connection from the Web application to the device 103 in the connection permission prompt 521 has been described. By this method, it is possible to prevent the storage area reserved for the Web browser from being overwhelmed by unnecessary cache.
On the other hand, there is a case in which the cache was used at the beginning of using the Web application, but it is no longer needed at a certain point of time and it is desired to delete the cache. In that case, it is possible to select and delete the target cache by the function of the Web browser 320. However, considering the use of the Web application off-line, it is assumed that Local Storage, Indexed DB, or the like is used as a storage area for work data. That is, it is desirable to delete not only the cache of Web contents such as HTML and Javascript by ServiceWorker, but also the work data stored in Local Storage, Indexed DB and the like.
In the second embodiment, a configuration will be described in which the connection permission by the connection permission prompt 521 is permitted, and the cache and work data of a Web application that is no longer needed is deleted efficiently.

図6は、クライアントコンピュータ102において、接続許可されたデバイス103の接続情報を管理するためのWebブラウザ320のUIの一例を示す図である。
図6(A)は、ユーザ401がボタン523を押下した際に、スクリプト実行部323によって生成された接続情報の一覧を表示するUIである。
図6(B)は、接続情報を削除するか否かを確認するUIである。
FIG. 6 is a diagram showing an example of a UI of the Web browser 320 for managing the connection information of the device 103 permitted to connect in the client computer 102.
FIG. 6A is a UI that displays a list of connection information generated by the script execution unit 323 when the user 401 presses the button 523.
FIG. 6B is a UI for confirming whether or not to delete the connection information.

第1実施形態でも述べた通り、接続許可プロンプトによりWebアプリケーションからの接続を許可されたデバイスの接続情報は、Webアプリケーションからの接続が許可されたデバイスとオリジンの組み合わせの情報である。図6(A)のUIで、各接続情報に関連付けられたボタン611が押下されると、Webブラウザ320は、図6(B)のUIに画面遷移する。 As described in the first embodiment, the connection information of the device permitted to connect from the web application by the connection permission prompt is information on the combination of the device and the origin permitted to connect from the web application. When the button 611 associated with each piece of connection information is pressed on the UI in FIG. 6A, the web browser 320 makes a screen transition to the UI in FIG. 6B.

図6(B)において、モーダルダイアログ620は、選択した接続情報を削除するか否かを確認するメッセージ621、チェックボックス622、ボタン623、ボタン624を有する。 In FIG. 6B, the modal dialog 620 has a message 621 for confirming whether or not to delete the selected connection information, a check box 622, a button 623, and a button 624.

チェックボックス622は、当該接続情報のオリジンで生成されたデータを接続情報とともに削除するかを選択するためのチェックボックスである。この生成されたデータには、ServiceWorkerとキャッシュだけでなく、前述したLocal StorageやIndexed DBなどに格納されているデータも含まれる。これらのデータは、同一オリジンポリシに基づき生成されたデータであり、オリジン毎に管理されているデータである。 The check box 622 is a check box for selecting whether to delete the data generated at the origin of the connection information together with the connection information. The generated data includes not only the ServiceWorker and the cache, but also the data stored in the above-mentioned Local Storage, Indexed DB, or the like. These data are data generated based on the same origin policy, and are data managed for each origin.

以下に作業データの例をJSON形式のデータで示す。
ServiceWorkerとキャッシュに関するデータの例は、第1実施形態で示したため省略する。なお、これらのデータはWebブラウザのために確保された記憶領域であるデータ管理部324に格納されている。
An example of work data is shown below in JSON format.
An example of the data related to the ServiceWorker and the cache has been shown in the first embodiment, and will be omitted. These data are stored in the data management unit 324, which is a storage area reserved for the Web browser.

{
"local_storage": [
{
"origin": "https://xxx.com",
"data": {
"picture_title_001": "river",
"picture_title_002": "sea",
"picture_title_003": "mountain"
}
}
],
"indexed_db": [
{
"origin": "https://xxx.com",
"object_store": [
{
"store_name": "store1",
"data": {
"river": ...,
"sea": ...,
"mountain": ...
}
}
]
}
],
"cookies": [
{
"origin": "https://xxx.com",
"data": [
{
"name": "ID",
"value": "608e2e7b-46a5-448f-b8ba-02cb57609e77",
"domain": "xxx.com",
"path": "/"
}
]
}
]
}
{
"local_storage": [
{
"origin": "https://xxx.com",
"data": {
"picture_title_001": "river",
"picture_title_002": "sea",
"picture_title_003": "mountain"
}
}
],
"indexed_db": [
{
"origin": "https://xxx.com",
"object_store": [
{
"store_name": "store1",
"data": {
"river": ...,
"sea": ...,
"mountain": ...
}
}
]
}
],
"cookies": [
{
"origin": "https://xxx.com",
"data": [
{
"name": "ID",
"value": "608e2e7b-46a5-448f-b8ba-02cb57609e77",
"domain": "xxx.com",
"path": "/"
}
]
}
]
}

チェックボックス622にチェックを入れた状態で「はい」ボタン623が押下されると、Webブラウザ320は、接続情報とともに、接続情報と同一のオリジンのServiceWorkerとキャッシュ、作業データを削除する。例えば、図6(B)で削除対象としている"https://xxx.com"に関するデータを第1実施形態と直前で示したJSON形式のデータの中から検索して、"origin"の値と一致するデータを削除する。 When the “Yes” button 623 is pressed with the check box 622 checked, the Web browser 320 deletes the connection information, the ServiceWorker and cache of the same origin as the connection information, and the work data. For example, the data regarding "https://xxx.com" to be deleted in FIG. 6B is searched from the JSON format data shown in the first embodiment and immediately before, and the value of "origin" is obtained. Delete the matching data.

一方、チェックボックス622にチェックを入れていない状態で「はい」ボタン623が押下されると、Webブラウザ320は、接続情報のみを削除する。
また、「いいえ」ボタン624が押下されると、何も実行されず、Webブラウザ320は、図6(A)のUIに戻る。
On the other hand, when the “Yes” button 623 is pressed while the check box 622 is not checked, the web browser 320 deletes only the connection information.
If the “No” button 624 is pressed, nothing is executed and the web browser 320 returns to the UI shown in FIG.

以上のように、デバイス103の接続情報を削除するとともに、接続情報と同一のオリジンのServiceWorkerとキャッシュ、作業データを削除することで、ユーザ401にとって不要となったデータを効率的に削除することができる。これにより、Webブラウザのために確保された記憶領域であるデータ管理部324の記憶領域が不要となったデータにより逼迫することを防止できる。 As described above, the connection information of the device 103 is deleted, and at the same time, the service worker, the cache, and the work data of the same origin as the connection information are deleted, so that the data unnecessary for the user 401 can be efficiently deleted. it can. As a result, it is possible to prevent the storage area of the data management unit 324, which is a storage area reserved for the Web browser, from becoming tight due to unnecessary data.

〔第3実施形態〕
上述した第1実施形態の図4に示したシーケンスでは、キャッシュ処理が正常に終了した場合について説明した。しかし、スクリプト実行部323がキャッシュ処理を実行した際に、ServiceWorkerおよびキャッシュ対象のWebコンテンツをデータ管理部324に格納するが、記憶領域の空き容量不足により処理が失敗する場合がある。この場合、ユーザ401が接続許可プロンプト521上でボタン523(接続許可を選択)を押下したのにも関わらずWebアプリケーションがキャッシュされず、ユーザ401も処理に失敗したことに気付くことができない。
そこで、第3実施形態ではデータ管理部324の空き容量が不足していた場合においてもユーザ401がその旨を気付くことができ、ユーザ401に復旧方法を提示する構成について図7、図8を用いて説明する。
[Third Embodiment]
In the sequence shown in FIG. 4 of the above-described first embodiment, the case where the cache process ends normally has been described. However, when the script execution unit 323 executes the cache process, the ServiceWorker and the Web content to be cached are stored in the data management unit 324, but the process may fail due to insufficient free space in the storage area. In this case, the web application is not cached even though the user 401 presses the button 523 (select connection permission) on the connection permission prompt 521, and the user 401 cannot be aware that the processing has failed.
Therefore, in the third embodiment, even when the free space of the data management unit 324 is insufficient, the user 401 can notice the fact and presents the recovery method to the user 401 with reference to FIGS. 7 and 8. Explain.

図7は、第3実施形態を説明するシーケンス図であり、図4のシーケンスを拡張したシーケンス図に対応する。なお、このシーケンス図において、デバイス103の処理は、デバイス103のCPU201がROM203等に格納されたプログラムを実行することにより実現される。また、クライアントコンピュータ102の処理は、クライアントコンピュータ102のCPU201が記憶装置204等に格納されたプログラムを実行することにより実現される。また、Webサーバ310の処理は、サーバ101のCPU201が記憶装置204等に格納されたプログラムを実行することにより実現される。 FIG. 7 is a sequence diagram for explaining the third embodiment and corresponds to a sequence diagram obtained by expanding the sequence of FIG. In this sequence diagram, the processing of the device 103 is realized by the CPU 201 of the device 103 executing a program stored in the ROM 203 or the like. The processing of the client computer 102 is realized by the CPU 201 of the client computer 102 executing a program stored in the storage device 204 or the like. The processing of the web server 310 is realized by the CPU 201 of the server 101 executing a program stored in the storage device 204 or the like.

なお、S411〜S421は第1実施形態に示した図4と同様のステップであるため説明は省略する。S421の後、S711〜S715、又は、S721〜S726が実行される。
S711〜S715は、Webアプリケーションのキャッシュより先にユーザ401による接続許可・拒否の選択がなされる場合のシーケンスである。
S721〜S726は、ユーザ401による接続許可・拒否の選択より先にWebアプリケーションのキャッシュがなされる場合のシーケンスである。
It should be noted that S411 to S421 are the same steps as those in FIG. 4 shown in the first embodiment, and therefore description thereof will be omitted. After S421, S711 to S715 or S721 to S726 are executed.
S711 to S715 are a sequence in the case where the connection permission/rejection is selected by the user 401 before the cache of the Web application.
S721 to S726 are a sequence in the case where the Web application is cached prior to the connection permission/rejection selection by the user 401.

まず、S711〜S715について説明する。
S711において、スクリプト実行部323は、Webアプリケーションを実行することで、ユーザ401に接続許可プロンプト521を表示する。
次にS712において、ユーザ401が、Webアプリケーションからのデバイス103への接続許可・拒否を選択する。ユーザ401がS712にて接続拒否を選択していた場合、スクリプト実行部323は、シーケンスを終了する。
First, S711 to S715 will be described.
In step S711, the script execution unit 323 displays the connection permission prompt 521 to the user 401 by executing the web application.
Next, in step S<b>712, the user 401 selects permission/rejection of connection from the Web application to the device 103. When the user 401 has selected the connection refusal in S712, the script execution unit 323 ends the sequence.

一方、ユーザ401がS712にて接続許可を選択していた場合、スクリプト実行部323は、S713を実行する。
S713では、第1実施形態でのS424と同様に、スクリプト実行部323が接続情報を生成する。
次にS714において、スクリプト実行部323が、ServiceWorkerの登録とWebアプリケーションのキャッシュを行うJavaScriptを実行する。
上記S714でスクリプト実行部323が正常に処理を終了した場合、シーケンスを終了する。
On the other hand, when the user 401 has selected connection permission in S712, the script execution unit 323 executes S713.
In S713, the script execution unit 323 generates connection information, as in S424 in the first embodiment.
Next, in step S<b>714, the script execution unit 323 executes JavaScript that registers ServiceWorker and caches the Web application.
If the script execution unit 323 normally ends the process in S714, the sequence ends.

一方、上記S714で、スクリプト実行部323がJavaScriptを実行し、データ管理部324の空き容量不足に関するエラーが発生した場合、S715に処理を進める。空き容量不足に関するエラーとは、例えば、“QUOTA_EXCEEDED_ERR”である。
S715において、スクリプト実行部323は、ユーザ401に対してS714の処理が失敗した旨の通知を行うために、図8のプロンプト810をWebブラウザ320上の表示部322に表示する。ここで、図8を用いて、プロンプト810について説明する。
On the other hand, in step S714, if the script execution unit 323 executes JavaScript and an error regarding insufficient free space in the data management unit 324 occurs, the process proceeds to step S715. The error relating to insufficient free space is, for example, “QUOTA_EXCEEDED_ERR”.
In step S715, the script execution unit 323 displays the prompt 810 of FIG. 8 on the display unit 322 on the web browser 320 to notify the user 401 that the process of step S714 has failed. Here, the prompt 810 will be described with reference to FIG.

図8(A)は、スクリプト実行部323がキャッシュ処理を実行したが、データ管理部324の空き容量不足によりキャッシュできなかった場合のWebブラウザ320のUIの一例を示す図である。 FIG. 8A is a diagram showing an example of the UI of the Web browser 320 when the script execution unit 323 executes the cache process but the data management unit 324 cannot cache the data due to insufficient free space.

プロンプト810は、キャッシュに失敗した旨のメッセージ811、ボタン812、ボタン813を有する。ボタン812が押下されると、Webブラウザ320は、図8(B)のUIを表示する。
ボタン813が押下されると、Webブラウザ320は、プロンプト810を閉じる。
The prompt 810 has a message 811, a button 812, and a button 813 indicating that the cache has failed. When the button 812 is pressed, the web browser 320 displays the UI shown in FIG.
When the button 813 is pressed, the web browser 320 closes the prompt 810.

図8(B)は、データ管理部324に格納されたデータを操作するためのWebブラウザ320のUIの一例を示す図である。
821は、データ管理部324に格納されているデータ種別の一覧である。各データ種別をマウスカーソルで選択し展開すると、オリジンごとにデータの内容を閲覧することができる。ユーザは、この一覧を利用して不要なデータを選択し削除することで、データ管理部324の空き領域を増やすことができる。グラフ822は、データ管理部324に格納されているデータの使用率をデータ種別ごとに表したグラフである。
FIG. 8B is a diagram showing an example of a UI of the Web browser 320 for operating the data stored in the data management unit 324.
Reference numeral 821 is a list of data types stored in the data management unit 324. If you select each data type with the mouse cursor and expand it, you can browse the data contents for each origin. The user can increase the free area of the data management unit 324 by using this list to select and delete unnecessary data. The graph 822 is a graph showing the usage rate of the data stored in the data management unit 324 for each data type.

以下、図7の説明に戻り、S721〜S726について説明する。
S721において、スクリプト実行部323は、ServiceWorkerの登録とWebアプリケーションのキャッシュを行うJavaScriptを実行する。このS721において、データ管理部324の空き容量不足によりキャッシュに失敗した場合、スクリプト実行部323は失敗したことを記憶しておく。
次にS722において、スクリプト実行部323は、ユーザ401に接続許可プロンプト521を表示する。
Hereinafter, returning to the description of FIG. 7, S721 to S726 will be described.
In step S<b>721, the script execution unit 323 executes Java Script that registers ServiceWorker and caches the Web application. In S721, if the cache fails due to the lack of free space in the data management unit 324, the script execution unit 323 stores the failure.
Next, in step S722, the script execution unit 323 displays the connection permission prompt 521 on the user 401.

次にS723において、ユーザ401が、Webアプリケーションからのデバイス103への接続許可・拒否を選択する。ユーザ401がS723にて接続許可を選択していた場合、スクリプト実行部323は、S724を実行する。
S724では、第1実施形態でのS424と同様に、スクリプト実行部323が接続情報を生成する。その後、スクリプト実行部323がS721で記憶していた失敗の有無を確認し、失敗していなかった場合はシーケンスを終了する。
Next, in step S723, the user 401 selects permission/rejection of connection from the Web application to the device 103. When the user 401 has selected the connection permission in S723, the script execution unit 323 executes S724.
In S724, the script execution unit 323 generates connection information, as in S424 in the first embodiment. After that, the script execution unit 323 confirms whether or not there is a failure stored in S721, and when it has not failed, the sequence ends.

一方、上記S724において、上記S721でデータ管理部324の空き容量不足によりキャッシュに失敗していた場合、スクリプト実行部323は、S725を実行する。
S725では、S715と同様にスクリプト実行部323がユーザ401に対してS721の処理が失敗していた旨の通知を行う。
On the other hand, in S724, if the cache fails due to the lack of free space in the data management unit 324 in S721, the script execution unit 323 executes S725.
In step S725, the script execution unit 323 notifies the user 401 that the processing in step S721 has failed, as in step S715.

一方、ユーザ401がS723にて接続拒否を選択していた場合、スクリプト実行部323は、S726を実行する。
S726において、スクリプト実行部323は、上記S721で登録したServiceWorkerとWebアプリケーションのキャッシュを削除する。なお、上記S721のキャッシュ処理の途中で失敗した場合においても、途中まで保存したデータを削除する。
On the other hand, if the user 401 has selected connection refusal in S723, the script execution unit 323 executes S726.
In S726, the script execution unit 323 deletes the ServiceWorker and the Web application cache registered in S721. Even if the cache process in S721 fails during the process, the data saved halfway is deleted.

以上のように、データ管理部324の空き容量が不足していることをユーザ401に通知することで、ユーザ401はWebアプリケーションをキャッシュできていないことに気付き、復旧操作を行うことができる。また、ユーザ401がデバイス103への接続許可を選択した場合にのみ、つまり、Webアプリケーションをキャッシュする意思がある場合にのみ通知を行うことで、ユーザ401が必要とするタイミングでデータ管理部324の操作を行うことができる。 As described above, by notifying the user 401 that the free space of the data management unit 324 is insufficient, the user 401 notices that the Web application cannot be cached and can perform the recovery operation. Further, the notification is given only when the user 401 selects the permission to connect to the device 103, that is, only when the user has the intention to cache the Web application. The operation can be performed.

以上、各実施形態によれば、USBやBluetoothで接続されたデバイスを操作するウェブアプリケーションに関する、ユーザが必要としない不要なキャッシュによりウェブブラウザのために確保された記憶領域が逼迫されるのを防止できる。 As described above, according to each embodiment, it is possible to prevent a storage area reserved for a web browser from being tight due to an unnecessary cache relating to a web application that operates a device connected by USB or Bluetooth. it can.

なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
The configurations and contents of the various data described above are not limited to this, and may be configured with various configurations and contents depending on the use and purpose.
Although one embodiment has been described above, the present invention can be implemented as, for example, a system, an apparatus, a method, a program, a storage medium, or the like. Specifically, it may be applied to a system composed of a plurality of devices, or may be applied to an apparatus composed of one device.
Further, the present invention also includes all configurations in which the above-described embodiments are combined.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
(Other embodiments)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. It can also be realized by the processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
Further, the present invention may be applied to a system including a plurality of devices or an apparatus including one device.
The present invention is not limited to the above-described embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the gist of the present invention, which are excluded from the scope of the present invention. is not. That is, the present invention includes all configurations that combine the above-described embodiments and the modifications thereof.

Claims (10)

ウェブブラウザが動作する情報処理装置であって、
USBまたはBluetoothで前記情報処理装置に接続されたデバイスを操作するウェブアプリケーションを提供するウェブサイトにアクセスした場合に、該ウェブアプリケーションが前記デバイスに接続することを許可するかを確認するための画面を表示する表示手段と、
前記画面を介して前記デバイスに接続することが許可された場合に、前記ウェブサイトが提供するスクリプトに従い、前記ウェブアプリケーションを前記ウェブブラウザとは別にバックグラウンドで実行するためのアプリケーションプログラムをインストールするインストール手段と、を有し、
前記画面を介して前記デバイスに接続することが許可されなかった場合に、前記スクリプトがあっても、前記アプリケーションプログラムのインストールが行われないことを特徴とする情報処理装置。
An information processing device on which a web browser operates,
When accessing a website that provides a web application that operates a device connected to the information processing apparatus by USB or Bluetooth, a screen for confirming whether the web application permits the connection to the device is displayed. Display means for displaying,
An installation that installs an application program for executing the web application in the background separately from the web browser according to a script provided by the website when it is permitted to connect to the device through the screen. And means,
An information processing apparatus, wherein the application program is not installed even if there is the script when connection to the device via the screen is not permitted.
ウェブブラウザが動作する情報処理装置であって、
USBまたはBluetoothで前記情報処理装置に接続されたデバイスを操作するウェブアプリケーションを提供するウェブサイトにアクセスした場合に、前記ウェブサイトが提供するスクリプトに従い、前記ウェブアプリケーションを前記ウェブブラウザとは別にバックグラウンドで実行するためのアプリケーションプログラムをインストールするインストール手段と、
該ウェブアプリケーションが前記デバイスに接続することを許可するかを確認するための画面を表示する表示手段と、
前記画面を介して前記デバイスに接続することが許可されなかった場合に、前記インストールされたアプリケーションプログラムを削除する削除手段と、
を有することを特徴とする情報処理装置。
An information processing device on which a web browser operates,
When accessing a website that provides a web application for operating a device connected to the information processing apparatus by USB or Bluetooth, the web application is executed in a background separate from the web browser according to a script provided by the website. Installation means to install the application program to run in
Display means for displaying a screen for confirming whether the web application permits connection to the device;
Deleting means for deleting the installed application program when connection to the device via the screen is not permitted,
An information processing device comprising:
前記ウェブブラウザは、前記情報処理装置にUSBまたはBluetoothで接続されたデバイスから、該接続に対応するタイミングで取得された情報に従い、前記ウェブサイトにアクセスすることを特徴とする請求項1又は2に記載の情報処理装置。 3. The web browser accesses the website according to information acquired from a device connected to the information processing device by USB or Bluetooth at a timing corresponding to the connection. The information processing device described. 前記画面を介して前記デバイスに接続することが許可された場合に、前記ウェブアプリケーションの提供元の情報と前記デバイスの情報との組み合わせである接続情報を記憶する記憶手段と、
前記接続情報の削除を指示するための指示手段と、
前記指示手段からの指示に応じて、該接続情報と、該接続情報に対応する前記アプリケーションプログラムの提供元と関連するデータを削除する第2削除手段と、
を有することを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
A storage unit that stores connection information that is a combination of information of a source of the web application and information of the device when connection to the device is permitted via the screen,
Instruction means for instructing deletion of the connection information,
Second deletion means for deleting the connection information and data associated with the provider of the application program corresponding to the connection information in response to an instruction from the instruction means,
The information processing apparatus according to claim 1, further comprising:
前記インストールされたアプリケーションプログラムは、オフラインの間に前記デバイスから取得した情報を、オンラインになった場合に前記ウェブサイトに通知することを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。 The said installed application program notifies the information acquired from the said device to the said website, when it becomes online, while being offline, The information acquired from the said device is offline. Information processing device. 前記アプリケーションプログラムがインストールされた場合、前記ウェブアプリケーションが、前記ウェブブラウザのために確保された記憶領域に保持されることを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein, when the application program is installed, the web application is held in a storage area reserved for the web browser. .. 前記ウェブアプリケーションを前記記憶領域に保持するための処理において、該記憶領域の空きが不足している場合、該記憶領域が不足している旨を通知する通知手段を有することを特徴とする請求項6に記載の情報処理装置。 The processing for holding the web application in the storage area, further comprising a notification means for notifying that the storage area is insufficient when the storage area is insufficient. 6. The information processing device according to item 6. ウェブブラウザが動作する情報処理装置の制御方法であって、
USBまたはBluetoothで前記情報処理装置に接続されたデバイスを操作するウェブアプリケーションを提供するウェブサイトにアクセスした場合に、該ウェブアプリケーションが前記デバイスに接続することを許可するかを確認するための画面を表示する表示ステップと、
前記画面を介して前記デバイスに接続することが許可された場合に、前記ウェブサイトが提供するスクリプトに従い、前記ウェブアプリケーションを前記ウェブブラウザとは別にバックグラウンドで実行するためのアプリケーションプログラムをインストールするインストールステップと、を有し、
前記画面を介して前記デバイスに接続することが許可されなかった場合に、前記スクリプトがあっても、前記アプリケーションプログラムのインストールが行われないことを特徴とする情報処理装置の制御方法。
A method for controlling an information processing device on which a web browser operates, comprising:
When accessing a website that provides a web application that operates a device connected to the information processing apparatus by USB or Bluetooth, a screen for confirming whether the web application permits the connection to the device is displayed. Display steps to display,
An installation that installs an application program for executing the web application in the background separately from the web browser according to a script provided by the website when it is permitted to connect to the device through the screen. Have steps and
A method for controlling an information processing apparatus, wherein the application program is not installed even if there is the script when connection to the device via the screen is not permitted.
ウェブブラウザが動作する情報処理装置の制御方法であって、
USBまたはBluetoothで前記情報処理装置に接続されたデバイスを操作するウェブアプリケーションを提供するウェブサイトにアクセスした場合に、前記ウェブサイトが提供するスクリプトに従い、前記ウェブアプリケーションを前記ウェブブラウザとは別にバックグラウンドで実行するためのアプリケーションプログラムをインストールするインストールステップと、
該ウェブアプリケーションが前記デバイスに接続することを許可するかを確認するための画面を表示する表示ステップと、
前記画面を介して前記デバイスに接続することが許可されなかった場合に、前記インストールされたアプリケーションプログラムを削除する削除ステップと、
を有することを特徴とする情報処理装置の制御方法。
A method for controlling an information processing device on which a web browser operates, comprising:
When accessing a website that provides a web application for operating a device connected to the information processing apparatus by USB or Bluetooth, the web application is executed in a background separate from the web browser according to a script provided by the website. Installation steps to install the application program to run on
A display step of displaying a screen for confirming whether the web application allows the device to connect to the device;
A deleting step of deleting the installed application program when it is not permitted to connect to the device via the screen;
A method for controlling an information processing apparatus, comprising:
コンピュータを、請求項1〜7のいずれか1項に記載の手段として機能させるためのプログラム。 A program for causing a computer to function as the unit according to any one of claims 1 to 7.
JP2018234200A 2018-12-14 2018-12-14 Information processor, control method of information processor, and program Pending JP2020095568A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018234200A JP2020095568A (en) 2018-12-14 2018-12-14 Information processor, control method of information processor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018234200A JP2020095568A (en) 2018-12-14 2018-12-14 Information processor, control method of information processor, and program

Publications (1)

Publication Number Publication Date
JP2020095568A true JP2020095568A (en) 2020-06-18

Family

ID=71086387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018234200A Pending JP2020095568A (en) 2018-12-14 2018-12-14 Information processor, control method of information processor, and program

Country Status (1)

Country Link
JP (1) JP2020095568A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021246114A1 (en) 2020-06-01 2021-12-09 日立建機株式会社 Vehicle control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021246114A1 (en) 2020-06-01 2021-12-09 日立建機株式会社 Vehicle control system

Similar Documents

Publication Publication Date Title
US9282211B2 (en) Image forming apparatus, control method, and storage medium in which data is shared between applications
US10257388B2 (en) Image forming apparatus, control method for image forming apparatus, and storage medium for setting user authentication
US8640224B2 (en) Embedded device and state display control
US20200409685A1 (en) Electronic apparatus, information processing system, and information processing method
US10809993B2 (en) System, management device, information processing device, control method for management device, control method for information processing device, and computer-readable storage medium
JP6214372B2 (en) Management device, method and program
US11494146B2 (en) Information processing apparatus creates virtual printer to transmit print job to associated image forming apparatus which supports predetermined print format
JP6938983B2 (en) Information processing system, information processing device and information processing method
US20140085674A1 (en) Information processing apparatus, control method, and program
US9060080B2 (en) Image processing apparatus, method for controlling the same, and storage medium for generating image data based on a read document
JP2016018339A (en) System and control method for system
US11232205B2 (en) File storage service initiation of antivirus software locally installed on a user device
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
US20200310714A1 (en) Image forming apparatus, method of controlling the same, storage medium, and system
JP2020095568A (en) Information processor, control method of information processor, and program
US20140365430A1 (en) Information processing apparatus, system, and control method
US11093104B2 (en) Icon display control apparatus that prevents messy display of icons, method of controlling same, and storage medium
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP2012043119A (en) Document management system, information processor, document management method, monitoring program and recording medium
JP5157867B2 (en) Image forming apparatus, display control method, and display control program
JP2007122691A (en) Information processor, information processing method and program
US20210064300A1 (en) Application and information processing apparatus
US9128738B2 (en) Information processing program and information processing method
US11778119B2 (en) Information processing apparatus performing setting of application in client device, information processing system including same, and non-transitory computer-readable recording medium storing setting tool program
JP6435902B2 (en) Launcher providing apparatus, image forming apparatus, launcher providing method, and computer program