JP2022129830A - 電子機器、ライブラリ、処理方法 - Google Patents
電子機器、ライブラリ、処理方法 Download PDFInfo
- Publication number
- JP2022129830A JP2022129830A JP2021028666A JP2021028666A JP2022129830A JP 2022129830 A JP2022129830 A JP 2022129830A JP 2021028666 A JP2021028666 A JP 2021028666A JP 2021028666 A JP2021028666 A JP 2021028666A JP 2022129830 A JP2022129830 A JP 2022129830A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- electronic device
- library
- application
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000010365 information processing Effects 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 16
- 238000011161 development Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000007639 printing Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- XXQCMVYBAALAJK-UHFFFAOYSA-N ethyl n-[4-[benzyl(2-phenylethyl)amino]-2-(2-phenylethyl)-1h-imidazo[4,5-c]pyridin-6-yl]carbamate Chemical compound N=1C=2C(N(CCC=3C=CC=CC=3)CC=3C=CC=CC=3)=NC(NC(=O)OCC)=CC=2NC=1CCC1=CC=CC=C1 XXQCMVYBAALAJK-UHFFFAOYSA-N 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
- G06F21/608—Secure printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
【課題】プラットフォームのバージョンが変わっても同じバージョンのライブラリを利用できる電子機器を提供すること。【解決手段】プラットフォームで動作するアプリケーション11を実行する電子機器20であって、前記アプリケーションはライブラリ12を有しており、前記ライブラリは、前記プラットフォームから取得した前記プラットフォームのバージョン情報に基づいて、予め定められている処理を行うか否かを制御する。【選択図】図1
Description
本発明は、電子機器、ライブラリ、及び、処理方法に関する。
画像形成装置などの電子機器ではOSなどのプラットフォーム上で各種のアプリケーションが動作する。ユーザーはニーズに応じてアプリケーションをインストールでき、1台の電子機器が様々な機能を提供できる。
プラットフォームは、機能の追加や変更、不具合の改善、及び、セキュリティ性の向上などのためにバージョンアップされることがある。プラットフォームがバージョンアップされるとアプリケーションから利用できるプラットフォームの機能や利用方法が変わるため、アプリケーション側もプラットフォームのバージョンに対応した構成を有する場合がある。すなわち、アプリケーションもプラットフォームのバージョンに応じてのバージョンアップされる場合がある。
また、各アプリケーションが共通に使用する機能をライブラリとして取り出し、ライブラリとアプリケーションを別々に開発するという手法が採用される場合がある。アプリケーションの開発元はライブラリに相当する機能を開発しなくてよいため、開発工程が低減される。そして、アプリケーション及びライブラリの開発元は、プラットフォームのバージョンアップに対して必要になるアプリケーション又はライブラリの変更を少なくしたい。
後継プラットフォームへの移行を行っても旧プラットフォームの実行モジュールを正常に動作させる技術が考案されている(例えば、特許文献1参照。)。特許文献1には、旧OSバージョンの実行モジュールを再コンパイルしないことで、新OSバージョンへ移行を行っても、旧OSバージョンの実行モジュールを動作させる情報処理方法が開示されている。
しかしながら、従来の技術では、プラットフォームのバージョンに対応したライブラリが必要になるという問題があった。すなわち、プラットフォームのバージョンがNからN+αにバージョンアップした場合、ライブラリもバージョンアップが必要になり、ライブラリの開発元は、プラットフォームのバージョンアップに応じたライブラリを開発する必要が生じる場合があった。
本発明は、上記課題に鑑み、プラットフォームのバージョンが変わっても同じバージョンのライブラリを利用できる電子機器を提供することを目的とする。
上記課題に鑑み、本発明は、プラットフォームで動作するアプリケーションを実行する電子機器であって、前記アプリケーションはライブラリを有しており、前記ライブラリは、前記プラットフォームから取得した前記プラットフォームのバージョン情報に基づいて、予め定められている処理を行うか否かを制御する。
プラットフォームのバージョンが変わっても同じバージョンのライブラリを利用できる電子機器を提供することができる。
以下、本発明を実施するための形態の一例として電子機器と電子機器が行う処理方法を、図面を参照しながら説明する。
<電子機器の概略動作>
図1は、電子機器20で動作するソフトウェアの概略的な構成図の一例である。図1(a)はOSのバージョンアップ前のソフトウェア構成を示し、図1(b)はOSのバージョンアップ後のソフトウェア構成を示す。
図1は、電子機器20で動作するソフトウェアの概略的な構成図の一例である。図1(a)はOSのバージョンアップ前のソフトウェア構成を示し、図1(b)はOSのバージョンアップ後のソフトウェア構成を示す。
アプリケーション11は認証ライブラリ12を有している。認証ライブラリ12は各アプリケーション11から共通に利用できるため、アプリケーション11の開発工程を低減できる。
認証ライブラリ12が例えばユーザー認証に関する処理を行う場合を説明する。ユーザーの認証が成功した場合、一定期間、ユーザーの認証を省略することで操作性を向上できる。しかし、アプリケーション11が別々に認証ライブラリ12を有していると、認証ライブラリ12が有する認証結果を他のアプリケーション11が利用できない。つまり、ユーザーはアプリケーション11を使用するために後述の情報処理システムにログインした後、一定期間内にアプリケーション11(又は他のアプリケーション)を利用する場合でも、情報処理システムへの再度のログインが必要になる場合があった。
そこで、図1(b)に示すように、OSのバージョンアップに合わせて、認証ライブラリ12の開発元が電子機器20に認証モジュール13を追加した。OSのバージョンアップにより、認証モジュール13が利用可能になった場合、又は、OSのバージョンアップに関係なく認証モジュール13が利用される場合、いずれの場合でもよい。
認証ライブラリ12は認証モジュール13と連携して、ユーザーが情報処理システムへログインする場合の認証に関する処理を行う。各アプリケーション11が認証モジュール13を利用できるので、ユーザーの認証が成功した場合、一定期間、ユーザーの認証を省略することができる。
一方、認証ライブラリ12に関してはOSのバージョンが変わっても、同一バージョンのライブラリが利用可能となるので、開発工程の増加を抑制できる。しかしながら、認証ライブラリ12は自分が認証処理を行うか、認証モジュール13と連携すべきか(認証モジュール13の有無)が分からない。
そこで、認証ライブラリ12はOSにOSのバージョンを問い合わせることで、認証モジュール13の有無を判断する。認証ライブラリ12はOSのバージョンに応じて認証モジュール13の有無を判断する。そして、認証モジュール13がある場合、認証ライブラリ12は認証モジュール13にユーザー認証に関する処理を要求し、認証モジュール13がない場合、認証ライブラリ12は自身がユーザー認証に関する処理を実行する。
このような処理により、電子機器20は、OSなどのプラットフォームのバージョンに関わらず、同一の機能を有する認証ライブラリ12を利用できる。認証ライブラリ12が同じでよいため、アプリケーション11の開発元は、OSのバージョンが変わっても同一バイナリのアプリケーション11をリリースすることができ、開発費や保守費の削減が期待できる。また、認証ライブラリ12の開発元も、OSなどのプラットフォームのバージョンに関わらず、開発又は保守する認証ライブラリ12を一本化することができるので開発費や保守費の削減が期待できる。
<用語について>
プラットフォームとは、コンピュータにおいて、主に、オペレーティングシステムや基本的なハードウェアなど、プログラムが動くための基礎部分をしめす。
プラットフォームとは、コンピュータにおいて、主に、オペレーティングシステムや基本的なハードウェアなど、プログラムが動くための基礎部分をしめす。
ライブラリとは、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。
バージョン情報とは、改訂されたソフトウェアの改訂の段階を表すために付けられる番号や記号である。ビルド番号が使用されてもよい。ビルド番号は、ビルド(コンパイル、アセンブル、リンク等により実行プログラムを生成すること)された実行プログラムを識別するために付けられる番号や記号である。
予め定められている処理は、ライブラリが備える処理であればよい。本実施形態では、予め定められている処理は、認証処理である。
<システム構成>
本実施形態に係るサービス提供システム100のシステム構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
本実施形態に係るサービス提供システム100のシステム構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
図2に示すサービス提供システム100は、情報処理システム10と、電子機器20と、端末装置30と、を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。サービス提供システム100は外部システムである外部サービスシステム40と通信する。
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。サービス提供システム100は、電子機器20を使用した、顧客の業種や業務に対応したソリューションをユーザーサイド又は販売業者で簡単に素早く開発・提供できるようにする。
本実施形態に係る情報処理システム10が提供するサービスは、例えば、電子機器20がスキャンした画像データを外部サービスシステム40に保存したり、外部サービスシステム40に保存されている画像データを電子機器20が印刷したりする処理である。
情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つのアプリケーションにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。なお、アプリケーションはネイティブアプリでもWebアプリでもよい。
電子機器20は、情報処理装置の機能を有し、ユーザーが使用する各種の機器である。電子機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、プロジェクタ、電子黒板、テレビ会議端末、デジタルカメラ等である。電子機器20はネットワークN2に接続されている。ユーザーは、電子機器20を用いて、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができる。
なお、以降では、複数の電子機器20について、各々を区別するときは、「電子機器201」、「電子機器202」等と添え字を用いて記載する。
端末装置30は、例えば、管理者又はユーザーが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。端末装置30はネットワークN2に接続されている。管理者又はユーザーは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、アプリケーションの設定を行うことができる。
なお、以降では、複数の端末装置30について、各々を区別するときは、「端末装置301」、「端末装置302」等と添え字を用いて記載する。
外部サービスシステム40は、ネットワークN1を介してアプリケーションの実行によるサービスを提供する一台以上の情報処理装置である。アプリケーションの実行によりデータの保存又は読出等が行われる。外部サービスシステム40の「外部」とは、情報処理システム10とは別のシステムであることをいう。異なる企業により運営される場合が多い。例えば、同じユーザーであっても外部サービスシステム40と情報処理システム10ではアカウントが異なる。
外部サービスシステム40の一例には、例えば、クラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。例えば、サービスの一例として表形式のデータベースがある。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステム401」を外部サービスシステムA、「外部サービスシステム402」を外部サービスシステムB等と、記載する。
<ハードウェア構成例>
図3を参照して、本実施形態に係るサービス提供システム100に含まれる情報処理システム10及び端末装置30のハードウェア構成について説明する。
図3を参照して、本実施形態に係るサービス提供システム100に含まれる情報処理システム10及び端末装置30のハードウェア構成について説明する。
<<情報処理システム及び端末装置>>
図3は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。図3に示されているように、情報処理システム10及び端末装置30はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
図3は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。図3に示されているように、情報処理システム10及び端末装置30はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
これらのうち、CPU501は、情報処理システム10及び端末装置30全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
<<電子機器>>
図4は、電子機器20の一例である画像形成装置のハードウェア構成図である。図4に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
図4は、電子機器20の一例である画像形成装置のハードウェア構成図である。図4に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
これらのうち、CPU901は、画像形成装置の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンタ部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906は、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを有していてよい。
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
なお、画像形成装置は、操作パネル940のアプリ切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ユーザーがドキュメントボックス機能を選択した場合、画像形成装置はドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F950は、ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
<電子機器の本体と操作パネルの関係>
次に、図5を用いて電子機器20のソフトウェア構成について説明する。図5は、電子機器20が有する本体装置90と操作パネル940のソフトウェア構成の一例を示す模式図である。本体装置90と操作パネル940はそれぞれ独立した情報処理装置の機能を有している。
次に、図5を用いて電子機器20のソフトウェア構成について説明する。図5は、電子機器20が有する本体装置90と操作パネル940のソフトウェア構成の一例を示す模式図である。本体装置90と操作パネル940はそれぞれ独立した情報処理装置の機能を有している。
本体装置90は電子機器20の本来の機能を提供する。本来の機能とは、コピー、プリント、FAXなどの機能が画像形成やスキャンなどで使用するハードウェア制御を伴う機能である。操作パネル940は、電子機器20のユーザーインターフェースを提供する。なお、ネットワーク通信については本体装置90と電子機器20のどちらが提供してもよい。本体装置90はネットワークN2を経由して情報処理システム10と通信し、操作パネル940は通信I/F32を介して情報処理システム10と通信する。
したがって、本体装置90と操作パネル940では、別々のOS(オペレーティングシステム)が互いに独立して動作する。例えば、本体装置90のOSのソフトウェアとしてLinux(登録商標)を用い、操作パネル940のOS層のソフトウェアとしてAndroid(登録商標)を用いることが可能である。なお、本体装置90と情報処理端末80のOSは同じものでもよいし、これらのOSは一例に過ぎない。
本実施形態の電子機器20では、本体装置90と操作パネル940が別々のオペレーティングシステムで動作するため、本体装置90と操作パネル940との間の通信路300を介する通信は、装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作パネル940が受け付けた情報(ユーザーからの指示内容)を本体装置90へ伝達する動作(コマンド通信)や、本体装置90が操作パネル940へイベントを通知する動作などがこれに該当する。操作パネル940が本体装置90へコマンド通信を行うことにより、ユーザーは本体装置90の機能を使用することができる。また、本体装置90から操作パネル940に通知する情報の内容には、本体装置90における動作の実行状況、本体装置側で設定された内容などが挙げられる。
なお、操作パネル940に対する電力供給は、本体装置90から通信路300を経由して行われているので、操作パネル940の電源制御を、本体装置90の電源制御とは別に(独立して)行うことができる。
<機能について>
図6は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。
図6は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。
<<電子機器>>
電子機器20の操作パネル940は、アプリケーション11とSDKService15を有している。操作パネル940は、OSのバージョンがN+αの場合、認証モジュール13を有し、OSのバージョンがNの場合、認証モジュール13を有さない。
電子機器20の操作パネル940は、アプリケーション11とSDKService15を有している。操作パネル940は、OSのバージョンがN+αの場合、認証モジュール13を有し、OSのバージョンがNの場合、認証モジュール13を有さない。
操作パネル940で動作するアプリケーション11は多様であるが、例えば、コピーアプリ、プリンタアプリ、スキャナアプリ、FAXアプリなどでよい。アプリケーション11はこれらの機能を利用するWebアプリでもよい。
アプリケーション11が有する表示制御部21と、操作受付部22は、電子機器20にインストールされた1以上のアプリケーション11に含まれる命令を操作パネル940のCPUが実行することで実現される機能又は手段である。
表示制御部21は、各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部22は、パネル表示部940aに表示された各種画面におけるユーザーの各種操作を受け付ける。認証ライブラリ12、認証モジュール13及びSDKService15については後述する。
電子機器20の本体装置90は画像データ生成部23と、ファクシミリ処理部24と、電子メール処理部25と、第二通信部26と、WebAPI16を有する。
これら各機能部は、電子機器20の本体装置にインストールされた1以上のプログラムに含まれる命令をCPU901が実行することで実現される機能又は手段である。
第二通信部26は、操作パネル940が情報処理システム10と通信する機能を有さない場合、情報処理システム10との間で各種の情報を送受信する。したがって、第二通信部26が認証に関する情報を情報処理システム10との間で送受信する場合がある。
画像データ生成部23は、操作受付部22が選択を受け付けたアプリケーションが画像データを生成するものである場合、スキャナ部931で原稿をスキャンして画像データを生成する。ファクシミリ処理部24は、ファクシミリ部933によるファクシミリの受信及び送信に関する処理を行い、ファクシミリを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、ファクシミリ処理部24は、ファクシミリの送信元(FAX番号)に対応したアプリケーションを要求してもよい。
電子メール処理部25は、電子メールの送受信に関する処理を行い、電子メールを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、電子メール処理部25は、電子メールの送信元(メールアドレス)に対応したアプリケーションを要求してもよい。
WebAPI16は、本体装置90が提供する各機能の要求をHTTP通信で操作パネル940から受け付け、かつ、提供する。操作パネル940としてはAPI(Application Interface)を指定すれば、本体装置90のハードの詳細な制御方法を実装しなくても、操作パネル940が本体装置90の機能を利用できる。
<<情報処理システム>>
情報処理システム10は、通信部42と認証部41を有している。これら各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、図6では、本実施形態で説明されない情報処理システム10の機能については省略されている。情報処理システム10が図示する以外に例えばワークフローの実行時に使用される各種の機能を有している。
情報処理システム10は、通信部42と認証部41を有している。これら各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、図6では、本実施形態で説明されない情報処理システム10の機能については省略されている。情報処理システム10が図示する以外に例えばワークフローの実行時に使用される各種の機能を有している。
通信部42は、電子機器20や端末装置30との間で各種の情報を送受信する。本実施形態では、通信部42は主に認証に関する情報を送受信する。
認証部41は、ユーザー、及び、電子機器20の認証に関する処理を行う。認証部41はユーザー名やパスワード等の認証情報を保持しており、電子機器20から送信されたユーザー名とパスワード等の認証情報の整合性に基づいて、ユーザーの認証を行う。また、電子機器20の認証にはデバイス認証情報が使用される。電子機器20は予めデバイス認証情報を記憶している。デバイス認証情報は、当該電子機器20がテナントに配置されたものであり認証済みであることを示す情報である。したがって、ユーザーが情報処理システム10にログインできても、デバイス認証情報を有さない電子機器20からアプリケーションを実行できない。
認証部41は認証成功によりトークンを発行する。トークンとはユーザーの権限情報である。トークンは認証情報でログインしたユーザーに対応付けられている。あるいは、トークンがユーザーを識別可能な情報を有していてよい。トークンによりユーザーが特定されることでユーザーの権限(アクセスできる情報やその編集等)も定まる。トークンがユーザーの権限を有していてもよい。電子機器20がトークンを利用して情報処理システム10と通信することで認証の回数を低減でき、ユーザーの利便性が向上し、かつ、パスワード等を漏洩しにくくすることができる。
<認証ライブラリについて>
次に、図7、図8を参照して操作パネル940が有する認証ライブラリ12について説明する。図7と図8はいずれも操作パネル940のソフトウェア構成を示すが、操作パネル940で動作するOSのバージョンが異なっている。図7のOSのバージョンをNとして、図8のOSのバージョンをN+αとする。つまり、図8のOSのバージョンは図7よりも新しい。
次に、図7、図8を参照して操作パネル940が有する認証ライブラリ12について説明する。図7と図8はいずれも操作パネル940のソフトウェア構成を示すが、操作パネル940で動作するOSのバージョンが異なっている。図7のOSのバージョンをNとして、図8のOSのバージョンをN+αとする。つまり、図8のOSのバージョンは図7よりも新しい。
また、本実施形態では、操作パネル940にインストールされているOSのバージョンで操作パネル940の世代が区別される。操作パネル940の世代には例えばG1、G2、G2.5がある。操作パネル940の世代を区別する基準は様々であるが、その1つが認証モジュール13の有無である。各OSのバージョンが分かれば操作パネル940の世代が分かる。
・上記のように各アプリケーション11はそれぞれが1つ以上のライブラリを有している。ライブラリにはいくつもの種類があってよいが、本実施形態では、認証ライブラリ12を例にして説明する。認証ライブラリ12は情報処理システム10と通信して認証に関する処理を行う。したがって、各アプリケーション11が認証ライブラリ12を有する。
・認証ライブラリ12は、OSのバージョンに応じて異なる制御を行う。一方、電子機器20にユーザーがログインするための第一段階の認証についてはOSのバージョンが変わっても共通である。認証ライブラリ12は、第一段階の認証として、認証画面に入力された認証情報を使って、電子機器20へログインするユーザーを認証する。認証とはユーザーが正当な権限者か否かを判断することをいう。第一段階の認証は、ユーザーが電子機器20を使用する権限があるかどうかである。認証が成功するとユーザーは電子機器20にログインする。ログインとは、コンピュータやインターネット上の様々なサービスを利用する際に、予め登録しておいた認証情報を用いてシステムのリソースにアクセスする認証行為をいう。認証情報は、ユーザーIDとパスワード、ICカードの番号、生体認証情報などである。
バージョンNの場合:認証ライブラリ12は、アプリケーション11に対し第二段階の認証のためのAPIを提供する。認証ライブラリ12は、ユーザーがアプリケーション11を使用する権限を有しているか(テナントがアプリケーション11を購入しているか)を確認するライセンス認証を行う。
また、認証ライブラリ12は、第二段階の認証として、認証画面に入力された認証情報を使って、情報処理システム10の認証部41と通信して、ユーザー認証(トークンの取得等)を行う。認証方法は第一段階の認証と同様でよい。
情報処理システム10においてアプリケーション11のライセンスが切れていたり、トークンの取得に失敗したりした場合、認証ライブラリ12はエラー画面を表示し、アプリケーションの起動を抑制する。
第一段階と第二段階でユーザーIDやパスワードは異なっている可能性がある。このため、ユーザーとしては2回の認証操作が必要になる場合がある。認証操作を低減する方法としてはOpenID、OAuth、SAML(Security Assertion Markup Language)などシングルサインオンを採用するとよい。
バージョンN+α:認証ライブラリ12は、アプリケーション11に対し第二段階の認証のためのAPIを提供する。認証モジュール13があるため、認証ライブラリ12は認証モジュール13と連携して第二段階の認証を行う。連携とは、認証モジュール13は認証ライブラリ12から要求に応じて第二段階の認証を行うことをいう。つまり、実質的に認証モジュール13が第二段階の認証を行う。
・認証モジュール13は、認証ライブラリ12が行う第二段階の認証(ライセンス認証、ユーザー認証)に加え、認証ライブラリ12が行わない以下の処理を行う。第二段階の認証が成功することで、認証モジュール13が認証部41からトークンを受信すると、第一段階の認証でログイン中のユーザーIDとトークンを対応付けて保存する(キャッシュする)。
そして、次回、ユーザーが第一段階の認証で電子機器20にログインした場合、ユーザーIDにトークンが対応付けられている場合は、認証モジュール13は、認証画面を出さずにアプリケーション11を起動する。認証モジュール13は、例えば一定期間(例えば、情報処理システム10へのログインから24時間など)、同じユーザーがアプリケーション11(アプリケーションの種類は異なってよい)を起動した場合、第二段階の認証を行わずにアプリケーション11の利用を許可する。
・SDKService15は、操作パネル940からのみ利用可能な本体装置90のハードウェア制御のためのAPIを提供する。SDKService15は、アプリケーション11からのハードウェア制御の要求をWebAPIが受け付ける形式に変換して本体装置90に送信する。アプリケーション11はSDKService15を利用することで、ハードウェア制御の要求をWebAPIが受け付ける形式に変換する必要がない。
・WebAPI16は本体装置90の各機能をWebAPI形式で提供する。
<動作手順>
図9は、OSのバージョンに応じて認証ライブラリ12が認証処理を切り替える手順を示すシーケンス図の一例である。
図9は、OSのバージョンに応じて認証ライブラリ12が認証処理を切り替える手順を示すシーケンス図の一例である。
S1:ユーザーがアプリケーション11を起動する。OSがアプリケーション11の起動を受け付ける。
S2:OSはユーザーが起動したアプリケーション11に起動要求があった旨を通知する。この時点ではアプリケーション11は起動しない。
S3:起動を要求されたアプリケーション11は認証ライブラリ12を呼び出して、OSのバージョンの問い合わせを要求する。
S4、S5:認証ライブラリ12はOSにバージョンを問い合わせ、OSからバージョンを取得する。認証ライブラリ12はOSのバージョンに基づいて、認証モジュール13がインストールされているか否かを判断し、認証モジュール13がインストールされているか否かに応じて、予め定められている処理として、認証モジュール13が行う処理を行うか否かを制御する。
図10は、バージョン問い合わせの書式の一例を示す図である。図10に示すように、OSのバージョンと操作パネル940の世代G1、G2、G2.5には以下のような対応関係がある。
G1 : Android2.3.3(登録商標)
G2 : Android4.2.3(登録商標)
G2.5: Android6.0.1(登録商標)
本実施形態では、G2とG2.5で認証モジュール13の有無が異なるとする。したがって、認証ライブラリ12はOSのバージョンが6.01未満かどうかを判断する。認証ライブラリ12は、OSのバージョンが6.01未満の場合にtrueを取得し、OSのバージョンが6.01未満でない場合はfalseを取得する。
G1 : Android2.3.3(登録商標)
G2 : Android4.2.3(登録商標)
G2.5: Android6.0.1(登録商標)
本実施形態では、G2とG2.5で認証モジュール13の有無が異なるとする。したがって、認証ライブラリ12はOSのバージョンが6.01未満かどうかを判断する。認証ライブラリ12は、OSのバージョンが6.01未満の場合にtrueを取得し、OSのバージョンが6.01未満でない場合はfalseを取得する。
認証ライブラリ12がOSに問い合わせるのでなく、認証モジュール13の有無を判断してもよい。
図9に戻って説明する。
S6,S7:OSのバージョンが6.01未満の場合、認証モジュール13が操作パネル940にインストールされていない。まず、認証ライブラリ12は、電子機器20に入力されたユーザーIDを指定して、ユーザーが電子機器20にログインするライセンスを有しているか否かを情報処理システム10に問い合わせる。情報処理システム10側で、電子機器20のユーザー情報と情報処理システム10のユーザー情報を紐づけている場合があり、オンプレミスにログインできるかを確認できる。
S8:ユーザーが電子機器20にログインするライセンスを有していない場合、認証ライブラリ12は起動できない旨を操作パネル940に表示する。
S9:ユーザーが電子機器20にログインするライセンスを有している場合、認証ライブラリ12はユーザー認証が必要かどうかを判断する。すなわち、認証ライブラリ12が電子機器20にログインしているユーザーに紐付けて、情報処理システム10のユーザーID等を保持しているか否かを判断する。電子機器20にログインしているユーザーと情報処理システムのユーザーID等を紐付けて保持している場合、情報処理システム10の認証は不要である。該ユーザーが過去に情報処理システム10にログインできたことを示すためである。
情報処理システム10による認証が必要な場合、認証ライブラリ12は認証画面を操作パネル940に表示する。
S10:ユーザーが情報処理システム10における認証情報(ユーザーID、パスワード等)を入力する。操作受付部22がこれらの入力を受け付ける。
S11:認証ライブラリ12は認証情報を指定して、認証実行を情報処理システム10に要求する。
S12:情報処理システムの通信部42は認証実行要求を受信し、認証部41が認証情報でユーザー認証を行う。通信部42は認証結果(認証OK、認証NG)を電子機器20に送信する。
S13:認証OKの場合、認証ライブラリ12はアプリケーション11に対し起動可能を通知する。認証ライブラリ12は電子機器20にログインしているユーザーと情報処理システムのユーザーID等を紐付けて保持する。
S14:アプリケーション11はアプリ起動画面を表示して、起動する。
S15:認証NGの場合、認証ライブラリ12は操作パネル940に認証がNGである旨を表示する。
S16,S17:情報処理システム10による認証が不要な場合、認証ライブラリ12はステップS13、S14と同様にアプリケーション11を起動する。
一方、OSのバージョンが6.01以上の場合、操作パネル940に認証モジュール13が存在する。このため、認証に関する処理は認証モジュール13が行う。
S18:まず、認証ライブラリ12は、電子機器20にログインしているユーザーIDに対応付けられているトークンがあるかを認証モジュール13に問い合わせる。
S19:認証ライブラリ12はトークンのキャッシュの有無を認証モジュール13から取得する。なお、ユーザーが起動したいアプリケーション11とは別のアプリケーション11にトークンが対応付けられている場合、認証ライブラリ12は該トークンを使用してよい。
S20:トークンが保存されていた場合、情報処理システム10による認証が不要なので、認証ライブラリ12はアプリケーション11に対し起動可能を通知する。
S21:アプリケーション11はアプリ起動画面を表示して、起動する。
S22:トークンが保存されていない場合、認証ライブラリ12は、まず、ユーザーが電子機器20にログインするライセンスを有してるか否かの確認を認証モジュール13に要求する。
S23,S24:認証モジュール13は、電子機器20に入力されたユーザーIDを指定して、ユーザーが電子機器20にログインするライセンスを有しているか否かを情報処理システムに問い合わせる。
S25:ユーザーが電子機器20にログインするライセンスを有していない場合、認証モジュール13は起動できない旨を操作パネル940に表示する。
S26:ユーザーが電子機器20にログインするライセンスを有する場合、トークンが保存されていないので、認証モジュール13は電子機器20にログインしているユーザーに紐付けて、情報処理システム10のユーザーID等を保持しているか否かを判断する。
認証モジュール13が、ログインしているユーザーに紐付けて情報処理システム10のユーザーID等を保持していない場合、認証ライブラリ12は認証画面を操作パネル940に表示する。
S27:ユーザーが情報処理システム10における認証情報(ユーザーID、パスワード等)を入力する。操作受付部22がこれらの入力を受け付ける。
S28:認証モジュール13は認証情報を指定して、認証実行を情報処理システム10に要求する。
S29:情報処理システムの通信部42は認証実行要求を受信し、認証部41が認証情報でユーザー認証を行う。通信部42は認証結果(認証OK、認証NG)を電子機器20に送信する。
S30:認証OKの場合、認証モジュール13は認証ライブラリ12に対し起動可能を通知する。
S31:認証モジュール13は電子機器20のユーザーIDとトークンを対応付けて保持する。さらに、認証モジュール13は電子機器20のユーザーIDと情報処理システム10のユーザーIDを対応付けて保持してよい。
S32:認証ライブラリ12はアプリケーション11に対し起動可能を通知する。
S33:アプリケーション11はアプリ起動画面を表示して、起動する。
S34:認証NGの場合、認証モジュール13は操作パネル940に認証がNGである旨を表示する。
S35:トークンが保存されていなくても、認証モジュール13がログインしているユーザーに紐付けて情報処理システム10のユーザーID等を保持している場合、ユーザー認証が不要である。この場合、認証モジュール13は認証ライブラリ12に対し起動可能を通知する。
S36:認証ライブラリ12はアプリケーション11に対し起動可能を通知する。
S37:アプリケーション11はアプリ起動画面を表示して、起動する。
このように、電子機器20の認証ライブラリ12はOSのバージョンに応じて、認証を実行するか、認証モジュール13に認証を要求するかを切り替えるので、OSのバージョンが異なっても電子機器20は同じ認証ライブラリ12を動作させることができる。
<主な効果>
以上説明したように、本実施形態の電子機器20は、OSなどのプラットフォームのバージョンに関わらず、同一の機能を有する認証ライブラリ12を利用できる。認証ライブラリ12が同じでよいため、アプリケーション11の開発元は、OSのバージョンが変わっても同一バイナリのアプリケーション11をリリースすることができ、開発費や保守費の削減が期待できる。また、認証ライブラリ12の開発元も、OSなどのプラットフォームのバージョンに関わらず、開発又は保守する認証ライブラリ12を一本化することができるので開発費や保守費の削減が期待できる。
以上説明したように、本実施形態の電子機器20は、OSなどのプラットフォームのバージョンに関わらず、同一の機能を有する認証ライブラリ12を利用できる。認証ライブラリ12が同じでよいため、アプリケーション11の開発元は、OSのバージョンが変わっても同一バイナリのアプリケーション11をリリースすることができ、開発費や保守費の削減が期待できる。また、認証ライブラリ12の開発元も、OSなどのプラットフォームのバージョンに関わらず、開発又は保守する認証ライブラリ12を一本化することができるので開発費や保守費の削減が期待できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では、アプリケーション11が認証モジュール13の機能を有しているが、アプリケーション11がSDKService15の機能をライブラリで有していてもよい。この場合、該ライブラリはOSのバージョンに応じてSDKService15の処理を行うか否かを制御する。
また、図6などの構成例は、電子機器20、及び情報処理システム10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。電子機器20、及び情報処理システム10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
10 情報処理システム
11 アプリケーション
12 認証ライブラリ
13 認証モジュール
20 電子機器
11 アプリケーション
12 認証ライブラリ
13 認証モジュール
20 電子機器
Claims (10)
- プラットフォームで動作するアプリケーションを実行する電子機器であって、
前記アプリケーションはライブラリを有しており、
前記ライブラリは、
前記プラットフォームから取得した前記プラットフォームのバージョン情報に基づいて、予め定められている処理を行うか否かを制御する、
ことを特徴とする電子機器。 - 前記ライブラリは前記プラットフォームのバージョン情報に基づいて、前記ライブラリと連携するモジュールがインストールされているか否かを判断し、
前記モジュールがインストールされているか否かに応じて、前記予め定められている処理として、前記モジュールが行う処理を行うか否かを制御することを特徴とする請求項1に記載の電子機器。 - 前記モジュールがインストールされている場合、前記ライブラリは、前記モジュールに、前記予め定められている処理の実行を要求することを特徴とする請求項2に記載の電子機器。
- 前記モジュールがインストールされていない場合、前記ライブラリは、前記モジュールが行う前記予め定められている処理を実行することを特徴とする請求項2又は3に記載の電子機器。
- 前記電子機器はネットワークを介して情報処理システムと通信し、
前記予め定められている処理は、前記情報処理システムに対するユーザーの認証処理であることを特徴とする請求項3又は4に記載の電子機器。 - 前記ライブラリが、前記電子機器にログインしているユーザーと前記情報処理システムのユーザーを紐付けている場合、
前記情報処理システムに対しユーザーの認証処理を行わず、前記アプリケーションを起動する請求項5に記載の電子機器。 - 前記モジュールは、前記情報処理システムに対するユーザーの認証処理が成功した場合、電子機器にログインしているユーザーと対応付けて、前記情報処理システムから送信されたトークンを保存しておき、
前記トークンが保存されている場合、前記情報処理システムに対しユーザーの認証処理を行わず、前記アプリケーションを起動する請求項5に記載の電子機器。 - 前記モジュールは、前記トークンが保存されていない場合でも、
前記電子機器にログインしているユーザーと前記情報処理システムのユーザーを紐付けている場合、
前記情報処理システムに対しユーザーの認証処理を行わず、前記アプリケーションを起動する請求項7に記載の電子機器。 - プラットフォームで動作するアプリケーションが有するライブラリであって、
前記アプリケーションがインストールされている電子機器に、
前記プラットフォームから取得した前記プラットフォームのバージョン情報に基づいて、予め定められている処理を行うか否かを制御するしょりを実行させることを特徴とするライブラリ。 - プラットフォームで動作するアプリケーションを実行する電子機器が行う処理方法であって、
前記アプリケーションが有するライブラリが、
前記プラットフォームから取得した前記プラットフォームのバージョン情報に基づいて、予め定められている処理を行うか否かを制御する、
ことを特徴とする処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021028666A JP2022129830A (ja) | 2021-02-25 | 2021-02-25 | 電子機器、ライブラリ、処理方法 |
US17/651,443 US20220269804A1 (en) | 2021-02-25 | 2022-02-17 | Electronic device, library, and processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021028666A JP2022129830A (ja) | 2021-02-25 | 2021-02-25 | 電子機器、ライブラリ、処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022129830A true JP2022129830A (ja) | 2022-09-06 |
Family
ID=82900783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021028666A Pending JP2022129830A (ja) | 2021-02-25 | 2021-02-25 | 電子機器、ライブラリ、処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220269804A1 (ja) |
JP (1) | JP2022129830A (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9891939B2 (en) * | 2011-03-03 | 2018-02-13 | Microsoft Technology Licensing, Llc | Application compatibility with library operating systems |
US8799647B2 (en) * | 2011-08-31 | 2014-08-05 | Sonic Ip, Inc. | Systems and methods for application identification |
JP5929175B2 (ja) * | 2011-12-27 | 2016-06-01 | 株式会社リコー | 情報処理装置、情報処理システムおよびプログラム |
US9092302B2 (en) * | 2013-09-10 | 2015-07-28 | Duo Security, Inc. | System and method for determining component version compatibility across a device ecosystem |
US9058193B2 (en) * | 2013-11-14 | 2015-06-16 | Google Inc. | Methods and systems for providing compatibility of applications with multiple versions of an operating system |
US9258294B2 (en) * | 2013-12-31 | 2016-02-09 | Cellco Partnership | Remote authentication method with single sign on credentials |
US9519468B2 (en) * | 2015-02-13 | 2016-12-13 | Oracle International Corporation | Modular co-versioning in a dynamically linked runtime environment |
US11153305B2 (en) * | 2018-06-15 | 2021-10-19 | Canon U.S.A., Inc. | Apparatus, system and method for managing authentication with a server |
US20220232139A1 (en) * | 2021-01-19 | 2022-07-21 | Xerox Corporation | Tokens to access applications from a multi-function device sign-on |
-
2021
- 2021-02-25 JP JP2021028666A patent/JP2022129830A/ja active Pending
-
2022
- 2022-02-17 US US17/651,443 patent/US20220269804A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220269804A1 (en) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2950230B1 (en) | Information processing system, method of processing information, information processing apparatus, and program | |
JP4959425B2 (ja) | 情報処理装置、プログラムおよび情報処理方法 | |
JP5090834B2 (ja) | 情報処理装置及び認証制御プログラム | |
US10051154B2 (en) | Information processing apparatus, control method in information processing apparatus, and image processing apparatus | |
US20210377277A1 (en) | Service providing system, information processing system, and use permission assigning method | |
US20120096465A1 (en) | Image forming apparatus, log management method, and storage medium | |
US8789038B2 (en) | Information processing device, information processing method, and computer readable medium with function disabling | |
JP2011258000A (ja) | 情報処理装置、情報処理装置のユーザ認証方法 | |
JP2018156129A (ja) | 情報処理システム、情報処理装置及び情報処理方法 | |
JP2015104022A (ja) | 情報処理装置、その制御方法、及びプログラム | |
US20220147627A1 (en) | Distribution system, distribution method, and non-transitory computer-readable medium | |
JP2022129830A (ja) | 電子機器、ライブラリ、処理方法 | |
US11436299B2 (en) | Information processing system, server apparatus, and information processing method | |
JP2022172598A (ja) | 情報処理システム、情報処理装置、処理実行方法、プログラム | |
US20090070856A1 (en) | Image forming apparatus and utilization limiting method | |
US20230134065A1 (en) | Information processing system, service providing system, and application execution method | |
US12034899B2 (en) | Image forming apparatus, information processing method, and recording medium | |
US20230031865A1 (en) | Device, display method, and recording medium | |
JP2023072975A (ja) | 情報処理システム、表示方法、サービス提供システム | |
JP2018026842A (ja) | 情報処理装置とその制御方法、及びプログラム | |
US20230114172A1 (en) | Information processing system, device, and authentication method | |
US11886553B2 (en) | Service providing system, information processing system, control method, and medium | |
JP2022162593A (ja) | 電子機器、設定管理システム、設定管理方法、及びプログラム | |
JP7434840B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム | |
JP7467971B2 (ja) | 情報処理システム、メッセージ通知システム、メッセージ通知方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240814 |