JP6638189B2 - 連携方法、情報処理端末、及びプログラム - Google Patents

連携方法、情報処理端末、及びプログラム Download PDF

Info

Publication number
JP6638189B2
JP6638189B2 JP2015001586A JP2015001586A JP6638189B2 JP 6638189 B2 JP6638189 B2 JP 6638189B2 JP 2015001586 A JP2015001586 A JP 2015001586A JP 2015001586 A JP2015001586 A JP 2015001586A JP 6638189 B2 JP6638189 B2 JP 6638189B2
Authority
JP
Japan
Prior art keywords
driver
application program
program
external device
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015001586A
Other languages
English (en)
Other versions
JP2016126651A (ja
Inventor
坂本 拓也
拓也 坂本
矢崎 孝一
孝一 矢崎
伊藤 栄信
栄信 伊藤
洋介 中村
洋介 中村
潤也 可児
潤也 可児
和明 二村
和明 二村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015001586A priority Critical patent/JP6638189B2/ja
Priority to US14/981,884 priority patent/US9832624B2/en
Publication of JP2016126651A publication Critical patent/JP2016126651A/ja
Application granted granted Critical
Publication of JP6638189B2 publication Critical patent/JP6638189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Description

本発明は、連携方法、情報処理端末、及びプログラムに関する。
最近では、ウェアラブルデバイスが注目を浴び、スマートグラスやスマートウォッチ等、多くの周辺機器が使えるようになってきている。これらの周辺機器については、スマートフォン等との連携が想定されており、例えば、BLE(Bluetooth(登録商標) Low Energy)やWi−Fi(登録商標)ダイレクト等の無線通信を介して外部から呼び出し可能なAPI(Application Program Interface)を備える。
他方において、スマートフォン等の情報処理端末を使用して業務を行う場合、その時々の業務に適したアプリケーションプログラムが使用されることになる。そこで、便利さの観点又はセキュリティの観点から、そのときどきに適した業務用のアプリを、ユーザのコンテキスト(所在地や時間等)から判断して、サーバからプッシュ配信する技術が提案されている(例えば、特許文献1、特許文献2参照)。
特開2012−216163号公報 特開2012−216162号公報 特開2009−211729号公報
ユーザのコンテキストに合わせて配信されるアプリケーションプログラムが、周辺機器と連携する場合、当該アプリケーションプログラムは、当該周辺機器のAPIを呼び出せばよい。
しかしながら、各周辺機器のAPIは、必ずしも同じではない。例えば、同じプリンタ同士であっても、機種等が異なれば、APIも異なる可能性が有る。そうすると、例えば、コンテキストが時間帯によって評価される場合、或る時間帯において配信されたアプリケーションプログラムが利用を予定している周辺機器と、当該時間帯において、当該アプリケーションプログラムの配信先の情報処理端末の周囲に存在する周辺機器との機種が異なれば、ユーザは、当該アプリケーションプログラムを有効に使用することが困難となってしまう。
そこで、一側面では、情報処理端末のアプリケーションプログラムと外部機器との連携に関する柔軟性を向上させることを目的とする。
一つの案では、情報処理端末は、ネットワークを介してアプリケーションプログラムを受信し、当該情報処理端末と通信可能な外部機器を検出し、検出された外部機器に対応するドライバプログラムであって、前記アプリケーションプログラムからの前記外部機器に対する要求の送信を当該情報処理端末に実行させるドライバプログラムをネットワークを介して取得し、前記アプリケーションプログラムが起動されると、前記ドライバプログラムを実行する、処理を実行する。
一側面によれば、情報処理端末のアプリケーションプログラムと外部機器との連携に関する柔軟性を向上させることができる。
第一の実施の形態におけるシステム構成例を示す図である。 第一の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。 第一の実施の形態における連携管理サーバ及びユーザ端末の機能構成例を示す図である。 第一の実施の形態におけるユーザ端末及び連携管理サーバが実行する処理手順の一例を説明するための図である。 第一の実施の形態におけるアイコン画像の表示例を示す図である。 第一の実施の形態におけるWebアプリのHTMLファイルと共通ライブラリとの定義内容の一例を示す図である。 発見用情報記憶部の構成例を示す図である。 ドライバ管理情報記憶部の構成例を示す図である。 第一の実施の形態における共通ライブラリの第二の定義内容の例を示す図である。 第二の実施の形態における連携管理サーバ及びユーザ端末の機能構成例を示す図である。 第二の実施の形態におけるユーザ端末及び連携管理サーバが実行する処理手順の一例を説明するための図である。 対応情報記憶部の構成例を示す図である。 第二の実施の形態におけるアイコン画像の表示例を示す図である。 第二の実施の形態における共通ライブラリの定義内容の例を示す図である。 第三の実施の形態における共通ライブラリの定義内容の例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態におけるシステム構成例を示す図である。図1において、連携管理サーバ20は、無線LAN(Local Area Network)等の無線通信、又は移動体通信網等を介して1以上のユーザ端末10と通信可能である。また、ユーザ端末10は、周辺機器30a及び周辺機器30b等、1以上の周辺機器30と、無線LAN又はBlueTooth(登録商標)等の無線通信を介して通信可能である。なお、説明の便宜上、図1に示されるシステム構成は、或る企業内(以下、「企業A」という。)において構築されていることとする。
ユーザ端末10は、ユーザによって直接操作される端末である。ユーザ端末10の一例として、スマートフォン及びタブレット端末等のスマート端末が挙げられる。但し、PC(Personal Computer)等、他の種類の情報処理端末であって、無線通信が可能な情報処理端末が、ユーザ端末10として利用されてもよい。本実施の形態において、ユーザ端末10は、無線通信を介して周辺機器30と連携した処理を実行する。なお、ユーザ端末10のユーザは、例えば、企業Aの従業員である。
周辺機器30は、ユーザ端末10と無線通信を介して連携する外部機器の一例である。例えば、プリンタ、デジタルカメラ、ストレージ(記憶装置)、スマートグラス、又はスマートウォッチ等が、周辺機器30として用いられてもよい。又は、エアコン等の家電機器が、周辺機器30として用いられてもよい。
連携管理サーバ20は、各ユーザ端末10のユーザのコンテキストに対応したWebアプリケーションプログラム(以下、「Webアプリ」という。)を、各ユーザ端末10に配信するコンピュータである。コンテキストとは、例えば、現在の所在地、現在の日時、現在の天候等、ユーザが置かれた状況又はユーザの状態又は状況を示す概念である。なお、ユーザ端末10は、ユーザによって携帯される。したがって、ユーザのコンテキストは、ユーザ端末10のコンテキストであるともいえる。連携管理サーバ20は、また、各ユーザ端末10に配信されたWebアプリが周辺機器30と連携(周辺機器30にアクセス)するために必要な情報の管理も行う。
なお、Webアプリとは、HTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、及びJavaScript(登録商標)等を構成要素とするアプリケーションプログラムである。例えば、本実施の形態におけるWebアプリは、Packaged Web Apps形式(http://www.w3.org/TR/widgets/参照)のWebアプリであってもよい。
図2は、第一の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。図2において、ユーザ端末10は、CPU101、メモリ102、補助記憶装置103、タッチパネル104、及び無線通信装置105等を有する。
補助記憶装置103は、ユーザ端末10にインストールされたプログラム等を記憶する。メモリ102は、プログラムの起動指示があった場合に、補助記憶装置103からプログラムを読み出して記憶する。CPU101は、メモリ102に記憶されたプログラムに従ってユーザ端末10に係る機能を実現する。
タッチパネル104は、入力機能と表示機能との双方を備えた電子部品であり、情報の表示や、ユーザからの入力の受け付け等を行う。タッチパネル104は、表示装置111及び入力装置112等を含む。
表示装置111は、液晶ディスプレイ等であり、タッチパネル104の表示機能を担う。入力装置112は、表示装置111に対する接触物の接触を検出するセンサを含む電子部品である。接触物の接触の検出方式は、静電方式、抵抗膜方式、又は光学方式等、公知の方式のいずれであってもよい。なお、接触物とは、タッチパネル104の接触面(表面)に接触する物体をいう。斯かる物体の一例として、ユーザの指や専用又は一般のペン等が挙げられる。無線通信装置105は、無線通信を行うために必要とされる電子部品である。
図3は、第一の実施の形態における連携管理サーバ及びユーザ端末の機能構成例を示す図である。図3において、ユーザ端末10は、端末通信部121、UI制御部122、アプリ受信部123、アプリ起動部124、共通ライブラリ実行部125、発見用情報取得部126、機器検出部127、ドライバ取得部128、及びドライバ実行部129等を有する。これら各部は、ユーザ端末10にインストールされた1以上のプログラムがCPU101に実行させる処理により実現される。ユーザ端末10は、また、アプリ記憶部141及びドライバ記憶部142等を有する。これら各記憶部は、例えば、補助記憶装置103を用いて実現可能である。
端末通信部121は、ユーザ端末10による無線通信を制御する。UI制御部122は、連携管理サーバ20から配信されるWebアプリ等に関して表示制御を行う。アプリ受信部123は、連携管理サーバ20から配信されるWebアプリを受信する。受信されたWebアプリは、アプリ記憶部141に記憶される。アプリ起動部124は、アプリ受信部123によって受信されたWebアプリを起動する。
共通ライブラリ実行部125は、Webアプリに添付されている共通ライブラリの実行を制御する。共通ライブラリとは、周辺機器30の機能及び用途等に基づく種別(以下、「機器種別」という。)ごとに共通なライブラリをいう。周辺機器30の使用を予定しているWebアプリには、当該周辺機器30が属する機器種別に対応する共通ライブラリが添付されている。共通ライブラリは、当該共通ライブラリが対応する機器種別に属する各周辺機器30を無線通信を介して検出(発見)するたに必要な、各周辺機器30の識別情報(以下、「発見用情報」という。)の連携管理サーバ20からの取得、発見用情報を利用した周辺機器30の検出(発見)、検出された周辺機器30に対応するドライバの取得等を、ユーザ端末10に実行させるための定義を含む。本実施の形態において、共通ライブラリは、Webアプリとの親和性を考慮して、JavaScript(登録商標)によって記述される。なお、発見用情報は、例えば、SSID又はMACアドレス等である。また、ドライバとは、Webアプリからの周辺機器30に対する要求の送信を、ユーザ端末10に実行させるためのプログラム(ドライバプログラム)である。具体的には、ドライバは、周辺機器30に固有のAPI(Application Program Interface)を隠蔽し、抽象度の高いAPIを上位のプログラム(本実施の形態ではWebアプリ)に提供する。例えば、或るプリンタに対応するドライバは、print(url)という関数(API)を提供してもよい。当該関数は、例えば、引数urlに指定されたURLに対応するコンテンツを印刷するといった関数である。この場合、当該ドライバには、引数に指定されたコンテンツのダウンロード処理と、当該当該ドライバが対応するプリンタにコンテンツを印刷させるための処理とが定義される。ここで、当該ドライバに対応するプリンタに印刷させるための処理は、当該プリンタが公開している、当該プリンタに固有のAPIを呼び出す処理である。各機種のプリンタに対応するドライバが、print(url)を提供すれば、或るWebアプリは、所定のタイミング(例えば、Webアプリが表示させるボタンが押下されたタイミング)でprint(url)を呼び出すようなスクリプトを含むことで、当該Webアプリについて、特定の機種のプリンタへの依存度を低下させることができる。すなわち、当該Webアプリは、ドライバさえ入れ替えれば、同じソースコードで、複数の機種のプリンタに同様の処理を実行させることができる。なお、print(url)という関数は、例示に過ぎない。また、1つのドライバには、複数種類の関数が含まれていてもよい。なお、本実施の形態において、ドライバは、JavaScript(登録商標)によって記述される。
発見用情報取得部126、機器検出部127、ドライバ取得部128、及びドライバ実行部129は、共通ライブラリにおいて使用されるAPIに対する実装部分である。すなわち、発見用情報取得部126は、共通ライブラリからの、発見用情報の取得要求を示すAPIの呼び出しに応じ、アプリ受信部123によって受信されたWebアプリが使用を予定している機器種別に属する周辺機器30に係る発見用情報の一覧を連携管理サーバ20から取得する。ここでは、ユーザ端末10と現在通信可能であるか否かを問わず、当該機器種別に属する全ての周辺機器30の発見用情報が取得される。すなわち、発見用情報取得部126によって取得される発見用情報は、Webアプリからの要求の送信先の候補となる周辺機器30の発見用情報である。
機器検出部127は、共通ライブラリからの、周辺機器30の検出要求を示すAPIの呼び出しに応じ、発見用情報取得部126によって取得された発見用情報を利用して、ユーザ端末10が現在使用可能な(通信可能な)周辺機器30を検出する。ドライバ取得部128は、共通ライブラリからの、ドライバの取得要求を示すAPIの呼び出しに応じ、機器検出部127によって検出された周辺機器30に対するドライバを、連携管理サーバ20から取得する。取得されたドライバは、ドライバ記憶部142に記憶される。ドライバ実行部129は、ドライバの実行要求を示すAPIの呼び出しに応じ、ドライバ取得部128によって取得されたドライバを実行する。
連携管理サーバ20は、サーバ通信部21、アプリ記憶部22、発見用情報記憶部23、ドライバ管理情報記憶部24、及びドライバ記憶部25等を有する。
サーバ通信部21は、各ユーザ端末10との通信を制御すると共に、各ユーザ端末10から要求された処理を実行する。アプリ記憶部22は、コンテキストを示す情報に関連付けてWebアプリを記憶する。発見用情報記憶部23は、企業A内に設置等されている各周辺機器30の発見用情報を記憶する。ドライバ管理情報記憶部24は、ドライバごとに、当該ドライバの保存先を示すURL(Uniform Resource Locator)を記憶する。ドライバ記憶部25は、各ドライバを記憶する。
以下、ユーザ端末10及び連携管理サーバ20が実行する処理手順について説明する。図4は、第一の実施の形態におけるユーザ端末及び連携管理サーバが実行する処理手順の一例を説明するための図である。
ステップS201において、連携管理サーバ20のサーバ通信部21は、ユーザ端末10のコンテキストに対応したWebアプリをアプリ記憶部22から取得し、取得されたWebアプリを、ユーザ端末10に配信する。
例えば、日時のように、連携管理サーバ20において検知可能なコンテキストであって、各ユーザ端末10に対して共通のコンテキストについては、連携管理サーバ20が検知してもよい。一方、ユーザ端末10の所在地等、ユーザ端末10ごとに異なり、ユーザ端末10でないと検知が困難なコンテキストについては、ユーザ端末10から連携管理サーバ20に通知が行われてもよい。所在地は、緯度及び経度等によって識別されてもよいし、例えば、ユーザ端末10が通信可能なアクセスポイントのSSID(Service Set Identifier)等に基づいて識別されてもよい。
続いて、ユーザ端末10のアプリ受信部123は、連携管理サーバ20から配信されたWebアプリを受信し、受信したWebアプリを、アプリ記憶部141に記憶する(S101)。アプリ受信部123は、Webアプリをアプリ記憶部141に記憶する際、当該Webアプリを暗号化してもよい。なお、Webアプリは、例えば、書庫ファイルに書庫化されている。当該書庫ファイル内に、HTMLファイル、CSSファイル、スクリプトファイル、及びアイコンファイル等が含まれている。
続いて、UI制御部122は、アプリ受信部123によって受信されたWebアプリのアイコンファイルが示すアイコン画像を、表示装置111に表示する(S102)。
図5は、第一の実施の形態におけるアイコン画像の表示例を示す図である。図5には、表示装置111の画面(例えば、ホーム画面)に、Webアプリのアイコン画像g1が表示された例が示されている。
アイコン画像g1がユーザによって操作されることにより、Webアプリの起動が指示されると、アプリ起動部124は、当該Webアプリを起動する(S103)。Webアプリの起動に応じ、共通ライブラリ実行部125は、WebアプリのHTMLファイル内の定義に従って、共通ライブラリを読み込み、当該共通ライブラリを実行する(S104)。なお、共通ライブラリは、例えば、Webアプリの書庫ファイル内に格納されている1以上のスクリプトファイルのうちの一つのスクリプトファイルである。但し、共通ライブラリは、予めユーザ端末10に記憶されていてもよい。
図6は、第一の実施の形態におけるWebアプリのHTMLファイルと共通ライブラリとの定義内容の一例を示す図である。図6において、定義d1は、WebアプリのHTMLファイル内の定義の一部を示す。定義d1においては、「/common/printer.js」というファイル名のスクリプトを実行すべきことが示されている。当該スクリプトが、共通ライブラリである。
定義d2は、共通ライブラリの定義内容である。定義d2に含まれている、記述d21、記述d22、記述d23、記述d24のそれぞれは、発見用情報取得部126、機器検出部127、ドライバ取得部128、又はドライバ実行部129に対応するAPI(Application Program Interface)である。
すなわち、共通ライブラリ実行部125は、記述d21のgetInfoメソッドを検出すると、当該メソッドに対応する発見用情報取得部126を呼び出す。発見用情報取得部126は、getInfoメソッドの第1引数の指定されている機器種別(図6の例では、「printer」)に属する周辺機器30に関する発見用情報の一覧を、連携管理サーバ20から取得する(S105)。具体的には、発見用情報取得部126が、機器種別(「printer」)を指定して、発見用情報の取得要求を連携管理サーバ20に送信する。連携管理サーバ20のサーバ通信部21は、指定された機器種別に属する周辺機器30の発見用情報を発見用情報記憶部23を参照して特定する。
図7は、発見用情報記憶部の構成例を示す図である。図7に示されるように、発見用情報記憶部23には、機器種別に対応付けられて、当該機器種別に属する1以上の周辺機器30の発見用情報が記憶されている。各周辺機器30は、企業A内のいずれかの場所に設置等されている周辺機器30である。なお、図7において、「・・・」は、1つの周辺機器30に係る発見用情報を示す。「,」は、各発見用情報の区切りを示す。
サーバ通信部21が、発見用情報の取得要求に指定された機器種別に対応付けられている発見用情報の一覧を返信すると(S202)、発見用情報取得部126は、当該一覧を受信する。なお、当該一覧は、記述d21における変数devs内に格納される。
続いて、共通ライブラリ実行部125は、記述d22のdiscoverメソッドを検出すると、機器検出部127を呼び出す。機器検出部127は、当該呼び出しに応じ、ステップS106及びS107を実行する。ステップS106において、機器検出部127は、discoverメソッドの第1引数に指定されている変数devsに格納されている各発見用情報(SSID又はMACアドレス等)を用いて、周辺機器30の検出処理(発見処理)を実行する(S106)。変数devsに格納されている各発見用情報とは、ステップS105において取得された発見用情報である。SSID又はMACアドレス等を用いた周辺機器30の検出処理は、公知の無線技術等を用いて実行されればよい。例えば、SSID又はMACアドレスへのアクセスが試行され、当該アクセスに成功すれば、当該SSID又はMACアドレスに対応する周辺機器30は検出されたこととされ、当該アクセスに失敗すれば、当該SSID又はMACアドレスに対応する周辺機器30は検出されなかったこととされてもよい。周辺機器30の検出処理によって、ユーザ端末10が現時点において使用可能な周辺機器30が特定される。なお、Wi−Fi(登録商標)ダイレクトに対応した周辺機器30であれば、Wi−Fi(登録商標)のSSIDが、発見用情報として使用可能である。BLE(Bluetooth(登録商標) Low Energy)に対応した周辺機器30であれば、MACアドレス又は周辺機器30の機器名が、発見用情報として使用可能である。
続いて、機器検出部127は、検出された周辺機器30ごとに、当該周辺機器30の発見用情報に基づいて、当該周辺機器30に対するドライバの保存先を示すURL(Uniform Resource Locator)を、連携管理サーバ20から取得する(S107)。例えば、機器検出部127は、検出された周辺機器30に係る発見用情報を指定して、当該周辺機器30に対するドライバのURL(以下、「ドライバURL」という。)の取得要求を、連携管理サーバ20に送信する。連携管理サーバ20のサーバ通信部21は、当該取得要求に指定されている発見用情報に対応するドライバURLを、ドライバ管理情報記憶部24から取得する。
図8は、ドライバ管理情報記憶部の構成例を示す図である。図8に示されるように、ドライバ管理情報記憶部24は、各発見用情報に対応付けて、当該発見用情報に係る周辺機器30に対するドライバURLを記憶する。発見用情報は、周辺機器30の機体ごとに異なるため、ドライバ管理情報記憶部24には、周辺機器30の機体ごとのドライバURLが記憶されている。但し、複数の周辺機器30に対して共通のドライバが有効である場合、当該複数の周辺機器30に係る発見用情報に対して、共通のドライバURLが記憶されていてもよい。
サーバ通信部21が、ドライバURLの取得要求に指定された発見用情報に対応付けられているドライバURLを返信すると(S203)、機器検出部127は、当該ドライバURLを受信する。なお、発見用情報ごとに受信されたドライバURLの一覧は、記述d22の変数driver_urlに格納される。
続いて、共通ライブラリ実行部125は、記述d23のgetDriverメソッドを検出すると、ドライバ取得部128を呼び出す。ドライバ取得部128は、getDriverメソッドの第1引数に指定されている変数driver_urlに格納されているドライバURLによって識別される保存先から、ドライバを取得(ダウンロード)する(S108)。変数driver_urlに格納されているドライバURLとは、ステップS107において取得されたドライバURLである。例えば、ドライバ取得部128は、当該ドライバURL宛に、ドライバの取得要求を送信する。連携管理サーバ20のサーバ通信部21は、当該ドライバURLに対応付けられてドライバを、ドライバ記憶部25から取得し、取得されたドライバを返信する(S204)。ドライバ取得部128は、当該ドライバを受信する。受信されたドライバは、ドライバ記憶部142に記憶される。ドライバ記憶部142に記憶されたドライバの識別名(以下、「ドライバ名」という。)は、記述d23のdriver変数に格納される。なお、ドライバ取得部128は、受信されたドライバを暗号化してドライバ記憶部142に記憶してもよい。すなわち、ドライバは、Webアプリとは別に暗号化されて記憶される。
続いて、共通ライブラリ実行部125は、記述d24のevalメソッドを検出すると、ドライバ実行部129を呼び出す。ドライバ実行部129は、evalメソッドの引数であるdriver変数に格納されているドライバ名によって特定されるドライバを、ドライバ記憶部142からメモリ102に読み込み、当該ドライバに定義されている処理を実行する(S109)。この際、ドライバが暗号化されて記憶されている場合には、ドライバ実行部129は、当該ドライバを復号してメモリ102に読み込む。
ドライバに定義されている処理の実行により、Webアプリは、現時点においてユーザ端末10と通信可能な周辺機器30を、当該ドライバを介して使用することができる。
なお、読み込み対象とするドライバを、対応情報記憶部143に基づいて動的に変更するのは、ネイティブなアプリケーションでは困難である。ネイティブなアプリケーションは、既にコンパイルが行われている状態で配布されるため、配布先において処理内容を変更するのが困難だからである。一方、Webアプリの場合は、ドライバをスクリプト言語で作成することが可能であるため、読み込み対象とするドライバを動的に変更することができる。
なお、上記では、共通ライブラリにおいて、発見用情報取得部126、機器検出部127、及びドライバ取得部128のそれぞれごとに、各部の機能を呼び出すためのAPI(メソッド)が異なる例について説明したが、これら各部の機能を連続して実行させるためのAPIが定義されてもよい。この場合、共通ライブラリの定義内容は、例えば、図9に示されるようなものでもよい。
図9は、第一の実施の形態における共通ライブラリの第二の定義内容の例を示す図である。図9中、図6と同一部分には同一符号を付し、その説明は省略する。
図9において、定義d3は、共通ライブラリの第二の定義例である。定義d3において、記述d31は、発見用情報取得部126、機器検出部127、及びドライバ取得部128のそれぞれの機能を連続して実行させるためのメソッドである。すなわち、記述d31のgetDriverメソッドが呼び出されると、ステップS105〜S108が実行される。このように、共通ライブラリにおいて使用可能な各APIを、どのような機能単位で区別するかについては、適宜決定されてよい。
なお、上記では、1つの周辺機器30に対してドライバが1つ用意される例を示したが、1つの周辺機器30に対して複数種類のドライバが用意されていてもよい。1つの周辺機器30に対応する複数種類のドライバは、例えば、提供するAPIの種類及び数が異なる。例えば、第1のドライバは、ドライバのデータサイズ(ユーザ端末10の記憶容量の消費量の削減)を優先して、周辺機器30を利用するために必要最小眼のAPI(例えば、周辺機器30がプリンタであれば、モノクロ片面印刷に関するAPI)を提供する。第2のドライバは、更に、高度な機能(例えば、カラー印刷、両面印刷等)に関するAPIを提供する。更に高度な機能に関するAPIを提供する第3以降のドライバが用意されてもよい。
1つの周辺機器30に対して複数種類のドライバが用意される場合、例えば、ステップS102において表示されたアイコン画像g1が操作されると、UI制御部122は、ドライバの選択基準をユーザに選択させるメニューを表示してもよい。メニュー項目は、例えば、「サイズ優先」、「機能優先」等である。ステップS107において、機器検出部127は、検出された周辺機器30に係る発見用情報と、当該メニューにおいて選択されたメニュー項目に対応した値(以下、「選択基準」という。)を指定して、当該周辺機器30に対するドライバの取得要求を、連携管理サーバ20に送信する。連携管理サーバ20のサーバ通信部21は、当該取得要求に指定されている発見用情報及び選択基準に対応するドライバURLを、ドライバ管理情報記憶部24から取得する。すなわち、この場合、連携管理サーバ20のドライバ管理情報記憶部24には、発見用情報及び選択基準ごとに対応付けられて、ドライバURLが記憶されている。
上述したように、第一の実施の形態によれば、ユーザ端末10は、Webアプリの受信に応じて、当該Webアプリが使用又は連携を予定している機器種別に係る周辺機器30のうち、現時点においてユーザ端末10が通信可能な周辺機器30に対応するドライバを自動的にダウンロードして、実行する。ここで、当該周辺機器30に固有のAPIは、ドライバによって隠蔽される。したがって、Webアプリは、周辺機器30の機種等に対して平滑化されたドライバの関数を呼び出すことで、周辺機器30と連携することができる。すなわち、或るWebアプリの配信先のユーザ端末10においてたまたま通信可能な周辺機器30であっても、当該Webアプリから使用可能となる可能性を高めることができる。このように、本実施の形態によれば、Webアプリと周辺機器30との連携に関する柔軟性を向上させることができる。
また、第一の実施の形態によれば、周辺機器30ごとに、いずれのドライバが必要であるのかを示す情報や、ドライバ自体を予めユーザ端末10に記憶しておく必要性を低減することができる。したがって、ユーザ端末10において、このような情報やドライバ自体を記憶するための記憶容量の消費を抑制することができる。
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。第二の実施の形態において、特に言及されない点については、第一の実施の形態と同様でもよい。
第一の実施の形態では、Webアプリの起動に応じて、周辺機器30の検出及びドライバの取得等が実行される例について説明したが、第二の実施の形態では、ユーザ端末10においてWebアプリの起動前に(すなわち、Webアプリの受信に応じて)、周辺機器30の検出及びドライバの取得等が行われる例について説明する。
図10は、第二の実施の形態における連携管理サーバ及びユーザ端末の機能構成例を示す図である。図10中、図3と同一又は対応する部分には同一符号を付し、その説明は、適宜省略する。図10において、ユーザ端末10は、更に、アプリ解析部130及び対応情報記憶部143を有する。
アプリ解析部130は、アプリ受信部123によって受信されたWebアプリの定義内容(ソースコード)を解析して、当該Webアプリが使用を予定している周辺機器30の機器種別を特定する。なお、アプリ解析部130は、ユーザ端末10にインストールされたプログラムが、CPU101に実行させる処理により実現される。
対応情報記憶部143は、アプリ受信部123によって受信されたWebアプリと、機器検出部127によって検出された周辺機器30と、ドライバ取得部128によって取得されたドライバとの対応情報を記憶する。対応情報記憶部143は、例えば、補助記憶装置103を用いて実現可能である。
図11は、第二の実施の形態におけるユーザ端末及び連携管理サーバが実行する処理手順の一例を説明するための図である。図11中、図4と同一ステップには同一ステップ番号を付し、その説明は省略する。
アプリ受信部123によってWebアプリが受信されると(S101)、アプリ解析部130は、当該WebアプリのHTMLファイルを解析して、当該Webアプリが使用を予定している周辺機器30の機器種別を特定する(S111)。第二の実施の形態において、WebアプリのHTMLファイルの定義内容は、第一の実施の形態と同様でよい。但し、第二の実施の形態では、共通ライブラリのファイル名が、機器種別を示すこととする。例えば、図6の定義d1には、共通ライブラリのファイルパス名が、「common/printer.js」であることが定義されている。アプリ解析部130は、当該ファイルパス名に含まれるファイル名「printer.js」から拡張子を除くことによって得られる文字列「printer」を機器種別として特定する。なお、HTMLファイルは、テキストデータであるため、斯かる解析は容易である。又は、Webアプリが、Packaged Web Apps形式である場合、Configuration Documentに機器種別が記述されてもよい。例えば、Configuration Document内に、以下のような記述が含められてもよい。
<feature name = "http://example.org/device/printer"/>
この例では、機器種別はURLによって示されるため、解析は更に容易となる。
続くステップS105a〜S108aは、基本的に、図4のステップS105〜S108と同様の処理である。但し、第二の実施の形態ではステップS105a〜S108aが共通ライブラリに基づいて実行される処理ではない点が、第一の実施の形態と異なる。すなわち、第二の実施の形態において、ステップS111、及びステップS105a〜S108aは、Webアプリが受信された際の既定の処理として実行される。換言すれば、第二の実施の形態において、発見用情報取得部126、機器検出部127、及びドライバ取得部128は、共通ライブラリに定義されたメソッドの呼び出しに応じてではなく、Webアプリが受信された際の既定の処理として、ステップS105a〜S108aを実行する。第二の実施の形態では、Webアプリの実行前に(Webアプリの受信に応じて)、周辺機器30の検出及びドライバの取得等を行うところ、Webアプリの実行前においては、当該Webアプリの一部を構成するスクリプトである共通ライブラリを実行することが困難なためである。
なお、ステップS108aでは、ドライバと共に、ドライバのアイコンファイルが受信されてもよい。ドライバのアイコンファイルは、ドライバと共に書庫ファイルの書庫化されていてもよい。また、ステップS108と同様、取得されたドライバは、暗号化されてドライバ記憶部142に記憶されてもよい。
ステップS108aに続いて、ドライバ取得部128は、ステップS101において受信されたWebアプリの識別情報であるアプリIDと、ステップS106aにおいて検出された周辺機器30の識別情報である機器IDと、ステップS111において特定された機器種別と、ステップS108aにおいて取得されたドライバの識別情報であるドライバ名とを対応付けて、対応情報記憶部143に記憶する(S112)。
図12は、対応情報記憶部の構成例を示す図である。図12に示されるように、対応情報記憶部143は、アプリID、機器ID、機器種別、及びドライバ名を対応付けて記憶する。ここで、アプリIDは、例えば、Webアプリのファイル名でもよい。また、機器IDは、当該機器IDに係る周辺機器30に対する発見用情報と同じ値でもよい。ドライバ名は、ドライバのファイル名でもよい。
対応情報記憶部143は、また、使用対象の項目を有する。使用対象の項目は、ステップS108aにおいて、1つのWebアプリに関して複数の周辺機器30が検出された場合に、いずれの周辺機器30を使用対象とするのかを示す情報である。「Yes」は、使用対象であることを意味する。「No」は、使用対象でないことを意味する。例えば、最初に検出された周辺機器30が、自動的に使用対象とされてもよい。
続いて、UI制御部122は、ステップS101において受信されたWebアプリのアイコン画像と、当該Webアプリに関して使用対象とされているドライバのアイコン画像とを表示装置111に表示させる(S113)。Webアプリに関して使用対象とされているドライバとは、対応情報記憶部143における当該Webアプリに関するレコードにおいて、使用対象の項目の値が「Yes」であるドライバである。
図13は、第二の実施の形態におけるアイコン画像の表示例を示す図である。図13中、図5と同一部分には同一符号が付されている。
図13において、(1)が、ステップS113に対応した状態を示す。(1)においては、Webアプリのアイコン画像g1に重畳するように、ドライバのアイコン画像g2が表示されている。
ここで、例えば、同じ機器種別に関して複数の周辺機器30が検出された場合に、アイコン画像g1に重畳されているアイコン画像g2が操作(タッチ)されると、UI制御部122は、(2)に示されるように、アイコン画像g1に係るWebアプリに対応付けられている各ドライバをメニュー項目とするメニューm1を表示させる。なお、Webアプリに対応付けられている各ドライバとは、対応情報記憶部143において、当該WebアプリのアプリIDに対応付けられてドライバ名が記憶されているドライバをいう。
メニューm1において、いずれかのメニュー項目が選択されると、UI制御部122は、(3)に示されるように、当該メニュー項目に係るドライバに対応するアイコン画像g3を、アイコン画像g1に重畳させる。この際、UI制御部122は、対応情報記憶部143において、アイコンg2に対応するドライバの使用対象の項目の値を「No」として、アイコンg3に対応するドライバの使用対象の項目の値を「Yes」とする。
ステップS113においてアイコン画像g1が表示されることにより、ユーザは、Webアプリの利用が可能となる。そこで、ユーザによってアイコン画像g1が操作されることにより、Webアプリの起動が指示されると、アプリ起動部124は、当該Webアプリを起動する(S121)。Webアプリの起動に応じ、共通ライブラリ実行部125は、WebアプリのHTMLファイル内の定義d1に従って、共通ライブラリを読み込み、当該共通ライブラリを実行する(S122)。
図14は、第二の実施の形態における共通ライブラリの定義内容の例を示す図である。図14において、定義d4は、共通ライブラリの定義内容の一例である。なお、図14の記述d41におけるgetDriverメソッドと、図9の記述d31におけるgetDriverメソッドとの実装(呼び出しに応じて実行される処理)が異なる。すなわち、図9と図14とでは、便宜上、同一のメソッド名が使用されているが、これらのメソッドは、相互に機能が異なるメソッドである。
共通ライブラリ実行部125は、定義d4内の記述d41のgetDriverメソッドを検出すると、当該メソッドに対応するドライバ取得部128を呼び出す。ドライバ取得部128は、対応情報記憶部143を参照して、読み込み対象のドライバを特定する(S123)。具体的には、起動されたWebアプリのアプリIDと当該メソッドの第1引数に指定されている機器種別との組み合わせに対応付けられて対応情報記憶部143に記憶されているドライバ名のうち、使用対象の項目の値が「Yes」であるドライバ名が特定される。
続いて、ドライバ取得部128は、特定されたドライバ名に係るドライバを、ドライバ記憶部142からメモリ102に読み込む(S124)。この際、ドライバが暗号化されて記憶されている場合には、ドライバ実行部129は、当該ドライバを復号してメモリ102に読み込む。読み込まれたドライバのドライバ名は、記述d41のdriver変数に格納される。なお、共通ライブラリは、Webアプリの一部であるため、起動されたWebアプリのアプリIDは、共通ライブラリから呼び出されているドライバ取得部128において特定可能である。
続いて、共通ライブラリ実行部125は、記述d42のevalメソッドを検出すると、ドライバ実行部129を呼び出す。ドライバ実行部129は、driver変数に格納されているドライバ名によって特定されるドライバであって、ステップS124においてメモリ102に読み込まれているドライバに定義されている処理を実行する(S125)。その結果、Webアプリは、現時点においてユーザ端末10と通信可能な周辺機器30を利用することができる。
上述したように、第二の実施の形態によれば、第一の実施の形態と異なる構成及び異なる処理手順によって、第一の実施の形態と同様の効果を得ることができる。
次に、第三の実施の形態について説明する。第三の実施の形態では第二の実施の形態と異なる点について説明する。第三の実施の形態において、特に言及されない点については、第二の実施の形態と同様でもよい。
第三の実施の形態では、Webアプリの受信に応じて直ちに周辺機器30の検出処理は実行されない。すなわち、第二の実施の形態では、Webアプリが受信されたその場で周辺機器30が使用されることを想定したため、Webアプリの受信に応じて周辺機器30の検出処理が実行される例を説明した。しかし、例えば、オフィスでWebアプリを受信して、オフィスとは異なる場所で当該Webアプリと周辺機器30とを連携させたい場合も考えられる。例えば、ユーザが、出張先においてWebアプリを使用して印刷を行いたい場合であって、出張先では、連携管理サーバ20とユーザ端末10との通信が出来ないような場合である。
このような場合には、図11のステップS101〜S113のうちのステップS106a以外が、オフィス等、連携管理サーバ20との通信が可能な環境で実行されればよい。ステップS107a及びS108aでは、ステップS111において特定された機器種別に属する全ての周辺機器30に対応するドライバが取得されてもよいし、一部の周辺機器30に対応するドライバが取得されてもよい。例えば、当該機器種別に属する全ての周辺機器30に係るドライバの中から、ダウンロード対象とするドライバが、ユーザによって選択されてもよい。ユーザは、出張先におけるプリンタに対応する可能性が高いドライバを選択すればよい。したがって、第三の実施の形態のステップS113の終了時においては、オフィスにおいて受信されたWebアプリが使用を予定している機器種別に属する全て又は一部の各周辺機器30に係る機器種別、機器ID、及びドライバ名等が、当該WebアプリのアプリIDに対応付けられて対応情報記憶部143に記憶された状態となる。
ユーザが、出張先においてWebアプリを起動すると、図11のステップS121以降が実行される。この際、例えば、ステップS122に続いてステップS107a及びS108aが実行されてもよい。このような処理手順を実現するために、共通ライブラリは、例えば、図15に示されるように定義されていてもよい。
図15は、第三の実施の形態における共通ライブラリの定義内容の例を示す図である。定義d5において、記述d51は、ステップS106aに対応し、記述d52は、ステップS123及びS124に対応し、記述d53は、ステップS125に対応する。
すなわち、共通ライブラリ実行部125は、記述d51のdiscoverメソッドを検出すると、当該メソッドに対応する機器検出部127を呼び出す。機器検出部127は、discoverメソッドの第1引数に指定された「printer」によって識別される機器種別に該当する周辺機器30の検出処理を実行する。検出された周辺機器30の機器IDは、記述d51のdevice_idに格納される。
続いて、共通ライブラリ実行部125は、記述d52のgetDriverメソッドを検出すると、当該メソッドに対応するドライバ取得部128を呼び出す。ドライバ取得部128は、getDriverメソッドの第1引数に指定されている機器IDと、起動されているWebアプリのアプリIDとに対応するドライバ名を、対応情報記憶部143(図12)を参照して特定する。ドライバ取得部128は、当該ドライバ名に係るドライバを、ドライバ記憶部142からメモリ102に読み込む。当該ドライバ名は、変数driverに格納される。
続いて、記述d53に基づいて、図11のステップS125と同様の処理が実行される。
上述したように、第三の実施の形態によれば、ユーザ端末10におけるWebアプリの受信時期と、周辺機器30の検出時期とが異なる場合でも、Webアプリと周辺機器30との連携を実現することができる。
なお、上記各実施の形態では、Webアプリとドライバとが分離されて配信される例について説明したが、Webアプリとドライバとは、一体的に配信されてもよい。例えば、ドライバは、Webアプリと同じ書庫ファイル内に含まれて配信されてもよい。この場合、連携管理サーバ20は、ユーザ端末10のコンテキスト(所在地等)に対応したドライバを推定し、当該ドライバを当該コンテキストに応じて配信されるWebアプリに添付してもよい。この場合、複数の周辺機器30のそれぞれに対応する複数のドライバがWebアプリに添付されてもよい。ユーザ端末10側では、検出された周辺機器30に対応するドライバが読み込まれ、実行されればよい。
また、上記各実施の形態は、Webアプリ以外のアプリケーションプログラムに関して適用されてもよい。
なお、上記各実施の形態において、ユーザ端末10は、情報処理端末の一例である。周辺機器30は、外部機器の一例である。アプリ受信部123は、受信部の一例である。機器検出部127は、検出部の一例である。ドライバ取得部128は、取得部の一例である。ドライバ実行部129は、実行部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
情報処理端末が、
ネットワークを介してアプリケーションプログラムを受信し、
当該情報処理端末と通信可能な外部機器を検出し、
検出された外部機器に対応するドライバプログラムであって、前記アプリケーションプログラムからの前記外部機器に対する要求の送信を当該情報処理端末に実行させるドライバプログラムをネットワークを介して取得し、
前記アプリケーションプログラムが起動されると、前記ドライバプログラムを実行する、
処理を実行することを特徴とする連携方法。
(付記2)
前記アプリケーションプログラムからの要求の送信先の候補となる外部機器の識別情報をネットワークを介して取得する処理を前記情報処理端末が実行し、
前記検出する処理は、取得された識別情報に係る外部機器のうち、当該情報処理端末と通信可能な外部機器を検出する、
ことを特徴とする付記1記載の連携方法。
(付記3)
前記取得する処理は、前記検出された外部機器に対応する複数のドライバプログラムのうち、ユーザによる指定に対応するドライバプログラムを取得する、
ことを特徴とする付記1又は2記載の連携方法。
(付記4)
前記ドライバプログラムを取得する処理は、取得したドライバプログラムを、前記アプリケーションプログラムとは別に暗号化して記憶部に記憶し、
前記実行する処理は、前記アプリケーションプログラムが起動されると、前記記憶部に記憶されているドライバプログラムを復号して実行する、
ことを特徴とする付記1乃至3いずれか一項記載の連携方法。
(付記5)
前記受信する処理は、前記情報処理端末の状況に対応するアプリケーションプログラムを受信する、
ことを特徴とする付記1乃至4いずれか一項記載の連携方法。
(付記6)
情報処理端末であって、
ネットワークを介してアプリケーションプログラムを受信する受信部と、
当該情報処理端末と通信可能な外部機器を検出する検出部と、
検出された外部機器に対応するドライバプログラムであって、前記アプリケーションプログラムからの前記外部機器に対する要求の送信を当該情報処理端末に実行させるドライバプログラムをネットワークを介して取得する取得部と、
前記アプリケーションプログラムが起動されると、前記ドライバプログラムを実行する実行部と、
を有することを特徴とする情報処理端末。
(付記7)
前記アプリケーションプログラムからの要求の送信先の候補となる外部機器の識別情報をネットワークを介して取得する第二の取得部を有し、
前記検出部は、前記第二の取得部によって取得された識別情報に係る外部機器のうち、当該情報処理端末と通信可能な外部機器を検出する、
ことを特徴とする付記6記載の情報処理端末。
(付記8)
前記取得部は、前記検出された外部機器に対応する複数のドライバプログラムのうち、ユーザによる指定に対応するドライバプログラムを取得する、
ことを特徴とする付記6又は7記載の情報処理端末。
(付記9)
前記取得部は、取得したドライバプログラムを、前記アプリケーションプログラムとは別に暗号化して記憶部に記憶し、
前記実行部は、前記アプリケーションプログラムが起動されると、前記記憶部に記憶されているドライバプログラムを復号して実行する、
ことを特徴とする付記6乃至8いずれか一項記載の情報処理端末。
(付記10)
前記受信部は、前記情報処理端末の状況に対応するアプリケーションプログラムを受信する、
ことを特徴とする付記6乃至9いずれか一項記載の情報処理端末。
(付記11)
情報処理端末に、
ネットワークを介してアプリケーションプログラムを受信し、
当該情報処理端末と通信可能な外部機器を検出し、
検出された外部機器に対応するドライバプログラムであって、前記アプリケーションプログラムからの前記外部機器に対する要求の送信を当該情報処理端末に実行させるドライバプログラムをネットワークを介して取得し、
前記アプリケーションプログラムが起動されると、前記ドライバプログラムを実行する、
処理を実行させることを特徴とするプログラム。
(付記12)
前記アプリケーションプログラムからの要求の送信先の候補となる外部機器の識別情報をネットワークを介して取得する処理を前記情報処理端末に実行させ、
前記検出する処理は、取得された識別情報に係る外部機器のうち、当該情報処理端末と通信可能な外部機器を検出する、
ことを特徴とする付記11記載のプログラム。
(付記13)
前記取得する処理は、前記検出された外部機器に対応する複数のドライバプログラムのうち、ユーザによる指定に対応するドライバプログラムを取得する、
ことを特徴とする付記11又は12記載のプログラム。
(付記14)
前記ドライバプログラムを取得する処理は、取得したドライバプログラムを、前記アプリケーションプログラムとは別に暗号化して記憶部に記憶し、
前記実行する処理は、前記アプリケーションプログラムが起動されると、前記記憶部に記憶されているドライバプログラムを復号して実行する、
ことを特徴とする付記11乃至13いずれか一項記載のプログラム。
(付記15)
前記受信する処理は、前記情報処理端末の状況に対応するアプリケーションプログラムを受信する、
ことを特徴とする付記11乃至14いずれか一項記載のプログラム。
10 ユーザ端末
20 連携管理サーバ
21 サーバ通信部
22 アプリ記憶部
23 発見用情報記憶部
24 ドライバ管理情報記憶部
25 ドライバ記憶部
30 周辺機器
101 CPU
102 メモリ
103 補助記憶装置
104 タッチパネル
105 無線通信装置
111 表示装置
112 入力装置
121 端末通信部
122 UI制御部
123 アプリ受信部
124 アプリ起動部
125 共通ライブラリ実行部
126 発見用情報取得部
127 機器検出部
128 ドライバ取得部
129 ドライバ実行部
130 アプリ解析部
141 アプリ記憶部
142 ドライバ記憶部
143 対応情報記憶部

Claims (6)

  1. 情報処理端末が、
    ネットワークを介してアプリケーションプログラムを受信し、
    前記アプリケーションプログラムに対して設定されている外部機器の種別に属する外部機器であって、当該アプリケーションプログラムの要求の送信先の候補となる外部機器の識別情報の一覧をネットワークを介して取得し
    取得された前記一覧に含まれる識別情報に係る外部機器の中から、当該情報処理端末と通信可能な外部機器を検出し、
    検出された外部機器ごとの固有のインタフェースを隠蔽し、複数の前記外部機器に関して共通のインタフェースを前記アプリケーションプログラムに提供するドライバプログラムであって、前記アプリケーションプログラムからの前記共通のインタフェースを介した前記外部機器に対する要求の送信を当該情報処理端末に実行させるドライバプログラムをネットワークを介して取得し、
    前記アプリケーションプログラムが起動されると、前記ドライバプログラムを実行する、
    処理を実行することを特徴とする連携方法。
  2. 前記ドライバプログラムを取得する処理は、前記検出された外部機器に対応する複数のドライバプログラムのうち、ユーザによる指定に対応するドライバプログラムを取得する、
    ことを特徴とする請求項記載の連携方法。
  3. 前記ドライバプログラムを取得する処理は、取得したドライバプログラムを、前記アプリケーションプログラムとは別に暗号化して記憶部に記憶し、
    前記実行する処理は、前記アプリケーションプログラムが起動されると、前記記憶部に記憶されているドライバプログラムを復号して実行する、
    ことを特徴とする請求項1又は2記載の連携方法。
  4. 前記受信する処理は、前記情報処理端末の状況に対応するアプリケーションプログラムを受信する、
    ことを特徴とする請求項1乃至いずれか一項記載の連携方法。
  5. 情報処理端末であって、
    ネットワークを介してアプリケーションプログラムを受信する受信部と、
    前記アプリケーションプログラムに対して設定されている外部機器の種別に属する外部機器であって、当該アプリケーションプログラムの要求の送信先の候補となる外部機器の識別情報の一覧をネットワークを介して取得する第1の取得部と、
    取得された前記一覧に含まれる識別情報に係る外部機器の中から、当該情報処理端末と通信可能な外部機器を検出する検出部と、
    検出された外部機器ごとの固有のインタフェースを隠蔽し、複数の前記外部機器に関して共通のインタフェースを前記アプリケーションプログラムに提供するドライバプログラムであって、前記アプリケーションプログラムからの前記共通のインタフェースを介した前記外部機器に対する要求の送信を当該情報処理端末に実行させるドライバプログラムをネットワークを介して取得する第2の取得部と、
    前記アプリケーションプログラムが起動されると、前記ドライバプログラムを実行する実行部と、
    を有することを特徴とする情報処理端末。
  6. 情報処理端末に、
    ネットワークを介してアプリケーションプログラムを受信し、
    前記アプリケーションプログラムに対して設定されている外部機器の種別に属する外部機器であって、当該アプリケーションプログラムの要求の送信先の候補となる外部機器の識別情報の一覧をネットワークを介して取得し
    取得された前記一覧に含まれる識別情報に係る外部機器の中から、当該情報処理端末と通信可能な外部機器を検出し、
    検出された外部機器ごとの固有のインタフェースを隠蔽し、複数の前記外部機器に関して共通のインタフェースを前記アプリケーションプログラムに提供するドライバプログラムであって、前記アプリケーションプログラムからの前記共通のインタフェースを介した前記外部機器に対する要求の送信を当該情報処理端末に実行させるドライバプログラムをネットワークを介して取得し、
    前記アプリケーションプログラムが起動されると、前記ドライバプログラムを実行する、
    処理を実行させることを特徴とするプログラム。
JP2015001586A 2015-01-07 2015-01-07 連携方法、情報処理端末、及びプログラム Active JP6638189B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015001586A JP6638189B2 (ja) 2015-01-07 2015-01-07 連携方法、情報処理端末、及びプログラム
US14/981,884 US9832624B2 (en) 2015-01-07 2015-12-28 Information processing method, information processing device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015001586A JP6638189B2 (ja) 2015-01-07 2015-01-07 連携方法、情報処理端末、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016126651A JP2016126651A (ja) 2016-07-11
JP6638189B2 true JP6638189B2 (ja) 2020-01-29

Family

ID=56287243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015001586A Active JP6638189B2 (ja) 2015-01-07 2015-01-07 連携方法、情報処理端末、及びプログラム

Country Status (2)

Country Link
US (1) US9832624B2 (ja)
JP (1) JP6638189B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016177930A1 (en) * 2015-05-04 2016-11-10 Nokia Technologies Oy Wireless control of devices
JP6624277B2 (ja) 2016-02-29 2019-12-25 富士通株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
EP4239966A3 (en) * 2016-07-01 2024-02-28 INTEL Corporation Automated configuration of machine-to-machine systems
CN107948393A (zh) * 2016-10-13 2018-04-20 阿里巴巴集团控股有限公司 基于场景的应用操作方法、装置、终端设备和操作系统
JP6965653B2 (ja) * 2017-09-14 2021-11-10 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及びプログラム
KR102110015B1 (ko) * 2017-10-26 2020-05-13 박상래 디지털 무전기 기능을 갖는 스마트워치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794032A (en) * 1996-04-15 1998-08-11 Micron Electronics, Inc. System for the identification and configuration of computer hardware peripherals
US6023585A (en) * 1997-05-02 2000-02-08 Webtv Networks, Inc. Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
US6178468B1 (en) * 1998-06-19 2001-01-23 Hewlett-Packard Company Real time supply PF plug-and-play installation resources
US6397327B1 (en) * 1999-03-19 2002-05-28 Ati International Srl Method and apparatus for configuring a computer system
US6473854B1 (en) * 1999-10-07 2002-10-29 Micron Technology, Inc. Method for automatically retrieving and installing device drivers across a network
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
JP3949341B2 (ja) * 2000-03-03 2007-07-25 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置及び記録媒体
US7165109B2 (en) 2001-01-12 2007-01-16 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
GB2378531B (en) * 2001-07-11 2003-04-16 Sendo Int Ltd Software driver code usage
US20030114106A1 (en) * 2001-12-14 2003-06-19 Kazuhiro Miyatsu Mobile internet solution using java application combined with local wireless interface
US7062261B2 (en) * 2003-01-31 2006-06-13 Motorola, Inc. Method and apparatus for automatic detection and installation of Java-enabled accessories
JP2009065701A (ja) * 2008-11-04 2009-03-26 Nec Corp 情報提供システム、携帯端末、無線アクセスポイントおよび情報提供方法
JP5760716B2 (ja) 2011-03-30 2015-08-12 富士通株式会社 アプリ提供システム、アプリ提供方法、情報処理装置及び情報処理プログラム
JP5686046B2 (ja) 2011-03-31 2015-03-18 富士通株式会社 アプリ提供システム、アプリ提供方法及びアプリ提供プログラム
US8922795B2 (en) * 2012-02-03 2014-12-30 Apple Inc. Enabling access to supported capabilities of printers prior to installing printer-specific software for the printers
JP6079875B2 (ja) * 2013-05-27 2017-02-15 富士通株式会社 アプリケーション実行プログラム,アプリケーション実行方法及びアプリケーションを実行する情報処理端末装置

Also Published As

Publication number Publication date
US20160198323A1 (en) 2016-07-07
US9832624B2 (en) 2017-11-28
JP2016126651A (ja) 2016-07-11

Similar Documents

Publication Publication Date Title
JP6638189B2 (ja) 連携方法、情報処理端末、及びプログラム
US11231839B2 (en) Portable terminal causing an image processing device to execute operations for image data
US9990128B2 (en) Messaging application interacting with one or more extension applications
US10595169B2 (en) Message extension app store
US20170359279A1 (en) Messaging application interacting with one or more extension applications
US10481752B2 (en) Method and device for a guided application to enhance a user interface
CN102893271B (zh) 使用快捷方式的数据上传方法
JP2014081937A (ja) IoTブラウジング方法および装置
WO2012088485A2 (en) Presenting an application change through a tile background
US20150113525A1 (en) Method for a Reader to Provide Service, Reader and Computer-Readable Storage Medium
JP6455278B2 (ja) マッシュアップ方法、マッシュアッププログラム、及び端末
KR20120089000A (ko) 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
US20100036855A1 (en) Communication Device
US20200241814A1 (en) Storage Medium Storing Image Processing Program and Information Processing Apparatus
JP6358063B2 (ja) 要求送信方法、情報処理装置、及びプログラム
US10684810B2 (en) Portable terminal causing an image processing device to execute designated operations
KR20120017263A (ko) 단말기에서 실행되는 위젯 어플리케이션의 콘텐츠를 인쇄하는 화상형성시스템
EP2820558B1 (en) Remote user interface providing apparatus and method
KR20180007483A (ko) 단말 Native UI를 사용하는 동적 UI 배포 시스템 및 방법
KR20130115517A (ko) 스마트 단말의 광고런처 실행 방법, 및 이를 위한 광고런처 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
JP2017126216A (ja) アプリケーション・プログラム、情報処理装置、及び情報処理方法
JP6418804B2 (ja) 広告サーバ、広告システム及び広告送信方法
US20120250073A1 (en) Delayed content production
KR101820721B1 (ko) 웹 서비스를 제공하는 화상형성장치 및 그 방법
JP2016218541A (ja) 情報処理装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191209

R150 Certificate of patent or registration of utility model

Ref document number: 6638189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150