JP2019161445A - アプリケーションプログラムおよび情報処理装置 - Google Patents

アプリケーションプログラムおよび情報処理装置 Download PDF

Info

Publication number
JP2019161445A
JP2019161445A JP2018045456A JP2018045456A JP2019161445A JP 2019161445 A JP2019161445 A JP 2019161445A JP 2018045456 A JP2018045456 A JP 2018045456A JP 2018045456 A JP2018045456 A JP 2018045456A JP 2019161445 A JP2019161445 A JP 2019161445A
Authority
JP
Japan
Prior art keywords
cloud server
information
authentication information
setting
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018045456A
Other languages
English (en)
Other versions
JP6988593B2 (ja
Inventor
文雄 奥村
Fumio Okumura
文雄 奥村
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2018045456A priority Critical patent/JP6988593B2/ja
Priority to US16/351,618 priority patent/US11222109B2/en
Publication of JP2019161445A publication Critical patent/JP2019161445A/ja
Application granted granted Critical
Publication of JP6988593B2 publication Critical patent/JP6988593B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】クラウドサーバを利用するアプリケーションプログラムであって、認証の手間を軽減できる技術を提供すること。【解決手段】スキャンアプリ41は、PC1に、ワークフローに記憶する一連処理の設定を受け付ける処理と、利用するクラウドサーバの選択を受け付ける処理と、クラウドサーバへの認証情報を取得する処理と、一連処理の処理情報とクラウド情報とを関連付けて記憶する処理と、を実行させる。スキャンアプリ41は、PC1に、実行対象のワークフローの選択を受け付ける処理を実行させ、選択されたワークフローの実行中、一連処理と関連付けられたクラウドサーバに対応する認証情報を用いる。さらに、利用するクラウドサーバが同じである複数のワークフローがあり、スキャンアプリ41は、そのうちの1つのワークフローを実行する場合と、そのうちの他のワークフローを実行する場合とで、同じ認証情報を用いる。【選択図】図2

Description

本明細書に開示される技術分野は、クラウドサーバを利用するアプリケーションプログラムおよび情報処理装置に関するものである。
近年、パーソナルコンピュータやスマートフォン等の情報処理装置から、インターネット上のクラウドサーバに、データのアップロードないしダウンロードを行う技術が知られている。例えば、特許文献1には、スキャナで読み取った読取データを、サーバにアップロードする構成が開示されている。
特開2014−45461号公報
クラウドサーバを利用する場合、クラウドサーバへの認証も必要になる。このクラウドサーバの認証操作はユーザにとって手間である。特許文献1に記載の技術では、認証操作に関する詳細な開示はなく、改善の余地がある。
本明細書には、クラウドサーバを利用するアプリケーションプログラムであって、認証の手間を軽減できる技術を開示する。
この課題の解決を目的としてなされたアプリケーションプログラムは、情報処理装置のコンピュータによって実行可能なアプリケーションプログラムであって、前記コンピュータに、画像処理装置とクラウドサーバとを利用する一連の処理である一連処理を設定する操作を、前記情報処理装置のユーザインタフェースを介して受け付ける第1操作受付処理と、複数のクラウドサーバの中から、利用するクラウドサーバを選択する操作を、前記ユーザインタフェースを介して受け付ける第2操作受付処理と、前記第2操作受付処理で選択されたクラウドサーバから、当該クラウドサーバへの認証に用いる認証情報を取得する取得処理と、前記取得処理で取得した前記認証情報を、前記第2操作受付処理で選択されたクラウドサーバを示すクラウド情報と関連付けて記憶する認証情報記憶処理と、前記第1操作受付処理で指示された前記一連処理を示す処理情報と、前記クラウド情報と、を関連付けて記憶する設定レコードを、前記情報処理装置のメモリに記憶する設定レコード記憶処理であって、前記メモリには、利用するクラウドサーバが同じである複数の設定レコードを記憶できる、前記設定レコード記憶処理と、前記メモリに記憶されている複数の設定レコードの中から、実行対象の設定レコードを選択する操作を、前記ユーザインタフェースを介して受け付ける第3操作受付処理と、を実行させ、さらに前記コンピュータに、前記第3操作受付処理において設定レコードを選択する操作を受け付けた場合、選択された設定レコードを読み出し、読み出した設定レコードに記憶される前記処理情報が示す前記一連処理を実行させ、前記アプリケーションプログラムは、前記一連処理の実行中においては、読み出した前記設定レコードに記憶される前記クラウド情報が示すクラウドサーバに対応する認証情報を用いて、前記クラウド情報が示すクラウドサーバを利用し、利用するクラウドサーバが同じである複数の設定レコードがあり、そのうちの1つの設定レコードにおいて前記一連処理を実行する場合と、そのうちの他の設定レコードにおいて前記一連処理を実行する場合とでは、前記取得処理にて取得した同じ認証情報を用いる、ことを特徴としている。
本明細書に開示されるアプリケーションプログラムは、画像処理装置とクラウドサーバとを利用する一連処理を設定する操作を受け付け、一連処理の処理情報とクラウド情報とを関連付けて、設定レコードとして記憶する。また、アプリケーションプログラムは、クラウドサーバへの認証情報をクラウド情報と関連付けて記憶する。そして、アプリケーションプログラムは、複数の設定レコードにて、記憶される一連処理を実行する際に、クラウド情報と関連付けて記憶されている同じ認証情報を用いる。従って、同じクラウドサーバを利用する複数の設定レコードについて、一連処理の実行時に、再認証のための操作をそれぞれ行う必要はない。これにより、認証の手間の軽減が期待できる。
上記アプリケーションプログラムが組み込まれた情報処理装置、アプリケーションプログラムを格納するコンピュータにて読取可能な記憶媒体、及びアプリケーションプログラムの機能を実現するための制御方法も、新規で有用である。
本明細書に開示される技術によれば、クラウドサーバを利用するアプリケーションプログラムであって、認証の手間を軽減できる技術が実現される。
PCの電気的構成を示すブロック図である。 ワークフローテーブルの例を示す説明図である。 認証情報テーブルの例を示す説明図である。 ワークフロー作成処理の手順を示すフローチャートである。 ワークフローの作成画面の例を示す説明図である。 トークン取得処理の手順を示すフローチャートである。 ワークフロー実行処理の手順を示すフローチャートである。 ワークフローの一覧画面の例を示す説明図である。 エクスポート処理の手順を示すフローチャートである。 インポート処理の手順を示すフローチャートである。
アプリケーションプログラム(以下、「アプリ」とする)を具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)にて実行されるスキャンアプリを開示するものである。
本形態のPC1は、図1に示すように、スキャナ2と接続され、スキャナ2から画像データを受信する。PC1は、情報処理装置の一例である。PC1は、各種のプログラムの実行が可能な装置である。PC1に代えて、例えば、タブレットコンピュータ、スマートフォンであってもよい。
スキャナ2は、原稿を読み取って画像データを取得し、取得した画像データをPC1に送信する。スキャナ2は、画像処理装置の一例である。PC1に接続されるスキャナ2は、1台に限らず、複数台でも良い。また、PC1には、スキャナに限らず、コピー機、複合機、FAX装置、デジタルカメラ等、画像データを取得して送信できる装置が接続されていればよい。
本形態のPC1は、図1に示すように、インターネット100に接続され、インターネット100を介して、クラウドサーバ101と、クラウドサーバ102と、に接続される。つまり、PC1のユーザは、PC1を介して、各種のクラウドサービスを利用できる。
各クラウドサービスは、1以上のストレージサーバや認証用サーバを管理し、管理するストレージサーバへのデータのアップロードやダウンロードのサービスを提供する。ストレージサーバの1つが認証サーバを兼ねていても良い。以下では、1つのクラウドサービスにて管理されるストレージサーバや認証用サーバを区別せず、まとめて「クラウドサーバ」と呼ぶ。なお、図1では、PC1に2つのクラウドサーバ101、102が接続されている状態を例示しているが、アクセス可能なクラウドサーバの数はさらに多く、実際に接続されるクラウドサーバの数は限定されない。
本形態のPC1は、図1に示すように、CPU11と、ROM12と、RAM13と、不揮発性メモリ14と、を含む制御基板10を備えている。さらに、タッチパネル15と、ネットワークインタフェース(以下、「IF」とする)16と、USB−IF17と、を備え、これらが制御基板10に電気的に接続されている。CPU11は、コンピュータの一例である。CPU11のバッファ、ROM12、RAM13、不揮発性メモリ14は、メモリの一例である。
ROM12には、PC1を起動するための起動プログラム等が記憶されている。RAM13は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ14は、例えば、HDD、フラッシュメモリであり、各種のプログラムや画像データ等のデータや各種設定を記憶する領域として利用される。
CPU11は、ROM12や不揮発性メモリ14から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。なお、図1中の制御基板10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
タッチパネル15は、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアである。すなわち、タッチパネル15は、入力機能と出力機能との両方を備えるユーザインタフェースの一例である。ユーザインタフェースは、タッチパネル15に限らず、ディスプレイとキーボードやマウスとの組み合わせを備えるものであっても良い。
ネットワークIF16は、インターネット100を介して外部装置と通信を行うためのハードウェアを含む。ネットワークIF16の通信方式は、無線でも有線でもよく、LAN、Wi−Fi(登録商標)など、どのような規格の方式でもよい。また、USB−IF17は、スキャナ2との通信を行うためのハードウェアを含む。なお、ネットワークIF16を介して接続されるスキャナがあっても良い。
PC1の不揮発性メモリ14には、オペレーティングシステム(以下、「OS」とする)40と、スキャンアプリ41と、ブラウザ42と、を含む、各種のプログラムが記憶されている。スキャンアプリ41は、ユーザの指示に基づいて、スキャナ2との通信を行い、スキャナ2への読み取り設定や読み取り実行の指示等の送信、スキャナ2にて読み取った画像データの受信や表示、受信した画像データの保存等を行うプログラムである。ブラウザ42は、ウェブページを表示するプログラムである。OS40の一部は、ROM12に含まれていてもよい。
なお、スキャンアプリ41が記憶される媒体は、不揮発性メモリ14に限らない。また、メモリの一例、および、スキャンアプリ41が記憶される媒体は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
続いて、スキャンアプリ41の動作について説明する。なお、以下の説明における処理およびフローチャートの各処理ステップは、基本的に、スキャンアプリ41などのプログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「選択」、「決定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、PC1のOS40の他のモジュールとデータ交換するためのIF(APIとも呼ばれる)を用いたハードウェア制御も含む。本明細書では、OS40の記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムPがハードウェアHを制御する」という趣旨の記載は、「プログラムPがOS40のAPIを用いてハードウェアHを制御する」ことを指してもよい。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」、「スキャンアプリ41が行う」のように記載することがある。また、CPU11による処理であって、情報Aが事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。また、CPU11による処理であって、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
本形態のスキャンアプリ41は、起動されると、タッチパネル15にアプリが用意した画面を表示させ、ユーザ操作を受け付ける。スキャンアプリ41は、例えば、ワークフローの設定を受け付ける設定画面を表示させる。ワークフローは、一連の処理を記憶するものであり、スキャンアプリ41は、例えば、所定の読取設定でスキャナ2に原稿の画像を読み取らせ、読み取り結果である画像データを所定の場所に保存する一連の処理を、ワークフローとして設定する操作を受け付ける。スキャンアプリ41は、設定されたワークフローを示すワークフローレコードを不揮発性メモリ14に記憶させる。図2は、複数のワークフローレコードを含むワークフローテーブル81の例である。以降、「ワークフローレコード」を、単に、「ワークフロー」と記載する。すなわち、「ワークフローを実行する」とは、「ワークフローレコードが示すワークフローを実行する」という意味である。
そして、スキャンアプリ41は、不揮発性メモリ14に記憶されているワークフローの1つを選択する操作と、選択されたワークフローを実行する操作とを受け付ける。スキャンアプリ41は、ワークフローの実行の指示を受け付けると、不揮発性メモリ14から読み出したワークフローに含まれる情報を用いて、一連の処理を実行する。ユーザは、よく使うスキャンの設定をワークフローとして予め作成しておくことで、一連の操作を素早く呼び出し、実行させることができる。
スキャンアプリ41は、複数のワークフローの設定を受け付け、例えば、設定された各ワークフローにそれぞれ名称を付けて不揮発性メモリ14に記憶させる操作を受け付ける。図2に示すワークフローテーブル81は、複数のワークフローのそれぞれについて、ワークフローの名称811と、スキャン設定812と、保存先813と、クラウド情報814と、トークン815と、要求816と、を含んでいる。
ワークフローの名称811は、各ワークフローを識別する情報である。スキャン設定812は、スキャンを実行させるスキャナの指定の他、読取解像度、カラー読み取りかモノクロ読み取りかの設定など、スキャンに関する設定を含む。
本形態のスキャンアプリ41では、画像データの保存先としてクラウドサーバへのアップロードの選択を受け付ける。つまり、スキャンアプリ41は、読み取りとクラウドサーバへのアップロードとを含む一連の処理を、ワークフローに設定する操作を受け付ける。図2に示すワークフローテーブル81の保存先813は、クラウドサーバへの保存か、PCへの保存かを区別する情報である。読み取りとクラウドサーバへのアップロードとを含む一連の処理を、以下では、スキャンアップ処理とする。スキャンアップ処理は、一連処理の一例である。また、スキャンアップ処理のワークフローは、設定レコードの一例であり、スキャンアップ処理のワークフローのスキャン設定812は、処理情報の一例である。
ワークフローテーブル81のクラウド情報814は、保存先813としてクラウドが選択された場合に使用される情報であり、当該ワークフローにて利用するクラウドサーバを示す識別情報である。スキャンアプリ41には利用可能な複数のクラウドサーバが登録されており、スキャンアプリ41は、登録されているクラウドサーバのうちから利用するクラウドサーバの選択を受け付ける。なお、複数のワークフローにおいて、同じクラウドサーバが設定されていてもよい。
クラウドサーバは、それぞれ個別の管理システムを備えている。そのため、クラウドサーバに画像データをアップロードする場合には、スキャンアプリ41は、選択されたクラウドサーバの規定に則って認証を受け、認証情報を取得する必要がある。クラウドサーバでは、例えば、OAuth2.0を用いた認証方式が採用されている。OAuth2.0を用いた認証方式では、PC1は、ユーザのアカウント情報をクラウドサーバに送信することで、アクセストークンをクラウドサーバから取得する。スキャンアプリ41は、画像データをアップロードする際には、アクセストークンとともに画像データを送信する。アクセストークンは、認証情報の一例である。以下、アクセストークンを、単に「トークン」という。
本形態のスキャンアプリ41は、スキャンアップ処理を含むワークフローの作成時に、利用するクラウドサーバのトークンを含むワークフローとするか、含まないワークフローとするかの選択を受け付ける。つまり、スキャンアプリ41は、ユーザの指示に基づいて、トークンを含むワークフローの作成も、トークンを含まないワークフローの作成も行う。図2のワークフローテーブル81のトークン815は、トークンを含むワークフローが選択された場合の、トークンの情報である。トークンを含まないワークフローでは、トークン815にはトークンの情報が記憶されていない。
スキャンアプリ41は、また、スキャンアップ処理を含むワークフローの作成時に、認証要求情報を含むワークフローとするか、含まないワークフローとするかの選択を受け付ける。認証要求情報は、ワークフローの実行時にクラウドサーバの認証情報の取得を行うか否かを示す情報である。そして、スキャンアプリ41は、ユーザの指示に基づいて、認証要求情報を含むワークフローの作成も、認証要求情報を含まないワークフローの作成も行う。図2のワークフローテーブル81の要求816は、認証要求情報の有無を示す情報である。
スキャンアプリ41は、スキャンアップ処理を含むワークフローの実行の指示を受け付けた場合、ワークフローテーブル81のトークン815や要求816に基づいて、ワークフローにトークンや認証要求が含まれているか否かを判断する。スキャンアプリ41は、実行の指示を受け付けたワークフローにトークンが含まれている場合、すなわち、ワークフローテーブル81のトークン815にトークンが記憶されている場合、記憶されているトークンを使用する。また、スキャンアプリ41は、実行の指示を受け付けたワークフローの要求816が「有」である場合、ワークフローの実行中にクラウドサーバへの認証要求を行う。
なお、クラウドサーバへの認証手続きは、ワークフローとは関係なく行われることがある。本形態のスキャンアプリ41は、クラウドサーバへの認証手続きを行ってトークンを取得した場合、取得したトークンを、クラウドサーバを示す情報に関連付けて、不揮発性メモリ14に記憶させる。
スキャンアプリ41は、例えば、図3に示すように、クラウドサーバごとのトークンを記憶する認証情報テーブル82を、不揮発性メモリ14に記憶している。図3の例は、スキャンアプリ41にて利用可能な3種類のクラウドサーバのうち「クラウドA」と「クラウドB」について、トークンが取得済みであって、それぞれのトークンが記憶されている状態を示している。また、「クラウドC」についてはトークンが未取得であることを示している。スキャンアプリ41は、実行の指示を受け付けたワークフローの要求816が「無」であって、トークン815にトークンが含まれていない場合、認証情報テーブル82から対応するトークンを読み出して使用する。
続いて、本形態のスキャンアプリ41におけるワークフローの作成とワークフローの実行の動作について、フローチャートを参照して説明する。まず、スキャンアプリ41においてワークフローを作成するワークフロー作成処理の手順について、図4のフローチャートを参照して説明する。このワークフロー作成処理は、スキャンアプリ41にてワークフローの作成の指示を受け付けたことを契機に、CPU11にて実行される。
ワークフロー作成処理では、CPU11は、タッチパネル15のアプリ用の表示ウィンドウに、ワークフローを作成するための画面を表示させる(S101)。ワークフロー作成画面の例を図5に示す。図5に示すように、ワークフロー作成画面411には、スキャンの設定を受け付けるスキャン設定ウィンドウ412と保存の設定を受け付ける保存設定ウィンドウ413と、キャンセルボタン414と、が含まれる。スキャンアプリ41は、スキャンの設定として、例えば、スキャナの選択、読み取り解像度の選択、カラー読み取りまたはモノクロ読み取りの選択、読み取りサイズの設定を受け付ける。また、スキャンアプリ41は、保存の設定として、例えば、PCへの保存、クラウドサーバへの保存、の指定を受け付ける。なお、図5中に破線で示すボタン415は、スキャンと保存との設定を受け付けた後に選択可能となり、作成したワークフローを記憶させる処理に進む指示を受け付けるボタンである。
図4の説明に戻り、CPU11は、スキャンの設定の指示を受け付けたか否かを判断する(S102)。S102は、第1操作受付処理の一例である。CPU11は、例えば、スキャン設定ウィンドウ412への操作を受け付けた場合、スキャンの設定の指示を受け付けたと判断する。スキャンの設定の指示を受け付けていないと判断した場合(S102:NO)、CPU11は、保存の設定の指示を受け付けたか否かを判断する(S103)。CPU11は、例えば、保存設定ウィンドウ413への操作を受け付けた場合、保存の設定の指示を受け付けたと判断する。
保存の設定の指示を受け付けていないと判断した場合(S103:NO)、CPU11は、キャンセルの指示を受け付けたか否かを判断する(S104)。CPU11は、例えば、図5のキャンセルボタン414への操作を受け付けた場合、キャンセルの指示を受け付けたと判断する。キャンセルの指示を受け付けていないと判断した場合(S104:NO)、CPU11は、S102に戻り、スキャンの設定、保存の設定、キャンセルの指示、のいずれかを受け付けるまで待機する。
スキャンの設定の指示を受け付けたと判断した場合(S102:YES)、CPU11は、指定された設定をスキャン設定ウィンドウ412に表示する(S105)。なお、CPU11は、直近で使用したスキャンの設定をデフォルト値としてスキャン設定ウィンドウ412に表示してもよい。また、CPU11は、選択されたスキャナに応じて、各設定のデフォルト値を表示してもよい。
一方、保存の設定の指示を受け付けたと判断した場合(S103:YES)、CPU11は、クラウドサーバへの保存の指示を受け付けたか否かを判断する(S106)。クラウドサーバへの保存ではないと判断した場合(S106:NO)、CPU11は、指定された保存先を保存設定ウィンドウ413に表示する(S107)。
クラウドサーバへの保存の指示を受け付けたと判断した場合(S106:YES)、CPU11は、タッチパネル15に、例えば、選択可能なクラウドサーバの一覧を表示させる(S108)。そして、CPU11は、クラウドサーバの選択を受け付け、クラウドサーバが選択されたか否かを判断する(S109)。S109は、第2操作受付処理の一例である。クラウドサーバが選択されていないと判断した場合(S109:NO)、CPU11は、クラウドサーバが選択されるまで待機する。
クラウドサーバが選択されたと判断した場合(S109:YES)、CPU11は、ワークフローにトークンを含めるか否かを判断する(S110)。S110は、第5操作受付処理の一例である。トークンは、前述したように、データのアップロード時に必要な認証情報である。具体的には、CPU11は、例えば、選択されたクラウドサーバのトークンを含むワークフローを作成するか否かをユーザに問い合わせる画面をタッチパネル15に表示させ、ユーザ操作による選択を受け付ける。
そして、ワークフローにトークンを含めると判断した場合(S110:YES)、CPU11は、トークン取得処理を実行する(S111)。トークン取得処理は、ワークフローに含ませるトークンを取得する処理である。トークン取得処理の手順について、図6のフローチャートを参照して説明する。
トークン取得処理では、CPU11は、認証情報テーブル82に該当するトークンが記憶されているか否かを判断する(S201)。例えば、図3に示した認証情報テーブル82では、選択されたクラウドサーバがクラウドAまたはクラウドBであれば、CPU11は、トークンが記憶されていると判断する。一方、選択されたクラウドサーバがクラウドCであれば、CPU11は、トークンが記憶されていないと判断する。
トークンが記憶されていると判断した場合(S201:YES)、CPU11は、認証情報テーブル82からトークンを読み出す(S202)。一方、トークンが記憶されていないと判断した場合(S201:NO)、CPU11は、クラウドサーバに認証要求を行い、トークンを取得する(S204)。S204は、取得処理の一例である。
具体的には、CPU11は、例えば、ブラウザ42(図1参照)を立ち上げて当該クラウドサーバの認証ページを表示させる。CPU11は、ブラウザ42を介してユーザ操作によってアカウント情報等の入力を受け付け、受け付けた情報をクラウドサーバに送信することで、クラウドサーバからトークンを取得する。なお、ブラウザ42は、キャッシュ機能を有し、過去に入力されたIDやパスワードの情報を、キャッシュ情報として保存している場合がある。その場合、ブラウザ42は、認証ページ中のアカウント情報の入力欄にキャッシュ情報を表示させることで、入力操作の手間を省略させてもよい。また、認証ページの表示を省略し、キャッシュ情報をクラウドサーバに送信してもよい。
そして、CPU11は、トークンを取得したか否かを判断する(S205)。トークンを取得したと判断した場合(S205:YES)、CPU11は、取得したトークンを、クラウド情報と関連付けて、認証情報テーブル82に記憶する(S206)。S206は、認証情報記憶処理の一例である。つまり、スキャンアプリ41は、認証情報テーブル82にトークンが記憶されていない場合、認証手続きを行って取得したトークンを、クラウドサーバに関連付けて認証情報テーブル82に記憶する。これにより、取得したトークンは、複数のワークフローから参照可能となる。
一方、トークンを取得しなかったと判断した場合(S205:NO)、CPU11は、エラーの情報を取得する(S207)。例えば、認証手続き中にエラーが発生した場合や、クラウドサーバへの認証に失敗した場合、CPU11は、トークンを取得することができない。トークンを取得できなかった場合には、CPU11は、エラーとする。そして、S202、S206、S207の後、CPU11は、トークン取得処理を終了し、ワークフロー作成処理に戻る。
図4のワークフロー作成処理の説明に戻り、CPU11は、S111のトークン取得処理が終了したら、トークンを取得できたか否かを判断する(S112)。トークンを取得できたと判断した場合(S112:YES)、CPU11は、作成中のワークフローにトークンを追加する(S113)。具体的には、CPU11は、認証情報テーブル82からトークンを読み出し、ワークフローのトークン815に設定する。一方、トークンを取得できなかったと判断した場合(S112:NO)、CPU11は、エラーを表示する(S114)。
また、ワークフローにトークンを含めないと判断した場合(S110:NO)、CPU11は、ワークフローに認証要求情報を含めるか否かを判断する(S115)。S115は、第4操作受付処理の一例である。具体的には、CPU11は、例えば、ワークフローの実行時に毎回クラウドサーバへの認証要求操作を行わせるか否かを、ユーザに問い合わせる画面をタッチパネル15に表示させ、ユーザ操作による選択を受け付ける。
ワークフローに認証要求情報を含めると判断した場合(S115:YES)、CPU11は、作成中のワークフローに認証要求情報を追加する(S116)。具体的には、CPU11は、ワークフローの要求816に「有」を設定する。そして、ワークフローに認証要求情報を含めないと判断した場合(S115:NO)、または、S105、S107、S113、S114、S116のいずれかの後、CPU11は、ワークフローを記憶する指示を受け付けたか否かを判断する(S120)。
スキャンの設定と保存の設定とが決定すると、スキャンアプリ41は、例えば、図5中に破線で示したボタン415へのユーザ操作を受け付ける状態となる。ユーザ操作によってワークフローを記憶する指示を受け付けたと判断した場合(S120:YES)、CPU11は、作成したワークフローを不揮発性メモリ14に記憶させる(S121)。S121は、設定レコード記憶処理の一例である。
ユーザ操作によりワークフローを記憶する指示を受け付けると、CPU11は、ワークフローの名称やアイコンなどを決定する手順を経て、作成したワークフローを不揮発性メモリ14に記憶させる。作成されたワークフローは、例えば、図2に示したように、ワークフローテーブル81に追加される。
ワークフローを記憶する指示を受け付けていないと判断した場合(S120:NO)、CPU11は、S102に戻り、さらに、スキャンの設定、保存の設定、キャンセルの指示のいずれかを受け付ける。スキャンの設定や保存の設定が決定していない場合、CPU11は、ボタン415を表示させず、スキャンの設定や保存の設定を受け付ける。そして、S121の後、または、キャンセルの指示を受け付けたと判断した場合(S104:YES)、CPU11は、ワークフロー作成処理を終了する。
次に、ワークフローを実行する手順について説明する。スキャンアプリ41においてワークフローを実行するワークフロー実行処理の手順について、図7のフローチャートを参照して説明する。このワークフロー実行処理は、スキャンアプリ41の実行中にワークフローの実行の指示を受け付けたことを契機に、CPU11にて実行される。
ワークフロー実行処理では、CPU11は、まず、不揮発性メモリ14からワークフローテーブル81を読み出し、ワークフローテーブル81に含まれるワークフローのうちから、実行対象のワークフローの選択を受け付ける(S301)。S301は、第3操作受付処理の一例である。スキャンアプリ41は、ワークフローの実行の指示を受け付けると、例えば、図8に示すように、ワークフローの一覧をアイコンで表示する一覧画面416を表示し、一覧画面416にてワークフローの1つの選択を受け付ける。図8の例では、複数のワークフローが、それぞれのアイコンで示されている。
図7のワークフロー実行処理の説明に戻り、CPU11は、S301にて選択されたワークフローを読み出して、例えば、図5に示したように、ワークフローの設定内容を表示する。この場合には、CPU11は、例えば、ボタン415に代えて、実行の指示を受け付けるボタンを表示させる。そして、CPU11は、実行の指示を受け付けるボタンへのユーザ操作を受け付ける(S302)。そして、CPU11は、実行の指示を受け付けたワークフローに含まれるスキャン設定812(図2参照)に従って、スキャナ2にスキャンを行わせ、画像データを取得する(S303)。
そして、CPU11は、実行の指示を受け付けたワークフローがクラウドサーバへの保存を含むワークフローであるか否かを判断する(S304)。クラウドサーバへの保存を含まない、すなわち、スキャンアップ処理ではないワークフローであると判断した場合(S304:NO)、CPU11は、ワークフローに含まれる保存先813に画像データを保存し(S305)、ワークフロー実行処理を終了する。
一方、クラウドサーバへの保存を含むワークフローであると判断した場合(S304:YES)、CPU11は、ワークフローに認証要求情報が含まれているか否かを判断する(S306)。つまり、CPU11は、ワークフローの要求816が「有」であるか否かを判断する。認証要求情報は、例えば、ワークフロー作成処理のS116にて、ワークフローに追加される情報である。
認証要求情報が含まれていないと判断した場合(S306:NO)、CPU11は、ワークフローにトークンが含まれているか否かを判断する(S307)。つまり、CPU11は、ワークフローのトークン815に情報が含まれているか否かを判断する。トークンは、例えば、ワークフロー作成処理のS113にて、ワークフローに追加される情報である。
トークンが含まれていないと判断した場合(S307:NO)、CPU11は、不揮発性メモリ14に記憶されている認証情報テーブル82を参照し、ワークフローに保存先として指定されているクラウドサーバのトークンが記憶されているか否かを判断する(S308)。認証情報テーブル82を参照することで、同じクラウドサーバを用いるワークフローであって、トークンが含まれていない複数のワークフローにおいて、同じトークンを使用できる。
そして、ワークフローにトークンが含まれていると判断した場合(S307:YES)、または、認証情報テーブル82にトークンが記憶されていると判断した場合(S308:YES)、CPU11は、記憶されているトークンを利用して、クラウドサーバに画像データをアップロードする(S309)。さらに、CPU11は、アップロードに成功したか否かを判断する(S310)。
アップロードに成功しなかったと判断した場合(S310:NO)、CPU11は、トークンが無効であるか否かを判断する(S311)。つまり、CPU11は、クラウドサーバからトークンが無効である旨のエラーを受信したか否かを判断する。そして、ワークフローに認証要求情報が含まれていると判断した場合(S306:YES)、ワークフローにも認証情報テーブル82にもトークンが記憶されていないと判断した場合(S308:NO)、または、トークンが無効であると判断した場合(S311:YES)、CPU11は、クラウドサーバに認証要求を行う(S312)。S312は、トークン取得処理のS204と同様の処理である。
ワークフローに認証要求情報を含ませることで、同じワークフローを実行する場合でも、毎回、クラウドサーバに認証要求を行うことになる。例えば、PC1をワークフローの作成時とは別のユーザが使用する場合など、スキャンアプリ41でサインイン中のアカウントが、ワークフロー生成時のアカウントと異なる場合でも、同じワークフローを利用できる。一方、ワークフローにトークンを含ませることで、スキャンアプリ41は、ワークフローを読み出すだけで、含まれているトークンを用いてアップロードできる。
なお、ワークフローに認証要求が含まれている場合、S312にてクラウドサーバに認証要求を行う際に、ブラウザ42のキャッシュを使わないとしても良い。例えば、CPU11は、S306にてYESと判断してS312に進んだ場合、ブラウザ42に、キャッシュを使わない指示を行うとしても良い。このようにすれば、複数のユーザでPC1を共有している場合、別のユーザのアカウント情報で認証要求を行ってしまう可能性を低減できる。
そして、CPU11は、トークンを取得したか否かを判断する(S313)。トークンを取得したと判断した場合(S313:YES)、CPU11は、取得したトークンをクラウド情報と関連付けて認証情報テーブル82に記憶する(S314)。
ワークフローにトークンも認証要求情報も含まれていない場合、ワークフローの実行時には、CPU11は、認証情報テーブル82からトークンを読み出して使用する。例えば、1つのワークフローの実行時に再認証を行った場合に、認証情報テーブル82が更新されるので、その再認証で取得したトークンが別のワークフローでも用いられる。そのため、ワークフロー実行の度にトークンを取得する必要が無く、別のワークフローの実行時において再認証の操作が不要になる利点がある。
S314の後、CPU11は、取得したトークンを使用してクラウドサーバへのアップロードを行い(S315)、ワークフロー実行処理を終了する。一方、クラウドサーバへの認証要求を行った結果、トークンを取得できなかったと判断した場合(S313:NO)、または、トークンが無効である以外のエラーによってアップロードに成功しなかった場合(S311:NO)、CPU11は、クラウドサーバへのアップロードができないことを示すエラー表示を行い(S316)、ワークフロー実行処理を終了する。
次に、ワークフローのエクスポートとインポートについて説明する。本形態のスキャンアプリ41は、作成済みのワークフローに基づくエクスポートファイルを作成し、スキャンアプリ41を実行可能な他のPCにそのファイルをインポートさせることで、同じ内容のワークフローを別のPCで実行させることができる。スキャンアプリ41は、例えば、図8に示したように、ワークフローの一覧画面416に、ワークフローのインポートの指示を受け付けるボタン417と、ワークフローのエクスポートの指示を受け付けるボタン418と、を表示させ、ユーザ操作を受け付ける。
本形態のスキャンアプリ41においてエクスポートファイルを作成する動作であるエクスポート処理の手順について、図9のフローチャートを参照して説明する。このエクスポート処理は、例えば、図8に示した一覧画面416において、ワークフローの1つが選択された状態で、ボタン418への操作を受け付けたことを契機に、CPU11にて実行される。または、スキャンアプリ41は、ボタン418への操作を受け付けた後、ワークフローの選択を受け付けても良い。
エクスポート処理では、CPU11は、まず、エクスポートするワークフローを読み出す(S401)。そして、CPU11は、ワークフローにトークンが含まれているか否かを判断する(S402)。
ワークフローにトークンが含まれていると判断した場合(S402:YES)、CPU11は、エクスポートファイルにトークンを含めるか否かを判断する(S403)。CPU11は、例えば、タッチパネル15に、トークンを含めるか否かを問い合わせる表示を行わせ、ユーザ操作による選択を受け付ける。そして、トークンを含めないと判断した場合(S403:NO)、CPU11は、読み出したワークフローからトークンを削除したエクスポートファイルを作成する(S404)。
一方、ワークフローにトークンが含まれていないと判断した場合(S402:NO)、または、ワークフローにトークンを含めると判断した場合(S403:YES)、CPU11は、ワークフローのエクスポートファイルを作成する(S405)。
さらに、CPU11は、作成したエクスポートファイルを、ユーザに指定された記憶場所に記憶し(S406)、エクスポート処理を終了する。トークンは、ワークフローを作成したユーザのアカウント情報に基づく認証情報であるため、自分で使用するワークフローにはトークンを含ませていても、ワークフローをエクスポートする場合には、トークンも含ませたくないユーザもいる。本形態のスキャンアプリ41では、エクスポートファイルにトークンを含めないことが選択できるので、トークンの安全性を確保できる。
次に、他のPCにて作成されたエクスポートファイルをインポートする動作であるインポート処理の手順について、図10のフローチャートを参照して説明する。このインポート処理は、例えば、図8に示した一覧画面416において、ボタン419への操作を受け付けたことを契機に、CPU11にて実行される。
スキャンアプリ41は、エクスポートファイルを、ネットワークで接続された他のPCやサーバ、または、USBメモリ等の記億媒体から取得する。他のPCやサーバ、USBメモリ等は、外部デバイスの一例である。なお、スキャンアプリ41は、外部デバイスから取得したエクスポートファイルを、一旦PC1の不揮発性メモリ14等に記憶させ、記憶しているエクスポートファイルを読み出してインポートする場合もある。この場合の処理も、エクスポートファイルを外部デバイスから取得する処理の一例である。
インポート処理では、CPU11は、まず、インポートするエクスポートファイルの選択を受け付け、選択されたエクスポートファイルを取得する(S501)。そして、取得したエクスポートファイルから、ワークフローを読み出す(S502)。さらに、CPU11は、読み出したワークフローにトークンが含まれているか否かを判断する(S503)。
ワークフローにトークンが含まれていないと判断した場合(S503:NO)、CPU11は、ワークフローにトークンを含めるか否かを判断する(S504)。CPU11は、例えば、タッチパネル15に、ワークフローにトークンが含まれていない内容と、ワークフローにトークンを含めるか否かを問い合わせる内容とを含む表示を行わせ、ユーザ操作による選択を受け付ける。
ワークフローにトークンを含めると判断した場合(S504:YES)、CPU11は、図6に示したトークン取得処理を実行する(S505)。そして、トークンを取得できたか否かを判断する(S506)。トークンを取得できたと判断した場合(S506:YES)、CPU11は、ワークフローにトークンを追加する(S507)。一方、トークンを取得できなかったと判断した場合(S506:NO)、CPU11は、タッチパネル15にエラーを表示させる(S508)。
ワークフローにトークンが含まれていると判断した場合(S503:YES)、ワークフローにトークンを含めないと判断した場合(S504:NO)、S507またはS508の後、CPU11は、ワークフローをワークフローテーブル81に追加して記憶し(S509)、インポート処理を終了する。スキャンアプリ41は、インポート処理にてインポートしたワークフローを、例えば、一覧画面416(図8参照)に表示し、選択を受け付ける。
以上、詳細に説明したように、本形態のスキャンアプリ41によれば、PC1は、スキャナ2によるスキャンとクラウドサーバへのアップロードとを行う一連の処理を、ワークフローとして記憶する。スキャンアプリ41は、認証情報テーブル82に、クラウド情報とトークンとを関連付けて記憶する。そして、スキャンアプリ41は、ワークフローの実行時に認証情報テーブル82からトークンを読み出して使用することで、同じクラウドサーバを使用する複数のワークフローで、同じトークンを使用できる。そして、スキャンアプリ41は、クラウドサーバへの再認証を行った場合、認証情報テーブル82を更新する。これにより、1つのワークフローにおいて再認証を行った場合、認証情報テーブル82の情報が更新されることで、同じクラウドサーバを利用する他の各ワークフローで再認証を行う必要はない。従って、ユーザの認証の手間の軽減が期待できる。
特に、本形態では、トークンを含まないワークフローを作成できる。各ワークフローにトークンが含まれていない場合には、ワークフローの実行時には、認証情報テーブル82が参照される。従って、複数のワークフローで同じトークンを使用でき、ワークフローの実行時の処理がシンプルになる。
また、本形態では、各ワークフローに認証要求情報を含ませるか否かを選択できる。認証要求情報を含むワークフローの実行時には、毎回認証を行うことになることから、例えば、アプリでサインイン中のアカウントとは異なるアカウントでもワークフローを利用できる。また、複数のユーザで共有しているPC1にてワークフローを実行する場合、毎回認証を行うことで、別のユーザのアカウントでワークフローを実行する可能性を低減できる。一方、認証要求情報を含まないワークフローの実行時には、認証情報テーブル82が参照されることから、共通のトークンを使用できる。
また、本形態では、各ワークフローにトークンを含ませるか否かを選択できる。ワークフローにトークンを含ませることで、その作成時のアカウントによるワークフローの実行環境を維持できる。例えば、複数のユーザで共有しているPC1で実行されるワークフローであっても、個々のワークフローにおいて、実行するアカウントや使用するトークンを選択できる。
また、本形態では、トークンを含まないエクスポートファイルを生成できる。トークンを含まないエクスポートファイルを生成することで、トークンの安全性を確保できる。さらに、トークンを含まないエクスポートファイルをインポートしたPC1では、初回の実行時に、例えば、ブラウザ42のキャッシュを使用してトークンを取得できる。つまり、そのPC1で使用しているアカウント情報を用いて、ワークフローを容易に実行できる。なお、認証要求情報を含むエクスポートファイルを生成した場合でも,同様に、インポートしたPC1でのワークフローの実行は容易である。
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される画像処理装置は、スキャナ等の画像データを取得する装置に限らず、プリンタ等の画像データに基づく印刷を行う装置であっても良い。つまり、本明細書に開示される技術は、読み取りと保存とを含む一連の処理を記憶するワークフローに限らず、クラウドサーバから画像データをダウンロードして印刷する一連の処理を記憶するワークフローに適用することも可能である。
また、例えば、認証情報テーブル82のトークンを更新した場合、ワークフローテーブル81に記憶されているトークンも更新しても良い。例えば、トークン取得処理にて新たに認証要求を行ってトークンを取得した場合、同じクラウドサーバを利用するワークフローであって、トークン815に同じトークンが含まれているワークフローがワークフローテーブル81に記憶されていれば、該当するトークンを更新しても良い。このようにしても、同じクラウドサーバを利用する複数のワークフローで、同じトークンが用いられることから、ユーザの再認証の手間の軽減が期待できる。
また、例えば、作成するワークフローにトークンを含むか否かの選択を受け付けなくても良い。例えば、ワークフローの作成時には、トークンを含まないワークフローのみを作成するとしてもよい。その場合、ワークフローテーブル81のトークン815は不要である。そして、例えば、図4に示したワークフロー作成処理のS110〜S114を削除し、S109にてYESの場合には、S115に進むとすればよい。
あるいは、例えば、ワークフローの作成時には、トークンを含むワークフローのみを作成するとしてもよい。その場合、図4に示したワークフロー作成処理のS110を削除し、S109でYESの場合にはS115に進み、S115にてNOの場合にS111に進むとしても良い。
また、例えば、エクスポートやインポートの際も、ワークフローにトークンを含めるか否かの選択はなくても良い。エクスポートファイルの作成時には、常にトークンを含まないエクスポートファイルを作成するとしても良い。その場合、図9に示したエクスポート処理のS403を削除し、S402にてYESであればS404に進むとしても良い。また、エクスポートファイルのインポート時には、エクスポートファイルにトークンが含まれている場合には、トークンを削除して記憶するとしても良い。その場合、図10に示したインポート処理のS504〜S508を削除し、S503にてYESの場合には、トークンを削除してワークフローを記憶するとしても良い。あるいは、図10に示したインポート処理では、S503〜S508を削除し、トークンの有無に関わらず、読み出したエクスポートファイルをそのまま記憶するとしても良い。
また、例えば、作成するワークフローに認証要求情報を含めるか否かの選択も無くても良い。例えば、ワークフローの作成時には、認証要求を含まないワークフローのみを作成するとしてもよい。その場合、ワークフローテーブル81の要求816は不要である。そして、例えば、図4に示したワークフロー作成処理のS115とS116を削除しても良い。
また、例えば、トークンの有無の判断と、認証要求の有無の判断との順序は、逆でもよい。ワークフロー作成処理では、S109でYESの場合にはS115に進み、S115にてNOの場合にS110に進むとしても良い。ワークフロー実行処理では、S303にてYESの場合にはS307に進み、S307にてNOの場合にS306に進み、S306にてNOの場合にS308に進むとしても良い。
また、エクスポート処理では、エクスポートするワークフローを選択してエクスポートファイルを作成するとしたが、エクスポートするワークフローは、1つに限らない。例えば、ワークフローテーブル81に記憶されている全てのワークフローをまとめてエクスポートしても良い。
また、例えば、クラウドサーバは、選択できなくても良い。例えば、スキャンアプリ41でのアップロードを行うクラウドサーバは、固定であっても良い。また、例えば、認証情報テーブル82では、クラウド情報だけでなく、ユーザ情報とも関連付けて、トークンを記憶するとしても良い。また、例えば、エクスポートやインポートの処理は、無くてもよい。
また、例えば、ワークフローテーブル81や認証情報テーブル82に記憶されているトークンを読み出した際に、トークンが有効であるか否かを確認しても良い。CPU11は、例えば、クラウドサーバに問い合わせても良い。あるいは、CPU11は、トークンを記憶する際に、有効期限や有効使用回数等の情報をも記憶しておき、読み出したトークンが有効であるか否かを判断しても良い。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
1 PC
2 スキャナ
11 CPU
14 不揮発性メモリ
41 スキャンアプリ
81 ワークフローテーブル
82 認証情報テーブル

Claims (8)

  1. 情報処理装置のコンピュータによって実行可能なアプリケーションプログラムであって、
    前記コンピュータに、
    画像処理装置とクラウドサーバとを利用する一連の処理である一連処理を設定する操作を、前記情報処理装置のユーザインタフェースを介して受け付ける第1操作受付処理と、
    複数のクラウドサーバの中から、利用するクラウドサーバを選択する操作を、前記ユーザインタフェースを介して受け付ける第2操作受付処理と、
    前記第2操作受付処理で選択されたクラウドサーバから、当該クラウドサーバへの認証に用いる認証情報を取得する取得処理と、
    前記取得処理で取得した前記認証情報を、前記第2操作受付処理で選択されたクラウドサーバを示すクラウド情報と関連付けて記憶する認証情報記憶処理と、
    前記第1操作受付処理で指示された前記一連処理を示す処理情報と、前記クラウド情報と、を関連付けて記憶する設定レコードを、前記情報処理装置のメモリに記憶する設定レコード記憶処理であって、前記メモリには、利用するクラウドサーバが同じである複数の設定レコードを記憶できる、前記設定レコード記憶処理と、
    前記メモリに記憶されている複数の設定レコードの中から、実行対象の設定レコードを選択する操作を、前記ユーザインタフェースを介して受け付ける第3操作受付処理と、
    を実行させ、
    さらに前記コンピュータに、
    前記第3操作受付処理において設定レコードを選択する操作を受け付けた場合、選択された設定レコードを読み出し、読み出した設定レコードに記憶される前記処理情報が示す前記一連処理を実行させ、
    前記アプリケーションプログラムは、
    前記一連処理の実行中においては、読み出した前記設定レコードに記憶される前記クラウド情報が示すクラウドサーバに対応する認証情報を用いて、前記クラウド情報が示すクラウドサーバを利用し、
    利用するクラウドサーバが同じである複数の設定レコードがあり、そのうちの1つの設定レコードにおいて前記一連処理を実行する場合と、そのうちの他の設定レコードにおいて前記一連処理を実行する場合とでは、前記取得処理にて取得した同じ認証情報を用いる、
    ことを特徴とするアプリケーションプログラム。
  2. 請求項1に記載するアプリケーションプログラムにおいて、
    前記設定レコード記憶処理では、
    前記認証情報を含まない前記設定レコードを記憶し、
    前記認証情報記憶処理では、
    前記認証情報を前記メモリに記憶し、
    前記一連処理の実行中においては、決定したクラウドサーバに対応する認証情報を前記メモリから読み出し、読み出した認証情報を用いて、決定したクラウドサーバを利用する、
    ことを特徴とするアプリケーションプログラム。
  3. 請求項2に記載するアプリケーションプログラムにおいて、
    前記コンピュータに、
    前記設定レコードに前記認証情報の取得を行う認証要求を含ませるか否かを選択する操作を、前記ユーザインタフェースを介して受け付ける第4操作受付処理を実行させ、
    前記アプリケーションプログラムは、
    前記設定レコード記憶処理では、
    前記第4操作受付処理にて前記認証要求を含ませることが選択された場合、前記認証要求を含む前記設定レコードを記憶し、
    前記第4操作受付処理にて前記認証要求を含ませないことが選択された場合、前記認証要求を含まない前記設定レコードを記憶し、
    前記一連処理の実行中においては、読み出した前記設定レコードに前記認証要求が含まれている場合、決定したクラウドサーバを利用する際、前記メモリに記憶された前記認証情報を用いず、決定したクラウドサーバへの認証要求を行い、当該クラウドサーバへの認証に用いる認証情報を取得し、取得した認証情報を用いる、
    ことを特徴とするアプリケーションプログラム。
  4. 請求項1に記載するアプリケーションプログラムにおいて、
    前記認証情報記憶処理では、
    前記認証情報を前記メモリに記憶し、
    前記コンピュータに、
    前記設定レコードに前記認証情報を含ませるか否かを選択する操作を、前記ユーザインタフェースを介して受け付ける第5操作受付処理を実行させ、
    前記アプリケーションプログラムは、
    前記設定レコード記憶処理では、
    前記第5操作受付処理にて前記認証情報を含ませることが選択された場合、前記認証情報を含む前記設定レコードを記憶し、
    前記第5操作受付処理にて前記認証情報を含ませないことが選択された場合、前記認証情報を含まない前記設定レコードを記憶し、
    前記一連処理の実行中においては、
    読み出した前記設定レコードに前記認証情報が含まれている場合、前記設定レコードに含まれる前記認証情報を用いて、決定したクラウドサーバを利用し、
    読み出した前記設定レコードに前記認証情報が含まれていない場合、前記メモリに記憶された前記認証情報を用いて、決定したクラウドサーバを利用する、
    ことを特徴とするアプリケーションプログラム。
  5. 請求項1から請求項4のいずれか1つに記載するアプリケーションプログラムにおいて、
    前記コンピュータに、
    前記メモリに記憶された前記設定レコードの少なくとも1つを記憶するファイルであって、前記認証情報を記憶しないファイルであるエクスポートファイルをエクスポートするエクスポート処理と、
    外部デバイスからエクスポートファイルを取得し、取得したエクスポートファイルに記憶される設定レコードを、前記第3操作受付処理にて選択可能な設定レコードとして、前記メモリに記憶するインポート処理と、
    を実行させる、
    ことを特徴とするアプリケーションプログラム。
  6. 情報処理装置のコンピュータによって実行可能なアプリケーションプログラムであって、
    前記コンピュータに、
    画像処理装置とクラウドサーバとを利用する一連の処理である一連処理を設定する操作を、前記情報処理装置のユーザインタフェースを介して受け付ける第1操作受付処理と、
    複数のクラウドサーバの中から、利用するクラウドサーバを選択する操作を、前記ユーザインタフェースを介して受け付ける第2操作受付処理と、
    前記第2操作受付処理で選択されたクラウドサーバから、当該クラウドサーバへの認証に用いる認証情報を取得する取得処理と、
    前記取得処理で取得した前記認証情報を、前記第2操作受付処理で選択されたクラウドサーバを示すクラウド情報と関連付けて前記情報処理装置のメモリに記憶する認証情報記憶処理と、
    前記第1操作受付処理で指示された前記一連処理を示す処理情報と、前記クラウド情報と、を関連付けて記憶し、前記認証情報を含まない設定レコードを、前記メモリに記憶する設定レコード記憶処理と、
    前記メモリに記憶されている複数の設定レコードの中から、実行対象の設定レコードを選択する操作を、前記ユーザインタフェースを介して受け付ける第3操作受付処理と、
    を実行させ、
    さらに前記コンピュータに、
    前記第3操作受付処理において設定レコードを選択する操作を受け付けた場合、選択された設定レコードを読み出し、読み出した設定レコードに記憶される前記処理情報が示す前記一連処理を実行させ、
    前記一連処理の実行中においては、読み出した前記設定レコードに記憶される前記クラウド情報が示すクラウドサーバに対応する認証情報を前記メモリから読み出し、読み出した認証情報を用いて、前記クラウド情報が示すクラウドサーバを利用する、
    ことを特徴とするアプリケーションプログラム。
  7. コンピュータと、
    ユーザインタフェースと、
    メモリと、
    を備える情報処理装置において、
    前記コンピュータは、
    画像処理装置とクラウドサーバとを利用する一連の処理である一連処理を設定する操作を、前記ユーザインタフェースを介して受け付ける第1操作受付処理と、
    複数のクラウドサーバの中から、利用するクラウドサーバを選択する操作を、前記ユーザインタフェースを介して受け付ける第2操作受付処理と、
    前記第2操作受付処理で選択されたクラウドサーバから、当該クラウドサーバへの認証に用いる認証情報を取得する取得処理と、
    前記取得処理で取得した前記認証情報を、前記第2操作受付処理で選択されたクラウドサーバを示すクラウド情報と関連付けて記憶する認証情報記憶処理と、
    前記第1操作受付処理で指示された前記一連処理を示す処理情報と、前記クラウド情報と、を関連付けて記憶する設定レコードを、前記メモリに記憶する設定レコード記憶処理であって、前記メモリには、利用するクラウドサーバが同じである複数の設定レコードを記憶できる、前記設定レコード記憶処理と、
    前記メモリに記憶されている複数の設定レコードの中から、実行対象の設定レコードを選択する操作を、前記ユーザインタフェースを介して受け付ける第3操作受付処理と、
    を実行し、
    さらに、前記コンピュータは、
    前記第3操作受付処理において設定レコードを選択する操作を受け付けた場合、選択された設定レコードを読み出し、読み出した設定レコードに記憶される前記処理情報が示す前記一連処理を実行し、
    前記一連処理の実行中においては、読み出した前記設定レコードに記憶される前記クラウド情報が示すクラウドサーバに対応する認証情報を用いて、前記クラウド情報が示すクラウドサーバを利用し、
    利用するクラウドサーバが同じである複数の設定レコードがあり、そのうちの1つの設定レコードにおいて前記一連処理を実行する場合と、そのうちの他の設定レコードにおいて前記一連処理を実行する場合とでは、前記取得処理にて取得した同じ認証情報を用いる、
    ことを特徴とする情報処理装置。
  8. コンピュータと、
    ユーザインタフェースと、
    メモリと、
    を備える情報処理装置において、
    前記コンピュータは、
    画像処理装置とクラウドサーバとを利用する一連の処理である一連処理を設定する操作を、前記ユーザインタフェースを介して受け付ける第1操作受付処理と、
    複数のクラウドサーバの中から、利用するクラウドサーバを選択する操作を、前記ユーザインタフェースを介して受け付ける第2操作受付処理と、
    前記第2操作受付処理で選択されたクラウドサーバから、当該クラウドサーバへの認証に用いる認証情報を取得する取得処理と、
    前記取得処理で取得した前記認証情報を、前記第2操作受付処理で選択されたクラウドサーバを示すクラウド情報と関連付けて前記メモリに記憶する認証情報記憶処理と、
    前記第1操作受付処理で指示された前記一連処理を示す処理情報と、前記クラウド情報と、を関連付けて記憶し、前記認証情報を含まない設定レコードを、前記メモリに記憶する設定レコード記憶処理と、
    前記メモリに記憶されている複数の設定レコードの中から、実行対象の設定レコードを選択する操作を、前記ユーザインタフェースを介して受け付ける第3操作受付処理と、
    を実行し、
    さらに、前記コンピュータは、
    前記第3操作受付処理において設定レコードを選択する操作を受け付けた場合、選択された設定レコードを読み出し、読み出した設定レコードに記憶される前記処理情報が示す前記一連処理を実行し、
    前記一連処理の実行中においては、読み出した前記設定レコードに記憶される前記クラウド情報が示すクラウドサーバに対応する認証情報を前記メモリから読み出し、読み出した認証情報を用いて、前記クラウド情報が示すクラウドサーバを利用する、
    ことを特徴とする情報処理装置。
JP2018045456A 2018-03-13 2018-03-13 アプリケーションプログラムおよび情報処理装置 Active JP6988593B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018045456A JP6988593B2 (ja) 2018-03-13 2018-03-13 アプリケーションプログラムおよび情報処理装置
US16/351,618 US11222109B2 (en) 2018-03-13 2019-03-13 Computer-readable medium and information processing device for reducing troublesome operations for authenticated access to cloud server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018045456A JP6988593B2 (ja) 2018-03-13 2018-03-13 アプリケーションプログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2019161445A true JP2019161445A (ja) 2019-09-19
JP6988593B2 JP6988593B2 (ja) 2022-01-05

Family

ID=67905671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018045456A Active JP6988593B2 (ja) 2018-03-13 2018-03-13 アプリケーションプログラムおよび情報処理装置

Country Status (2)

Country Link
US (1) US11222109B2 (ja)
JP (1) JP6988593B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360716B2 (en) 2020-07-01 2022-06-14 Canon Kabushiki Kaisha Image processing apparatus and method
US11930150B2 (en) 2021-12-14 2024-03-12 Canon Kabushiki Kaisha Scanning system and control method therefor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7215234B2 (ja) * 2019-03-05 2023-01-31 ブラザー工業株式会社 アプリケーションプログラムおよび情報処理装置
JP7234699B2 (ja) 2019-03-05 2023-03-08 ブラザー工業株式会社 アプリケーションプログラムおよび情報処理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008148228A (ja) * 2006-12-13 2008-06-26 Canon Inc 画像処理装置及びその制御方法
US20100211991A1 (en) * 2009-02-17 2010-08-19 Toru Akutsu Information processing device, information processing method, and program
JP2013105442A (ja) * 2011-11-16 2013-05-30 Canon Inc システム、および制御方法。
JP2017059219A (ja) * 2015-09-18 2017-03-23 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
US20170083697A1 (en) * 2015-09-18 2017-03-23 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012213144A (ja) * 2011-03-18 2012-11-01 Ricoh Co Ltd 情報処理装置、情報処理システム、機器連携方法およびプログラム
JP2014045461A (ja) 2012-08-28 2014-03-13 Kyocera Document Solutions Inc アップロードプログラム、画像読取装置及び画像形成装置
JP6094152B2 (ja) * 2012-11-08 2017-03-15 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US20150040189A1 (en) * 2013-07-31 2015-02-05 Ricoh Company, Limited Service provision system, service provision method, and computer program product
JP6464755B2 (ja) * 2014-03-18 2019-02-06 株式会社リコー 情報処理装置、情報処理方法及びプログラム
CN106021879A (zh) * 2016-05-11 2016-10-12 沈阳东软医疗***有限公司 提供医疗设备操作指导信息的方法及装置
JP6953703B2 (ja) * 2016-10-19 2021-10-27 株式会社リコー システム、情報処理方法、情報処理装置、プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008148228A (ja) * 2006-12-13 2008-06-26 Canon Inc 画像処理装置及びその制御方法
US20100211991A1 (en) * 2009-02-17 2010-08-19 Toru Akutsu Information processing device, information processing method, and program
JP2010191610A (ja) * 2009-02-17 2010-09-02 Ricoh Co Ltd 情報処理装置、情報処理方法、及びプログラム
JP2013105442A (ja) * 2011-11-16 2013-05-30 Canon Inc システム、および制御方法。
JP2017059219A (ja) * 2015-09-18 2017-03-23 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
US20170083697A1 (en) * 2015-09-18 2017-03-23 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360716B2 (en) 2020-07-01 2022-06-14 Canon Kabushiki Kaisha Image processing apparatus and method
US11930150B2 (en) 2021-12-14 2024-03-12 Canon Kabushiki Kaisha Scanning system and control method therefor

Also Published As

Publication number Publication date
US11222109B2 (en) 2022-01-11
JP6988593B2 (ja) 2022-01-05
US20190286811A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
US11025794B2 (en) Method of controlling a multifunction peripheral via a network with use of an information processing apparatus
EP2602989B1 (en) Multi-function device and screen providing server
JP6988593B2 (ja) アプリケーションプログラムおよび情報処理装置
US10055555B2 (en) Image processing apparatus that performs user authentication, authentication method therefor, and storage medium
US10194297B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US11546314B2 (en) Computer-readable medium, information processing device, and method for providing better accessibility to cloud server
JP2014182411A (ja) 情報処理装置、ネットワークシステム、処理実行方法及び処理実行プログラム
US9712633B2 (en) Data processing device, data transmission method, and non-transitory computer-readable recording medium encoded with data transmission program performed by computer
JP2019175100A (ja) アプリケーションプログラムのセットアップ方法およびダウンロードサーバ
JP2021072509A (ja) 情報処理装置
US10686893B2 (en) Mediation server registering identification information for first communication apparatus and performing mediation communication between service provider server and second communication apparatus
JP6390158B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP7234699B2 (ja) アプリケーションプログラムおよび情報処理装置
JP6743622B2 (ja) 中継サーバ及びシステム
JP2019149134A (ja) アプリケーションプログラム
JP2018015998A (ja) 印刷装置及びその制御方法、並びにプログラム
US10270919B2 (en) Image forming apparatus, image data transmission method, and computer program
US20190082062A1 (en) Non-transitory readable storage medium, setting method, and system
JP2021057676A (ja) プログラムセットおよびドライバプログラム
JP2022022283A (ja) 画像処理装置とその制御方法及びプログラム
JP2019071509A (ja) 通信装置及びその制御方法、プログラム、並びに通信システム
JP2020053906A (ja) データ送信システム、マルチ出力装置およびプログラム
JP2009033396A (ja) ネットワークスキャンシステム及び画像読取装置
JP2018200605A (ja) 印刷システム
JP2016178558A (ja) 画像処理システム、画像処理方法、情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R150 Certificate of patent or registration of utility model

Ref document number: 6988593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150