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

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

Info

Publication number
JP2015230669A
JP2015230669A JP2014117650A JP2014117650A JP2015230669A JP 2015230669 A JP2015230669 A JP 2015230669A JP 2014117650 A JP2014117650 A JP 2014117650A JP 2014117650 A JP2014117650 A JP 2014117650A JP 2015230669 A JP2015230669 A JP 2015230669A
Authority
JP
Japan
Prior art keywords
application
service
processing apparatus
information processing
intent
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
JP2014117650A
Other languages
English (en)
Other versions
JP6376851B2 (ja
JP2015230669A5 (ja
Inventor
杉山 秀樹
Hideki Sugiyama
秀樹 杉山
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 JP2014117650A priority Critical patent/JP6376851B2/ja
Priority to US14/729,550 priority patent/US9516185B2/en
Publication of JP2015230669A publication Critical patent/JP2015230669A/ja
Publication of JP2015230669A5 publication Critical patent/JP2015230669A5/ja
Application granted granted Critical
Publication of JP6376851B2 publication Critical patent/JP6376851B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Facsimiles In General (AREA)
  • Computer Networks & Wireless Communication (AREA)

Abstract

【課題】情報処理装置で稼働するアプリケーションと外部サービスとの連携を適切に管理すること。【解決手段】MFP110の第1のアプリケーションは、ネットワーク通信部308に依頼して、外部サービスを利用するためにMFP110にインストールされた第2のアプリケーションを確認し(S1716)、該確認の結果に従い、Web Intents等の仕組みを用いた中継機能により外部サービスと連携するための機能情報(インテント要素)の登録処理、または登録済みの機能情報を用いたネットワーク上で提供されるサービスの呼び出し処理を制御する(S1717〜S1723)。【選択図】図14

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
近年、画像処理装置にアプリケーションをインストールさせて機能を拡張させる環境が整備されてきている。このようなアプリケーションを不正にインストールや転送をさせない仕組みとして、一般的に画像処理装置を識別する情報に紐付くライセンスによりアプリケーションの管理を行っている。このようにライセンスでアプリケーションを管理することにより、画像処理装置にインストール済のアプリケーションを別の画像処理装置にコピーしても、正常に稼働することができないようになっている。
また、画像処理装置の高機能化に伴い、同装置にWebブラウザが搭載されるようになった。これにより、画像処理装置は容易にネットワークに接続することが可能となった。
また、Webアプリケーション独自のカスタムのAPIを使わずに複数のアプリケーションの連携が容易になるWebインテンツという技術が公開されている。画像処理装置に搭載されるWebブラウザ等にも、上述のWebインテンツ技術の搭載が考えられる。
特許文献1には、外部アプリケーションを利用するアプリケーションにおいて、外部サービスの認証情報およびプラグインを関連して記憶し、本体アプリケーションが外部アプリケーションにアクセスする際に、前記認証情報を用いてアクセスする方法が提案されている。
特開2008−197824号公報
しかし、特許文献1の方法により画像処理装置で稼働するアプリケーションがネットワークを介して外部のWebアプリケーション(以降、外部サービスと記す)と連携する場合、外部サービスとの連携については従来のライセンスによる管理が適用できない。すなわち、特許文献1の方法では、画像処理装置で稼働するアプリケーションが行う特定の外部サービスとの連携を、画像処理装置に紐づくライセンスに基づき管理することができなかった。しかし、画像処理装置と外部サービスとの連携を適切に管理したいといった要望があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、画像処理装置と外部サービスとの連携を適切に管理可能にする仕組みを提供することである。
本発明は、ネットワーク上で提供されるサービスと連携するための中継機能が動作する情報処理装置であって、ネットワーク上で提供されるサービスを利用可能な第1のアプリケーションを含む、前記情報処理装置にインストールされた複数のアプリケーションを管理する管理手段と、前記管理手段に対して、前記第1のアプリケーションとは異なる、ネットワーク上で提供されるサービスを利用するためにインストールされた第2のアプリケーションを確認する確認手段と、前記確認手段による確認の結果に従い、前記中継機能による、ネットワーク上で提供されるサービスと連携するための機能情報の登録処理、または登録済みの機能情報を用いたネットワーク上で提供されるサービスの呼び出し処理を制御する制御手段と、を有することを特徴とする。
本発明によれば、画像処理装置と外部サービスとの連携を適切に管理することができる。
例えば、外部サービス、および外部サービスを提供する外部サーバ側に特別なライセンス管理機能を設けることなく、画像処理装置で稼働するアプリケーションが連携する外部サービスを、画像処理装置上のアプリケーションと同様に、画像処理装置に紐づくライセンスに基づき管理することができる。すなわち、画像処理装置からの外部サービスの利用も画像処理装置上で稼働するアプリケーションと同様に管理することができる。
本発明の画像処理装置を含むネットワークシステムの構成図 画像処理装置(MFP)のハードウェア構成図 画像処理装置(MFP)のソフトウェア構成図 サービス登録画面を例示する図 サービス選択画面を例示する図 インテント要素を例示する図 インテントリストを例示する図 アプリケーションファイルを例示する図 ライセンスファイルを例示する図 アプリケーションリストを例示する図 第1のアプリケーションの基本動作を例示するフローチャート 実施例1におけるサービス登録処理を例示するフローチャート 実施例1における機能の実行処理を例示するフローチャート 実施例1における処理の全体を説明するシーケンス図 実施例2におけるサービス登録処理を例示するフローチャート 実施例2における機能の実行処理を例示するフローチャート 実施例3におけるサービス登録処理を例示するフローチャート
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
図1は、本発明の一実施例を示す画像処理装置を含むネットワークシステムの構成を例示する図である。
図1において、100、101は、外部サービスを提供する情報処理装置としてのサーバである。このサーバ100、101は、サービスとしてのWebアプリケーション(ウェブアプリケーション)1001を有する。Webアプリケーション1001は、Webブラウザ等の指示により、Webブラウザにコンテンツ情報を送付する。
また、110は、各種アプリケーションインストールすることが可能なデバイスとしての画像処理装置である。各種アプリケーションが動作可能なあらゆる情報処理装置が、本実施例におけるデバイス110になり得る。本実施例では、説明の簡便のため、プリンタ部、スキャナ部等の複数の機能を持つ複合機(MFP;Multifunction Peripheral)を、デバイス110の例とする。以降の説明において、MFPとは、アプリケーションをインストール可能な画像処理装置を指す。また、以降、デバイス110を、MFP110と称する。
111はWebブラウザ(ウェブブラウザ)である。Webブラウザ111は、ユーザの指示を受け取り、前記受け取った指示に応じて任意のサーバと通信を行い、サーバ100、101等からコンテンツを取得し、図示しない表示部に表示する。
112、113はアプリケーションである。アプリケーションA112は、本実施例における第1のアプリケーションである。アプリケーションA112は、MFP110上で様々な機能を提供する。第1のアプリケーションは、後述する図3に示すネットワーク通信部308を介し、ネットワーク上で提供されるサービス(Webアプリケーション1001等)を利用可能(連携可能)である。Webブラウザ111も第1のアプリケーションに含まれる。
アプリケーションB113は、本実施例における第2のアプリケーションである。MFP110にインストールした任意のアプリケーション(第1のアプリケーション)が外部サービスと連携する場合、第2のアプリケーションのインストールが必要となる。第2のアプリケーションは、ネットワーク上で提供されるサービスを利用するためにインストールされるものであり、連携を許可する外部サービスを識別する情報を持つ(詳細は後述する)。本実施例においては、第2のアプリケーションは、後述の連携を許可する外部サービスを識別する情報を持つ以外、特別な機能を有しないものとする。
120は、インターネット、イントラネットなどのネットワークである。MFP110は、ネットワーク120を介して、サーバ100やサーバ101、その他の図示しない情報処理装置と接続される。
本システムで管理されるアプリケーションを有効化するためには、MFPへライセンスファイルのインストールを必要とする。ライセンスファイルをインストールしないとアプリケーションは、MFP110のアプリケーション管理機能によって動作を停止させられる。前記ライセンスファイルには、対象アプリケーションの識別情報と、アプリケーションのインストール先のMFPを識別する情報が埋め込まれている。
MFPを識別する情報とは、例えばMFPのシリアルNo.等であるが、MFPを識別可能な情報であれば、MACアドレス等の他の情報であってもよい。他のMFPに対して同じアプリケーションをインストールするには、別途、該当するMFPの識別情報を埋め込んだライセンスファイルのインストールが必要となる。このような仕組みにより、MFPにおいてソフトウェアの無断複製を防止可能となっている。
図2は、MFP110のハードウェア構成を例示するブロック図である。
図2において、制御部208は、CPU210、ROM211、及びRAM212を含み、MFP110全体の動作を制御する。CPU210は、ROM211に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。RAM212は、CPU210の主メモリ、ワークエリア等の一時記憶領域として用いられる。また、制御部208は、機能部201と接続され、操作表示部202、スキャナ部203、及びプリンタ部204の動作を制御する。
操作表示部202には、タッチパネル機能を有する液晶等の表示部やキーボード等が配置されている。操作表示部202は、Webブラウザ機能を備えており、Webブラウザは、サーバ100や図示しない情報処理装置から受信したHTMLファイルを解析し、解析したHTMLファイルの記述に基づく操作画面を操作表示部202に表示する。
プリンタ部204は、制御部208から出力された画像データをシートに印刷する。スキャナ部203は、原稿の画像を読み取って画像データを生成し、制御部208に出力する。インタフェース部206は、制御部208をネットワーク120に接続して外部の情報処理装置(不図示)から印刷用の画像データを受信したり、操作表示部202で表示する画面データを受信したりする。なお、外部の情報処理装置から受信した印刷用の画像データは、画像メモリ207に一時的に格納され、制御部208を介してプリンタ部204により印刷される。
HDD209は、画像データや各種プログラムを記憶するハードディスクドライブ等の記憶装置である。なお、HDD209の代わりにSSD(ソリッドステートドライブ)等の他の記憶装置を備えていてもよい。
図3は、MFP110のソフトウェア構成を例示する図である。
図3の301〜308に示される各ソフトウェアは、ROM211あるいはHDD209に格納され、CPU210によって実行されることにより、MFP110に各種機能を提供するものである。
OS(Operating System;オペレーティングシステム)層301は、一般的にはリアルタイムOSが使用されるが、Linux(登録商標)等の汎用OSを用いてもよい。JavaVM302は、Java(登録商標)などの仮想マシンであり、アプリケーションの実行環境を提供する。アプリケーションフレームワーク303は、アプリケーションのライフサイクルを管理する機能を提供する。インストーラサービス304は、アプリケーションA,Bなど複数のアプリケーションを、アプリケーションフレームワーク303に登録することでインストール処理を行う。なお、JavaVM302やアプリケーションフレームワーク303等がOS301に含まれていてもよい。
アプリケーションA305、アプリケーションB306は、インストーラサービス304によってインストールされたアプリケーションであり、MFP110上で様々な機能を提供する。アプリケーションA305、アプリケーションB306は、MFP110の外部からダウンロードして(又は記録媒体から読み出す等して)インストールすることが可能である。なお、図3の例では、2つのアプリケーションがインストールされている場合を示しているが、3つ以上のアプリケーションがインストールされていてよい。
アプリケーションA305、アプリケーションB306の少なくともいずれかは、操作表示部202を介してユーザとやり取りを行うことが可能である。また、アプリケーションA305、アプリケーションB306の少なくともいずれかは、スキャナ部203を使って画像データを生成することも可能である。
なお、本実施例では、アプリケーションA305を第1のアプリケーションとし、アプリケーションB306を第2のアプリケーションとする。即ち、アプリケーションA305は図1のアプリケーションA112やWebブラウザ111に対応し、アプリケーションB306は図1のアプリケーションB113に対応する。
Native機能307は、MFP110に組み込まれた機能を提供する。Native機能の一例として、インタフェース部206を介して受信した印刷データに基づきプリンタ部204で印刷を行う機能がある。なお、本実施例では、JavaVM302、アプリケーションフレームワーク303、アプリケーションA305、アプリケーションB306の実行モジュールは、HDD209に格納されているものとする。また、Native機能307の実行モジュールは、ROM211に格納されているものとする。
ネットワーク通信部308は、ネットワークに接続された他の機器とデータ通信を行うものである。例えば、MFP110に搭載されたWebブラウザ111は、ネットワーク通信部308を介し、ネットワーク上のWebサーバからハイパーテキスト型の情報を取得し、操作表示部202に表示させることができる。なお、ネットワーク接続形態は無線、有線にこだわるものではない。
なお、本実施例では、ネットワーク通信部308は、第1のアプリケーション(例えばアプリケーションA112やWebブラウザ111)と、外部のサービス(例えばWebアプリケーション1001)の間で要求を実行したり、データを受け渡したりする。即ち、ネットワーク通信部308は、第1のアプリケーションと外部のサービスとを連携するための中継機能として動作する。
図4は、第1のアプリケーションにおけるサービス登録画面の一例を示す図である。
第1のアプリケーションの例として、スキャナ部203を使い画像データを作成後、MFP外部に存在するサーバが提供する画像加工サービスを呼び出し、該作成した画像データを加工し、該加工した画像データをHDD209に保存するものを用いる。なお、画像加工サービスとは、例えば、写真データを所定サイズに切り出す「写真エディタ」サービス、写真データからホームページに使用するアイコンを作成する「アイコン作成」サービス等がある。
なお、第1のアプリケーションは、MFP110に予めインストールされ、有効化されているものとする。ユーザは、第1のアプリケーション起動後に、所望のタイミングで、所定の操作を行って本画面を呼び出し、操作表示部202を介しサービスを提供しているサーバのアドレスを入力することにより、第1のアプリケーションにサービスを登録できる。
本実施例では、アプリケーションとサービスを連携する手段としてWebインテンツ(Web Intents)を例として説明する。即ち、第1のアプリケーションと外部のサービスとの連携は、Webインテンツの仕組みを用いて行うものとして説明する。以下、Webインテンツを「インテント」と呼ぶ。
図4において、401はアドレス入力領域である。ユーザは、アドレス入力領域401に、登録したいサービスを提供するサーバのアドレスを入力する。なお、入力するアドレスはURL形式とし、入力したディレクトリの直下に「index.html」が配置されているものとする。「index.html」のヘッダーには、後述する図6に示すようなインテント要素が記述されているものとする。インテント要素には、サービスを呼び出すための機能情報が含まれる。ユーザは、アドレス入力領域401にアドレスを入力し、OKボタン402を押下することにより、入力されたアドレスのサーバから前記インテント要素を取得し、サービスを登録することができる。図4のサービス登録画面から登録されたサービスは、後述する図7に示すようなインテントリストに登録される。
図5は、第1のアプリケーションにおけるサービス選択画面の一例を示す図である。
第1のアプリケーションは、例えば、ユーザ指示によりスキャナ部203を使って画像データを作成した後に本画面を提示し、本画面を介して、ユーザに画像加工サービスの提供先の選択を促す。ユーザは、画像加工サービスリスト501に表示された画像加工サービス(図5の例では「写真エディタ」、「合成ジェネレータ」、「アイコン作成」)から所望のサービスを選択し、画像加工を依頼する。画像加工サービスによる画像加工が完了すると、第1のアプリケーションは、加工された画像データをHDD209に保存し、図示しない完了画面を操作表示部202に表示する。
図5において、501は画像加工サービスリストである。画像加工サービスリスト501には、後述する図7に示すインテントリストにエントリーのあるサービスのうち、画像加工に関するサービスが表示される。ユーザは、画像加工サービスリスト501でサービスを選択し、OKボタン502を押下することにより、サービスに処理を依頼することができる。
図6は、インテント要素の一例を示す図である。インテント要素は、ネットワーク上のサービスが提供する機能を呼び出すための機能情報である。
上述したように、本実施例では、アプリケーションソフト間やソフト内の機能間を繋ぎ合わせる仕組みの一例としてインテントを用いて説明する。アプリケーションは、インテント要素に基づいて、データに対して操作可能な別のアプリケーションやサービスの一覧をユーザに提示する。ユーザはデータに何等かの操作をしたい場合、提示されたアプリケーションやサービスを指示することで、指示したアプリケーションまたはサービスに対しデータを渡す特別な操作を行うことなく、データに対して所望の操作を行うことができる。
Webブラウザ等が、所定の手続きに基づきサーバから取得するhtmlヘッダーには、<intent>で示されるインテント要素が含まれる。本実施例では、ネットワーク通信部308が、インテント要素を読み込み、後述のインテントリスト(図7)に登録する。任意の形式の画像データの操作を行うサービスを提供するサーバが返すインテント要素を例示する。各要素の例は、以下とする。
「action」は、サービスが提供する機能のカテゴリをURL形式で示す。すなわち、「action」は、提供機能が何の機能、サービスを提供するものであるかを示す。図6の例では「編集」を意味する。なお、提供機能のカテゴリには、例えば、データを編集する「編集」を意味するカテゴリ「Edit」の他に、データを共有するカテゴリ「Share」、データを保存するカテゴリ「Save」、データを閲覧するカテゴリ「View」、データを取得するカテゴリ「Pick」等がある。
「type」は、処理可能なコンテンツのデータ形式を表す。図6の例では、「image」は、画像データを意味し、「*」は全てのイメージ形式を意味している。なお、「*」の代わりに「jpeg」や「bmp」等の具体的なイメージ形式を用いてもよい。また、「type」は、画像データ以外のデータ形式も指定可能である。例えば、テキストや音声データ等のデータ形式であっても、その他、特定のアプリケーションのデータ形式等であってもよい。
「href」は、サービスの実体の存在するアドレスを示す。「href」で示されるアドレスにサービスの実体であるhtmlファイルが格納されている。「title」は、サービスのタイトルを表す。
なお、上記「action」が「編集」を示し、且つ、「type」が画像データを示すインテントのサービスが、画像加工サービスとしてリストアップされ、「title」で指定された文字列が、図5の画像加工サービスリスト501に表示される。
図7は、本実施例のインテントリストの一例を示す図である。
インテントリストは、HDD209やRAM212等の記憶装置に予め確保された領域に格納され、サービス登録画面(図4)から登録された外部サービスのリストを保持する。
図7において、701はリストのIDを表す。さらに、702はタイトルを示し、703はサービスの実体であるhtmlファイルの格納場所、704はサービスが扱うデータのタイプ、705はアクション(サービスが提供する機能情報)、706は外部サービスを提供するサーバのアドレスを示す。702〜705にはそれぞれ、サービス登録画面(図4)から指定した外部サービスが返すインテント要素の「title」、「type」、「href」、「action」要素の値が格納される。図7の例では、外部サービスが3つ登録されている。
ID=1で示されるレコードは、「http://mysite.org」で表される外部サービスが、図6に示したインテント要素を返した場合の登録例に対応する。インテントに対応したアプリケーション(第1のアプリケーションに分類されるアプリケーション)は、図5に示したように、インテントリストに登録済の外部サービスを連携候補として、ユーザに提示することが可能になる。
なお、図7に示したインテントリストは、インテントに対応したアプリケーション(第1のアプリケーションに分類されるアプリケーション)全てに共通なものである。該インテントリストに登録されたサービスは、第1のアプリケーションに分類されるものであれば何れのアプリケーションからでも呼び出し可能である。
図8(a)、図8(b)は、実施例1におけるアプリケーションファイルについて説明する図である。
図8(a)は第1のアプリケーションに対応するアプリケーションファイルに対応し、図8(b)は第2のアプリケーションに対応するアプリケーションファイルに対応する。図8(c)は実施例3において説明する。なお、アプリケーションファイルとは、アプリケーションプログラムのファイル(圧縮済みでもよい)および、そのメタデータファイルを含むファイルである。
図8(a)、図8(b)において、800はアプリケーションファイルそのものであり、CABファイルや、JAR(Java(登録商標)ARchive)ファイル、ZIPファイルのように複数のファイルを圧縮して1ファイルで構成する。
アプリケーションファイル800の内部には、マニフェストファイル801、およびアプリケーションプログラム802が格納されている。
マニフェストファイル801には、アプリケーション名や、本アプリケーションを一意に識別すためのアプリケーションID、バージョンなどのアプリケーション付属情報を記載する。アプリケーションプログラム802は、第三者によるプログラムの改ざんなどを防止するため暗号化されている。
アプリケーションファイル800は、CDなどの記録媒体や、インターネットなどのメディアを介して使用者に配布され、インストール対象のMFPで解読されて実行される。
本実施例では、マニフェストファイル801に記述する項目を下記のように定義する。
アプリケーション名8011は、アプケーションの名称を表す。アプリケーションID8012は、アプリケーションを一意に特定するための識別子を表す。アプリケーションタイプ8013は、アプリケーションの種別を表す。アプリケーションタイプ8013の値が「70」の場合は、一般アプリケーション、すなわち本実施例における第1のアプリケーションを表す。アプリケーションタイプ8013の値が「100」の場合は、外部サービスを該MFPからの利用(連携)を許可するために用いられるアプリケーション、すなわち本実施例における第2のアプリケーションを表す。バージョン8014は、アプリケーションのバージョンを表す。
サービスホスト8015は、サービスを提供しているサーバのアドレスをURL形式で表す。本項目に記載されたアドレスを、該アプリケーションが該MFPからの利用を許可するサービスのアドレスとする。インテントリファレンス8016は、サービスの実体の参照を表す。サービスホスト8015とインテントリファレンス8016を連結したものがサービスの参照先となる。サービスホスト8015及びインテントリファレンス8016は、アプリケーションタイプ8013が「100」の時、すなわち第2のアプリケーションの時に設定される。サービスホスト8015及びインテントリファレンス8016で特定される参照先で示されるサービスが、第2のアプリケーションが任意のアプリケーションに連携を許可する外部サービスとなる。
図9は、実施例1においてアプリケーションを有効にするためにMFPにインストールするライセンスファイルの一例を示す図である。本実施例では、ライセンスファイルに記述する項目を以下のように定義する。
図9において、ライセンスID1601は、ライセンスを識別するためにユニークなIDを表す。アプリケーションID1602は、ライセンスの設定対象であるアプリケーションを一意に識別するIDを表す。有効期間1603は、本ライセンスが対象とするアプリケーションの使用期限を表す。
デバイスID1604は、本ライセンスが対象とするアプリケーションがインストール可能なMFPを一意に識別するID(例えば、シリアルナンバー)を表す。複合化データ1605には、ライセンス対象のアプリケーションの暗号化されたアプリケーションプログラム802を復号するための情報等が格納される。
図3に示したインストーラサービス304は、図9に示したようなライセンスファイルに記載の情報に基づきアプリケーションの有効、無効を判断する。以下の条件が
成り立つ場合、インストーラサービス304は、アプリケーションのライセンスを有効にするものとする。
・ライセンスファイル記載のアプリケーションID1602と、対象アプリケーションのマニフェストファイル記載のアプリケーションID8012が一致する。
・ライセンスファイル記載の有効期間1603を超過していない(ライセンスが有効である)。
・ライセンスファイル記載のデバイスID1604と、インストール対象のMFPから取得したデバイスIDが一致する。
図10(a)は、実施例1においてアプリケーションフレームワーク303によって生成・管理されるアプリケーションのリスト(アプリケーションリスト)の一例を示す図である。なお、図10(b)は実施例3で説明する。
インストーラサービス304を用いてインストールされたアプリケーションの関連情報は、HDD209やRAM212等の記憶装置に予め確保された領域に適宜格納される。前記関連情報とは、例えば、マニフェストファイルに記載されている情報や、アプリケーション管理に必要とされる情報である。
図10(a)において、901はアプリケーションリスト上でアプリケーションを区別するインデックスである。902はアプリケーションの名称を表す。903はアプリケーションを一意に識別するIDを表す。904はアプリケーションのタイプを表す。タイプ904が「70」の場合は第1のアプリケーション、「100」の場合は第2のアプリケーションを表す。
サービスホスト905は、サービスを提供するホストのアドレスを表す。サービスホスト905が空欄のアプリケーションは、サービスを提供しないことを意味する。リファレンス906は、サービスの実体であるhtmlファイルの格納場所を表す。907は有効期間であり、アプリケーションの有効期限を表す。ライセンス908は、ライセンスファイルのIDを表す。
902〜906は、該当アプリケーションのマニフェストファイルに記載の情報に基づくものである。また、有効期間907、ライセンス908は、インストーラサービス304によって所定の手続きに基づき、プログラム、マニフェストファイル、ライセンスファイルが偽造されていないことが認証されると、本リストに登録される。図10(a)の例では、3つのアプリケーションが登録されている。
以下、図11、図12、図13、図14を用いて、第1のアプリケーションの動作について説明する。
図11は、第1のアプリケーションの基本動作の一例を示すフローチャートである。本フローチャートの処理は、CPU210がROM211やHDD209等に格納されたプログラムを読み出して実行することにより実現されるものである。
第1のアプリケーションは、起動すると本フローチャートの処理を開始する。まず、S1001において、第1のアプリケーションは、所定の手続きに基づき初期化を実施する。初期化では、例えばHDD209やRAM212等の記憶装置にワークエリアを確保する。
次に、S1002において、第1のアプリケーションは、ユーザからサービス登録の指示があったか否かを判断する。例えば、図4に示すようなサービス登録画面から、アドレスが入力されOKボタン402が押下された場合、第1のアプリケーションは、ユーザからサービス登録の指示があったと判断する。
そして、前記S1002において、ユーザからサービス登録の指示があったと判断した場合(S1002でYesの場合)、第1のアプリケーションは、S1003に処理を進める。
S1003では、第1のアプリケーションは、後述のサービス登録処理を実行する。該サービス登録処理が完了すると、第1のアプリケーションは、S1002に処理を遷移させる。
一方、前記S1002において、ユーザからサービス登録の指示がないと判断した場合(S1002でNoの場合)、第1のアプリケーションは、S1004に処理を進める。
S1004において、第1のアプリケーションは、ユーザから機能の実行指示があったか否かを判断する。ここで、"機能の実行指示"とは、第1のアプリケーションにおけるユーザによる「スキャン実行」の指示として説明する。例えば、第1のアプリケーションの図示しないスキャン指示画面を介し、ユーザによってスキャン指示を意味する操作があった場合には、第1のアプリケーションは、ユーザから機能の実行指示があったと判断する。なお、スキャン指示を意味する操作とは、例えば、図示しないスキャン指示画面からの「スキャン実行」ボタンを押下する操作である。
そして、前記S1004において、ユーザからの機能の実行指示があったと判断した場合(S1004でYesの場合)、第1のアプリケーションは、S1005に処理を進める。
S1005では、第1のアプリケーションは、後述の機能の実行処理を実行する。該機能の実行が完了すると、第1のアプリケーションは、S1002に処理を遷移させる。
一方、前記S1004において、ユーザからの機能の実行指示がなかったと判断した場合(S1004でNoの場合)、第1のアプリケーションは、S1006に処理を進める。
S1006では、第1のアプリケーションは、終了指示があったか否かを判断する。例えば、第1のアプリケーションの図示しない終了指示画面を介し、ユーザから終了を意味する操作があった場合、第1のアプリケーションは、ユーザから終了指示があったと判断する。
前記S1006において、ユーザから終了指示がないと判断した場合(S1006でNoの場合)、第1のアプリケーションは、S1002に処理を遷移させる。
一方、前記S1006において、ユーザから終了指示があったと判断した場合(S1006でYesの場合)、第1のアプリケーションは処理を終了する。
次に、図12を用いて、図11のS1003に示したサービス登録処理について説明する。
図12は、実施例1におけるサービス登録処理の一例を示すフローチャートである。本フローチャートの処理は、CPU210がROM211やHDD209等に格納されたプログラムを読み出して実行することにより実現されるものである。なお、サービスを提供するサーバはクライアントからの問い合わせに対し、複数のインテント要素を応答として返すことができるが、ここでは説明の簡便のため、1つのインテント要素のみ返すものとして説明する。
S1101において、第1のアプリケーションは、図4に示したサービス登録画面を操作表示部202に表示する。
次に、S1102において、第1のアプリケーションは、サービス登録画面からアドレス入力があったか否かを判断する。例えば、ユーザによってアドレス入力領域401にサーバを特定するアドレスが入力され、OKボタン402を押下され場合、第1のアプリケーションは、アドレス入力があったと判断する。なお、入力されたアドレスは、HDD209等の記憶装置に予め用意されたワークエリアに保存される。
前記S1102において、アドレス入力がないと判断した場合(S1102でNoの場合)、第1のアプリケーションは、S1102の判断を繰り返す。なお、図示しないが、アドレスが入力されることなくサービス登録画面が閉じられた場合には、第1のアプリケーションは、そのまま本サービス登録処理を終了する。
一方、前記S1102において、アドレス入力があったと判断した場合(S1102でYesの場合)、第1のアプリケーションは、S1103に処理を進める。
S1103では、第1のアプリケーションは、インテント要素を取得する。詳細には、第1のアプリケーションは、アプリケーションフレームワーク303を介し、ネットワーク通信部308から、S1102でワークエリアに保存したサーバドレスに対し、リクエストを送付する。該リクエストを受け付けたサーバは、応答のヘッダーに図6に示すようなインテント要素を付与して送付する。ネットワーク通信部308は、該応答のヘッダーからインテント要素を取り出し、図7に示したようなインテントリストの1レコードを作成し、HDD209等の記憶装置に確保したワークエリアに保存する。
次に、S1104において、ネットワーク通信部308は、前記S1103でワークエリアに作成したインテントリストのレコードを、HDD209等の記憶装置に予め用意された領域に格納されたインテントリストに追記して保存する。そして、ネットワーク通信部308は、インテントリストへの登録が完了したことを、第1のアプリケーションに通知する。この通知を受けると、第1のアプリケーションは、本サービス登録処理を終了する。
次に、図13を用いて、図11のS1005に示した機能の実行処理について説明する。
図13は、実施例1における機能の実行処理の一例を示すフローチャートである。本フローチャートの処理は、CPU210がROM211やHDD209等に格納されたプログラムを読み出して実行することにより実現されるものである。なお、ここでは"機能"をスキャンした画像データを加工して保存するものとして説明する。
まず、S1201において、第1のアプリケーションは、スキャン処理を実施する。詳細には、所定の手続きに基づきスキャナ部203から画像データを取得し、該画像データを、制御部208を介し、HDD209等の記憶装置に確保したワークエリアに格納する。
次に、S1202において、第1のアプリケーションは、登録済インテント数が「0」か否かを判断する。詳細には、第1のアプリケーションは、HDD209やRAM212等の記憶装置に予め確保された領域に格納された図7に示したようなインテントリストのレコード数を調べ、レコード数が「0」のときは登録済インテント数が「0」と判断する。
そして、前記S1202において、登録済インテント数が「0」と判断した場合(S1202でYesの場合)、第1のアプリケーションは、そのままS1211へ処理を進める。
一方、前記S1202において、登録済インテント数が「0」でないと判断した場合(S1202でNoの場合)、第1のアプリケーションは、S1203に処理を進める。S1203では、第1のアプリケーションは、サービス選択画面を表示する。詳細には、第1のアプリケーションは、連携したい処理のtype(「Image/*」等)及びaction(「edit」等)の情報をキーにして、図7に示したようなインテントリストから該当するレコードの情報を取得する。さらに、該取得した情報に基づいて、図5に示したような画像加工サービスリスト501を生成し、図5に示したようなサービス選択画面を生成し、操作表示部202に表示する。そして、該表示したサービス選択画面でサービスが選択された場合、第1のアプリケーションは、画像加工サービスリスト501から選択状態になっているリストアイテムを特定し、S1204に処理を進める。なお、前記連携したい処理のtype(「Image/*」等)及びaction(「edit」等)に該当するインテントリストのレコードが存在しない場合にも、第1のアプリケーションは、そのままS1211へ処理を進めるものとする。
次に、S1204において、第1のアプリケーションは、サービス選択画面で選択されたサービスに該当するインテントから、host706およびhref703の値を取得して連結し、サービスの参照先として、RAM212等に予め確保したワークエリアに格納する。さらに、第1のアプリケーションは、ネットワーク通信部308に、サービスの参照先の照合を依頼する。
S1205において、ネットワーク通信部308は、図10(a)に示したようなアプリリストから1レコードを取得する。詳細には、ネットワーク通信部308は、図10(a)に示すアプリリストから、有効期間907が超過していない1レコードを取得し(ライセンスが有効なアプリケーションの情報を取得し)、RAM212等に予め確保したワークエリアに格納する。
次に、S1206において、ネットワーク通信部308は、リファレンスが一致するか判断する。ネットワーク通信部308は、前記S1205でワークエリアに保存したアプリリストのレコードのサービスホスト905およびリファレンス906から生成した値と、前記S1204でワークエリアに保存したサービスの参照先が一致する場合に、リファレンスが一致すると判断する。すなわち、ネットワーク通信部308は、当該MFPにインストールされ、ライセンスが有効化されているアプリケーションのうち、ユーザ所望のサービスを当該MFPから利用(連携)することを許可するアプリケーション(第2のアプリケーション)が存在すると判断する。
そして、前記S1206において、リファレンスが一致しないと判断した場合(S1206でNOの場合)、ネットワーク通信部308は、S1207に処理を進める。
S1207では、ネットワーク通信部308は、アプリリストの全レコードを検索済み(全レコードについてS1205〜S1207の処理を実行した)か否かを判断する。そして、未だ全レコード検索済みでないと判断した場合(S1207でNoの場合)、ネットワーク通信部308は、S1205に処理を戻す。
一方、前記S1207において、全レコード検索済みと判断した場合(S1207でYesの場合)、ネットワーク通信部308は、ユーザ所望のサービスと連携することを許可するアプリケーションが存在しないため、サービスの呼び出しを中止する旨を、第1のアプリケーションに通知し、S1208に遷移する。
S1208では、第1のアプリケーションは、図示しないエラー画面を操作表示部202に表示し、S1211に処理を進める。すなわち、前記S1204で取得したユーザが選択したサービスとの連携は、当該MFPにインストール済のアプリケーションのリストに該サービスとの連携を許可しているアプリケーションが存在しないと判断されたため、禁止(中止)される。
なお、前記S1206において、リファレンスが一致すると判断した場合(S1206でYesの場合)、ネットワーク通信部308は、S1209に処理を進める。
S1209では、ネットワーク通信部308は、ページデータを取得する。詳細には、ネットワーク通信部308は、前記S1204でワークエリアに保存したサービスの参照先に対してアクセスし、予め定められた所定の手続きに基づきページデータを取得する。該ページデータには、後述のデータ加工に必要なスクリプトが含まれるものとする。ネットワーク通信部308は、該取得したページデータを、第1のアプリケーションに渡す。
S1210において、第1のアプリケーションは、前記S1209で取得したページデータに含まれるスクリプトにより、前記S1201でHDD209等の記憶装置に確保したワークエリアに格納した画像データを加工し、前記ワークエリアに格納する。そして、第1のアプリケーションは、S1211へ処理を進める。
S1211では、第1のアプリケーションは、HDD209等の記憶装置に確保したワークエリアに格納した画像データを、HDD209等の記憶装置に予め確保されている画像データ格納領域に適宜格納し、前記ワークエリアに格納した画像データを解放する。そして、第1のアプリケーションは、本機能の実行処理を終了する。
次に、図14を用いて、実施例1における処理の全体のシーケンスを説明する。
図14は、実施例1における処理の全体のシーケンスを説明するシーケンス図である。
S1701では、ユーザは、第1のアプリケーションにサービス登録画面の表示を指示する。
S1702では、第1のアプリケーションが、前記S1701の指示に応じて、操作表示部202に図4に示したようなサービス登録画面を表示する。本ステップは、図12のフローにおけるS1101に相当する。
次に、S1703において、ユーザが、第1のアプリケーションに対して、前記S1702で表示したサービス登録画面を介し、サービスの登録を指示する。
S1704では、第1のアプリケーションが、前記S1703の指示に応じて、ネットワーク通信部308に対して、該S1703で指示されたサーバへのアクセス要求を行う。
S1705では、ネットワーク通信部308が、前記S1704の要求に応じて、指示されたサーバに対して、所定の手続きに基づきコンテンツを要求する。本ステップは、図12のフローにおけるS1103に相当する。
S1706では、サーバが、前記S1705の要求に応じて、ネットワーク通信部308に応答として、インテント要素を含むコンテンツを返す。そして、サーバから応答されるコンテンツをネットワーク通信部308が受信する。
次に、S1707において、ネットワーク通信部308は、図7に示したようなインテントリストに、前記S1706で取得したインテントを追加する。本ステップは、図12のフローにおけるS1104に相当する。
次に、S1708において、ネットワーク通信部308は、第1のアプリケーションにサービス登録の応答を、成功として返す。そして、この応答を、第1のアプリケーションが受信する。
次に、S1709において、第1のアプリケーションは、図示しないサービスの登録成功画面を作成、操作表示部202に表示し、ユーザに成功結果を通知する。
その後、S1710において、ユーザが、第1のアプリケーションに対して、第1のアプリケーションの持つ機能の実行を指示する。
S1711では、前記S1710の指示に応じて、第1のアプリケーションが、機能1を実行する。ここで機能1とはスキャンする機能とする。本ステップは、図13のフローにおけるS1201に相当する。
次に、S1712において、第1のアプリケーションは、インテントリストを取得する。なお、説明の簡便のためインテント登録数が「0」の場合のシーケンスは省略する。また、連携したいタイプ及びアクションのインテントが存在しない場合のシーケンスも省略する。
次に、S1713において、第1のアプリケーションは、前記S1712で取得したインテントリストに基づき、図5に示したようなサービス選択画面を作成し、操作表示部202に表示する。本ステップは、図13のフローにおけるS1203に相当する。
次に、S1714において、ユーザは、前記S1713で作成されたサービス操作画面を介し、第1のアプリケーションに対して、連携するサービスを指示する。
S1715では、第1のアプリケーションは、前記S1714の指示に応じて、ネットワーク通信部308に対して、該S1714でユーザが連携先として指示したサービスの参照先の照合を依頼する。
S1716では、ネットワーク通信部308が、前記S1715の依頼に応じて、図10(a)に示したようなアプリケーションリストを検索し、参照先が一致するリストがあるか検索する。そして、該検索結果に応じて、ネットワーク通信部308は、処理を分岐する。
前記S1716において、参照先が一致したリストがないと判断した場合(「参照先不一致」の場合)、ネットワーク通信部308は、S1717の処理を実行する。
S1717では、ネットワーク通信部308は、第1のアプリケーションに参照先不一致を応答として返す。そして、この応答を、第1のアプリケーションが受信する。
S1718では、第1のアプリケーションが、前記S1717の応答に基づいて、図示しないエラー画面を操作表示部202に表示する。本ステップは、図2のフローにおけるS1208に相当する。
一方、前記S1716で参照先が一致したリストがあると判断した場合(「参照先一致」の場合)、ネットワーク通信部308は、S1719の処理を実行する。
S1719では、ネットワーク通信部308は、前記参照先に対応するサーバに対して、コンテンツの要求を行う。本ステップは、図13のフローにおけるS1209に相当する。
S1720では、サーバは、前記S1719に要求に応じて、ネットワーク通信部308に、該S1719で要求されたページデータを応答として返す。そして、この応答を、ネットワーク通信部308が受信する。
S1721では、ネットワーク通信部308は、前記S1720で取得したページデータを、第1のアプリケーションに応答として返す。そして、この応答を、第1のアプリケーションが受信する。
S1722では、第1のアプリケーションは、機能2を実施する。ここで機能2とは、前記S1711で実行した機能1で得た画像データを加工して記憶装置に保存する機能とする。すなわち、第1のアプリケーションは、前記S1721でネットワーク通信部308から返されたページデータに含まれるスクリプトを用い、前記S1711で得られた画像データを加工し、該加工したデータをHDD209に保存する。このステップは、図2のフローにおけるS1210、S1211に相当する。
次に、S1723では、第1のアプリケーションは、図示しない完了画面を作成し、操作表示部202に表示し、ユーザに処理の完了を通知する。
以上示したように、実施例1によれば、第1のアプリケーションの実行時にユーザによって連携先として指定されたサービスのうち、当該MFPにおいてサービスの利用を許可するための第2のアプリケーションが有効化されているサービスのみ利用を許可する。一方、該第2のアプリケーションが有効化されていないサービスの利用を不許可に制御する。これにより、第1のアプリケーションは、ユーザによって連携先として指定されたサービスのうち、許可されているサービスとだけ連携することが可能となる。このように、MFPにインストール可能な第2のアプリケーションのライセンスにより、MFPから外部のサービスへの連携を管理することができる。
図13のS1209及びS1210や図14のS1719〜S1722では、サーバからスクリプトを含むページデータを取得し、該スクリプトにより、MFP側で画像データの加工を行う構成を説明した。しかし、図13のS1209及びS1210や図14のS1719〜S1722の代わりに、第1のアプリケーションが前記S1201で取得した画像データをサーバに送信し、サーバ側で画像データの加工を行い、該加工済みの画像データを、MFPがサーバから受信する構成であってもよい。
また、サービスは画像データの加工に限定されるものではない。例えば、画像データやコメントをSNS(ソーシャル・ネットワーキング・サービス)の閲覧サイトに投稿するためのサービスであってもよい。なお、サービスが機能を提供するにあたって、ユーザ認証やユーザによる操作が必要な場合、MFP110の操作表示部202上でユーザが操作を行ってもよい。
また、前述の説明では、ネットワーク通信部308がサービスのインテントリストへの登録を行う構成について説明した(例えば図14のS1707)。しかし、サービスのインテントリストへの登録は、第1のアプリケーションが行ってもよいし、他の機能により行ってもよい。例えば、Webブラウザが行ってもよいし、サービスのインテントリストへの登録を行う専用のソフトウェアが存在していてもよい。
また、インテントリスト検索(図14のS1712)や、サービス選択画面表示(図14のS1713)は、ネットワーク通信部308が行ってもよい。この場合、第1のアプリケーションが、連携したい処理のtype(「Image/*」等)及びaction(「edit」等)の情報を、ネットワーク通信部308に通知するものとする。
また、アプリリスト検索(図14のS1716)及び該検索結果による分岐の処理は、第1のアプリケーションが行ってもよい。
また、第1のアプリケーションとネットワーク通信部308の間で、Webブラウザが動作し、サービス登録画面表示(S1702)、インテントリスト登録(S1707)、インテントリスト検索(S1712)、サービス選択画面表示(S1713)、アプリリスト検索(S1716)及び分岐の処理等を、Webブラウザが行ってもよい。この場合、第1のアプリケーションが、連携したい処理のtype(「Image/*」等)及びaction(「edit」等)の情報を、Webブラウザに通知するものとする。
実施例1では、サービスを実行するタイミングでインストール済アプリケーションを検索し、検索されたアプリケーションで許可されているサービス以外は実行させない構成を説明した。実施例2では、サービスをインテントリストに登録するタイミングでインストール済アプリケーションを検索し、検索されたアプリケーションで許可されているサービス以外はインテントリストに登録させないように構成する。説明の簡便のため、実施例1と同一の構成については説明を省略し、異なる点のみ説明する。以下、実施例2について、図15、図16を用いて説明する。
図12は、実施例2におけるサービス登録処理の一例を示すフローチャートである。本フローチャートの処理は、CPU210がROM211やHDD209等に格納されたプログラムを読み出して実行することにより実現されるものである。なお、S1301〜S1303およびS1309は、それぞれ図12のS1101〜1103およびS1104と同一のステップであるので説明は省略し、異なるステップだけ説明する。
S1304において、ネットワーク通信部308は、サービスの実体への参照先を生成する。詳細には、ネットワーク通信部308は、S1303で取得したインテント要素の「href」の値と、S1302でワークエリアに保存したアドレスを連結し、サービスの実体のへの参照先を生成し、HDD209等の記憶装置に確保したワークエリアに保存する。
次に、S1305において、ネットワーク通信部308は、図10(a)に示したようなアプリリストから1レコードを取得する。詳細には、ネットワーク通信部308は、図10(a)に示すアプリリストから、有効期間907が超過していない1レコードを取得し、RAM212等に予め確保したワークエリアに格納する。
次に、S1306において、ネットワーク通信部308は、リファレンスが一致するか判断する。ネットワーク通信部308は、前記S1304でワークエリアに保存したサービスの参照先と、前記S1305でワークエリアに保存したアプリリストのレコードの「サービスホスト」および「リファレンス」から生成した値が一致する場合に、リファレンスが一致すると判断する。すなわち、ネットワーク通信部308は、当該MFPにインストールされ、ライセンスが有効化されているアプリケーションのうち、ユーザ所望のサービスとの連携を許可するアプリケーション(第2のアプリケーション)が存在すると判断する。
そして、前記S1306において、リファレンスが一致しないと判断した場合(S1306でNOの場合)、ネットワーク通信部308は、S1307に処理を進める。
S1307では、ネットワーク通信部308は、アプリリストの全レコードを検索済み(全レコードについてS1305〜S1307の処理を実行した)か否かを判断する。そして、未だ全レコード検索済みでないと判断した場合(S1307でNoの場合)、ネットワーク通信部308は、S1305に処理を戻す。
一方、前記S1307において、全レコード検索済みと判断した場合(S1307でYesの場合)、ネットワーク通信部308は、ユーザによって指示されたサービスと連携することを許可するアプリケーションが存在しないため、サービスの登録を中止する旨を、第1のアプリケーションに通知し、S1308に遷移する。
S1308では、第1のアプリケーションは、図示しないエラー画面を操作表示部202に表示し、本サービス登録処理を終了する。すなわち、S1302でユーザによって指示されたサービスの登録は、当該MFPにインストール済のアプリケーションのリストに連携を許可しているアプリケーションが存在しないと判断されたため、禁止(中止)される。
なお、前記S1306において、リファレンスが一致すると判断した場合(S1306でYesの場合)、ネットワーク通信部308は、S1309に処理を進める。
S1309では、ネットワーク通信部308は、S1303で取得したインテント要素を、図7に示すようなインテントリストに登録し、その旨を、第1のアプリケーションに通知する。この通知を受けると、第1のアプリケーションは、本サービス登録処理を終了する。
図16は、実施例2における機能の実行処理の一例を示すフローチャートである。本フローチャートの処理は、CPU210がROM211やHDD209等に格納されたプログラムを読み出して実行することにより実現されるものである。なお、S1401〜S1404、1405〜1406及びS1407は、それぞれ図13のS1201〜S1204、S1209〜S1210及びS1211と同一のステップである。よって、説明は省略する。
以上示したように、実施例2によれば、サービス登録時に当該MFPにおいてサービスの利用を許可するための第2のアプリケーションが有効化されているサービスのみ登録を許可する。一方、該第2のアプリケーションが有効化されていないサービスの登録を不許可に制御する。これにより、第1のアプリケーションは、ユーザによって連携先として指定されたサービスのうち、第2のアプリケーションで許可されているサービスとだけ連携することが可能となる。このように、MFPにインストール可能な第2のアプリケーションのライセンスにより、MFPから外部のサービスへの連携を適切に管理することができる。
上述した実施例1や実施例2では、サービスを提供するサーバからインテント要素を取得してインテントリストに登録する構成について説明した。実施例3では、サービスを提供するサーバからインテント要素を取得する構成ではなく、第2のアプリケーションのマニフェストにインテント要素を記載しておき、該マニフェストからインテント要素を取得するように構成する。説明の簡便のため、実施例1や実施例2と同一の構成については説明を省略し、異なる点のみ説明する。以下、実施例3について、図8(c)、図10(b)、図17を用いて説明する。
図8(c)は、実施例3における第2のアプリケーションに対応するアプリケーションファイルについて説明する図である。なお、ここでは図8(b)と異なる点のみ説明する。
図8(c)に示すマニフェストファイルは、図8(b)に示した構成に加え、インテントタイトル8017、インテントタイプ8018、インテントアクション8019をさらに含むものである。すなわち、実施例3では、インテントリファレンス8016と共にサービス提供サーバから応答されるインテント要素に記載されている情報と同一の情報を、マニフェストファイル内に記載するものとする。なお、詳細は後述するが、実施例3では、マニフェストファイル内の情報8017〜8019を用いて、インテントリストに登録する情報を作成するものとする。なお、説明の簡便のため、図8(c)では、サービスを提供するサーバは1つのインテントを返すものとし、本マニフェストには1つのインテントを記載している。
図10(b)は、実施例3においてアプリケーションフレームワーク303によって生成・管理されるアプリケーションのリスト(アプリケーションリスト)の一例を示す図である。インストーラサービス304を用いてインストールされたアプリケーションの情報は、HDD209やRAM212等の記憶装置に予め確保された領域に適宜格納される。
図10(b)と図10(a)との違いは、図10(b)中のインテントID909である。インテントID909は、図7に示すインテントリストのIDを示す。インテントID909に数値が格納されている行では、該当アプリケーションによって該MFPからのアクセスを許可されるサービスのインテントが、インテントリストのIDで示される。
図17は、実施例3における機能の実行処理の一例を示すフローチャートである。本フローチャートの処理は、CPU210がROM211やHDD209等に格納されたプログラムを読み出して実行することにより実現されるものである。なお、S1501〜S1502、1505〜1506及びS1508は、それぞれ図15のS1301〜S1302、S1307〜1308及びS1309と同一のステップであるので説明は省略し、異なるステップだけ説明する。
第1のアプリケーションが、S1502でワークエリアに保存したサーバドレスについて、ネットワーク通信部308に、確認を依頼する。
S1503において、ネットワーク通信部308は、図10(b)に示したようなアプリリストから1レコードを取得する。詳細には、ネットワーク通信部308は、図10(b)に示すアプリリストから、有効期間907が超過していない1レコードを取得し、RAM212等に予め確保したワークエリアに格納する。
次に、S1504において、ネットワーク通信部308は、外部サービスを提供するサーバのアドレスが一致するか判断する。なお、ネットワーク通信部308は、S1502で入力されワークエリアに保存したアドレスと、S1503で取得したアプリリストのレコードのサービスホスト905の値が一致する場合に、外部サービスを提供するサーバのアドレスが一致すると判断する。
前記S1504において、外部サービスを提供するサーバのアドレスが一致しなかったと判断した場合(S1504でNoの場合)、ネットワーク通信部308は、S1505へ処理を進める。
一方、前記S1504において、外部サービスを提供するサーバのアドレスが一致したと判定した場合(S1504でYesの場合)、ネットワーク通信部308は、S1507に処理を進める。
S1507では、ネットワーク通信部308は、インテント要素を取得する。詳細には、第1のアプリケーションは、前記S1503で取得したアプリリストのレコードに対応するマニフェストファイル801から、インテント要素(すなわち、インテントタイトル8017、インテントタイプ8018、インテントアクション8019)の情報を取得し、図7に示すようなインテントリストの1レコードを作成し、HDD209等の記憶装置に確保したワークエリアに保存する。
次に、S1508において、第1のアプリケーションは、前記S1508でワークエリアに作成したインテントリストの1レコードを、HDD209等の記憶装置に予め用意された領域に格納されたインテントリストに追記して保存する(登録)。さらに、第1のアプリケーションは、該登録したインテントリストのID701の値を、前記S1503で取得したアプリリストのレコードのインテントID909に登録する。
なお、図示しないが、前記S1504でアドレスが一致したアプリリストのレコードのインテントID909に既に値が格納されている場合には、第1のアプリケーションは、該当するサービスが既にインテントリストに登録済であると判断し、そのまま本サービス登録処理を終了するものとする。この際、登録済である旨のメッセージを操作表示部202に表示し、その旨をユーザに通知してもよい。
また、インストーラサービス304は、第2のアプリケーションの登録時に、該アプリケーションのアプリケーションファイル800(又はマニフェストファイル801)のパスをアプリケーションリスト内に登録するようにしてもよい。そして、このパス情報を用いて、ネットワーク通信部308が、マニフェストファイル801を見つけ出し、サービスをインテントリストに登録するようにしてもよい(図17のS1507、S1508)。
また、インストーラサービス304は、第2のアプリケーションの登録時に、インテントタイトル8017、インテントタイプ8018、インテントアクション8019の情報を、アプリケーションリスト内に登録するようにしてもよい。そして、このアプリケーションリスト内の情報を用いて、第1のアプリケーションが、サービスをインテントリストに登録するようにしてもよい(図17のS1507、S1508)。
また、インストーラサービス304による第2のアプリケーションの登録時に、マニフェストファイル801の情報(サービスホスト8015、インテントタイトル8017、インテントタイプ8018、インテントアクション8019、インテントリファレンス8016)を用いて、該アプリケーションで連繋を許可しているサービスを、インテントリストに登録するようにしてもよい。
以上示したように、実施例3によれば、ユーザによって指示されたサービスとの連携を許可するアプリケーションが有効化されていれば、該アプリケーションから該サービスのインテント要素を取得し、インテントリストに登録することができる。よって、サービス登録時に該サービスを提供するサーバへアクセスする処理を省略でき、サービス登録時にサーバの電源が入っていない等、一時的にサーバにアクセスできなくてもデバイスへのサービス登録を完了することができる。これにより、第1のアプリケーションは、ユーザによって連携先として指定されたサービスのうち、許可されているサービスとだけ連携することが可能となる。このように、MFPにインストール可能な第2のアプリケーションにより、MFPから外部のサービスへの連携を管理することができる。
なお、実施例2及び実施例3のMFP110では、定期的にアプリリストをチェックし、有効期間907を超過した(即ちライセンスが無効な)アプリケーションが連携を許可するサービスのインテントが、インテントリストに登録されている場合、そのインテント登録を、インテントリストから抹消するものとする。また、定期的にアプリリストをチェックし、存在しない(アンインストールされた)アプリケーションが連携を許可するサービスのインテントが、インテントリストに登録されている場合、そのインテント登録を、インテントリストから抹消するものとする。又は、第2のアプリケーションがアンインストール(削除)された場合、そのアプリケーションが連携を許可するサービスのインテントがインテントリストに登録されている場合には、そのインテント登録を、インテントリストから抹消するものとする。
以上説明した各実施例では、第2のアプリケーションの動作は第1のアプリケーション、外部サービスの動作、及び連携動作には影響しない。よって、本発明を適用するうえで、第2のアプリケーションは起動しなくてもよい。また、第2のアプリケーションを起動するプログラムとして実装しても、起動しないプログラムとして実装しても本発明は適用可能である。
また、第1のアプリケーション、第2のアプリケーションを追加インストールしたアプリケーションとして説明したが、どちらか一方または両方を画像処理装置に予め供えられた機能(Native機能)として実装しても、本発明は適用可能である。また、第1のアプリケーションをWebブラウザとし、Webアプリケーションがサービスと連携するものとしても、本発明は適用される。
さらに、第1のアプリケーションが連携するサービスを外部のサービスとして説明したが、第1のアプリケーションが連携するサービスを画像処理装置に予め供えられた機能(Native機能)としても、本発明は適用可能である。即ち、Native機能としてMFPに組み込まれている一部の機能は、第2のアプリケーションが有効化されていなければ実行することができないように構成することができる。よって、Native機能としてMFPに組み込まれている機能であっても、一部の機能は、第2のアプリケーションのライセンスを購入し、第2のアプリケーションを有効化した後でなければ利用できないようにすることができる。即ち、第1のアプリケーションとサービスの組み合わせが、同一システム内(同じ装置内)で稼働する場合にも適用可能である。
なお、第1のアプリケーションと外部サービスと連携するための機能は、OS301で実現することも可能である。
また、上記各実施例では、外部サービスと連携する第1のアプリケーションが動作する情報処理装置の一例としてMFPを示したが、該情報処理装置の例としては、プリンタ、スキャナ、カメラ等のコンピュータ周辺機器や、パーソナルコンピュータ、スマートフォン、タブレット型コンピュータ、カーナビゲーション装置、テレビジョン、ハードディスクレコーダ、その他のネットワークに接続可能な各種家電製品などが挙げられる。
なお、前述の各実施例においては、(ウェブ)アプリケーションの連携の技術として、Web Intentsを利用した場合の説明を行っている。しかし、Web Intentsを用いての説明はあくまでも一例であり、同様な中継機能を介したクライアントとサービスを連携するための他の仕組みを利用してもよい。例えば、Web Activitiesと呼ばれる技術を利用してもよいし、同様の独自仕様を用いて本発明を実現することが可能である。この場合、「action」、「type」、「href」、「title」等に相当する情報が、異なる名称で定義される場合がある。
以上説明した通り、本発明の各実施例によれば、ユーザによって連携先として指定されたサービスのうち、当該MFPに許可されているサービスとだけアクセスが可能となる。よって、第1のアプリケーションは、第2のアプリケーションによって許可されているサービスとだけ連携が可能になる。
また、サービス登録時に当該MFPに許可されているサービスだけをインテントリストに登録できる。よって、第1のアプリケーションは、第2のアプリケーションによって許可されているサービスとだけ連携が可能になる。
さらに、サービス登録時にサーバにアクセスすることなく、当該MFPに許可されているサービスを登録できる。よって、第1のアプリケーションは、第2のアプリケーションによって許可されているサービスとだけ連携が可能になる。
したがって、例えば、外部サービス、および外部サービスを提供する外部サーバ側に特別なライセンス管理機能を設けることなく、画像処理装置で稼働するアプリケーションが連携する外部サービスを、画像処理装置に紐づくライセンスに基づき管理することができる。すなわち、画像処理装置からの外部サービスの利用も画像処理装置上で稼働するアプリケーションと同様に管理することができる。このように、MFP等の情報処理装置とサービスとの連携を適切に管理することができる。このため、セキュリティ等の観点から連携させたくないサービスと勝手に連携してしまうことによるセキュリティの低下を防止することも可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。

Claims (12)

  1. ネットワーク上で提供されるサービスと連携するための中継機能が動作する情報処理装置であって、
    ネットワーク上で提供されるサービスを利用可能な第1のアプリケーションを含む、前記情報処理装置にインストールされた複数のアプリケーションを管理する管理手段と、
    前記管理手段に対して、前記第1のアプリケーションとは異なる、ネットワーク上で提供されるサービスを利用するためにインストールされた第2のアプリケーションを確認する確認手段と、
    前記確認手段による確認の結果に従い、前記中継機能による、ネットワーク上で提供されるサービスと連携するための機能情報の登録処理、または登録済みの機能情報を用いたネットワーク上で提供されるサービスの呼び出し処理を制御する制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記制御手段は、前記確認の結果、第2のアプリケーションが存在しない場合に、前記中継機能による前記登録処理、または前記呼び出し処理を中止することを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記確認の結果、第2のアプリケーションが存在する場合に、第2のアプリケーションの関連情報に従い、前記中継機能による前記登録処理、または前記呼び出し処理を実行することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記管理手段は、オペレーティングシステムで実現されることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記第1のアプリケーションは、ウェブブラウザを含むことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記情報処理装置は、プリンタ、スキャナ、カメラの少なくともいずれかを含むコンピュータの周辺装置であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記管理手段は、前記情報処理装置にインストールされたアプリケーションをライセンスに基づいて管理することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記確認手段は、前記第2のアプリケーションがインストールされ且つ前記第2のアプリケーションのライセンスが有効な場合に前記第2のアプリケーションが存在すると判断し、前記第2のアプリケーションがインストールされていない又は前記第2のアプリケーションのライセンスが無効な場合に前記第2のアプリケーションが存在しないと判断することを特徴とする請求項7に記載の情報処理装置。
  9. 前記制御手段は、前記第2のアプリケーションが削除された場合または前記第2のアプリケーションのライセンスが無効となった場合に、前記機能情報の登録を抹消することを特徴とする請求項7又は8に記載の情報処理装置。
  10. 前記呼び出し処理は、Web Intents、又は、Web Activitiesの仕組みを用いたものであることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. ネットワーク上で提供されるサービスと連携するための中継機能が動作する情報処理装置の制御方法であって、
    ネットワーク上で提供されるサービスを利用可能な第1のアプリケーションを含む、前記情報処理装置にインストールされた複数のアプリケーションを管理する管理手段に対して、前記第1のアプリケーションとは異なる、ネットワーク上で提供されるサービスを利用するためにインストールされた第2のアプリケーションを確認する確認ステップと、
    前記確認ステップによる確認の結果に従い、前記中継機能による、ネットワーク上で提供されるサービスと連携するための機能情報の登録処理、または登録済みの機能情報を用いたネットワーク上で提供されるサービスの呼び出し処理を制御する制御ステップと、
    を有することを特徴とする情報処理装置の制御方法。
  12. コンピュータを、請求項1乃至10のいずれか1項に記載された手段として機能させるためのプログラム。
JP2014117650A 2014-06-06 2014-06-06 情報処理装置、情報処理装置の制御方法、及びプログラム Active JP6376851B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014117650A JP6376851B2 (ja) 2014-06-06 2014-06-06 情報処理装置、情報処理装置の制御方法、及びプログラム
US14/729,550 US9516185B2 (en) 2014-06-06 2015-06-03 Information processing apparatus enabling cooperation with a network service and control method therefor

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
JP2015230669A true JP2015230669A (ja) 2015-12-21
JP2015230669A5 JP2015230669A5 (ja) 2017-07-06
JP6376851B2 JP6376851B2 (ja) 2018-08-22

Family

ID=54770539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014117650A Active JP6376851B2 (ja) 2014-06-06 2014-06-06 情報処理装置、情報処理装置の制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US9516185B2 (ja)
JP (1) JP6376851B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018022295A (ja) * 2016-08-02 2018-02-08 キヤノン株式会社 情報処理装置及びアプリケーション管理方法、及びプログラム
US10051154B2 (en) 2016-01-13 2018-08-14 Canon Kabushiki Kaisha Information processing apparatus, control method in information processing apparatus, and image processing apparatus
US10860193B2 (en) 2016-10-14 2020-12-08 Fujitsu Limited Distributed computing transition screen display based on application type
JP7417188B2 (ja) 2020-01-24 2024-01-18 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成装置およびアプリ制御プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6459814B2 (ja) * 2015-07-17 2019-01-30 スター精密株式会社 プリンタの設定状態更新システム
US11132149B2 (en) 2016-02-29 2021-09-28 Ricoh Company, Ltd. System and information processing method for providing available applications
JP7039891B2 (ja) * 2017-09-05 2022-03-23 富士フイルムビジネスイノベーション株式会社 ソフトウエア管理装置、ソフトウエア管理システム及びプログラム
US10924615B1 (en) 2019-10-03 2021-02-16 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods
US10708358B1 (en) 2019-10-03 2020-07-07 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods
US10827082B1 (en) 2019-10-03 2020-11-03 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods
US10951779B1 (en) 2019-10-03 2021-03-16 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods
US10812667B1 (en) * 2019-10-03 2020-10-20 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods
US11108920B2 (en) 2019-10-03 2021-08-31 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods
US11128765B2 (en) 2019-10-03 2021-09-21 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods
US10848628B1 (en) 2019-10-03 2020-11-24 Starfish Technologies LLC Cloud-based scanning systems and remote image processing methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039356A (ja) * 2010-08-06 2012-02-23 Canon Inc 画像処理装置及びその制御方法、プログラム
JP2013191196A (ja) * 2012-02-17 2013-09-26 Ricoh Co Ltd 情報処理装置、機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP2013196356A (ja) * 2012-03-19 2013-09-30 Sony Corp 情報処理装置および方法、並びにプログラム
JP2013225287A (ja) * 2012-03-19 2013-10-31 Ricoh Co Ltd 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4200067B2 (ja) * 2002-08-30 2008-12-24 株式会社リコー 画像処理装置、画像処理方法、及び画像処理プログラム
JP2005165750A (ja) * 2003-12-03 2005-06-23 Ricoh Co Ltd Webサーバ機能を有する組み込み機器
JP4909756B2 (ja) 2007-02-09 2012-04-04 株式会社リコー 情報処理装置、外部アプリケーション利用方法及びプログラム
CN103518360B (zh) * 2012-10-26 2017-04-19 华为终端有限公司 多个服务处理方法和浏览器
US10037416B2 (en) * 2013-06-04 2018-07-31 Adobe Systems Incorporated Method and apparatus for licensing web assets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039356A (ja) * 2010-08-06 2012-02-23 Canon Inc 画像処理装置及びその制御方法、プログラム
JP2013191196A (ja) * 2012-02-17 2013-09-26 Ricoh Co Ltd 情報処理装置、機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP2013196356A (ja) * 2012-03-19 2013-09-30 Sony Corp 情報処理装置および方法、並びにプログラム
JP2013225287A (ja) * 2012-03-19 2013-10-31 Ricoh Co Ltd 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10051154B2 (en) 2016-01-13 2018-08-14 Canon Kabushiki Kaisha Information processing apparatus, control method in information processing apparatus, and image processing apparatus
JP2018022295A (ja) * 2016-08-02 2018-02-08 キヤノン株式会社 情報処理装置及びアプリケーション管理方法、及びプログラム
US10860193B2 (en) 2016-10-14 2020-12-08 Fujitsu Limited Distributed computing transition screen display based on application type
JP7417188B2 (ja) 2020-01-24 2024-01-18 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成装置およびアプリ制御プログラム

Also Published As

Publication number Publication date
US20150358487A1 (en) 2015-12-10
JP6376851B2 (ja) 2018-08-22
US9516185B2 (en) 2016-12-06

Similar Documents

Publication Publication Date Title
JP6376851B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
KR102121626B1 (ko) 네트워크 스토리지 서비스에서 어플리케이션과 파일타입의 관련
US9310981B2 (en) Seamless editing and saving of online content items using applications
JP5575071B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
US10015326B2 (en) Image forming apparatus, automatic installation method for efficiently installing an image forming apparatus, and storage medium
JP5023715B2 (ja) 情報処理システム、情報処理装置及びプログラム
US10051154B2 (en) Information processing apparatus, control method in information processing apparatus, and image processing apparatus
JP6355370B2 (ja) 自動設置システム及び方法、情報処理装置、画像形成装置、プログラム
JP2015149568A (ja) 画像形成装置、その制御方法およびプログラム
JP2012048457A (ja) 印刷サーバ装置、印刷装置、情報処理方法及びプログラム
JP5743724B2 (ja) 管理装置及び管理方法、管理システムとネットワークデバイス
US9319623B2 (en) Imformation processing apparatus and information processing system
US10284734B2 (en) Information processing apparatus, method, and storage medium for managing an executable application
US20110083137A1 (en) Application cooperation method, system, computer-readable medium, and information processing apparatus
JP2011041214A (ja) 文書管理システム及びその制御方法、情報処理装置
JP2007053468A (ja) 文書管理システム、時刻署名処理方法、記憶媒体、プログラム
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP2014229026A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6007633B2 (ja) サーバ装置、プログラム及び画像表示システム
JP2009187401A (ja) 文書管理システム、文書管理装置、文書管理方法及びプログラム
JP2007066200A (ja) 文書管理システム、文書管理サーバ、文書管理方法及び文書管理プログラム
JP5249477B2 (ja) プリンタ、システム、及びそれらの制御方法、プログラム
JP6772009B2 (ja) 情報処理装置および情報処理装置における制御方法、およびプログラムと画像処理装置
JP2014142824A (ja) 画像形成装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170522

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170522

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R151 Written notification of patent or utility model registration

Ref document number: 6376851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151