JP2018151912A - プログラム及び情報処理装置 - Google Patents

プログラム及び情報処理装置 Download PDF

Info

Publication number
JP2018151912A
JP2018151912A JP2017048212A JP2017048212A JP2018151912A JP 2018151912 A JP2018151912 A JP 2018151912A JP 2017048212 A JP2017048212 A JP 2017048212A JP 2017048212 A JP2017048212 A JP 2017048212A JP 2018151912 A JP2018151912 A JP 2018151912A
Authority
JP
Japan
Prior art keywords
external communication
communication device
script
information
address
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
JP2017048212A
Other languages
English (en)
Other versions
JP6883278B2 (ja
Inventor
竜彦 曽根
Tatsuhiko Sone
竜彦 曽根
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 JP2017048212A priority Critical patent/JP6883278B2/ja
Publication of JP2018151912A publication Critical patent/JP2018151912A/ja
Application granted granted Critical
Publication of JP6883278B2 publication Critical patent/JP6883278B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】ユーザにアカウントを取得させることなく、Webアプリケーションの実行を可能とする。【解決手段】PC100のWebブラウザ112上で実行されるスクリプト208は、スクリプトの機能を実行する機能スクリプト210と、機能スクリプトの実行の認証を行う認証スクリプト212と、から構成される。PCは、サーバ200から、スクリプトを受信する第1受信処理と、受信したスクリプトに含まれる認証スクリプトに基づいて、通信する外部通信装置を特定する特定処理と、特定処理により特定した外部通信装置に、識別情報を要求する要求処理と、外部通信装置から受信したHTMLファイルに基づいて、外部通信装置が所定の外部通信装置であるか否かを判断する第1判断処理と、第1判断処理にて外部通信装置が所定の外部通信装置であると判断した場合に、機能スクリプトの実行を許可する実行許可処理と、を実行する。【選択図】図2

Description

本発明は,Webアプリケーション及びWebアプリケーションシステムに関する。さらに詳細には,ブラウザを実行する情報処理装置に接続された外部通信装置から識別情報を受信し、Webアプリケーションの実行を許可する技術に関するものである。
PCなどの情報処理装置が備えるWebブラウザ上で、ネットワークを介して接続されたWebサーバから提供されるアプリケーションを実行するWebアプリケーションが知られている。特許文献1には、Webアプリケーションのユーザにアカウントを作成させ、Webアプリケーションの操作画面でアカウントを特定するために、ユーザ名とパスワードの入力を求め、そして、その画面を介して入力されたユーザ名とパスワードが、登録している情報と一致すると、Webアプリケーションの実行を許可する技術が開示されている。
特開2016−081345号公報
しかしながら、上記した従来技術では、Webアプリケーションのユーザは、Webアプリケーションの提供者が提供するアカウントを予め作成し、Webアプリケーションを利用するために、そのアカウントでログインするという手間が必要である。更に、アカウントを持っていないユーザはそもそもWebアプリケーションを利用できないという問題があった。
本発明は、上記の事情に鑑みてなされたものであり、その目的は、ユーザにアカウントを取得させることなく、Webアプリケーションの実行を好適に許可することができるWebアプリケーションシステムの提供である。
本明細書に開示されているWebアプリケーションシステムは、情報処理装置と通信する外部通信装置と、前記情報処理装置と通信するサーバと、前記サーバから受信したプログラムをWebブラウザ上で実行する前記情報処理装置と、を有するWebアプリケーションシステムであって、前記プログラムは、前記プログラムの機能を実行する機能スクリプトと、前記機能スクリプトの実行の認証を行う認証スクリプトと、から構成されており、前記外部通信装置は、前記情報処理装置と通信する第1通信部と、前記外部通信装置が所定の外部通信装置であるかを識別する識別情報を記憶する第1記憶部と、前記第1通信部を通じて、前記識別情報を前記情報処理装置に送信する第1送信処理を実行する第1制御部と、を備えており、前記サーバは、前記情報処理装置と通信する第2通信部と、前記プログラムを記憶する第2記憶部と、前記第2通信部を通じて、前記プログラムを前記情報処理装置に送信する第2送信処理を実行する第2制御部と、を備えており、前記情報処理装置は、第3通信部と、前記Webブラウザを記憶する第3記憶部と、第3制御部と、を備えており、前記第3制御部は、前記第3通信部を通じて、前記プログラムを前記サーバから受信する第1受信処理を実行し、前記第3制御部は、通信する前記外部通信装置を特定する特定処理と、前記第3通信部を通じて、前記特定処理により特定した前記外部通信装置に、前記識別情報を要求する要求処理と、前記要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第1判断処理と、前記第1判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能プログラムの実行を許可する実行許可処理と、を前記認証プログラムにより実行することを特徴とする。
上記構成によれば、外部通信装置から識別情報を受信し且つ、識別情報により所定の外部通信装置であると判断した場合に、Webアプリケーションの機能を実行する機能スクリプトの実行を許可する。このため、ユーザにアカウントを取得させることなく、Webアプリケーションの実行を好適に許可することができる。
本明細書に開示されているプログラムは、制御部と、Webブラウザを記憶する記憶部と、サーバ及び外部通信装置と通信する通信部と、を備えた情報処理装置のWebブラウザ上で、前記サーバから取得し、前記制御部によって実行可能なプログラムであって、前記プログラムは、前記プログラムの機能を実行する機能スクリプトと、前記機能スクリプトの実行の認証を行う認証スクリプトと、から構成されており、前記制御部は、通信する前記外部通信装置を特定する特定処理と、前記通信部を通じて、前記識別情報を、前記特定処理により特定した前記外部通信装置に要求する第1要求処理と、前記第1要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第1判断処理と、前記第1判断処理にて、前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能スクリプトの実行を許可する実行許可処理と、を前記認証スクリプトにより、実行することを特徴とする。
第1実施形態のWebアプリケーションシステム10の概略図である。 (A)は複合機20のブロック図であり、(B)はPC100のブロック図であり、(C)はサーバ200のブロック図である。 Webアプリケーションシステム10における、PC100がスクリプト208を取得する処理についてのフローチャートである。 第1実施形態の認証処理の前半についてのフローチャートである。 第1実施形態の認証処理の後半についてのフローチャートである。 第1実施形態のPC100の表示部106に表示される画面であって、(A)は認証報知画面60の一例であり、(C)は認証失敗画面64の一例であり、(D)は認証成功画面66の一例である。 (A)HTTPサーバ37のレスポンスであるHTMLファイル40の一例であり、(B)は所定の外部通信装置であるか否かを判断するために用いるフォーマット50の一例である。 第2実施形態のWebアプリケーションシステム500の概略図である。 (A)はプリンタ600のブロック図であり、(B)はPC650のブロック図であり、(C)はサーバ700のブロック図である。 第2実施形態の認証処理の前半についてのフローチャートである。 第2実施形態の認証処理の後半についてのフローチャートである。 第2実施形態のPC650の表示部656に表示される画面であって、(A)はIPアドレス入力受付画面800の一例であり、(B)は認証成功画面804の一例である。
<第1実施形態>
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例に過ぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
図1を参照して、Webアプリケーションシステム10の概略について説明する。Webアプリケーションシステム10は、後述するサーバ200のWebアプリケーション207が提供するスクリプト208をPC100のユーザがWebブラウザ112上で実行するシステムである。Webアプリケーションシステム10を構成する、複合機20、PC100、サーバ200及びアクセスポイント80は、通信ネットワークを介して相互に通信可能に接続されている。ここで、複合機とは、印刷機能、スキャン機能、コピー機能を備える多機能周辺装置を表す。通信ネットワークの具体例は特に限定されないが、例えば、インターネット84、有線LAN(Local Area Networkの略)、無線LAN82、あるいはこれらの組み合わせであってもよい。PC100、複合機20は、アクセスポイント80が形成する無線LAN82に属している。アクセスポイント80は図示しないルータを通じて、インターネット84に接続されている。サーバ200は、インターネット84に接続されている。そして、PC100、複合機20は、アクセスポイント80からインターネット84を経由して、サーバ200と通信可能である。
なお、本実施形態に係るWebアプリケーションシステム10では、1台の複合機(複合機20)での構成を例示しているが、これに限るものでなく、その台数は任意である。また、PC100と無線LAN82で接続される外部通信装置は、複合機20に限定されるものではなく、後述するようにHTTP(HyperText Transfer Protocolの略)サーバ37を備えた機器が1台以上あればよい。
PC100、複合機20には、無線LAN82に接続するために、ローカルIPアドレスとサブネットマスク、および、無線LAN82のSSID(Service Set IDntifierの略)が設定されている。IPアドレスは、通信に用いられる周知のビット列である。サブネットマスクは、4バイトのデータ列であるIPアドレスのうち、ネットワークアドレス部とホストアドレス部を識別するためのビット列であり、IPアドレスのうち上位何ビットがネットワークアドレスであるかを表す周知のビット列である。詳細は後述するが、PC100は、サブネットマスクを用いて、自身に設定されたローカルIPアドレスのうち、ネットワークアドレス部とホストアドレス部を識別する。ここで、ネットワークアドレス部は、ネットワークの管理単位となるサブネット(無線LAN82)を識別するためのアドレスである。ホストアドレス部は、ローカルIPアドレスのうちネットワークアドレス部以外の部分であり、ホスト(PC100、複合機20、アクセスポイント80)を定義する部分である。
[複合機20]
複合機20は、図2(A)に示されるように、CPU21、操作部23、表示部25、通信部27、印刷部29、読取部31、記憶部33を主に備えている。
CPU21は、複合機20の全体動作を制御するものである。CPU21は、操作部から出力される各種情報及び通信部27を通じて通信装置から取得した各種情報等に基づいて、記憶部33に記憶された制御プログラム35を実行することにより、複合機20の制御を実行する。例えば、CPU21は、印刷部29や読取部31を制御して、印刷処理、スキャン処理などを実行する。
操作部23は、ユーザにより操作される複数の操作ボタンを備え、ユーザの押下操作に応じた信号をCPU21へ送信する。ユーザは、操作部23を操作することによって所望の入力指示を出すことができる。
表示部25は、LCD等のディスプレイを備えている。表示部25は、CPU21からの指示に従って、各種の情報をディスプレイに表示する。
通信部27は、無線LAN82、インターネット84などのネットワークに接続するためのインタフェースや、USBメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
印刷部29は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。読取部31は、CCDやCMOSなどの光電変換素子を用いて光学的に原稿を読み取ることによってカラー画像やグレー画像を表すスキャンデータを生成する。読取部31は、いわゆるフラットベッド式の原稿台、あるいはADF(Auto Document Feederの略)式の原稿台を備えている。
記憶部33は、例えば、RAM、ROM、フラッシュメモリ、ハードディスクドライブ、CPU21が備えるバッファ、あるいはそれらの組み合わせによって構成されている。記憶部33は制御プログラム35、HTTPサーバ37を記憶している。制御プログラム35は、例えば、インターネットを介して接続されたサーバからダウンロードされる形態、あるいは、CD−ROMなどに記録された形態で提供されるものでもよい。HTTPサーバ37は、複合機20内に内蔵されたWebサーバ、すなわちEWS(Embedded Web Serverの略)である。通信部27とデータ通信可能な機器は、複合機20に割り当てられたローカルIPアドレスを用いることで、HTTPサーバ37にアクセスすることが可能である。HTTPサーバ37は、HTTPリクエストを受け付けると、このHTTPリクエストに含まれるURL(Uniform Resource Locatorの略)に基づいて、HTML(Hyper Text Markup Languageの略)ファイル40をHTTPレスポンスとして送信する。図7(A)に示す、HTMLファイル40は、JavaScript(登録商標)やHTML形式で書かれたテキストデータであり、例えば、開始タグ41と終了タグ42の間に、HTMLファイル40のタイトルとなる文字列43を記述するというように、タグの間に意味づけしたい文字列を記述する。HTMLファイル40には、HTMLファイルのタイトルを意味する文字列43の他に、複合機20の製造メーカのロゴを取得するURI44(Uniform Resource Identifierの略)や型番情報、装置情報の一例であるシリアルナンバー48を含んでいる。シリアルナンバーは製造メーカが製造した装置それぞれに固有に割り当てた情報である。HTTPサーバ37は、本来、複合機20のユーザがインターネット84などのネットワーク上で複合機20を管理するために備えられたものであるが、本実施形態では、HTTPサーバ37が送信するHTMLファイル40を、スクリプト207の実行許可を行うための認証情報として流用する。
記憶部33に記憶されたプログラムは、CPU21によって実行される。しかしながら、本明細書では、CPU21を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムAが処理Aを実行する」という趣旨の記述は、「CPU21がプログラムAに記述された処理Aを実行する」ことを指してもよい。
複合機20を構成する各構成要素は、相互に接続されている。
[PC100]
PC100は、図2(B)に示されるように、CPU102、操作部104、表示部106、通信部108、記憶部110を主に備えている。
CPU102は、PC100の全体動作を制御するものである。CPU21は、操作部から出力される各種情報及び通信部27を通じて外部通信装置から取得した各種情報等に基づいて、記憶部110に記憶された制御プログラム114を実行することにより、PC100の制御を実行する。
操作部104は、ユーザにより操作されるマウスやキーボードを備え、ユーザの操作に応じた信号をCPU102へ送信する装置である。ユーザは、操作部104を操作することによって所望の入力指示を出すことができる。
表示部106は、LCD等のディスプレイを備えた装置である。表示部106は、CPU102からの指示に従って、各種の情報をディスプレイに表示する。
通信部108は、無線LAN82、インターネット84などのネットワークに接続するためのインタフェースや、USBメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
記憶部110は、例えば、RAM、ROM、フラッシュメモリ、ハードディスクドライブ、CPU102が備えるバッファ、あるいはそれらの組み合わせによって構成されている。記憶部110はWebブラウザ112、制御プログラム114を記憶している。このWebブラウザ112は、プラグインモジュールを有さない単機能ブラウザ(標準ブラウザ)であり、PC100(CPU102)は、該Webブラウザ112を使用して、ネットワーク(インターネット84)接続されたサーバ200にアクセスし、Webアプリケーション207によってスクリプト208を取得する。
PC100を構成する各構成要素は、相互に接続されており、PC100は、Webブラウザ112を使用して各機器と通信を行なう。
[サーバ200]
サーバ200は、CPU202、通信部204、記憶部206を主に備えている。
CPU202は、サーバ200の全体動作を制御するものである。CPU202は、通信部204を通じて通信装置から取得した各種情報等に基づいて、記憶部206に記憶されたWebアプリケーション207を実行することにより、複合機20の制御を実行する。
通信部204は、インターネット84などのネットワークに接続するためのインタフェースや、USBメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
記憶部206は、フラッシュメモリ、ハードディスクドライブなどが組み合わせされて構成されている。記憶部206はWebアプリケーション207、Webアプリケーション207、装置情報リスト216を記憶している。Webアプリケーション207は、「プリント」、「スキャン」、「はがき作成」の3つの機能を備えている。「プリント」及び「スキャン」機能は、PC100と通信可能に接続された複合機20に、プリント及びスキャンを実行させる機能であり、「はがき作成」機能は、はがきの通信面に印刷するための画像データを作成する機能である。Webアプリケーション207は、これら3つの機能を実行する機能スクリプト210と、機能スクリプト210の実行の認証を行う認証スクリプト212とから構成されたスクリプト208を含んでいる。ユーザは、PC100のWebブラウザ112上で、Webアプリケーション207によってアプリケーション208を取得すると、認証スクリプト212により、認証処理が実行される。認証に成功すると、機能スクリプト210の実行が許可され、機能スクリプト210を実行することができる。装置情報リスト216は、Webアプリケーション207の提供者が登録した、Webアプリケーション207の機能の実行を許可する外部通信装置の装置情報のリストである。
サーバ200を構成する各構成要素は、相互に接続されている。
サーバ200とPC100との通信はHTTPに従って行われる。すなわち、サーバ200はPC100(Webブラウザ112)からHTTPリクエストを受け付け、このHTTPリクエストに含まれるURLに基づいて、情報を送信する。
なお、記憶部33、記憶部110、記憶部206は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
また、本明細書中の「データ」とは、コンピュータによって取り扱い可能なビット或いはビット列であり、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。
[Webアプリケーションシステム10の動作]
図3から図7を参照して、本実施形態に係るWebアプリケーションシステム10の動作を説明する。なお、本実施形態に係る複合機20及びPC100は、同一のユーザが所持しているものとする。
図3において、PC100の制御プログラム114は、ユーザによるWebブラウザ112の操作に従って、通信部108を通じて、サーバ200にスクリプト208の取得要求を送信する(S100)。サーバ200のWebアプリケーション207は、通信部204を通じてPC100からスクリプト208の取得要求を受信すると(S110)、通信部204を通じてPC100にスクリプト208を送信する(S120)。PC100の制御プログラム114は、通信部108を通じてサーバ200からスクリプト208を受信すると(S130)、スクリプト208を実行する。具体的には、スクリプト208に含まれる認証スクリプト212に従って、機能スクリプト210の実行の認証を行う認証処理を開始する(S140)。図4、図5を参照して、認証処理の詳細を説明する。
S150において、認証スクリプト212は、図6(A)に示す、認証処理を行っていることをユーザに報知する認証処理報知画面60を、表示部106に表示する。ユーザが認証スクリプト212を実行する際に、認証が行われることを知らない場合がある。そのため、認証処理報知画面60を表示することで、ユーザは認証処理が行われていることを認知することができる。
S160において、認証スクリプト212は、PC100自身に設定されたローカルIPアドレスとサブネットマスクを取得する。
S170において、認証スクリプト212は、サブネットマスクを取得できたか否かを判断する。否定判断する場合(S170:No)には、S175へ進む。S175において、認証スクリプト212は、サブネットマスクの値を「255.255.255.0」と決定する。これは、IPv4方式で割り振ったローカルIPアドレスでは、上位48ビットは、ネットワークアドレス部と定められているためである。そのため、S160のサブネットマスクの取得と、S170の処理は必須ではなく、S160でPC100のローカルIPアドレスのみを取得し、S175の処理でサブネットマスクの値を決定してもよい。
一方で、S170において、認証スクリプト212は、肯定判断する場合(S170:Yes)及び、S175の処理の後には、S180へ進む。S180において、認証スクリプト212は、S160で取得した自身のIPアドレスからネットワークアドレス部を抽出する。この処理は、S160で取得、あるいはS175で決定したサブネットマスクと、S160で取得したIPアドレスとの論理演算を行うことで実行できる。このとき、サブネットマスクによって指定されているホストアドレス部のビット数を取得する。
S190において、認証スクリプト212は、ホストアドレス部を初期状態に設定する。初期状態では、ホストアドレス部を構成するビット列の全ビットを「0」に設定する。
S200において、認証スクリプト212は、ホストアドレス部とS180で抽出されたネットワークアドレス部とを合成して、仮IPアドレスを生成する。
S210において、認証スクリプト212は、通信部108を通じて、S200で生成した仮IPアドレスに、HTTPリクエストを送信する。仮IPアドレスが、複合機20の有するローカルIPアドレスと一致する場合、このHTTPリクエストは、複合機20のHTTPサーバ37に送信され、S220からS230の処理が実行される。S220において、複合機20の制御プログラム35は、通信部27を通じてPC100からHTTPリクエストを受信し、S230において、通信部27を通じてPC100に、HTTPレスポンスとしてHTMLファイル40を送信する。
S240及びS250において、認証スクリプト212は、仮IPアドレスを用いたHTTP通信が成功したか否かを判断する。具体的には、S240において、認証スクリプト212は通信部108を通じてサーバ200から、HTTPレスポンスを受信したか否かを判断する。否定判断する場合(S24:No)には、HTTPリクエストを要求してから所定時間(例えば5秒)が経過したか否かを判断する(S250)。S250において、否定判断する場合(S250:No)は、S240へ戻り、HTTPレスポンスを受信する(S240:Yes)か、所定時間が経過する(S250:Yes)までS240及びS250を繰り返す。
S240において肯定判断する場合(S240:Yes)には、S260へ進む。S260において、認証スクリプト212は、受信したHTTPレスポンスが、所定の外部通信装置から受信したHTTPレスポンスであるか否かを判断する。具体的には、認証スクリプト212は、S240で受信したHTMLファイル40(図7(A))からタグのみを抽出した文字列と、フォーマット50(図7(B))との文字列比較を行い、文字列が一致すれば、所定の外部通信装置であると判断する。フォーマット50は、所定の外部通信装置から受信するHTMLファイル40のタグのみを抽出した文字列である。所定の外部通信装置とは、予め決められた通信方式で通信した際に、予め決められたフォーマットに従ったデータをレスポンスする装置である。
S250において、肯定判断する場合(S250:Yes)及び、S260において、否定判断する場合(S260:No)には、S270へ進む。S270において、認証スクリプト212は、ホストアドレス部を構成するビット列の全ビットが「1」であるか否かを判断する。全ビットが「1」でない場合(S270:NO)には、まだホストアドレス部の全てのパターンについて通信を試行していない場合であると判断し、S280へ進む。S280において、認証スクリプト212は、ホストアドレス部のビット列を、インクリメントする。そしてS200へ戻る。
S270において、肯定判断する場合(S270:Yes)には、S360へ進む。S360において、認証スクリプト212は、図6の(C)に示す、認証に失敗したことを示す認証失敗画面64を表示部106に表示し、認証処理を終了する。
一方、S260において、肯定判断する場合(S260:Yes)には、S370へ進む。
S370において、認証スクリプト212は、複合機20から受信したHTTPレスポンスであるHTMLファイル40を、通信部108を通じてサーバ200に送信する。
S380において、サーバ200のWebアプリケーション207は、通信部204を通じてPC100から、HTMLファイル40を受信する。
S390において、Webアプリケーション207は、HTMLファイル40から装置情報を抽出する。例えば、装置情報の一例である、シリアルナンバーを抽出する場合には、図7(A)に示す、「Serial.no」という文字列45を検索し、次の行のタグ46とタグ47で囲まれた文字列48をシリアルナンバーとして抽出する。なお、S260にて肯定判断(S260:Yes)する場合に、PC102の認証スクリプト212が、HTMLファイル40から装置情報を抽出する該処理を実行し、S370にて、抽出した装置情報を、通信部108を通じて、PC102からサーバ200へ送信してもよい。
S400において、Webアプリケーション207は、S390で抽出した装置情報が装置情報リスト216に登録されているか否かを判断する。具体的には、S390で抽出した装置情報と装置情報リスト216を照合し、一致する装置情報があるか否かを判断する。否定判断する場合(S400:No)には、通信部204を通じてPC100に、認証失敗情報を送信する(S410)。PC100の認証スクリプト212は、認証失敗情報を受信すると(S420)、図6(C)に示す、認証スクリプト212の認証に失敗したことを示す認証失敗画面64を表示部106に表示し(S430)、S290へ戻る。
一方で、S400において、Webアプリケーション207が、肯定判断する場合(S400:Yes)には、S440へ進む。S440において、Webアプリケーション207は、通信部204を通じてPC100に、認証成功情報を送信する。
PC100の認証スクリプト212は、S450において、通信部108を通じてサーバ200から、認証成功情報を受信する。
S460において、認証スクリプト212は、機能スクリプト210の実行を許可し、図6(D)に示す、認証成功画面66を表示部106に表示し、認証処理を終了する。認証成功画面66には、認証スクリプト212の3つの機能を実行することができる機能ボタン67が配置され、ユーザは、機能ボタン67を操作部104のマウスでクリックすることで、機能スクリプト210を実行することができる。
[本実施形態の作用効果]
上記の実施形態によれば、複合機20からHTMLファイル40を受信し(S240:Yes)且つ、HTMLファイル40により所定の外部通信装置であると判断した(S260:Yes)場合に、Webアプリケーション207の機能を実行する機能スクリプト210の実行を許可する(S460)。これにより、所定の外部通信装置を使用しているユーザに対して、アカウントを取得させることなく、Webアプリケーション207の実行を好適に許可することができる。
また、上記の実施形態によれば、HTMLファイル40から抽出した装置情報が予めサーバ200内の装置情報リスト216に登録されている場合は(S400:Yes)、Webアプリケーションの208の機能を実行する機能スクリプト210の実行を許可する(S460)。そのため、Webアプリケーション207の提供者は、サーバ200に登録した外部通信装置を使用しているユーザに対して、Webアプリケーション207の実行を好適に許可することができる。
また、上記の実施形態によれば、PC100のローカルIPアドレスを取得し(S160)、PC100のローカルIPアドレスからネットワーク部を抽出して(S180)、ホストアドレス部を生成し(S190)、それらを用いて仮IPアドレスを生成することで(S200)、通信する外部通信装置を特定するローカルIPアドレスを自動で生成している。これにより、複合機20を通信する外部通信装置として特定するローカルIPアドレスを、ユーザの手を煩わせることなく自動で取得できる。
また、上記の実施形態によれば、装置情報を含んだHTMLファイル40を提供する機能を、複合機20が有する場合、所定の外部通信装置か否かを判断するための識別情報をレスポンスするための固有の機能を、複合機20に実装することなく、Webアプリケーション207の実行を好適に許可することができるため、開発コストを低減することができる。更に、HTMLファイル40から装置情報を抽出する処理をサーバ200で行う(S390)ことにより、PC100で実行する場合に比べて処理時間を短くすることができる。
<第2実施形態>
第2実施形態では、認証スクリプト712は、外部通信装置のローカルIPアドレスをユーザに入力させて取得し、Webアプリケーション707の実行の認証に成功した際に、通信した外部通信装置の能力に応じて、ユーザに実行を許可する機能スクリプト710を限定する形態である。なお、第2実施形態は、第1実施形態の複合機20がプリンタ600に置き換わった形態であり、第1実施形態と同様の構成であるものには、同じ番号を振り、説明を省略する。図8を参照して、Webアプリケーションシステム500の概略について説明する。第2実施形態のWebアプリケーションシステム500は、プリンタ600、PC650、サーバ700及びアクセスポイント80で構成されている。図9に示すように、プリンタ600は、CPU602、操作部604、表示部606、通信部608、印刷部610、記憶部612を主に備えており、第1実施形態の複合機20から読取部31を除いたものである。PC650は、CPU652、操作部654、表示部656、通信部658、記憶部660を主に備えており、第1実施形態のPC100と同様の構成である。サーバ700は、CPU702、通信部704、記憶部706を主に備え、第1実施形態のサーバ200と同様の構成をしており、記憶部706に記憶されている装置情報リスト710の装置情報それぞれに、製品の能力(例えば、印刷解像度、色数、スキャン解像度、スキャン機能やプリント機能といった各機能の有無)を示す能力情報を紐付けて記憶している。
[Webアプリケーションシステム500の動作]
図10と図11を参照して、本実施形態に係るWebアプリケーションシステム500の動作を説明する。なお、図3に係る処理は第1実施形態と全て同一であるため、説明を省略する。また、図10、図11においても、第1実施形態と同様の処理は同じ番号を振り、説明を省略する。
S900において、認証スクリプト712は、図12に示す、プリンタ650のIPアドレスの入力をユーザから受け付けるIPアドレス入力受付画面800を表示部656に表示する。ユーザはIPアドレス入力受付画面62のIPアドレスの入力領域802に、プリンタ650のIPアドレスを入力する。
S910において、認証スクリプト712は、通信部658を通じて、S900で受け付けたIPアドレスに、HTTPリクエストを送信する。所定時間以内にHTTPレスポンスを受信できなかった場合(S250:Yes)には、S360へ進み、認証失敗画面64を表示部656に表示した後に、S900へ戻る。
一方で、HTTPレスポンスを受信できた場合(S240:Yes)には、S260へ進み、S400まで第1実施形態と同様の処理を行う。S400において、Webアプリケーション707が、肯定判断する場合(S400:Yes)には、S1000へ進む。S1000において、Webアプリケーション707は、通信部704を通じてPC650に、装置情報に紐づいて記憶されているプリンタ600の能力情報を送信する。
認証スクリプト712は、S1010において、通信部658を通じてサーバ200から、プリンタ600の能力情報を受信する。ここで、能力情報は、装置情報リストの中にS1010で抽出したシリアルナンバーと一致するものがあったことを示す認証成功情報の役割も兼ねている。
認証スクリプト712は、S1010で能力情報を受信すると、S1020において、機能スクリプト710の実行の認証に成功したと判断し、能力情報に基づいて、プリンタ600が実行可能な機能スクリプト710を使用できる認証成功画面804(図12)を表示部656に表示する。本実施形態では、認証スクリプト712は、プリンタ600の能力情報から、Webアプリケーション707の提供する機能の中のスキャン機能を実行不可と判断し、プリンタ600が実行できる「プリント」、「はがき作成」に関する機能スクリプト710の実行を許可する。そして、認証スクリプト712は、プリンタ600が実行できる機能スクリプト710を実行することができる認証成功画面804を表示部656に表示し、認証処理を終了する。認証成功画面804には、プリンタ600が実行できないスキャンに関する機能スクリプト710を実行するためのボタンを除くWebアプリケーション707の機能を実行することができる機能ボタン810が配置されており、ユーザは、機能ボタン810を操作部654のマウスでクリックすることで、機能スクリプト710を実行することができる。
[本実施形態の作用効果]
上記の実施形態によれば、通信する外部通信装置を特定するローカルIPアドレスをユーザに入力させる(S900)。従って、CPU102は、通信する外部通信装置を特定するローカルIPアドレスを短時間に特定することができる。
また、上記の実施形態によれば、プリンタ600が実行可能であるWebアプリケーション707の機能スクリプト210のみ、実行を許可する(S1020)。これにより、ユーザは、Webアプリケーション707を利用する際に、プリンタ600が実行できない機能を実行することがなくなるため、ユーザにとって好適にWebアプリケーションの実行を許可することができる。
<変形例>
第1実施形態では、S260にて、HTMLファイル40とフォーマット50が一致し、且つS400にて、HTMLファイル40から抽出したシリアルナンバーが装置情報リストに登録されていた場合に、認証成功とし、機能スクリプト210の実行を許可する。しかしながら、S370からS420及びS440、S450の処理は必須ではなく、S260において、HTMLファイル40とフォーマット50が一致した場合には(S260:Yes)、認証成功として、S460の処理を実行し、HTMLファイル40とフォーマット50が一致しない場合には(S260:No)、認証失敗として、S430の処理を実行する形態でもよい。
また、S260の処理で、通信する外部通信装置が、所定の外部通信装置であるか否かを判断する方法は、HTMLファイル40とフォーマット50を比較する方法に限られない。例えば、HTTPサーバ37に、所定の外部通信装置であることを示す、予め定められた値を返す固有の機能を実装し、S260において、定められた値が返ってきたか否かによって、所定の外部通信装置であるか否かを判断してもよい。
また、装置情報リスト216をスクリプト208と共にサーバ200から取得し、S400の処理をPC100で行ってもよい。
また、S900において、S160からS180までの処理で取得したネットワークアドレス部をIPアドレス入力受付画面800で表示し、プリンタ600のホストアドレス部のみの入力を受け付けてもよい。
また、S1020において、能力情報に基づいて、機能スクリプト210が提供する機能の中から、プリンタ600が実行可能である機能を判断しているが、この判断は、サーバ200で行ってもよい。
また、S1020の代わりに、あらかじめ装置情報リスト710の各シリアルナンバーに、機能スクリプト710が提供する各機能のいずれが実行可能であるか否かを示す情報を紐付けて記憶しておく方法でもよい。
S230の処理は、第1送信処理の一例である。S120の処理は、第2送信処理の一例である。S130の処理は、第1受信処理の一例である。S200及びS900の処理は、特定処理の一例である。S210及びS910の処理は、要求処理の一例である。S260の処理は、第1判断処理の一例である。S460の処理は、実行許可処理の一例である。S380の処理は、第2受信処理の一例である。S400に処理は、第2判断処理の一例である。S410及びS440の処理は、第3送信処理の一例である。S370の処理は、第4送信処理の一例である。S420及びS450の処理は、第3受信処理の一例である。S160の処理は、取得処理の一例である。S180の処理は、ネットワーク抽出処理の一例である。S190の処理は、ホストアドレス生成処理の一例である。S200の処理は、IPアドレス生成処理の一例である。S900の処理は、受付処理の一例である。S390の処理は、第1抽出処理及び第2抽出処理の一例である。S1000の処理は、請求項7の第3送信処理の一例である。S1010の処理は、請求項7の第3受信処理の一例である。S1020の処理は、請求項7の実行許可処理の一例である。
PC100は情報処理装置の一例である。複合機20、プリンタ600は外部通信装置の一例である。スクリプトはプログラムの一例である。CPU21及び記憶部33は、第1制御部の一例である。CPU202及び記憶部206は、第2制御部の一例である。CPU102及び記憶部110は、第3制御部の一例である。HTMLファイル40は識別情報の一例である。
20 複合機
600 プリンタ
100、650 PC
200、700 サーバ
21、102、202、602、652、702 CPU
27、108、204、608、658、704 通信部
33、110、206、612、660、706 記憶部

Claims (11)

  1. 情報処理装置と通信する外部通信装置と、前記情報処理装置と通信するサーバと、前記サーバから受信したプログラムをWebブラウザ上で実行する前記情報処理装置と、を有するWebアプリケーションシステムであって、
    前記プログラムは、
    前記プログラムの機能を実行する機能スクリプトと、
    前記機能スクリプトの実行の認証を行う認証スクリプトと、
    から構成されており、
    前記外部通信装置は、
    前記情報処理装置と通信する第1通信部と、
    前記外部通信装置が所定の外部通信装置であるかを識別する識別情報を記憶する第1記憶部と、
    前記第1通信部を通じて、前記識別情報を前記情報処理装置に送信する第1送信処理を実行する第1制御部と、
    を備えており、
    前記サーバは、
    前記情報処理装置と通信する第2通信部と、
    前記プログラムを記憶する第2記憶部と、
    前記第2通信部を通じて、前記プログラムを前記情報処理装置に送信する第2送信処理を実行する第2制御部と、
    を備えており、
    前記情報処理装置は、
    第3通信部と、
    前記Webブラウザを記憶する第3記憶部と、
    第3制御部と、
    を備えており、
    前記第3制御部は、
    前記第3通信部を通じて、前記プログラムを前記サーバから受信する第1受信処理を実行し、
    前記第3制御部は、
    通信する前記外部通信装置を特定する特定処理と、
    前記第3通信部を通じて、前記特定処理により特定した前記外部通信装置に、前記識別情報を要求する要求処理と、
    前記要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第1判断処理と、
    前記第1判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能プログラムの実行を許可する実行許可処理と、
    を前記認証プログラムにより実行するWebアプリケーションシステム。
  2. 前記識別情報は、前記外部通信装置それぞれに固有に割り当てられた装置情報を含んでおり、
    前記第2記憶部は、
    予め登録された識別情報のリストである装置情報リストを、更に記憶し、
    前記第2制御部は、
    前記第2通信部を通じて、前記識別情報を、前記情報処理装置から受信する第2受信処理と、
    前記第2受信処理で受信した前記識別情報に含まれる装置情報が、前記装置情報リスト内に含まれるか否かを判断する第2判断処理と、
    前記第2通信部を通じて、前記第2判断処理にて判断した判断結果を、前記情報処理装置に送信する第3送信処理と、
    を更に実行し、
    前記第3制御部は、
    前記第1判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記第3通信部を通じて、前記識別情報を、前記サーバに送信する第4送信処理と、
    前記第3通信部を通じて、前記判断結果を、前記サーバから受信する第3受信処理と、
    を前記認証スクリプトにより、更に実行し、
    前記実行許可処理において、前記第3受信処理にて受信した前記判断結果が、前記装置情報が前記装置情報リストに含まれることを示す場合に、前記機能スクリプトの実行を許可することを特徴とする請求項1記載のWebアプリケーションシステム。
  3. 前記第3制御部は、
    前記情報処理装置のIPアドレスを取得する取得処理と、
    前記情報処理装置のIPアドレスから、ネットワークのアドレスを表す部分であるネットワークアドレス部を抽出するネットワークアドレス抽出処理と、
    ホストアドレス部を生成するホストアドレス生成処理と、
    前記ネットワークアドレス抽出処理で抽出した前記ネットワークアドレス部と、前記ホストアドレス生成処理で生成した前記ホストアドレス部とを用いて、前記外部通信装置のIPアドレスを生成するIPアドレス生成処理と、
    を前記認証スクリプトにより、更に実行し、
    前記特定処理は、前記IPアドレス生成処理で生成した前記外部通信装置のIPアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項1または2に記載のWebアプリケーションシステム。
  4. 前記第3制御部は、
    前記外部通信装置のIPアドレスの入力を受け付ける受付処理と、
    を前記認証スクリプトにより、更に実行し、
    前記特定処理は、前記受付処理で受け付けた前記IPアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項1または2に記載のWebアプリケーションシステム。
  5. 前記識別情報は、HTML(HyperText Markup Languageの略)ファイルであり、
    前記第2制御部は、
    前記第2受信処理にて受信した前記HTMLファイルから前記装置情報を抽出する第1抽出処理と、
    を実行することを特徴とする請求項2乃至4のいずれかに記載のWebアプリケーションシステム。
  6. 前記識別情報は、HTML(HyperText Markup Languageの略)ファイルであり、
    前記第1判断処理にて前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記HTMLファイルから前記装置情報を抽出する第2抽出処理と、
    前記第4送信処理において、前記第2抽出処理にて抽出した装置情報を、前記サーバに送信し、
    前記第2制御部は、
    前記第2受信処理において、前記第2抽出処理にて抽出した装置情報を、前記情報処理装置から受信することを特徴とする請求項2乃至4のいずれかに記載のWebアプリケーションシステム。
  7. 前記第2記憶部は、
    前記識別情報リストにおける各識別情報に、前記外部通信装置の能力を示す能力情報を対応付けて、更に記憶し、
    前記第2制御部は、
    前記第3送信処理において、前記第2判断処理にて前記識別情報リスト内に前記識別情報が含まれると判断した場合に、前記識別情報に対応する前記能力情報を送信し、
    前記第3制御部は、
    前記第3受信処理において、前記識別情報に対応する前記能力情報を受信し、
    前記実行許可処理において、前記第4受信処理にて受信した前記能力情報に基づいて、前記外部通信装置が実行可能である機能スクリプトの実行を許可することを特徴とする請求項2記載のWebアプリケーションシステム。
  8. 制御部と、
    Webブラウザを記憶する記憶部と、
    サーバ及び外部通信装置と通信する通信部と、
    を備えた情報処理装置のWebブラウザ上で、前記サーバから取得し、前記制御部によって実行可能なプログラムであって、
    前記プログラムは、
    前記プログラムの機能を実行する機能スクリプトと、
    前記機能スクリプトの実行の認証を行う認証スクリプトと、
    から構成されており、
    前記制御部は、
    通信する前記外部通信装置を特定する特定処理と、
    前記通信部を通じて、前記識別情報を、前記特定処理により特定した前記外部通信装置に要求する第1要求処理と、
    前記第1要求処理により要求した前記識別情報を前記外部通信装置から受信した場合に、前記識別情報に基づいて、前記外部通信装置が前記所定の外部通信装置であるか否かを判断する第1判断処理と、
    前記第1判断処理にて、前記外部通信装置が前記所定の外部通信装置であると判断した場合に、前記機能スクリプトの実行を許可する実行許可処理と、
    を前記認証スクリプトにより、実行するプログラム。
  9. 前記情報処理装置のIPアドレスを取得する取得処理と、
    前記情報処理装置のIPアドレスから、ネットワークのアドレスを表す部分であるネットワークアドレス部を抽出するネットワークアドレス抽出処理と、
    ホストアドレス部を生成するホストアドレス生成処理と、
    前記ネットワークアドレス抽出処理で抽出した前記ネットワークアドレス部と、前記ホストアドレス生成処理で生成した前記ホストアドレス部とを用いて、前記外部通信装置のIPアドレスを生成するIPアドレス生成処理と、
    を前記認証スクリプトは前記制御部に更に実行させ、
    前記特定処理は、前記IPアドレス生成処理で生成した前記外部通信装置のIPアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項8に記載のプログラム。
  10. 前記外部通信装置のIPアドレスの入力を受け付ける受付処理と、
    を前記認証スクリプトは前記制御部に更に実行させ、
    前記特定処理は、前記受付処理で受け付けた前記IPアドレスを用いて、通信する前記外部通信装置を特定することを特徴とする請求項8に記載のプログラム。
  11. 前記要求処理において、前記HTMLファイルを要求し、
    前記HTMLファイルから前記識別情報を抽出する第1抽出処理と、
    を前記認証スクリプトは前記制御部に更に実行させることを特徴とする請求項8乃至10のいずれかに記載のプログラム。
JP2017048212A 2017-03-14 2017-03-14 プログラム及び情報処理装置 Active JP6883278B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017048212A JP6883278B2 (ja) 2017-03-14 2017-03-14 プログラム及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017048212A JP6883278B2 (ja) 2017-03-14 2017-03-14 プログラム及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2018151912A true JP2018151912A (ja) 2018-09-27
JP6883278B2 JP6883278B2 (ja) 2021-06-09

Family

ID=63681753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017048212A Active JP6883278B2 (ja) 2017-03-14 2017-03-14 プログラム及び情報処理装置

Country Status (1)

Country Link
JP (1) JP6883278B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7430432B1 (ja) 2023-06-27 2024-02-13 株式会社サイエンスアーツ 情報処理装置、情報処理方法及び情報処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7430432B1 (ja) 2023-06-27 2024-02-13 株式会社サイエンスアーツ 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
JP6883278B2 (ja) 2021-06-09

Similar Documents

Publication Publication Date Title
JP6413838B2 (ja) 画像形成装置、サーバ装置、通信システム、及びプログラム
JP6421643B2 (ja) 画像形成装置、サーバ装置、及び通信システム
JP6601110B2 (ja) サーバ
US10225254B2 (en) Server transmitting device information assigned to service identification information
JP6202048B2 (ja) 画像処理システム、クラウドサーバー、画像処理装置及びプログラム
US10136005B2 (en) Image processing apparatus and image processing system capable of generating scan data and metadata
JP6421644B2 (ja) 画像形成装置、サーバ装置、及び通信システム
JP4981860B2 (ja) 複合機、機械処理可能なジョブ操作の方法、及び媒体
JP2008097253A (ja) 画像処理システム、画像処理装置及びプログラム
JP2014016674A (ja) 出力システム、出力制御装置及び出力制御プログラム
JP2016132114A (ja) 画像形成装置、該装置の制御方法、及びプログラム
JP6883278B2 (ja) プログラム及び情報処理装置
US11614904B2 (en) Printing device, information processing device, and control method and medium for the same
JP2015055951A (ja) 情報処理システム及び情報処理方法
JP6390158B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP5448516B2 (ja) 認証システム、認証方法および情報処理装置
JP6743622B2 (ja) 中継サーバ及びシステム
JP2012164107A (ja) データ処理装置及び画像処理装置
JP6693196B2 (ja) プログラム
JP6582741B2 (ja) 中継装置及び通信システム
JP5935384B2 (ja) 印刷装置の管理装置、印刷装置管理システムおよびプログラム
JP7415705B2 (ja) 画像形成装置、画像形成方法、画像形成プログラムおよび画像形成システム
JP6645055B2 (ja) 画像処理システム、画像形成装置、画面表示方法、およびコンピュータプログラム
JP2006345085A (ja) 設定情報入力装置、設定情報入力方法およびプログラム
JP6394311B2 (ja) 印刷システム、印刷装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210422

R150 Certificate of patent or registration of utility model

Ref document number: 6883278

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150