JPWO2015025405A1 - 情報処理装置、情報処理方法、プログラム、記憶媒体 - Google Patents

情報処理装置、情報処理方法、プログラム、記憶媒体 Download PDF

Info

Publication number
JPWO2015025405A1
JPWO2015025405A1 JP2013557314A JP2013557314A JPWO2015025405A1 JP WO2015025405 A1 JPWO2015025405 A1 JP WO2015025405A1 JP 2013557314 A JP2013557314 A JP 2013557314A JP 2013557314 A JP2013557314 A JP 2013557314A JP WO2015025405 A1 JPWO2015025405 A1 JP WO2015025405A1
Authority
JP
Japan
Prior art keywords
information
api
service
application
license
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
JP2013557314A
Other languages
English (en)
Other versions
JP5485485B1 (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.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of JP5485485B1 publication Critical patent/JP5485485B1/ja
Publication of JPWO2015025405A1 publication Critical patent/JPWO2015025405A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

API使用を伴うサービスに関しアプリケーション提供者及びアプリケーション利用者の実績を適切に管理可能とする。情報処理装置は、アプリケーション提供者装置から送信されてきたAPIを使用するアプリケーションプログラムを用いたサービスについてのAPI利用要求に対し、サービスコードを発行し、サービス識別情報及び使用API情報をサービスコードと対応させて登録する。またアプリケーション提供者による利用者特定情報に応じてアプリケーション利用者毎に未承認状態のライセンス情報を発行する。このライセンス情報はアプリケーション利用者が承認してライセンス承認情報が登録される。サービス実行時はこのような登録情報を用いて認証を行ってAPI使用を許可する。この場合にサービスコードによりアプリケーション提供者が識別でき、ライセンス情報によりアプリケーション利用者が識別できることを利用して、それぞれのAPI使用の実績情報を生成する。

Description

本発明は、API(Application Program Interface )を使用するサービスにおいて用いられる情報処理装置とその情報処理方法、情報処理装置を実現するプログラム、及びプログラムを記憶した記憶媒体に関する。
特開2006−178658号公報 特開2010−146169号公報
上記特許文献1には、作成されたサービスプログラムについての登録要求に対してチェック処理を行い、サービスプログラムに規定されている機能モジュールの全てが利用可能な機能モジュールか否かを確認して、OKならサービスID(identification)発行、及びクライアントIDに対応づけて登録することが記載されている。
上記特許文献2には、 アプリケーションサーバがクライアントからのリクエストに対して認証を行い、APIアクセス要求であった場合は、認証処理結果をリクエストに付随させてAPIサーバに送信し、APIサーバは認証処理結果に基づいてリクエスト処理を行うことが記載されている。
例えばインターネットサービスの分野では、プログラムがAPIを利用してシステム間で情報の受け渡しが行われている。
APIの使用に関しては、APIを用いたネットワークサービスを実現するアプリケーションプログラム(以下「サービスアプリケーション」という)を提供するアプリケーション提供者、サービスアプリケーションによるサービスを享受するアプリケーション利用者、APIを提供するサーバ管理者、APIで扱われるデータの提供者や所有者など、各種の立場が存在する。
このような状況で、APIを提供するサーバ管理者側から見ると、API使用に関連するサービスアプリケーションの提供者、利用者について、API使用実績を的確に把握したいという要請がある。
そこで本発明は、APIを使用するサービスの有用性を損なわずに、API使用やAPIが扱うデータの安全性を確保できるようにしたうえで、API使用に関するアプリケーション提供者、アプリケーション利用者のAPI使用実績管理を的確に行うことができるようにする。
第1に、本発明に係る情報処理装置は、予め用意されたAPIを使用するアプリケーションプログラムが、複数、1又は複数のアプリケーション提供者によって提供され、複数のアプリケーション利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるように構成されたシステムに備わる情報処理装置であって、APIを使用するアプリケーションプログラムを用いたサービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報を取得する登録情報取得部と、前記アプリケーションプログラムの実行に伴うAPI使用要求があった際に、当該API使用要求についてのサービスコードとライセンス情報に基づいて前記登録情報取得部により取得される登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の確認を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する認証処理部と、API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する実績管理部と、を備えたものである。
このような情報処理装置は、まず複数のアプリケーションプログラムが提供される状況下で、複数のサービス利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるシステムで用いられる。そしてこの情報処理装置では、API使用を伴うサービスをアプリケーションプログラムにより実行する場合に、サービスコードとライセンス情報を用いた認証が行われる。
アプリケーション提供者は、サービスコードと一体化されたアプリケーションプログラムを提供する。サービスコードは、使用API情報とサービス識別情報に紐づけられている。アプリケーション利用者は自身で承認したライセンス情報を用いてアプリケーションプログラムを実行する。このような前提でサービスコードとライセンス情報を用いた認証が行われることで、アプリケーション利用者が意図しないサービス利用や、API使用による情報アクセスが制限される。
さらにサービスコードとライセンスを用いた、サービスの実行時の実績管理が行われる。サービスコードによりアプリケーション提供者の実績管理が可能となり、ライセンス情報によりアプリケーション利用者の実績管理が可能となる。
第2に、上記した本発明に係る情報処理装置においては、前記実績管理部は、API使用要求におけるサービスコードに基づいて、アプリケーション提供者に対する課金情報を生成することが望ましい。
即ちアプリケーション提供者に対する個別課金を可能とする。
第3に、上記した本発明に係る情報処理装置においては、前記実績管理部は、API使用要求におけるライセンス情報に基づいて、アプリケーション利用者に対する課金情報を生成することが望ましい。
即ちアプリケーション利用者に対する個別課金を可能とする。
第4に、上記した本発明に係る情報処理装置においては、前記認証処理部は、前記アプリケーションプログラムが実行された外部端末装置からAPI使用要求とともに送信されてくる前記サービスコード及び前記ライセンス情報を受信して認証処理を行うことが望ましい。
即ちAPI使用要求とともに送信されてくるサービスコードやライセンス情報に紐付けされた登録情報を用いて認証を行う。
第5に、上記した本発明に係る情報処理装置においては、前記認証処理部は、サービスコード、サービス識別情報、使用API情報、及びライセンス承認情報の全てについて所定の確認ができた場合に、API使用要求に係るAPI使用を許可することが望ましい。
これにより情報の安全性確保を最優先した運用を実現する。
第6に、上記した本発明に係る情報処理装置においては、前記登録情報には前記ライセンス情報に対応する端末識別情報が含まれており、前記認証処理部は、認証処理において、前記アプリケーションプログラムが実行されAPI使用要求を送信してきた外部端末装置について前記端末識別情報を用いた認証も行うことが望ましい。
即ち端末単位で正規使用を認証する。
第7に、本発明に係る情報処理方法は、上述のシステムに備わる情報処理装置の情報処理方法であって、APIを使用するアプリケーションプログラムを用いたサービスによるAPI使用要求についてのサービスコードとライセンス情報を取得し、前記サービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報に対して、前記API使用要求についてのサービスコードとライセンス情報に基づいてアクセスし、前記アクセスで取得される登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の照合を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可し、API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する情報処理方法である。この情報処理方法により適切な実績管理を可能とする。
第8に、本発明に係るプログラムは、上記情報処理方法として実行する処理を情報処理装置に実行させるプログラムである。
第9に、本発明に係る記憶媒体は、上記プログラムは記憶したプログラムである。
これらのプログラムや記憶媒体により上記の情報処理装置を実現する。
本発明によれば、サービスコードによりアプリケーション提供者を管理可能であり、かつライセンス情報によりアプリケーション利用者を管理可能となる。また認証OKの場合に実績管理を行う。これによりAPI使用に対する実績をアプリケーション提供者、アプリケーション利用者のそれぞれについて適正なAPI使用の実績管理が可能となる。
本発明の実施の形態のネットワークシステムの説明図である。 実施の形態のコンピュータ装置のブロック図である。 実施の形態のECシステムのブロック図である。 実施の形態の登録情報の説明図である。 実施の形態の登録時の動作の説明図である。 実施の形態のサービスコード処理の説明図である。 実施の形態のライセンス処理の説明図である。 実施の形態のライセンス承認処理の説明図である。 実施の形態の提供者WEBのAPI使用登録要求の入力画面の説明図である。 実施の形態の提供者WEBのサービスコード発行画面の説明図である。 実施の形態の提供者WEBのライセンス発行画面の説明図である。 実施の形態の利用者WEBのライセンスリスト画面の説明図である。 実施の形態の利用者WEBのライセンス内容確認画面の説明図である。 実施の形態の利用者WEBのライセンス承認画面の説明図である。 実施の形態のサービス利用時の動作の説明図である。 実施の形態のサービス利用時の処理例Iの説明図である。 実施の形態のサービス利用時の認証処理のフローチャートである。 実施の形態のサービス利用時の実績管理処理のフローチャートである。 実施の形態の実績情報の説明図である。 実施の形態の他の登録情報の説明図である。 実施の形態のサービス利用時の動作の説明図である。 実施の形態のサービス利用時の処理例IIの説明図である。 実施の形態のサービス利用時の認証処理のフローチャートである。 実施の形態のサービス利用時の処理例IIIの説明図である。 実施の形態のサービス利用時の動作の説明図である。 実施の形態のサービス利用時の処理例IVの説明図である。
以下、実施の形態を次の順序で説明する。
<1.ネットワークシステム構成>
<2.EC管理システム>
<3.登録時の処理>
<4.サービス実行時の処理例I>
<5.サービス実行時の処理例II>
<6.サービス実行時の処理例III>
<7.サービス実行時の処理例IV>
<8.EC管理システムの実施による効果>
<9.プログラム及び記憶媒体>
<10.変形例>
<1.ネットワークシステム構成>
図1にネットワークシステムの例を示す。このネットワークシステムはEC(EC:electronic commerce(電子商取引))システムとして機能する。
図1におけるEC管理システム1が本発明の情報処理装置の実施の形態に相当する。
ネットワークシステムは、ネットワーク2を介して、EC管理システム1、アプリケーション提供者装置3A、3B、3C・・・、アプリケーション利用者装置4A、4B、4C・・・が互いに通信可能に構成されている。なおアプリケーション提供者装置3A、3B・・・を特に区別しない場合は「アプリケーション提供者装置3」と総称する。同様にアプリケーション利用者装置4A、4B、4C・・・を特に区別しない場合は「アプリケーション利用者装置4」と総称する。
さらに「アプリケーション提供者装置」「アプリケーション利用者装置」は、単に「提供者装置」「利用者装置」と略称する。
このネットワークシステムでは、EC管理システム1において各種APIが使用可能に提供されている。この予め用意されたAPIを使用するサービスアプリケーションを複数のアプリケーション提供者の各々が提供し、複数のアプリケーション利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるネットワークサービス(説明上、単に「サービス」ともいう)を享受することができる。
なお「サービス」とは、1つのタイトルとしてのサービスアプリケーションによって実現されるサービスを指す。
提供者装置3は、アプリケーション提供者が使用するネットワーク端末としての情報処理装置である。
アプリケーション提供者とは、サービスを実現するプログラムであるサービスアプリケーションを提供する個人や団体を指す。例えばサービスアプリケーションの開発や販売を行うソフトウエアデベロッパー/ベンダーであったり、或いはクラウドサービス等でサービスアプリケーションによるサービスを提供する業者等である。
図では提供者装置3Aは、サービスアプリケーションとしてのパッケージ提供者が用いる情報処理装置としている。このパッケージ提供者とは、例えば複数のサービスアプリケーションSA1,SA2,SA3としての各プログラムのダウンロードサービス、或いは光ディスクその他のパッケージメディアでのサービスアプリケーションの販売・譲渡等を行う団体又は個人である。
提供者装置3Bは、アプリケーション利用者の依頼等に応じて所有するサービスアプリケーションSA10を実行し、クラウドサービス的にサービスをアプリケーション利用者に提供する団体又は個人が使用する情報処理装置としている。例えばインターネットを通じて顧客(アプリケーション利用者)にサービスを提供する目的でサービスアプリケーションを実行する、いわゆるASP(Application Service Provider)が、この場合のアプリケーション提供者に相当する。
また提供者装置3Cは、複数のサービスアプリケーションSA20,SA21としての各プログラムを提供するアプリケーション提供者が使用する情報処理装置としている。
このように本実施の形態のネットワークシステムは、複数のアプリケーション提供者の各々が、1又は複数のサービスアプリケーションを提供することで、複数のサービスアプリケーションが提供される状況が得られている。またそのサービスアプリケーションは、EC管理システム1が予め用意したAPIを使用するプログラムである。
なお、図1では複数のアプリケーション提供者が存在する場合を示しているが、単一のアプリケーション提供者が、複数のサービスアプリケーションを提供するという形態もあり得る。
利用者装置4は、アプリケーション利用者が使用するネットワーク端末としての情報処理装置である。
アプリケーション利用者とは、アプリケーション提供者にとっての顧客に当たる存在であり、例えばネットワークによる商品販売を店舗により行う者(商品販売業者)である。例えば店舗とは、ウエブサイトによる電子店舗であったり実際の店舗である。図では利用者装置4A、4B、4Cは、異なる販売業者の情報処理装置として示している。
アプリケーション利用者は、提供者装置3が提供するサービスアプリケーションにより、例えば在庫管理サービス、販売管理サービスなどのサービスを受けて販売業務の効率化等を図ることができる。
なおアプリケーション利用者は、販売業者に限らず、或るサービスアプリケーションによるサービスを享受するあらゆる団体、個人が想定される。販売業者というのは一例である。
1又は複数のアプリケーション提供者によって、複数のサービスアプリケーションが提供されることで、各アプリケーション利用者は、複数のサービスアプリケーションの中で、自己が必要と考えるサービスアプリケーションを利用し、そのサービスアプリケーションによるサービスを享受できる。
EC管理システム1は、本実施の形態では、電子商取引システムを実現する当該ネットワークシステムにおいて次の機能を実行する情報処理装置としている。
・サービスアプリケーションが使用するAPIの提供
・APIを使用するサービスアプリケーションの登録に関する処理
・サービスアプリケーションの実行の際の認証に関する処理
・サービスアプリケーションの実行に伴うAPI使用実績の管理に関する処理
これらについて詳しくは後述するが、EC管理システム1は、これらの処理を実行すべく必要な構成を備える。
またEC管理システム1は、電子商取引システムの管理者としての役割を持ってもよい。例えばアプリケーション利用者における電子店舗としての開設や、電子市場提供等のサービスを行う機能を持ってもよい。
ネットワーク2の構成は多様な例が想定される。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、CATV(Community Antenna TeleVision)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が想定される。
またネットワーク2の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線等の有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
なお以上の図1では後述する本実施の形態の動作に直接関連する情報処理装置(ネットワーク端末)のみを示しており、実際には他にも各種の情報処理装置が本例のネットワークシステムに関連する。
例えばアプリケーション利用者としての店舗からネットワーク2を介した商品購入を行う一般ユーザの情報処理装置、EC管理システム1で提供するAPIの開発者の情報処理装置、APIの承認/管理/メンテナンス等を行うAPI管理者の情報処理装置などが存在する。
続いて図1に示したEC管理システム1、提供者装置3、利用者装置4を構成する情報処理装置のハードウエア構成を図2に示す。EC管理システム1、提供者装置3、利用者装置4等の各装置は、情報処理および情報通信が可能な図2に示すようなコンピュータ装置として実現できる。
図2において、コンピュータ装置のCPU(Central Processing Unit)101は、ROM( Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM( Random Access Memory )103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード、マウス、タッチパネルなどよりなる入力部106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力部107、HDD(Hard Disk Drive)やフラッシュメモリ装置などより構成される記憶部108、ネットワーク2を介しての通信処理や機器間通信を行う通信部109が接続されている。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
このようなコンピュータ装置では、通信部109による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア111を介したデータやプログラムの受け渡しが可能である。
CPU101が各種のプログラムに基づいて処理動作を行うことで、EC管理システム1、提供者装置3、利用者装置4のそれぞれにおいて後述する情報処理や通信が実行される。
なお、EC管理システム1、提供者装置3、利用者装置4を構成する情報処理装置は、図2のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LAN等によりシステム化されていてもよいし、インターネット等を利用したVPN等により遠隔地に配置されたものでもよい。
<2.EC管理システム>
例えば上述のコンピュータ装置として実現されるEC管理システム1の機能構成を図3で説明する。図3は本実施の形態においてEC管理システム1が行う動作について必要な機能、即ち主にCPU101の処理及び制御によって実現される機能をブロック化して示している。
本実施の形態のEC管理システム1は機能構成として、登録サーバ10、APIサーバ20、登録データベース30、店舗情報データベース31、実績データベース32を備える。
登録サーバ10は、APIを使用するサービスアプリケーションによって実現されるサービスについての登録処理を行う。このためサービスコード処理部11a及びライセンス処理部11bとしての機能を持つ登録管理部11が設けられる。
なお、サービスコード処理部11aはサービスコードに関する処理を行う機能、ライセンス処理部11bはライセンス情報に関する処理を行う機能として、登録管理部11が有する構成を示している。実際にはサービスコード処理部11aとライセンス処理部11bは、個々のプログラムによって実現されたり、或いは関連した複数のプログラムによって実行される機能として実現される。さらに1つのプログラムにおいて実行されるサービスコード関連処理とライセンス情報関連処理をそれぞれ示したものと把握することもできる。
登録管理部11は、サービスコード処理部11aとしての機能により、提供者装置3から送信されてきた、APIを使用するサービスアプリケーションを用いたサービスについてのAPI使用登録要求に対し、サービスコードを生成する処理を行う。また、そのサービスについて、サービス識別情報、及び使用API情報をサービスコードと対応させて登録データベース30に登録する処理を行う。
なおサービス識別情報とは、APIを使用するサービスアプリケーション(即ち該サービスアプリケーションを用いたサービス)を特定する情報である。例えばサービスアプリケーションの製品識別コードや製品名などである。
また使用API情報は、サービスアプリケーションが使用するAPIを特定する情報である。例えば後述のAPIサーバ20が管理するAPI24の識別コードやAPI名などである。
また登録管理部11は、ライセンス処理部11bとしての機能により、提供者装置3から送信されてきた、サービスについての利用者特定情報に対応して未承認状態のライセンス情報を生成する処理を行う。またライセンス情報をサービスコードと対応させて登録データベース30に登録する処理を行う。
なお利用者特定情報とは、サービスアプリケーションによるサービスを享受するアプリケーション利用者を特定する情報である。例えばアプリケーション利用者のID、管理コード、利用者装置4の識別情報、或いはアプリケーション利用者がEC管理システム1の管理の下で開設する店舗(店舗としてのウェブサイト)のURL(Uniform Resource Locator)などが考えられる。
さらに登録管理部11は、ライセンス処理部11bとしての機能により、ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者にライセンス発行通知を行う。そして利用者装置4からの指示によるライセンス承認情報を受け付けて、これをライセンス情報に対応させて登録データベース30に登録する処理を行う。
登録管理部11は、登録処理を行うために登録データベース30にアクセス可能とされている。
また登録管理部11は、ネットワーク通信により提供者装置3や利用者装置4に対して通信可能に構成される。
さらに登録管理部11は、提供者装置3からの登録のための情報入力や情報提示のため、提供者ウェブサイト12(以下「提供者WEB」と表記)を提供しており、サービスコード処理部11a及びライセンス処理部11bの機能としての提供者装置3との情報受け渡しを提供者WEB12を介して行うようにしている。
また登録管理部11は、利用者装置4からの登録のための情報入力や情報提示のため、利用者ウェブサイト13(以下「利用者WEB」と表記)を提供しており、ライセンス処理部11bの機能としての利用者装置4との情報受け渡しを利用者WEB12を介して行うようにしている。
ここで“サービスコード”と“ライセンス情報”は、それぞれ実使用上は、識別コード、パスワード、シークレットコード、キーデータ、鍵情報、登録コード、認証コード、IDコード、ログインコード、ライセンスコードなど、各種の名称で用いられることが想定される。
本実施の形態でいうサービスコードとは、提供者装置3から送信されてきた、APIを使用するサービスアプリケーションを用いたサービスについてのAPI利用要求に対し、登録サーバ10としての情報処理装置が生成し発行するコード情報である。
このサービスコードは、登録される個々のサービスに対応してユニークなコードデータとして生成され、少なくともサービス識別情報及び使用API情報と対応づけられる。
従ってサービスコードは、サービスアプリケーションにより実行されるサービスがAPI使用サービスとして正規に登録されたことを示す機能を持つ。またサービスコードは、サービスアプリケーションによるサービス実行時の認証に用いられるパスワードとしての機能も持つ。
このような機能や性質を含有するコードデータは、その名称の如何を問わず、本実施の形態の“サービスコード”に相当する。
またライセンス情報とは、サービスコードで特定されるサービスについての、アプリケーション提供者が指定した利用者特定情報(つまりアプリケーション利用者)に対応して未承認状態で生成されるコードデータである。しかも、アプリケーション利用者に対応して生成されたライセンス情報は、アプリケーション利用者の意思に基づいて利用者装置4からの指示によるライセンス承認を受け付けるという性質を持つ。ライセンスの承認/非承認(又は未承認)の情報が、ライセンス承認情報としてライセンス情報に対応づけられる。
サービス実行時の認証においては、ライセンス情報は、そのサービスで使用するAPIによってアクセスされる情報へのアクセス権限を確認する意味がある。従ってアプリケーション利用者が当該サービスにおいて、APIによる情報アクセスの権限をサービスアプリケーションに与えたことを示すコードデータとしての機能も持つ。
このような機能や性質を含有するコードデータは、その名称の如何を問わず、本実施の形態の“ライセンス情報”に相当する。
登録サーバ10の機能により登録データベース30に登録される情報は図4のような関係を有する。
なお図4は、サービスコードから見て関連づけられる各種情報を、そのデータベース形式やリンク形式、或いはデータ構造等を考慮せずに示したものである。図示する各情報は、互いに直接関連づけられてもよいし、他の情報を介して間接的に関連づけられてもよい。
また図示する各情報は、1つのデータベースに集約して登録されてもよいし、複数のデータベースに離散されて登録されてもよい。また1つの情報内に他の情報が含有されてもよい。例えばサービス識別情報としてのコードデータにアプリケーション提供者の情報が含まれるなどである。
どのような形式であれ、本実施の形態の登録情報としては、図4の各情報が、関連づけられた状態で参照できるものであればよい。
サービスコードは、サービス識別情報、アプリケーション提供者の情報と関連づけられている。
サービス識別情報とは、上述のようにサービス自体を示すコードで、例えばサービスアプリケーションとしてのタイトルに応じて1つのサービス識別情報が与えられる。具体的にはサービスアプリケーションとしての製品名、製品IDなどが含まれる情報が考えられるが、さらに製品内容として、どのような種類のサービスを実現するアプリケーションプログラムであるかを示す内容情報や、リリース日時情報、開発者情報などが含まれていてもよい。
また例えばサービスアプリケーションがバージョンアップされる場合などに、バージョン毎に異なるサービス識別情報が付与されるようにしてもよいが、あくまで同じタイトルのソフトウエアとして、同一のサービス識別情報が付与されてもよい。但し、バージョンアップ等により、少なくとも使用API情報が異なる場合には、異なるサービス識別情報を付与することが適切となる。
アプリケーション提供者の情報は、アプリケーション提供者としての個人や団体を示す情報である。
またサービスコードには、1又は複数の使用API情報が関連づけられる。
使用API情報とは、当該サービスにおいて使用されるAPIを示す情報である。図ではAPI#1、API#2として示す2つのAPIがサービスコードに関連づけられている。この使用API情報は、登録時にアプリケーション提供者が指定する。
またサービスコードには、1又は複数の利用者特定情報が関連づけられる。利用者特定情報は、個々のアプリケーション利用者を示す情報である。登録処理の際に、アプリケーション提供者が1又は複数のアプリケーション利用者を指定することで、そのアプリケーション利用者を示す利用者特定情報(MC−A、MC−B)がサービスコードに関連づけられる。
さらに各利用者特定情報に対応してライセンス情報が登録される。例えばライセンス情報LC#Aは利用者特定情報MC−Aに対応する。またライセンス情報LC#Bは利用者特定情報MC−Bに対応する。個々のライセンス情報(ライセンスキーLC#A、LC#B)は、それぞれ異なるユニークなコード値として発行されて、各アプリケーション利用者に対応されるものとなる。
なお説明上、個々の利用者特定情報に対して発行されるライセンス情報を「ライセンスキー」と呼ぶこととする。
また個々のライセンス情報(ライセンスキーLC#A、LC#B)にはライセンス承認情報が付随される。これは、アプリケーション利用者がライセンス内容を承認したか否かを示す情報である。
ライセンス情報は、当初はライセンス承認情報=“未承認”の状態で発行される。そしてアプリケーション利用者が承認することで、ライセンス承認情報が“承認”に更新される。例えばライセンスキーLC#Aについては、利用者特定情報MC−Aで示されるアプリケーション利用者が承認を与えることで、ライセンス承認情報が“承認”となる。またアプリケーション利用者が承認を拒否した場合、ライセンス承認情報は“非承認”に更新される。
以上の図4のようにサービスコードと各種情報が関連づけられる。図3における登録データベース30とは、このような一群の情報が対応づけられる状態で参照/更新可能な1又は複数のデータベースを概念的に示しているものである。
各登録情報は必ずしも1つのデータベース形態でまとめて保存される必要があるわけではなく、分散されて格納されてもよい。また各登録情報の全部又は一部は、EC管理システム1の外部に保存されるものであってもよい。
図3に示すように、EC管理システム1にはAPIサーバ20が設けられている。APIサーバ20では、各種のAPI24(API#1、API#2,API#3・・・)を使用可能に提供している。
各API24は、EC管理システム1の内部で開発されたものであってもよいし、外部デベロッパーにより開発されたものでもよい。そして、各API24自体は、APIサーバ20内に用意されていてもよいし、外部の情報処理装置に用意され、APIサーバ20が使用を管理できるものであってもよい。
API24は、例えばAPIサーバ20が管理する各種情報へのアクセスのためのAPIである。つまりサービスアプリケーションは、API24を使用することで特定の情報にアクセスでき、情報の参照や更新を行うことができる。
ここでいうAPI24がアクセスすることができる各種情報とは、例えばアプリケーション利用者である各店舗毎の在庫情報、商品価格情報、売上情報、顧客情報であったり、電子商取引の管理運営を行うEC管理システム1側が各店舗向けに作成した統計情報、販売履歴情報、管理情報、課金情報などである。
これらの情報は、例えばアプリケーション利用者毎の営業上の情報であって公開を制限したい公開制限情報である。例えば店舗Aのスタッフが、上記のような自己の情報を店舗Bなどの他者に閲覧・更新等がなされることを想定していない、もしくは積極的に秘密にしたいと考える情報である。店舗Bも同様で、店舗Bのスタッフにとっては自己の営業上の情報を店舗Aなどの他者に閲覧されることは想定していない。
サービスアプリケーションがAPI24を使用するということは、そのサービスアプリケーションを実行することによって公開制限情報の閲覧や更新等が行われることを意味する。
例えば或る店舗A(アプリケーション利用者)が、アプリケーション提供者から在庫管理用のサービスアプリケーションを購入して導入し、在庫管理を行うとする。当該サービスアプリケーションは、API24を使用して店舗Aの在庫情報をアクセスする。従って、このサービスアプリケーションが勝手に使用されたり、流出、盗難されたり、なりすまし利用されることは防止されなければならない。他者がそのサービスアプリケーションを実行することによって店舗Aの公開制限情報の閲覧や更新等が可能になるためである。
他の店舗Bにとっても同様であり、或るサービスアプリケーションを導入する場合、そのサービスアプリケーションによってAPI24を介して店舗Bの営業上の情報がアクセスされるため、そのサービスの適正利用が確保されることが必要となる。
さらには不正使用が生じたとしても、被害を最小限に留めることができることが望ましい。
このためサービスアプリケーションの実行には、店舗Aの意思による承認や制限を加えることが好適となる。後述するが、本実施の形態ではこのような点を考慮してライセンス情報についてのアプリケーション利用者による承認が行われるようにしている。
なお図3等では、説明上の便宜として、API24がアクセスするこのような情報(一例として各店舗の営業上の情報)を保存する記憶部位を、店舗情報データベース31として概念的に示している。各情報が必ずしもデータベース形態でまとめて保存される必要があるわけではない。また各情報は、EC管理システム1の外部に保存されるものであってもよい。
APIサーバ20には、認証部21が設けられる。
認証部21は、認証処理部21a及び登録情報取得部21bとしての機能を備える。
なお、認証処理部21aは認証処理を行う機能、登録情報取得部21bは認証に用いる登録情報を登録データベース30にアクセスして取得する機能を示すものである。実際には認証処理部21aと登録情報取得部21bは、個々のプログラムによって実現されたり、或いは関連した複数のプログラムによって実行される機能として実現される。さらに1つのプログラムにおいて実行される認証処理と登録情報取得処理をそれぞれ示したものと把握することもできる。
認証部21は、例えば利用者装置4においてサービスアプリケーションが実行され、APIサーバ20に対してAPI使用が要求された際に、そのAPI使用要求に対する認証を行う。
このため認証部21は、認証処理部21aの機能により、API使用要求についてのサービスコードとライセンス情報(ライセンスキー)を取得する。後述するが、サービス実行時にはAPI使用要求に伴ってサービスコードとライセンス情報(アプリケーション利用者が承認したライセンスキー)が送信されてくる。認証部21はこの送信されてくるサービスコードとライセンスキーを取得する。
また認証部21は、登録情報取得部21bとしての機能により、登録データベース30にアクセスし、認証に必要な情報を取得する。具体的にはAPI使用要求におけるサービスコードとライセンス情報を用いて、図4に示した登録情報を取得する。例えば当該認証対象のサービスについてのサービスコードに対応するサービス識別情報、使用API情報、アプリケーション提供者の情報や、ライセンス情報(今回用いられたライセンスキー)に対応するライセンス承認情報等を取得する。
そして認証部21は、認証処理部21aの機能により、少なくともサービスコード、使用API情報、及びライセンス承認情報の照合を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する処理を行う。
APIサーバ20には実績管理部22が設けられる。
実績管理部22は、認証部21での認証処理によりAPI使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する処理を行う。
サービスコードによってアプリケーション提供者が特定される。またライセンス情報(今回用いられたライセンスキー)には利用者特定情報が対応していることで、アプリケーション利用者を認識できる。従って、API使用実績について、アプリケーション提供者とアプリケーション利用者のそれぞれについて実績情報を生成・更新することが可能となる。
実績情報とは、例えばAPI使用情報、API使用に対する課金情報などである。
API使用情報とは、サービスアプリケーションによるAPI使用要求回数や使用要求日時、使用履歴などが把握可能な情報でもよいし、実際にAPIを使用したアクセスの回数(読出回数/更新回数)、日時、履歴などが把握可能な情報でもよい。またAPI使用要求に対する認証結果の履歴情報なども考えられる。
課金情報としては、API使用要求に応じて課金される課金情報、APIによる情報アクセスに応じて課金される課金情報、或いは実績回数の段階に応じて設定される課金情報など、各種の課金情報が想定される。
説明上、各アプリケーション提供者や各アプリケーション利用者の実績情報を保存する部位を実績データベース32として概念的に示している。各種の実績情報が必ずしもデータベース形態でまとめて保存される必要があるわけではない。また実績情報は、EC管理システム1の外部に保存されるものであってもよい。
なお認証部21、実績管理部22としての機能部位を備えた情報処理装置は、APIサーバ20としての情報処理装置と一体でもよいし、APIサーバ20としての情報処理装置とは別体の情報処理装置で構成されてもよい。
また認証部21を備えた情報処理装置と実績管理部22を備えた情報処理装置が別体とされてもよい。
さらに登録サーバ10としての機能部位を備えた情報処理装置と、APIサーバ20としての情報処理装置は、一体でもよいし別体の情報処理装置で構成されてもよい。
<3.登録時の処理>
上述のように図1に示したネットワークシステムでは、アプリケーション提供者が、APIサーバ20によって用意されたAPIを使用するサービスアプリケーションをアプリケーション利用者に提供し、アプリケーション利用者が、提供されたアプリケーションプログラムの実行によるサービスを享受する。
本実施の形態では、このサービス実行の前提として、まずサービス(サービスアプリケーション)がEC管理システム1において正規に登録されることを求める。具体的には或るサービスについてサービスコードの発行及び登録、ライセンス情報の発行及び登録、さらにライセンス承認情報の登録が行われる。以下、この登録処理について詳述する。
図5は登録処理のための関連部位と情報のやりとりを模式的に示したものである。一連の登録処理には、アプリケーション提供者(提供者装置3)、アプリケーション利用者(利用者装置4)、登録サーバ10が関わって登録データベース30への登録情報の書込・更新が実行される。
大まかには次の(R1)〜(R7)の手順で登録処理が行われる。
(R1)アプリケーション提供者は、提供者装置3から、提供者WEB12を利用して登録サーバ10に対し、或るサービス(サービスアプリケーション)についてのAPI使用登録要求(API使用を行うサービスの登録要求)を行う。
(R2)登録サーバ10はサービスコードを生成し、提供者装置3に対して発行するとともに、登録データベース30にサービスコードと対応させてサービスに関する情報を登録する。
(R3)アプリケーション提供者は、提供者装置3から、提供者WEB12を利用して登録サーバ10に対し、ライセンス発行要求として利用者特定情報を通知する。なお、この場合に通知する利用者特定情報とは、一例としては、アプリケーション提供者との間のサービス利用契約などで当該サービスの利用を予定するアプリケーション利用者、或いはアプリケーション提供者がサービス提供を想定しているアプリケーション利用者などを示す情報が考えられる。もちろん、アプリケーション利用者がアプリケーション提供者にライセンス発行を要請することに応じて、そのアプリケーション利用者を示す利用者特定情報をアプリケーション提供者が登録サーバ10に通知してもよい。
(R4)登録サーバ10は利用者特定情報に対応させてライセンス情報(ライセンスキー)を発行し、これらをサービスコードに関連づけて登録データベース30に登録する。
(R5)登録サーバ10は、ライセンス情報が発行されたアプリケーション利用者(利用者装置4)に対して、ライセンス発行通知を行う。
(R6)アプリケーション利用者は、利用者装置4から利用者WEB13を利用して、ライセンス内容を確認し、承認/非承認を選択したライセンス承認情報を登録サーバ10に送信する。
(R7)登録サーバ10は、アプリケーション利用者の意思に基づくライセンス承認情報を受け取り、承認の場合は、ライセンス情報としてのユニークなコードであるライセンスキーを利用者装置4に送信する。また承認/非承認に関わらず、ライセンス承認情報をライセンス情報に対応させて登録データベース30に登録する。
登録処理は以上のようになるが、登録されたサービスは、最終的にライセンスキーの“承認”が得られた場合に、その承認をしたアプリケーション利用者によって実行可能となる。
以下、図6〜図14を参照して登録処理としての各部の具体的な処理例を説明する。
図6は主に提供者装置3と登録サーバ10の処理を示している。
なお、以下、図6〜図8で示す登録サーバ10の処理とは、登録管理部10が図3で説明したサービスコード処理部11a、ライセンス処理部11bの機能を用い、かつ提供者WEB12、利用者WEB13を用いて実行する処理である。
或るサービスを実現するサービスアプリケーションの提供(例えば譲渡や貸与)を行うアプリケーション提供者は、まずそのサービスの登録のために、提供者装置3を用いて登録サーバ10が用意する提供者WEB12にアクセスする。
提供者装置3はステップS1として、アプリケーション提供者に付与されているログインパスワード、ユーザID等を用いて提供者WEB12にログインする。
ログインにより登録サーバ10は、ステップS100でアプリケーション提供者を認識する。そして登録サーバ10は、例えば提供者装置3側からのウェブ上の要求操作に応じて、ステップS101で、提供者WEB12においてAPI使用登録要求のための画面(ウェブページ)を提供する。
図9に提供者WEB12上で提供するAPI使用登録画面70の例を示す。このAPI使用登録画面70では、アプリケーション提供者の入力や操作のために、製品情報入力部71、使用API入力部72、登録操作部73、戻り操作部74、ログアウト操作部75、API選択操作部76等を用意している。
製品情報入力部71では、提供するサービスアプリケーションとしての製品ID、製品名、概要(サービス内容の概要)、解説ページURL、製品URL等を入力可能とする。
使用API入力部72では、当該サービスアプリケーションが使用するAPIを入力可能とする。例えばAPI選択操作部76を操作してAPI一覧を表示させ、その一覧からAPIを選択可能とする。選択に応じて使用API入力部72にAPI名や処理内容がエントリされる。
アプリケーション提供者は提供者装置3から、このようなAPI使用登録画面70に対して操作を行ってAPI使用登録要求を行う。
具体的には、アプリケーション提供者は提供者装置3を用いて、API使用登録画面70を閲覧し、必要事項を入力する。そして例えば図9に示すように製品情報入力部71、使用API入力部72の入力を行った状態で、登録操作部73を操作(クリック)する。これによりステップS2として、入力内容に基づくAPI使用登録要求が提供者装置3から登録サーバ10に送信される。
API使用登録要求があったら、登録サーバ10はステップS102で、API使用登録要求に係る情報を取得する。即ちAPI使用登録画面70の製品情報入力部71に入力された情報の全部又は一部を、サービスアプリケーションの識別情報(サービス識別情報)として取得する。一部の場合は、例えば製品ID、製品名、概要をサービス識別情報に含める。
また登録サーバ10はAPI使用登録画面70の使用API入力部72に入力された各APIの情報を、使用API情報として取得する。
さらに登録サーバ10は、1つのAPI使用登録要求に対してユニークなコードであるサービスコードを生成する。
続いて登録サーバ10はステップS103で、登録データベース30に対する登録を行う。この時点では、生成したサービスコードに対応させて、ステップS102で取得したサービス識別情報と使用API情報、及びステップS100で認識したアプリケーション提供者の情報を関連づけて登録する。
ステップS104で登録サーバ10は、サービスコードを提供者装置3に通知する。例えば提供者WEB12において、例えば図10のような登録完了画面80を提示する。
登録完了画面80では、サービスコード提示部81、サービス内容提示部82、使用API提示部83、戻り操作部84、ログアウト操作部85等を表示する。
サービスコード提示部81には、例えば数10桁程度のユニークコードであるサービスコードが表示される。
サービス内容提示部82には、当該サービスコードに対応して登録されたサービスアプリケーションの内容(サービス識別情報の内容)が表示される。
使用API提示部83には当該サービスアプリケーションが使用するものとして登録されたAPIが表示される。
アプリケーション提供者は、このような登録完了画面80を閲覧することで、サービスについて適正な登録が完了したことを確認できる。
そしてステップS3で提供者装置3は、提示されたサービスコードを取得する。
ここまでで登録サーバ10とのやりとりは完了したため。提供者装置3はステップS4で提供者WEB12からログアウトする。
但し、ログアウトせずに、図7で述べるライセンス情報についての処理に進むようにしてもよい。
なお、図6ではステップS5,S6としての提供者装置3の処理を示しているが、このステップS5,S6は必ずしもこの登録処理の過程で行われなくてもよい。
ステップS5では、提供者装置3はサービスアプリケーションにサービスコードを付加する。即ち提供する製品としてのサービスアプリケーションにサービスコードを埋め込み、サービス利用時にサービスコードが用いられるようにする。
ステップS6では、提供者装置3から利用者装置4にサービスアプリケーションを提供する。例えばサービスコードの埋め込みを完了したサービスアプリケーションを利用者装置4にダウンロードする。或いはアプリケーション提供者がASPとしての業者であればサービスアプリケーションが使用可能なことをアプリケーション利用者に通知すればよい。
このステップS5、S6は、あくまでアプリケーション提供者の業務の一環で行われるもので、少なくともサービスコードの発行を受けた後において任意に行われればよく、EC管理システム1が関与するものではない。
続いてアプリケーション提供者は、ライセンス情報の発行について登録サーバ10に求める。
図7のステップS10として、提供者装置3は、アプリケーション提供者に付与されているログインパスワード、ユーザID等を用いて提供者WEB12にログインする。
ログインにより登録サーバ10は、ステップS110でアプリケーション提供者を認識する。
そして登録サーバ10は例えば提供者装置3側からのウェブ上の要求操作に応じて、ステップS111で、提供者WEB12においてライセンス発行のための画面(ウェブページ)を提供する。
図11に提供者WEB12上で提供するライセンス発行画面90の例を示す。このライセンス発行画面90では、製品一覧表示部91、店舗指定部92、追加操作部93、ライセンス発行対象リスト94、削除操作部95、ライセンス発行操作部96、戻り操作部97、ログアウト操作部98等が表示される。
登録サーバ10は、製品一覧表示部91に、今回ログインしたアプリケーション提供者の製品として登録しているサービスアプリケーションを一覧表示する。
店舗指定部92では、アプリケーション利用者としてのショップを指定する入力を可能とする。例えばEC管理システム1が管理しているショップついて付与しているID(以下「ショップID」という)や、或いはショップのメールアドレス、その他ショップやショップの連絡先を特定できる情報により指定可能とする。
ライセンス発行対象リスト94には、例えば製品IDや製品名で示される或るサービスアプリケーションについて、ライセンス発行対象とするアプリケーション提供者(店舗)をリストアップすることを可能とする。
アプリケーション提供者は提供者装置3から、このようなライセンス発行画面90に対して操作を行ってライセンス発行要求を行う。
具体的には、アプリケーション提供者は提供者装置3を用いてライセンス発行画面90を閲覧し、必要事項を入力する。
まず製品一覧表示部91で自分の製品の一覧を確認し、今回ライセンス発行要求を行う製品を選択する。
また店舗指定部92に対して1又は複数の店舗(アプリケーション利用者)を特定する情報を入力する。そのうえで追加操作部93を操作することで、指定した製品(サービスアプリケーション)について、店舗指定部92に入力したアプリケーション利用者が、ライセンス発行対象としてライセンス発行対象リスト94に追加される。
一旦ライセンス発行対象リスト94に載せた後でも、削除操作部95を用いてリストから除外することも可能である。
アプリケーション提供者は、例えばサービス提供の契約済みの店舗や、サービス利用を予定する店舗などを、店舗指定部92で指定してライセンス発行対象リスト94にエントリしていけばよい。
アプリケーション提供者は、ライセンス発行対象リスト94に必要なライセンス発行対象をエントリさせた状態で、ライセンス発行操作部96を操作する。これにより、ステップS11として、入力内容に基づくライセンス発行要求が提供者装置3から登録サーバ10に送信される。
ライセンス発行要求があったら、登録サーバ10はステップS112で、ライセンス発行要求に係る情報を取得する。即ちライセンス発行画面90のライセンス発行対象リスト94にエントリされた情報に基づいて、サービスアプリケーションに対してライセンス発行を求められた利用者を特定する利用者特定情報を取得する。例えばショップIDを利用者特定情報として取り込む。
そして登録サーバ10は、1または複数の利用者特定情報のそれぞれについてのライセンス情報(ライセンスキー)を発行する。
続いて登録サーバ10はステップS113で、登録データベース30に対する登録を行う。この場合は、今回の要求に係るサービスアプリケーションについて、既に登録されているサービスコードに対応させて、1または複数の利用者特定情報とライセンス情報のセットを登録する。但し、発行したライセンス情報については、この時点では、“未承認”を示すライセンス承認情報を付加する。
ステップS114で登録サーバ10は、提供者装置3にライセンス発行完了を通知する。例えば提供者WEB12において、ライセンス発行完了画面を提示する。
アプリケーション提供者は、ライセンス発行完了画面を閲覧することで、指定したアプリケーション利用者のそれぞれについてのライセンス発行が完了したことを確認できる。
ここまでで登録サーバ10とのやりとりは完了したため。提供者装置3はステップS12で提供者WEB12からログアウトする。
ここまでの処理で、アプリケーション提供者が提供するサービスについての登録情報として、サービス識別情報とアプリケーション提供者がサービスコードに対応づけられ、また当該サービスについて、利用が想定されるアプリケーション利用者の利用者特定情報と、そのアプリケーション利用者について発行されたライセンス情報が、対応づけられた状態である。但しこの時点では、ライセンス情報について“未承認”とされたライセンス承認情報が付加されている。
この後、登録サーバ10は、利用者装置4との間で、ライセンス承認に関する処理を行うことになる。
図8は、ライセンス承認に関する利用者装置4と登録サーバ10の処理例を示している。
登録サーバ10は、上述のようにライセンス発行を行った場合、ステップS120として、発行したライセンス情報に対応する利用者特定情報に基づいて、利用者装置4に対してライセンス発行の事実を通知する。
例えばEC管理システム1は、ショップIDと電子メールアドレスを紐付けして管理しているとし、また利用者特定情報としてショップIDが用いられているとする。この場合、登録サーバ10は、ショップIDからアプリケーション利用者の電子メールアドレスを取得し、その電子メールアドレス宛にライセンス発行通知を行う。アプリケーション利用者は、この通知により、新規に自己に関連するライセンス発行があったことを認識できる。
アプリケーション利用者は、利用者装置4を用いて利用者WEB13にアクセスして、ライセンスに関する確認や操作を行うことができる。
利用者装置4はステップS300として、アプリケーション利用者に付与されているログインパスワード、ユーザID等を用いて利用者WEB13にログインする。
ログインに応じて登録サーバ10はステップS121で、アプリケーション利用者を認識し、そのアプリケーション利用者についてのライセンスリスト画面を利用者WEB13上で提供する。
図12にライセンスリスト画面120の例を示す。ライセンスリスト画面120では、当該アプリケーション利用者について発行されているライセンスの一覧を示すライセンス一覧表示部121、削除操作部123、ログアウト操作部124等が表示される。
ライセンス一覧表示部121では、そのアプリケーション利用者が対象とされている発行済みのライセンス情報の内容が示される。例えばアプリケーション提供者の会社名、サービス識別情報にくまれる製品名、ライセンス発行日、承認/未承認の状態などである。
アプリケーション利用者は、このライセンス一覧表示部121内で、承認に関する操作を行うライセンス情報を選択する。
なお、削除操作部123を用いて、ライセンス一覧から特定のライセンスを削除することもできる。
アプリケーション利用者のライセンス選択操作により、ステップS301として利用者装置4から登録サーバ10にライセンス選択の情報が送信される。これに応じて登録サーバ10はステップS122で、図13のようなライセンス承認操作画面130を利用者WEB13上で提示する。
ライセンス承認操作画面130では、製品情報表示部131、APIリスト表示部132、承認操作部133、承認拒否操作部134、戻り操作部135、ログアウト操作部136、注意喚起メッセージ137等が表示される。
製品情報表示部131には、当該ライセンス情報に係るサービスの内容が表示される。例えばアプリケーション提供者としての会社名、サービスアプリケーションの製品名、サービス内容の概要、ライセンス発行日などである。アプリケーション利用者は、これにより、当該ライセンスがどのようなサービスに関するものかを理解することができる。
注意喚起メッセージ137により、このサービスがAPIを使用することが提示され、APIリスト表示部132には、実際に使用されるAPIが示される。この注意喚起メッセージ137とAPIリスト表示部132の情報は、アプリケーション利用者に、サービス実行に伴うリスクを示すリスク情報としての意味を持つ。
APIリスト表示部132では、当該サービスで使用するAPI名と、その内容が示される。内容によって、各APIがどのような情報にアクセスして情報の取得や情報の更新を行うか等が示される。
アプリケーション利用者は、この表示によりサービス実行に伴う危険性、具体的には自己の店舗に関する情報の危険性を認識することができる。
なお、リスク情報としては、さらにAPIによって読み出されたり更新される情報の種別、内容などについて、より具体的内容が示されるようにしてもよい。例えば各APIによってアクセスされる価格情報、在庫情報、顧客名簿情報などの具体的な情報が提示されてもよい。またAPI使用に伴う情報流出の具体例などが示されてもよい。
アプリケーション利用者は、API使用による危険性を認識した上で、ライセンス情報について承認するか承認を拒否するかを選択することができる。
ライセンス承認の手法としては、一括承認、個別承認が考えられる。
一括承認とは、アプリケーション利用者が、提示されているAPIのすべてが使用されることを前提として、ライセンスを承認することのみを登録サーバ10が受け付ける手法である。
個別承認とは、アプリケーション利用者が、提示されているAPIのうちで、一部のみの使用を認めるというライセンス承認を、登録サーバ10が許容する手法である。
まず一括承認を採用する場合について説明する。
アプリケーション利用者は、ライセンス承認操作画面130を確認し、すべてのAPIについて使用されることを納得した上でのみ、承認操作部133の操作を行うことができる。
例えば図示のように各APIについてチェックボックスを用意し、すべてのAPIについてチェックがなされた場合のみ、承認操作部133がアクティブになるようにする。
アプリケーション利用者は、ライセンス情報について承認する場合は、承認操作部133を操作する。一方、危険性を考慮して承認しない場合は、承認拒否操作部134を操作する。
これらの操作により、図8のステップS302として利用者装置4から登録サーバ10に、ライセンス承認情報が通知される。
登録サーバ10はステップS123で、“承認”又は“非承認(承認拒否)”を示すライセンス承認情報を取得する。そしてステップS124で、対象のライセンス情報に対応するライセンス承認情報として登録データベース30に登録する。
この場合、一括承認であることで、当該ライセンス情報について承認した場合、当該サービスにおいて使用API情報に登録されたすべてのAPI使用を、アプリケーション利用者が承認したものとなる。
個別承認を採用する場合は次のようになる。
アプリケーション利用者は、ライセンス承認操作画面130を確認し、各APIについて使用されることを承認するか否かを選択する。そして例えば使用を納得した一部又は全部のAPIについてチェックボックスにチェックしたうえで、承認操作部133を操作する。すべてのAPIの使用を認めない場合は承認拒否操作部134を操作する。
これらの操作により、図8のステップS302として利用者装置4から登録サーバ10に、ライセンス承認情報が通知される。
登録サーバ10はステップS123で、API毎に“承認”又は“非承認(承認拒否)”を示すライセンス承認情報を取得する。そしてステップS124で、対象のライセンス情報に対応するライセンス承認情報として登録データベース30に登録する。
この場合、ライセンス情報に対応させて、使用API情報に挙げられた各APIについての承認/非承認が登録されることになる。
なお、一部のAPIを“非承認”とすることは、そのサービスにおいて、そのAPIを使用させないということになる。つまりサービスアプリケーションの機能の一部をアプリケーション利用者が制限できるということになる。
ステップS124でライセンス承認情報の登録を行ったら、登録サーバ10は利用者装置4に対して承認結果通知を行う。
例えば一括承認で承認が行われた場合、或いは部分承認で一部又は全部のAPIの承認が行われた場合は、登録サーバ10は提供者WEB12において、例えば図14のようなライセンス承認結果画面140を提示する。
ライセンス承認結果画面140では、例えばサービス表示部141、ライセンスキー表示部142、戻り操作部143、ログアウト操作部144等が表示される。
サービス表示部でサービスアプリケーションのアプリケーション提供者や製品名が表示され、それについての承認したライセンスキーがライセンスキー表示部142に表示される。
アプリケーション利用者は、このようなライセンス承認結果画面140を閲覧することで、サービスについてのライセンス承認が完了したことを確認できる。
そしてステップS303で利用者装置3は、提示されたライセンスキーを取得する。このライセンスキーは、後に実際にサービスアプリケーションを使用するものとして保存する。
ここまでで登録サーバ10とのやりとりは完了したため。利用者装置4はステップS304で利用者WEB13からログアウトする。
なお、ライセンス承認拒否の場合は、登録サーバ10は利用者WEB13上でライセンス拒否(非承認)の結果を提示する。
利用者装置4は一旦拒否した後でも、図12のライセンス一覧表示部121で再度そのサービスを選択して、ライセンス承認を行うことができる。
以上の図6から図8の処理により登録されたサービスアプリケーションは、その後APIを使用した処理が実行可能となる。この時点で、サービスアプリケーションに関して、図4に示した登録情報が形成されていることになる。
<4.サービス実行時の処理例I>
続いてサービス実行時の処理例を説明する。
なお処理例I、処理例II、処理例IIIは、アプリケーション利用者としては、図1の提供者装置3Aを利用する者、つまりアプリケーションプログラムとしてのパッケージを、ダウンロードやメディアにより利用者装置4に提供する者を想定して説明する。そして後述の処理例IVは、図1の提供者装置3Bを利用するASPとしての業者の場合を想定する。
まず処理例Iを図15〜図18を参照して説明する。
図15はサービス実行時の認証やAPI使用の処理についての関連部位と情報のやりとりを模式的に示したものである。
この場合、利用者装置4には提供者装置3Aからサービスアプリケーションが提供されているものとしている。つまり利用者装置4においてサービスアプリケーションとしてのプログラムがインストールされ、起動可能な状態になっている。
アプリケーション利用者は、利用者装置4においてサービスアプリケーションを起動して、そのサービスアプリケーションによるサービス、例えば商品管理、在庫管理、顧客管理などのサービスの結果を享受する。この際にサービスアプリケーションはAPIサーバ20が用意するAPIを使用して必要な情報アクセスを行う。
サービス実行時の処理は大まかには次の(P1)〜(P4)の手順で行われる。
(P1)起動されたサービスアプリケーションに基づいて、利用者装置4はAPIサーバ20に対してAPI使用要求(APIを使用した情報アクセス実行の要求)を送信する。この場合にサービスコードとライセンスキーも送信する。
(P2)APIサーバ20は、認証部21の機能により、API使用要求に伴うサービスコードとライセンスキーに基づいて認証処理を行う。そして認証結果を利用者装置4に通知する。
(P3)認証OKの場合、APIサーバ20は、実績管理部22の機能により、サービスコードとライセンスキーに基づいてアプリケーション提供者とアプリケーション利用者について個別の実績管理処理を行う。
(P4)認証OKの場合、APIサーバ20はAPI使用を許可する。つまりサービスアプリケーションによる処理過程で発生する要求に応じて、API使用が実行される。
以下、サービス実行時の各部の具体的な処理例を説明する。
図16は主に利用者装置4とAPIサーバ20の処理を示している。
なお、図16〜図18で示すAPIサーバ20の処理とは、認証部21が図3で説明した認証処理部21a、登録情報取得部21bの機能を用いて実行する処理と、実績管理部22の機能による処理と、API24による処理を含む。
アプリケーション利用者が自己の利用者装置4によりサービスアプリケーションを実行する場合、まず利用者装置4では図16のステップS320として、サービスアプリケーションの起動処理が行われる。
なお、サービスアプリケーションの起動の際には、アプリケーション利用者にライセンスキーを入力することが求められる。実際には、利用者装置4内の所定箇所(サービスアプリケーションが参照可能な特定フォルダ等)にライセンスキーが記憶されており、起動時にサービスアプリケーションが、そのライセンスキーを取得できるようにすればよい。
またサービスアプリケーションは、アプリケーション提供者側で、サービスコードが埋め込まれた状態で、ネットワーク2を介したダウンロードや、記憶媒体による受け渡しにより、アプリケーション利用者に提供され、利用者装置4にインストールされている。サービスアプリケーションの起動時には、このサービスコードも取得する。
サービスアプリケーションが起動されることで、そのサービスアプリケーションによって規定される処理として、利用者装置4ではステップS321以降の処理が行われる。
ステップS321で利用者装置4はAPIサーバ20に対してAPI使用要求を送信する。
このAPI使用要求の際に、利用者装置4はサービスコードとライセンスキーも同時に送信する。
なお、API使用要求には、要求を行ったサービスアプリケーションを示すサービス識別情報、及び使用要求の対象となるAPIを指定する情報も含まれている。
APIサーバ20はAPI使用要求に応じてステップS400で、認証部21の機能により認証処理を行う。この認証処理を図17に示す。図17は、認証処理部21a、登録情報取得部21bとしての機能を有する認証部21によって実行される処理である。
認証部21は図17のステップS410で、API使用要求とともに利用者装置4から送信されてきたサービスコードとライセンスキーを取得する。
また認証部21は、API使用要求としての情報に含まれているサービス識別情報と使用要求対象のAPIを示す情報も取得する。
続いて認証部21はステップS411で、サービスコードとライセンスキーを用いて登録データベース30にアクセスし、そのサービスコード及びライセンスキーに対応する登録情報を取得する。図4を用いて説明すると、サービスコードに対応する登録情報として、サービス識別情報、アプリケーション提供者の情報、及び使用API情報を取得する。またライセンスキーに対応する登録情報として、そのライセンスキー自体に対応する利用者特定情報及びライセンス承認情報を取得する。例えばライセンスキーLC#Aの場合、利用者特定情報MC−A、及びライセンスキーLC#Aについてのライセンス承認情報を取得する。
ステップS412で認証部21は、システムエラーを確認する。例えばシステム上のハードウエアによる原因、通信系や伝送路の原因、その他の動作エラーなどで、登録情報の読み込みが適切にできなかった場合、システムエラー発生とする。その場合はステップS419に進んで認証不能と最終判定を行う。
システムエラーが発生しておらず、正常に登録情報アクセスができていた場合は実際の認証処理に移る。
まずステップS413で認証部21はサービスコードについての認証を行う。例えば以下の確認を行う。
・正規に登録されたサービスコードであるか否かの確認
API使用要求と共に送信されてきたサービスコードが、登録データベース30に登録されたサービスコードであるか否かを確認する。
・登録情報存在の確認
サービスコードに基づいて、サービス識別情報、アプリケーション提供者の情報、及び使用API情報が適切に登録されており、取得できたか否かを確認する。
例えば以上の確認がOKであれば、サービスコードは認証OK、いずれかが満たされなければサービスコードは認証NGとする。
ステップS414で認証部21は使用APIについての認証を行う。例えば以下の確認を行う。
・使用APIの一致確認
API使用要求において使用要求対象とされたAPIと、登録情報の使用API情報で示されるAPIが一致しているか否かを確認する。なお複数のAPIの完全一致のみをOKとしてもよいが、API使用要求において使用要求対象とされた1又は複数のAPIのすべてが、登録情報の使用API情報に示されていればOKとしてもよい。
・API使用可能状態の確認
EC管理システム1上で、APIが何らかの事情により使用不可とされていたり、或いはメンテナンス等で使用停止とされる場合がある。例えばAPIサーバ20は、提供する各APIについて、そのような状況を管理している。そこでAPI使用要求において使用要求対象とされた1又は複数のAPIが現在使用可能であるか否かを確認する。
例えば以上の確認がOKであれば、使用APIについては認証OK、いずれかが満たされなければ使用APIについて認証NGとする。
ステップS415で認証部21はサービス識別情報についての認証を行う。例えば以下の確認を行う。
・登録情報との一致確認
API使用要求において示されたサービス識別情報と、サービスコードに基づいて読み出された登録情報のサービス識別情報が一致しているか否かを確認する。つまり今回API使用要求を送信したサービスアプリケーションが、正規に登録されたサービスアプリケーションであるか否かを確認する。
例えば以上の確認がOKであれば、サービス識別情報は認証OK、満たされなければサービス識別情報について認証NGとする。
ステップS416で認証部21はライセンスキーについての認証を行う。例えば以下の確認を行う。
・ライセンスキーの正当性確認
API使用要求において送信されてきたライセンスキーとサービスコードが、登録情報としても関連づけられているか否か、つまりライセンスキーが、そのサービスアプリケーションに対応して正当に登録されたものであるか否かを確認する。
・ライセンス承認確認
API使用要求において送信されてきたライセンスキーに対応して登録データベース30から読み出されたライセンス承認情報を確認する。
例えば以上の確認において、ライセンスキーの正当性がOKで、かつライセンス承認情報が“承認”を示す情報となっていればライセンスキーは認証OKとする。一方正当性がNGであるか、又はライセンス承認情報が“未承認”もしくは“非承認”であったら、ライセンスキーは認証NGとする。
ステップS413〜S416のすべてで認証OKとなった場合には、認証部21はステップS418に進んで最終的に認証OKとする。
一方、ステップS413〜S416のいずれかで認証NGとなった場合には、認証部21はステップS417に進んで最終的に認証NGとする。
このような認証によりサービスアプリケーションによるAPI使用に伴う情報の安全性を確保する。
サービスコード認証により、サービスアプリケーションがアプリケーション提供者によって正しく登録されたという正当性が確認され、使用API情報の認証により使用するAPIの範囲としての権限が確認される。またライセンス情報により、アプリケーション提供者との関係におけるアプリケーション利用者の正当性と、アプリケーション利用者の承諾の範囲としてのAPI使用が確認される。このため、アプリケーション提供者とアプリケーション利用者の2者の意思による合意範囲内で、サービスアプリケーションによる正当なAPI使用が確保される。
このため少なくともサービスコード、使用API情報、及びライセンス承認情報の確認を含む認証処理を行うことが好適である。
以上の認証処理は一例である。上掲したすべての事項の認証を必ず実行しなければならないわけではない。例えば登録情報としてサービスコードに対応してアプリケーション提供者の情報が得られたか否かの確認は行われなくてもよい。
但しステップS413〜S416のサービスコード、サービス識別情報、使用API情報、及びライセンスキーの全てについて上記の確認ができた場合に最終認証OKとすることは、サービス実行時の情報の安全性の面で好適である。
また、他の事項の認証を加えてもよい。例えばAPI使用要求の際に、アプリケーション提供者の情報も送信されるのであれば、アプリケーション提供者の情報について登録情報との一致を確認してもよい。
同様にAPI使用要求の際に、アプリケーション利用者を示す情報が送信されるのであれば、ライセンスキーに対応する利用者特定情報との一致を確認してもよい。
図16のステップS400では例えば以上の図17のように認証処理が行われる。
認証結果が得られたらAPIサーバ20はステップS401で利用者装置4に対して認証結果通知を行う。即ち図17のステップS416又はS417で得られる認証OK、認証NG、或いは認証不能を通知する。
認証NG又は認証不能となった場合、APIサーバ20は、図16のステップS402からS405に進んで、API使用禁止としてAPI使用要求に対する処理を終了する。
また利用者装置4では、認証NG又は認証不能の通知を受信した場合、ステップS322からS324に進んで、サービスアプリケーションはエラー終了することになる。
認証OKとなった場合、APIサーバ20はステップS402からS403に進んで実績管理部22の機能による実績管理処理を行う。この実績管理処理を図18に示す。実績管理部22は例えば認証部21から認証OKの結果が通知されることに応じて、サービスコード、ライセンスキーを用いて実績管理処理を行う。
図19に実績データベース32に記憶される実績情報の一例を示す。
アプリケーション提供者についての実績情報として、各アプリケーション提供者V1,V2・・・毎に、API使用実績が記憶される。
例えばAPI使用の発生毎に、日時、使用APIを示す情報、アプリケーションプログラムを示す情報、アプリケーション利用者を示す情報、課金データが記憶されていく。
アプリケーション利用者についての実績情報も、同様に、各アプリケーション利用者M1,M2・・・毎に、API使用実績が記憶される。
例えばAPI使用の発生毎に、日時、使用API、アプリケーションプログラムを示す情報、アプリケーション提供者を示す、課金データが記憶されていく。
使用APIを示す情報としては、サービスコードから導かれる使用API情報を用いることができる。
アプリケーションプログラムを示す情報は、サービスコードから導かれるサービス識別情報を用いることができる。
アプリケーション利用者を示す情報は、ライセンスキーから導かれる利用者特定情報を用いることができる。
アプリケーション提供者を示す情報は、サービスコードから導かれるアプリケーション提供者の情報を用いることができる。
課金データは、使用するAPIに応じた単価や、累積金額などである。
実績情報はこの図19のような例に限らず、記憶すべき項目も他に多様に想定されるが、いずれにしても、APIの使用実績や、それに応じた課金金額が把握できるものであればよい。
実績管理部22は、例えばこのようなアプリケーション提供者の実績情報と、アプリケーション利用者の実績情報について、更新/追加等を行っていく。
図18のステップS431で実績管理部22は、サービスコードから、アプリケーション提供者V(x)、サービス識別情報、使用API情報を判定する。これらは、認証時に読み出された登録情報として取得してもよいし、実績管理部22が登録データベース30にアクセスして取得してもよい。
ステップS432で実績管理部22は、アプリケーション提供者のAPI使用情報の更新を行う。例えばサービスコードから導かれたアプリケーション提供者V(x)についての図19のような実績情報に、今回のAPI使用要求に関する日時、使用API、サービス識別情報、利用者特定情報を追加する。
またステップS433で実績管理部22は、今回のAPI使用要求に関するアプリケーション提供者に対しての課金データを生成する。そして課金データを実績情報に追加する。
ステップS434で実績管理部22は、ライセンスキーから導かれる利用者特定情報でアプリケーション使用者M(x)を判定する。利用者特定情報は、認証時に読み出された登録情報として取得してもよいし、実績管理部22が登録データベース30にアクセスして取得してもよい。
ステップS435で実績管理部22は、アプリケーション利用者のAPI使用情報の更新を行う。例えば利用者特定情報で特定されたアプリケーション利用者M(x)についての図19のような実績情報に、今回のAPI使用要求に関する日時、使用API、サービス識別情報、アプリケーション提供者の情報を追加する。
またステップS436で実績管理部22は、今回のAPI使用要求に関するアプリケーション利用者に対しての課金データを生成する。そして課金データを実績情報に追加する。
図16のステップS403としての実績管理処理が、例えば以上の図18のように行われることで、API使用に関してアプリケーション提供者、アプリケーション利用者のそれぞれに実績管理や課金データ形成を行うことができ、API使用の関係者の実績を容易に把握できる。また認証を経た上での使用のため、実績情報は正当なAPI使用についての実績であることが確保され、その意味でアプリケーション提供者、アプリケーション利用者のそれぞれに対する課金データも正当なAPI使用にかかる金額として算定できる。
なお、図18は一例に過ぎない。実績情報のデータ形態は多様に想定される。設定する実績データのデータ種別、データベース形式など応じて、必要な実績情報の追加や更新が、アプリケーション提供者とアプリケーション利用者のそれぞれについて行われればよい。
また実績管理は、認証OKの場合に包括的に使用実績を登録していくような手法ではなく、アプリケーションプログラムによるサービス実行中の処理過程で実際にAPIが使用される都度、使用実績を登録するような手法も考えられる。
上述の認証OKの場合、利用者装置4では、ステップS322からS323に進んで、サービスアプリケーションの通常処理が実行される。
そのサービスアプリケーションの処理過程で、APIサーバ20が用意しているAPIが使用されてアプリケーション利用者に関する情報アクセスが行われる。APIサーバ20側では、サービスアプリケーションの要求に応じてステップS404として示すようにAPI処理が行われ、店舗情報データベース31に対する情報アクセスが実行される。
例えば図15に示すように、店舗情報データベース31には、各アプリケーション利用者M1,M2・・・について、各アプリケーション利用者の営業情報M1dt、M2dt・・・等が保存されている。
今、図15に示した利用者装置4が、アプリケーション利用者M1が用いる装置であるとすると、サービスアプリケーションの処理によって利用者装置4は例えばAPI#1を利用して、自己の営業情報M1dtにアクセスする。
このようなアクセスを利用して、サービスアプリケーションは利用者装置4上でアプリケーション利用者M1に対して、商品在庫、価格管理、顧客情報などの提示、編集対応などを行う。即ちネットワークサービスを提供することになる。
そしてこのようなAPI使用による情報アクセスは、上述のようにサービスコードとライセンスキーを用いた認証のうえで実行される。従ってむやみにAPI使用が行われることはなく、正当な使用の範囲に制限されることで、営業情報M1dt等の情報の安全性も確保される。
なお、ライセンスキーの認証によりアプリケーション利用者が特定されるため、APIにより処理されるデータを限定することができる。例えばアプリケーション利用者M1の利用者装置4からのAPI使用の場合、例えばAPI#1により営業情報M1dtにアクセスされるが、他人の営業情報M2dtにはアクセスできないようにすることができる。実際には、API#1が認証結果に基づいて、認証されたアプリケーション利用者M1向けの情報のみをアクセスするようにフィルタリングを行えばよい。このようにすることで各アプリケーション利用者M1、M2・・・にとっては、自己の営業情報にアクセスして閲覧・更新等ができ、かつその自己の営業情報を他人によってはアクセスできないものとなる。
即ち利用者限定性のある情報を扱うAPIを想定した場合、ライセンスキーの認証結果に基づいて、APIがアクセスする情報を限定することが好適である。
但し、APIが特に利用者が限定されない一般公開情報を扱う場合は、このようなアクセスする情報をアプリケーション利用者に応じて限定するような情報のフィルタリングは行わなくてもよい。
ところで、先にアプリケーション利用者によるライセンス承認に関して、使用APIの一括承認と個別承認について述べた。
ここまでの認証や実績管理を含むサービス実行時の処理は、一括承認を想定している。個別承認を採用する場合、認証処理においては、一部のAPIの使用に関して許可するという最終結果が得られる場合が生ずる。つまりアプリケーション利用者がライセンス承認を行わなかったAPIについては使用が禁止される。
例えば図17のステップS406のライセンスキーの認証に関しては、一部のAPIが“承認”で一部のAPIが“非承認”ということがあり得る。このような場合、“承認”のAPIについて許可という制限付きの認証OKとなる。
この場合、例えば実績管理処理においては、使用OKとされたAPIについてのみの使用情報や課金情報を更新することが適切である。
またサービスアプリケーションの処理機能は、使用できないAPIが存在することで、一部が制限されることが考えられる。
<5.サービス実行時の処理例II>
サービス実行時の処理例IIを図20〜図23を参照して説明する。処理例IIの場合の基本的な処理は上述した(P1)〜(P4)と同様であるが、この例は、登録情報にコピー制限回数や端末識別情報を加え、サービス実行時にこれらの確認も行う点が異なる。
この場合の登録情報の例を図20に示す。図4と異なるのは、各ライセンスキーLC#A、LC#Bに対応してコピー制限回数CNが登録され、また1又は複数の端末識別情報DV(DV1、DV2・・・)が登録される点である。
これらの登録は、上述の登録処理過程で行われても良いし、独立した端末登録として行われてもよい。また例えばサービスアプリケーションが利用者装置4において初めて起動されたときに行われるようにしてもよい。以下では、初回起動時に登録が行われる例で説明する。
図21は、先の図16と同様に、主に利用者装置4とAPIサーバ20の処理を示している。図16と同一の処理は同一のステップ番号を付して説明を省略する。異なるのは利用者装置4においてはステップS320のサービスアプリケーション起動時の処理と、ステップS330が加わること、さらにはステップS321の送信内容である。APIサーバ20側ではステップS400の認証処理が異なる。またステップS320に対応して登録サーバ10のステップS180の登録要求対応処理が行われる。
まず、利用者装置4のステップS320のサービスアプリケーション起動時の処理と、それに対応する登録サーバ10の処理を図22で説明する。
図22のステップS3201で、利用者装置4においてサービスアプリケーション起動が行われる。サービスアプリケーションに基づいて処理を行う利用者装置4は、今回の起動が、その利用者装置4としての端末上で初めてであるか否かを判断し、初回起動でなければステップS3202から処理を抜ける。この場合、図21のステップS320が終了する。
初回起動の場合のみ、ステップS3202からS3203に進む。ステップS3203で、利用者装置4は、自己の端末識別情報を取得する。端末識別情報は、端末自体を識別できる情報である。例えばMACアドレス(Media Access Control address)や情報処理装置としての製品シリアルナンバなどが想定される。
そして利用者装置4はステップS3204で登録サーバ10に対し端末登録要求を送信する。このとき、端末登録要求とともに、サービスコード、ライセンスキー、及び端末識別情報も送信する。
なお、この端末登録要求は、利用者WEB13を用いて実行するようにしてもよいし、ウェブサイトを介さずに利用者装置4がEC管理システム1に送信する形態でもよい。
端末登録要求に対応して登録サーバ10では、登録管理部11が例えばライセンス処理部11bの機能によりステップS160の端末登録可否判定を行う。
この場合、例えばサービスコードにより登録データベース30をアクセスして登録情報を読み出す。そして例えば
・サービスコードが登録されているか。
・ライセンスキーがサービスコードに対応されているか。
・ライセンスキーについてライセンス承認情報が“承諾”になっているか。
・そのライセンスキーについて既に登録されている端末識別情報DVの数が、コピー制限回数CNの数に達していないか。
・送信されてきた端末識別情報が既に端末識別情報DVとして登録済みでないか。
・送信されてきた端末識別情報が、登録禁止対象(例えばブラックリスト掲載)となっていないか。
等を確認する。そしてこれらの条件がクリアできた場合に登録可と判定する。
登録可とする場合、登録サーバ10はステップS161からS162に進み、端末登録要求について送信されてきた端末識別情報を、ライセンスキーに対応させて登録データベース30に登録する処理を行う。
そして登録サーバ10はステップS163で登録確認処理を行う。これはアプリケーション利用者に、端末登録についての確認を求めるための処理である。
登録確認処理では、少なくともアプリケーション利用者に対して端末識別情報登録の通知(端末登録通知)を行う。この通知は、ライセンスキーに対応して登録されている利用者特定情報で示されるアプリケーション利用者に対して行う。従って実際に端末登録要求を送信してきた利用者装置4である場合もあるが、他の利用者装置4となる場合もある。通知は、例えば利用者特定情報から導かれる電子メールアドレス宛に電子メールとして送信してもよいし、他の手法でもよい。このステップS163は、あくまでも、利用者特定情報により登録されたアプリケーション利用者に対して通知を行うという処理となる。
この通知により、正規のアプリケーション利用者は、或る利用者装置4の端末識別情報が登録されたことを知ることができる。これがアプリケーション利用者自身が使用する端末であったり、管理下の端末であれば問題ない。ところがアプリケーション利用者にとって未知の端末であれば、サービスアプリケーションとライセンスキーが不正にコピー又は盗用されて流出した可能性がある。アプリケーション利用者は、このように通知により不正使用の危険性を知ることができる。
ステップS163の登録確認処理としては、少なくとも以上の端末登録通知が行われるが、さらに以下の処理を行うようにしても良い。
例えば端末登録通知に対してアプリケーション利用者からの端末登録承諾の通知を待機し、端末登録承諾の通知が得られた場合のみ、ステップS162で登録した端末識別情報を有効化してもよい。つまり正当なアプリケーション利用者の管理に基づくサービスアプリケーションの起動であれば、アプリケーション利用者に承諾通知を求め、その承諾通知によって端末識別情報の登録の正当性を担保する。
一方、所定期間内に承諾通知が得られなかったり、或いはアプリケーション利用者から拒否通知が送信されてきた場合、登録した端末識別情報DVを削除したうえ、ステップS161で登録不可とする場合と同様にステップS165に進むようにしてもよい。
また拒否通知の場合、その対象の端末識別情報を上記したブラックリストに登録するということも考えられる。
続いて登録サーバ10はステップS164で、利用者装置4に対して登録完了通知を行う。この場合の通知先の利用者装置4とは、ステップS3204で端末登録要求を送信してきた端末のことである。つまり端末登録要求に対する結果通知となる。
一方、登録不可の場合は、登録サーバ10はステップS161からS165に進み、利用者装置4に対して登録不可通知を行う。
利用者装置4では、ステップS3205で登録完了通知又は登録不可通知を確認し、これを記憶する。
以上の図22の処理が、図21のステップS320,S180で行われる。
利用者装置4では、ステップS320の起動処理の後、ステップS330で、記憶してある登録通知を確認する。即ち、初回起動時であれば、直前に登録完了通知か登録不可通知が受信されているため、それを確認する。2回目以降の起動時は、初回起動時に上記図22の処理で通知され、記憶した登録完了通知か登録不可通知を確認する。
ステップS330において、通知内容が登録不可通知であった場合、その利用者装置4は端末識別情報DVが登録されていない端末である。この場合、正規のサービスアプリケーション使用とは認められないため、ステップS324に進み、エラー終了となる。
登録完了通知が確認された場合、ステップS330からS321に進み、利用者装置4はAPIサーバ20に対してAPI使用要求を送信する。このAPI使用要求の際に、利用者装置4はサービスコードとライセンスキー、さらには端末識別情報を同時に送信する。なお、API使用要求には、要求を行ったサービスアプリケーションを示すサービス識別情報、及び使用要求の対象となるAPIを指定する情報も含まれている。
利用者装置4側では、これ以降のステップS322,S323,S324は、処理例Iの図16と同様に処理が行われる。
APIサーバ20では、API使用要求に対して、ステップS400〜S404の処理を図16の場合と同様に実行するが、ステップS400の認証処理で異なる点があるため、図23で説明する。
図23はAPIサーバ20が認証部21によって実行する認証処理を示している。
認証部21はステップS410Aで、API使用要求とともに利用者装置4から送信されてきたサービスコードとライセンスキー、さらに端末識別情報を取得する。
また認証部21は、API使用要求としての情報に含まれているサービス識別情報と使用要求対象のAPIを示す情報も取得する。
そして認証部21はステップS411で、サービスコードとライセンスキーを用いて登録データベース30にアクセスし、そのサービスコード及びライセンスキーに対応する登録情報を取得する。この場合、図20に示した登録情報を取得する。つまりサービスコードに対応する登録情報として、サービス識別情報、アプリケーション提供者の情報、及び使用API情報を取得する。またライセンスキーに対応する登録情報として、そのライセンスキー自体に対応する利用者特定情報、ライセンス承認情報、及び端末識別情報を取得する。例えばライセンスキーLC#Aの場合、利用者特定情報MC−A、及びライセンスキーLC#Aについてのライセンス承認情報、端末識別情報DV1,DV2,DV3である。
以降のステップS412〜S419は図17で説明した処理と同様であるため重複説明を避ける。
この図23の例では、ステップS420として認証事項に端末識別情報が加えられる。
ステップS420で認証部21は端末識別情報についての認証として、例えば以下の確認を行う。
・正規に登録された端末識別情報であるか否かの確認
API使用要求と共に送信されてきた端末識別情報が、登録データベース30に登録された端末識別情報DVに一致するか否かを確認する。この場合、ライセンスキーとの対応関係で一致確認を行うことになる。例えば図20の場合で説明すると、API使用要求においてライセンスキーLC#Aが利用者装置4から送信されてきた場合、認証部21は、利用者装置4から送信されてきた端末識別情報が、ライセンスキーLC#Aに対応する端末識別情報DV1,DV2,DV3のいずれかに一致しているか否かを確認する。
このような端末識別情報についての認証を加えた上で、ステップS417,S418の認証結果判定が行われ、図21のステップS400の認証処理が完了する。
そして以降、APIサーバ20ではステップS401〜S404の処理が図16の場合と同様に実行される。
以上の処理例IIのように、コピー制限回数や端末識別情報を用いた判断を行うことで、サービスアプリケーション利用の安全性をより高めることができる。つまりAPIサーバ20は利用者装置4としての端末単位で認証でき、登録されていない端末が用いられている場合に不正使用の可能性があるとして、API使用要求を拒否できる。例えばサービスアプリケーションの不正コピーやライセンスキーの盗用によって、サービスアプリケーションが起動された場合におけるAPI使用を禁止できる。
また端末識別情報DVの登録の条件に、ライセンスキーについて既に登録されている端末識別情報DVの数がコピー制限回数CNを越えないことを条件とすることで、サービスアプリケーションのコピーによる氾濫を防ぐこともできる
なお、コピー制限回数CNの情報は、必ずしもライセンスキーに対応させて登録しなくても良い。例えば全ての場合にコピー制限回数は“1つのライセンスキーに対して3回”などとシステム上で設定する場合、コピー制限回数CNを登録する必要はない。
またコピー制限回数はサービスアプリケーション(サービス識別情報)に対応させて登録するようにしても良い。例えばアプリケーション提供者が、上述したAPI使用登録要求において、コピー制限回数を入力可能とする。これに応じて登録サーバ10が図6のステップS103の時点で、コピー制限回数CNをサービス識別情報やサービスコードに対応させて登録するようにする。
またコピー制限回数CNは、アプリケーション提供者が予め自己が提供するサービスアプリケーションについて固定的に設定し、登録サーバ10に通知しておいてもよい。その場合、固定値のコピー制限回数CNがサービスコードに対応して自動登録されるようにすることも考えられる。
またコピー制限回数CNをライセンスキーに対応させる場合、アプリケーション提供者が顧客(アプリケーション利用者)毎にコピー制限回数CNを設定可能としてもよい。
例えばライセンス発行要求として利用者特定情報を登録サーバ10に送信する際に、その利用者特定情報に対応させてコピー制限回数CNを設定できるようにする。登録サーバ10では、図7のステップS113の処理で、ライセンスキー、利用者特定情報に対応させてコピー制限回数CNを登録する。
このようにすれば、アプリケーション提供者が、アプリケーション利用者の個別にサービスアプリケーションの許容コピー回数を設定できる。例えばサービスアプリケーション提供の契約内容などにより許容コピー回数を設定することができる。
また、コピー制限回数CNをサービス利用者が設定できるようにしてもよい。
例えばコピー制限回数CNとしての上限がシステム上、もしくはアプリケーション提供者の設定により決められている範囲内で、アプリケーション利用者がライセンス承認を行う際にコピー制限回数CNを入力可能とする。そして登録サーバ10は図8のステップS124のライセンス承認情報の登録の際などに、そのライセンスキーに対応させてコピー制限回数CNを登録する。この場合、アプリケーション利用者が、自己の情報(営業情報M1dt等)の流出を厳に防止するといった目的で、サービスアプリケーションのコピーを制限したいというときに有用となる。
またコピー制限回数CNは登録されなくても良い。例えばコピー回数制限を行わない場合は必要ない。或いは、アプリケーション提供者が、自己が提供するサービスアプリケーションについてはコピー回数制限を設けたくない場合、そのアプリケーション提供者のサービスアプリケーションについてはコピー制限回数CNが登録されないような手法も考えられる。
またコピー制限回数CNは登録するが、端末識別情報DVを登録しないという例も考えられる。
<6.サービス実行時の処理例III>
サービス実行時の処理例IIIを図24を参照して説明する。基本的な処理は上述した(P1)〜(P4)と同様であるが、この例は、API使用要求に対する認証の際に、アプリケーション提供者に対する確認を行うものとしている。
図24には、利用者装置4とAPIサーバ20の処理に加えて提供者装置3Aの処理も示している。利用者装置4とAPIサーバ20の処理において図16と同様の処理は、同一のステップ番号を付して説明を省略する。この場合、APIサーバ20においてステップS460の真正アプリケーション確認処理が行われる点が図16と異なる。
APIサーバ20は利用者装置4からAPI使用要求が送信され、例えばステップS400の認証を行った後に、ステップS460の真正アプリケーション確認処理として、提供者装置3Aに対して確認要求の通知を行う。
この場合、例えばサービスコード、ライセンスキー、サービス識別情報、利用者特定情報など、実行されようとしているサービスアプリケーションの内容や権限を示す情報を、提供者装置3Aに送信する。
提供者装置3AにおいてはステップS351で、例えばこのサービスアプリケーションの内容や権限が正当なものであるか否かを確認する照合処理を行って、その結果を確認回答としてAPIサーバ20に通知する。
APIサーバ20は確認回答がOKであれば、提供者確認OK、確認回答がNGであれば提供者回答NGとして処理する。
そしてAPIサーバ20はステップS401Aで利用者装置4に対して認証結果と提供者確認結果を通知する。
認証NG又は認証不能となった場合、或いは提供者確認NGとなった場合は、APIサーバ20は、ステップS402AからS405に進んで、API使用禁止としてAPI使用要求に対する処理を終了する。
また利用者装置4では、認証NG又は認証不能の通知、或いは提供者確認NGの通知を受信した場合、ステップS322AからS324に進んで、サービスアプリケーションはエラー終了することになる。
APIサーバ20は認証OKかつ提供者確認OKとなった場合に、ステップS402AからS403の実績管理処理、及びステップS404のAPI処理に進む。
利用者装置4では、認証OKかつ提供者確認OKの通知が得られた場合に、ステップS322AからS323に進んで、サービスアプリケーションの通常処理が実行される。
このようにサービス実行時にサービスアプリケーションが真正なものか否かを提供者装置3A側の確認をとるようにすることで、不正アプリケーションによるAPI使用を排除できる。
具体的には、或るサービスアプリケーションについて登録されたサービスコードが盗用されて、正規登録されていない他のサービスアプリケーションに付加されて使用される場合が考えられる。
例えば悪意のアプリケーション利用者が、不正にサービスコードが付加されたサービスアプリケーションを取得して、自己に発行されたライセンスキーを使用してAPIサーバ20にアクセスする場合や、さらにライセンスキー自体も盗用されて第三者に不正サービスアプリケーションが使用される場合などが想定される。
このような不正サービスアプリケーションによるAPI使用要求があった場合に、そのサービスアプリケーションの内容をアプリケーション提供者側に確認することで、不正使用を排除できる。
なお、アプリケーション提供者側(提供者装置3A)で確認を行うために、例えばサービス識別情報の照合を行うことが考えられる。サービス識別情報として、1つのサービスアプリケーションのタイトルに固有の情報を含むようにすれば、サービスコードとサービスアプリケーションの関係を確認できる。
また、真正アプリケーション確認処理は、提供者装置3Aに対する通知のみとし、確認回答受付は行わないようにしてもよい。確認回答の待機によりサービス実行のパフォーマンス低下を避けるためである。提供者装置3Aに対する通知のみであっても、アプリケーション提供者が確認して対処することで、事後的に不正アプリケーション使用に対処することが可能である。
また真正アプリケーション確認処理は、一例としてステップS400の認証の後に行われるようにしたが、ステップS400の認証処理の前に行っても良い。
またAPI使用要求の際に毎回行うのではなく、例えばサービスアプリケーションによる初回のAPI使用要求の際にのみ真正アプリケーション確認処理を行ったり、或いは定期的に行うようにしてもよい。
また以上の処理例IIIを、処理例IIの場合に適用してもよい。
<7.サービス実行時の処理例IV>
サービス実行時の処理例IVとして、図1の提供者装置3Bを利用するASPの場合について説明する。
なお、ASPとしての提供者装置3Bの場合、サービスアプリケーションを利用者装置4ではなく提供者装置3Bで起動し、提供者装置3Bがサービスアプリケーションに従ってAPI使用を行うことになる。この場合、基本的には上述の処理例I、II、IIIにおける利用者装置4の処理が提供者装置3Bにおいて実行されると考えればよい。
但しこの処理例IVとしては、悪意のASPによるAPI使用を排除する処理も加えた例を説明する。
図25はサービス実行時の認証やAPI使用の処理についての関連部位と情報のやりとりを模式的に示したものである。
この場合、提供者装置3B側でサービスアプリケーションが用意されている。提供者装置3Bは、利用者装置4からの要請に応じてサービスアプリケーションを実行する。即ち提供者装置3Bにおいてサービスアプリケーションを起動する。この際にサービスアプリケーションはAPIサーバ20が用意するAPIを使用して必要な情報アクセスを行う。例えばアプリケーション利用者M1の利用者装置4からの要請に応じて、提供者装置3Bで起動されているサービスアプリケーションは、API#1を使用して営業情報M1dtにアクセスを行う。そして例えば商品管理、在庫管理、顧客管理などのサービスの結果を利用者装置4に提供する。この形態によりアプリケーション利用者がサービスアプリケーションによるサービスを享受できる。
サービス実行時の処理は大まかには次の(P11)〜(P14)の手順で行われる。
(P11)提供者装置3Bは利用者装置4からのサービス要求及びライセンスキーを受け取る。そして提供者装置3Bは起動したサービスアプリケーションに基づいて、APIサーバ20に対してAPI使用要求を送信する。この場合にサービスコードとライセンスキーも送信する。
(P12)APIサーバ20は、認証部21の機能により、API使用要求に伴うサービスコードとライセンスキーに基づいて認証処理を行う。そして認証結果を提供者装置3Bに通知する。このとき真正使用確認処理としてAPIサーバ20と利用者装置4の間で確認要求と確認回答のやりとりが行われる。APIサーバ20は、その確認結果も提供者装置3Bに通知する。
(P13)認証OKの場合、APIサーバ20は、実績管理部22の機能により、サービスコードとライセンスキーに基づいてアプリケーション提供者とアプリケーション利用者について個別の実績管理処理を行う。
(P14)認証OKの場合、APIサーバ20はAPI使用を許可する。つまりサービスアプリケーションによる処理過程で発生する要求に応じて、API使用が実行される。
以下、図26を参照してサービス実行時の各部の具体的な処理例を説明する。
図26は利用者装置4、提供者装置3B、APIサーバ20の処理を示している。図26のAPIサーバ20の処理とは、認証部21が図3で説明した認証処理部21a、登録情報取得部21bの機能を用いて実行する処理と、実績管理部22の機能による処理と、API24による処理を含む。
アプリケーション利用者がASPとしてのアプリケーション提供者が提供するサービスを享受する場合、アプリケーション提供者にサービス実行を依頼する。即ち利用者装置4はステップS350で、提供者装置3Bに対してサービス実行要求を送信する。このときにそのサービスについて取得しているライセンスキーも送信する。
提供者装置3Bでは、サービス実行要求に応じてステップS500でサービスアプリケーションの起動処理が行われる。
サービスアプリケーションが起動されることで、そのサービスアプリケーションによって規定される処理として、提供者装置3BではステップS501以降の処理が行われる。
ステップS501で提供者装置3BはAPIサーバ20に対してAPI使用要求を送信する。
このAPI使用要求の際に、提供者装置3Bは、サービスアプリケーションに付加されているサービスコードと、利用者装置4から受け取ったライセンスキーも同時に送信する。
なお、API使用要求には、要求を行ったサービスアプリケーションを示すサービス識別情報、及び使用要求の対象となるAPIを指定する情報も含まれている。
APIサーバ20はAPI使用要求に応じてステップS400で、認証部21の機能により、例えば図17や図23で説明した認証処理を行う。
認証処理に続いてAPIサーバ20は、ステップS450で真正使用確認処理を行う。
この場合、APIサーバ20は、ライセンスキーに対応して登録されている利用者特定情報で示される利用者装置4に対して、確認要求を送信する。例えばライセンスキー、サービス識別情報、利用者特定情報などに基づいて、実行されようとしているサービスアプリケーションの内容や権限を示す情報を、利用者装置4に送信する。
利用者装置4においては、ステップS351で、例えばこのサービスアプリケーションの内容や権限が正当なものであるか否かを確認する照合処理を行って、その結果を確認回答としてAPIサーバ20に通知する。
APIサーバ20は確認回答がOKであれば、利用者確認OK、確認回答がNGであれば利用者回答NGとして処理する。
そしてAPIサーバ20はステップS401Bで提供者装置3Bに対して認証結果と利用者確認結果を通知する。
認証NG又は認証不能となった場合、或いは利用者確認NGとなった場合は、APIサーバ20は、ステップS402AからS405に進んで、API使用禁止としてAPI使用要求に対する処理を終了する。
また提供者装置3Bでは、認証NG又は認証不能の通知、或いは利用者確認NGの通知を受信した場合、ステップS502からS504に進んで、サービスアプリケーションはエラー終了することになる。
APIサーバ20は認証OKかつ利用者確認OKとなった場合に、ステップS402AからS403の実績管理処理、及びステップS404のAPI処理に進む。
提供者装置3Bでは、認証OKかつ利用者確認OKの通知が得られた場合に、ステップS502からS503に進んで、API使用を伴うサービスアプリケーションの通常処理が実行される。そしてサービス結果として得られるサービスデータを利用者装置4に送信する。利用者装置4ではステップS352でサービスデータを受け取る。アプリケーション利用者はサービスを享受する。
以上のようにASPとしての提供者装置3Bでサービスアプリケーションが実行される場合も、処理例Iの場合と同様に認証や実績管理が行われ、情報の安全性確保やアプリケーション提供者、アプリケーション利用者の個別の実績管理が可能となる。
またこの処理例IVでは、サービス実行時に、サービスアプリケーションが提供者装置3Bによって正しく使用されているか否かを利用者装置4側の確認をとるようにしている、これにより、悪意のASPがライセンスキーを盗用してサービスアプリケーションを実行することによる不正なAPI使用を排除できる。
具体的には、或るアプリケーション利用者が承認したライセンスキーを盗用したアプリケーション提供者が、そのライセンスキーを用いてサービスアプリケーションを実行し、アプリケーション利用者の情報(営業情報M1dt等)の不正閲覧、流出、改ざん等を行うことが防止される。
なお、アプリケーション利用者側の確認としては、正規にサービス実行要求を発したことに応じたサービスアプリケーションの実行であるかを確認すればよい。従って、例えば利用者装置4側でユーザの操作を待たずに自動的に確認回答をAPIサーバ20に送信することも可能である。
また真正使用確認処理は、利用者装置4に対する通知のみとし、確認回答受付は行わないようにしてもよい。確認回答の待機によりサービス実行のパフォーマンス低下を避けるためである。利用者装置4に対する通知のみであっても、アプリケーション利用者が確認して対処することで、事後的にライセンスキーの不正流出を知ることができ、サービスアプリケーションの不正使用に対処することが可能である。
また真正使用確認処理は、一例としてステップS400の認証の後に行われるようにしたが、ステップS400の認証処理の前に行っても良い。
またAPI使用要求の際に毎回行うのではなく、例えばサービスアプリケーションによる初回のAPI使用要求の際にのみ真正アプリケーション確認処理を行ったり、或いは定期的に行うようにしてもよい。
<8.EC管理システムの実施による効果>
以上、EC管理システム1の登録サーバ10やAPIサーバ20による動作を説明してきたが、この実施の形態によれば以下の効果が得られる。
まずEC管理システム1としての情報処理装置は、サービスコード処理部11a、ライセンス処理部11bとしての機能を持つ登録サーバ10を備えている。
サービスコード処理部11aは、提供者装置3から送信されてきた、API使用登録要求に対し、当該サービス(サービスアプリケーション)がAPI使用サービスとして登録されたことを示すサービスコードを生成する。そしてサービス識別情報及び使用API情報をサービスコードと対応させて登録する処理を行う。
ライセンス処理部11bは、提供者装置3から送信されてきた、サービスについての利用者特定情報に対応して、使用API情報で示されるAPIを使用した情報アクセス権限が未承認状態のライセンス情報を生成する。またライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者の利用者装置4からの、情報アクセス権限の承認又は非承認を示すライセンス承認情報を受け付ける。そしてライセンス承認情報をライセンス情報に対応させて登録する。
このような登録サーバ10としての構成により登録処理が行われることで、API使用を伴うサービスアプリケーションについて、サービスコードにより正規登録を明示し、またライセンス情報によりアプリケーション利用者を特定し、かつアプリケーション利用者がライセンス承認を与える形式で管理できる。
従ってEC管理システム1は、サービスコードによりアプリケーション提供者を管理可能であり、かつライセンス情報によりアプリケーション利用者を管理可能な状態の登録情報を得ることができる。
またライセンス情報は、アプリケーション利用者がサービスについて認識した上でサービス実行を承諾できる形式としている。従ってアプリケーション利用者によるAPI使用を伴うサービス利用についての主体的な可否判断機会が提供される。
また特に、本実施の形態が前提とするシステムは、APIを使用するサービスアプリケーションが、複数、1又は複数のアプリケーション提供者によって提供され、複数のアプリケーション利用者の各々が、自己が利用可能とされたサービスアプリケーションの実行によるサービスを享受できるように構成されている。つまり複数のサービスアプリケーションと、複数のアプリケーション利用者が存在する中で、適切な管理や正当なAPI使用のための登録が実現されることが、システム管理上、非常に有用となる。
また登録サーバ10は、アプリケーション利用者に対する、ライセンス情報発行の通知処理を行う。そしてその際にライセンス情報に対応するサービスの情報とリスク情報の提示処理を行うようにしている。これにより、アプリケーション利用者がサービスアプリケーションの内容やリスクを正しく理解してライセンス承認を行うことができる
提示するリスク情報としては使用API情報を用いている。使用API情報をリスク情報に含めることで、アプリケーション利用者が、サービスによって具体的にどのような情報が利用されるのかを認識でき、これもアプリケーション利用者による主体的なライセンス承認に適切である。
また登録サーバ10は、リスク情報として通知した1又は複数の使用API情報に対する、利用者装置4からの一括承認の情報のみを、ライセンス承認情報として受け付けるようにすれば、アプリケーション提供者が本来想定するAPI使用を全て維持した状態でのサービス提供を確保できる。つまりサービスを常に本来の機能を維持した状態で提供する環境をつくることができる。
一方で、個別承認の情報を、ライセンス承認情報として受け付けるようにすれば、アプリケーション利用者によるカスタマイズ(機能制限)を付加したサービス提供が可能な環境をつくることができる。またこれにより、サービスによる情報アクセスに対するアプリケーション利用者の制限意思を細かく反映させることが可能となる。
またサービス実行時の処理例IIにおいて述べたように、登録サーバ10は、ライセンス情報に対応させてコピー許可回数を登録する。これによりサービスアプリケーションの無制限拡散防止のための環境を形成できる。
また登録サーバ10は、ライセンス情報に対応させて端末識別情報を登録する。これにより登録した端末によりアプリケーション利用を行う環境を提供できる。アプリケーション利用者にとっては、なりすましやライセンス盗用などによる他端末からのサービス利用を防止できる環境となる。
また端末識別情報については、対応するライセンス情報についてのコピー許可回数分だけ登録可能として、端末識別情報の登録処理を行う。これによりサービスアプリケーションのコピー回数が、端末識別情報の登録により管理できる環境を実現できる。
またサービス実行時の処理例IIにおいて述べたように、登録サーバ10は、端末識別情報を登録した際、登録の事実をアプリケーション利用者に通知する処理を行う。これによりアプリケーション利用者が、自分が承認したライセンス情報によるサービスを他端末で不正使用されないかチェックでき、サービス利用の安全性や情報流出防止効果を高めることができる。
また登録サーバ10は、提供者WEB12によりAPI使用登録要求を受け付けることに応じてサービスコードの生成処理を行う。また提供者WEB12によってライセンス発行要求を受け付ける。これによりアプリケーション提供者によるサービスコード発行のための手続やライセンス発行のための手続を容易化できる。
また登録サーバ10は、利用者WEB13により利用者装置4からライセンス承認情報を受け付けて、ライセンス情報に対応させて登録する処理を行う。これによりアプリケーション利用者によるライセンス承認のための手続を容易化できる。
また、APIサーバ20が提供するAPIは、営業情報M1dt等の公開制限情報に対して読出又は書込アクセス可能な情報アクセス用APIである。この場合、利用者固有情報である営業情報M1dt等を使用するサービスに関して、サービスアプリケーションによるAPI使用、つまり情報アクセスについての情報安全性が確保できる。
公開制限情報とは、例えばアプリケーション利用者の営業に関する情報であったり、EC管理システム1が作成して特定のアプリケーション利用者に提供するような情報、例えば電子商取引でのログ情報、統計情報、課金情報などが考えられる。
但し本例のシステムにおけるAPIが、公開制限情報にアクセスするAPIに限定されるものではない。公開情報へのアクセスのためのAPIを利用するサービスにおいて実施の形態の処理を適用することは有用である。例えば他人によるサービスのただ乗り等を排除してサービス実行に関する安全性が確保されるためである。即ち公開情報であっても、そのアクセスについてアプリケーション利用者がライセンス承認を行う必要がある状況において実施の形態のシステムは有用である。
またEC管理システム1としての情報処理装置は、認証処理部21a、登録情報取得部21bとしての機能を持つ認証部21を備えている。認証部21はAPIサーバ20内でも良いし、APIサーバ20の外部の情報処理装置で構成されてもよい。
登録情報取得部21bは、APIを使用するサービスアプリケーションについて、サービス識別情報と、使用API情報と、サービスコードと、利用者特定情報と、ライセンス情報と、ライセンス承認情報とが関連づけられた登録情報を取得する。
認証処理部21aは、サービスアプリケーションの実行に伴うAPI使用要求があった際に、サービスコードとライセンス情報に基づいて登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の確認を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する。
このような認証部を有することで、正規のサービスアプリケーションの使用範囲内であり、かつアプリケーション利用者によるライセンス承認の範囲内で、API使用が行われる状態が確保される。このためサービスにおけるAPI使用はアプリケーション利用者の想定範囲内となり、APIによりアクセスされる情報の安全性が維持される。
特に認証は、サービスコード及びサービスコードに紐づけられた使用API情報を用いた認証により、アプリケーション提供者の正当性及び使用APIの範囲としての権限が確認される。またライセンス情報に基づく認証により、アプリケーション提供者との関係におけるアプリケーション利用者の正当性と、アプリケーション利用者の承諾の範囲としてのAPI使用が確認される。このため、アプリケーション提供者とアプリケーション利用者の2者の意思による合意範囲内で、サービスアプリケーションによる正当なAPI使用が確保される。
特に、複数のサービスアプリケーションと複数のアプリケーション利用者が存在する中で、適切な認証が行われることで、正当なAPI使用が維持され、システム運営上、非常に有用となる。
なお、アプリケーション利用者がライセンス承認情報を設定することにより、API使用による情報流出の可能性は、ライセンス承認範囲に制限されるという側面もある。仮に通常は想定できないような行為やハッキングなどによってAPI使用が不正に行われてしまったとしても、それによる情報流出範囲は、アプリケーション利用者が当初承認した範囲にとどめられる。従ってアプリケーション利用者にとっては、このような最悪の事態を想定したうえで、ライセンス承認を行うということも可能である。
また認証部21によっては、サービスアプリケーションが実行された外部端末装置からAPI使用要求とともに送信されてくるサービスコード及びライセンス情報を受信して、認証処理を行う。即ちAPI使用要求とともに送信されてくるサービスコードやライセンス情報に紐付けされた登録情報を用いて認証を行う。これによりサービスアプリケーションの正当性、及びライセンスキーによるアプリケーション利用者の正当性について適切に認証できる。
また認証処理では、サービスコード、サービス識別情報、使用API情報、及びライセンス承認情報の全てについて所定の確認ができた場合に、API使用要求に係るAPI使用を許可する。これにより情報の安全性確保を最優先した運用を実現できる。
また、登録情報にはライセンス情報に対応する端末識別情報を含むようにし、認証処理において、API使用要求を送信してきた外部端末装置について端末識別情報を用いた認証も行う。これによりアプリケーションプログラムやライセンスキーの不正コピー、不正流出に対処した認証が可能となる。
また処理例IVのように、API使用要求に対して、ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者に対するAPI使用要求発生の通知処理を行う。これにより、アプリケーションプログラムが実行されたことをアプリケーション利用者が認識でき、正規なサービス利用であるか否かの判断機会を与えることができる。これによりライセンスキー盗用などの不正利用を発見したり、対処を行うことができる。
特にAPIサーバ20が確認回答を待ってAPI使用を許可することで、不正なサービス利用を回避できる。
また処理例IIIのように、API使用要求に対して、アプリケーション提供者に対するAPI使用要求発生の通知処理を行うことで、アプリケーションプログラムが実行されたことをアプリケーション提供者が認識でき、正規なサービス利用であるか否かの判断機会を与えることができる。これによりサービスアプリケーションやサービスコードの不正コピーや盗用を発見したり、必要な対処を行うことができる。
特にAPIサーバ20が確認回答を待ってAPI使用を許可することで、サービスコードやサービスコードの拡散に基づく不正なサービス利用を回避できる。
またEC管理システム1としての情報処理装置は、実績管理部22を備えている。実績管理部22はAPIサーバ20内でも良いし、APIサーバ20の外部の情報処理装置で構成されてもよい。
実績管理部22は、認証によりAPI使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する。
本実施の形態のシステムではAPI使用を伴うサービスアプリケーションの実行について、サービスコードとライセンス情報を用いた認証が行われるが、サービスコードによりアプリケーション提供者の実績管理が可能となり、ライセンス情報によりアプリケーション利用者の実績管理が可能となる。つまり、API使用に関して、アプリケーション提供者とアプリケーション利用者のそれぞれの実績を適切に管理できる。
また認証OKの場合に実績管理を行う。これにより実際にAPI使用が行われる場合の実績として、アプリケーション提供者、アプリケーション利用者の実績管理が可能となる。
特に、複数の多様なサービスアプリケーションと、複数のアプリケーション利用者が存在する中で、それぞれのサービスアプリケーションとアプリケーション利用者について正当な実績管理が実現され、システム運営上、非常に有用となる。
また実績管理部22は、API使用要求におけるサービスコードに基づいて、アプリケーション提供者に対する課金情報を生成する。またAPI使用要求におけるライセンス情報に基づいて、アプリケーション利用者に対する課金情報を生成する。
つまりアプリケーション提供者、アプリケーション利用者のそれぞれについて実際のAPI使用に応じた課金管理が実現され、アプリケーション提供者、アプリケーション利用者へのAPI使用料の個別課金も可能となる。
<9.プログラム及び記憶媒体>
以上、本発明の情報処理装置の実施の形態としてのEC管理システム1を説明してきたが、実施の形態のプログラムは、EC管理システム1における登録サーバ10やAPIサーバ20(認証部21、実績管理部22)の処理を情報処理装置(CPU等)に実行させるプログラムである。
実施の形態のプログラムは、提供者装置3から送信されてきた、APIを使用するアプリケーションプログラムを用いたサービスについてのAPI使用登録要求に対し、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードを生成するとともに、サービスのサービス識別情報、及び使用API情報をサービスコードと対応させて登録する処理を情報処理装置に実行させる。また、提供者装置3から送信されてきた、サービスについての利用者特定情報に対応して、使用API情報で示されるAPIを使用した情報アクセス権限が未承認状態のライセンス情報を生成する処理を情報処理装置に実行させる。さらにライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者の利用者装置4からの、情報アクセス権限の承認又は非承認を示すライセンス承認情報を受け付けて、ライセンス情報に対応させて登録する処理を情報処理装置に実行させる。
即ちこのプログラムは、登録サーバ10に対して図6〜図9で説明した処理を実行させるプログラムである。また登録サーバ10に図21のステップS180を実行させる場合もある。
また実施の形態のプログラムは、APIを使用するアプリケーションプログラムを用いたサービスによるAPI使用要求についてのサービスコードとライセンス情報を取得する処理を情報処理装置に実行させる。またサービスについての提供者装置3から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、提供者装置3から指定されたアプリケーション利用者を特定する利用者特定情報に対応して発行されたライセンス情報と、ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者の利用者装置4からの、使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報に対して、API使用要求についてのサービスコードとライセンス情報に基づいてアクセスする処理を情報処理装置に実行させる。さらに、そのアクセスで取得される登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の照合を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する処理を情報処理装置に実行させる。
即ちこのプログラムは、認証部21を有するAPIサーバ20としての情報処理装置に対して図16、図21、図24又は図26で説明した処理、及び図17又は図23で説明した処理を実行させるプログラムである。
また実施の形態のプログラムは、さらにAPI使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する処理を情報処理装置に実行させる。
即ちこのプログラムは、実績管理部22を有するAPIサーバ20としての情報処理装置に対して図16、図21、図24又は図26で説明した処理、特には図18で説明した処理を実行させるプログラムである。
このようなプログラムにより、上述したEC管理システム1としての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置等の機器に内蔵されている記録媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROM等に予め記録しておくことができる。あるいはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。またこのようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
<10.変形例>
本発明は上述の実施の形態に限定されず、各種の変形例が考えられる。
登録時の処理やサービス実行時の処理は、上記例に限定されるものではない。API使用登録要求、ライセンス承認、API使用要求などにおける情報処理装置間の通信手法、情報提示手法、アプリケーション提供者やアプリケーション利用者による入力手法は多様に考えられる。
例えば図16、図21、図24、図26で例示したAPI使用時の処理としては、サービスアプリケーションが起動された利用者装置4は、API使用要求と実際のAPI処理要求を同時に送信してもよい。その場合、認証部21が認証を行ってOKであればAPI処理が行われるようにする。図16でいえば、利用者装置4はステップS321の段階でAPI使用要求及びAPI処理要求(S323)をAPIサーバ20に送信する。APIサーバ20はステップS400で認証を行った後、OKであればAPI使用を許可してステップS404のAPI処理を行うというものである。認証結果の通知はAPI処理結果としてステップS404の処理内で行われればよい。従ってステップS401、S322は不要となる。
また同じくこれらのAPI使用時の処理として、ステップS403として示した実績管理処理は、ステップS404として示したAPI処理後で行ってもよい。実際にAPI処理後において課金処理を含めた実績管理が行われることで、実績データは、API処理結果が反映され、より本来の実績を反映させたものとなりやすい。
また本発明については、電子商取引を行うネットワークシステムに適用する例で説明したが、必ずしも電子商取引におけるサービスでのAPI使用に限定されるものではない。本発明は多様なサービスアプリケーションにおいてAPI使用が発生する場合に適用できる技術である。
またその意味で、サービスを享受するアプリケーション利用者は、電子店舗の運営者などに限られない。
ところで上述のプログラムは、例えばEC管理システム1において登録や認証、実績管理に関する機能を実現するプログラムであるが、上述の実施の形態からは、サービスアプリケーションとしてのプログラムの発明も把握される。即ち、以下の構成を備えるプログラムである。
アプリケーション提供者が、予め用意されたAPIを使用するアプリケーションプログラムをアプリケーション利用者に提供し、前記アプリケーション利用者が、提供されたアプリケーションプログラムの実行によるサービスを享受できるように構成されたシステムに備わる情報処理装置に処理を実行させる、前記アプリケーションプログラムであって、
当該アプリケーションプログラムに付随された、当該アプリケーションプログラムAPI使用サービスとして登録されたことを示すサービスコードを取得する処理と、
アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して発行されたライセンス情報を取得する処理と、
API使用のためのAPI使用要求を、前記サービスコードと前記ライセンス情報とともに送信する処理と、
を情報処理装置に実行させるプログラム。
上述の実施の形態におけるサービスアプリケーションが、このようなプログラムの実施の形態となる。
またこのようなプログラムを記憶した記憶媒体や、このプログラムにより上記各処理を実行する情報処理装置としても発明として把握される。即ち利用者装置4や提供者装置3Bがそのような情報処理装置の実施の形態となる。
1 ECシステム、2 ネットワーク、3,3A,3B アプリケーション提供者装置、
4 アプリケーション利用者装置、10 登録サーバ、11 登録管理部、11a サービスコード処理部、11b ライセンス処理部、12 提供者WEB、13 利用者WEB、20 APIサーバ、21 認証部、21a 認証処理部、21b 登録情報取得部、22 実績管理部、30 登録データベース、31 店舗情報データベース、32 実績データベース
第1に、本発明に係る情報処理装置は、予め用意されたAPIを使用するアプリケーションプログラムが、複数、1又は複数のアプリケーション提供者によって提供され、複数のアプリケーション利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるように構成されたシステムに備わる情報処理装置であって、APIを使用するアプリケーションプログラムを用いたサービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報を取得する登録情報取得部と、前記アプリケーションプログラムの実行に伴うAPI使用要求があった際に、当該API使用要求についてのサービスコードとライセンス情報に基づいて前記登録情報取得部により取得される登録情報を参照して、少なくともサービスコードによる正規登録の確認、当該API使用要求で使用を要求されたAPIと使用API情報との一致確認、ライセンス情報の正当性の確認、及びライセンス承認情報による承認確認を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する認証処理部と、API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する実績管理部と、を備えたものである。
このような情報処理装置は、まず複数のアプリケーションプログラムが提供される状況下で、複数のサービス利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるシステムで用いられる。そしてこの情報処理装置では、API使用を伴うサービスをアプリケーションプログラムにより実行する場合に、サービスコードとライセンス情報を用いた認証が行われる。
アプリケーション提供者は、サービスコードと一体化されたアプリケーションプログラムを提供する。サービスコードは、使用API情報とサービス識別情報に紐づけられている。アプリケーション利用者は自身で承認したライセンス情報を用いてアプリケーションプログラムを実行する。このような前提でサービスコードとライセンス情報を用いた認証が行われることで、アプリケーション利用者が意図しないサービス利用や、API使用による情報アクセスが制限される。
さらにサービスコードとライセンスを用いた、サービスの実行時の実績管理が行われる。サービスコードによりアプリケーション提供者の実績管理が可能となり、ライセンス情報によりアプリケーション利用者の実績管理が可能となる。
第5に、上記した本発明に係る情報処理装置においては、前記認証処理部は、サービスコード、サービス識別情報、使用API情報、ライセンス情報、及びライセンス承認情報の全てについて確認ができた場合に、API使用要求に係るAPI使用を許可することが望ましい。
これにより情報の安全性確保を最優先した運用を実現する。
第7に、本発明に係る情報処理方法は、上述のシステムに備わる情報処理装置の情報処理方法であって、APIを使用するアプリケーションプログラムを用いたサービスによるAPI使用要求についてのサービスコードとライセンス情報を取得し、前記サービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報に対して、前記API使用要求についてのサービスコードとライセンス情報に基づいてアクセスし、前記アクセスで取得される登録情報を参照して、少なくともサービスコードによる正規登録の確認、当該API使用要求で使用を要求されたAPIと使用API情報との一致確認、ライセンス情報の正当性の確認、及びライセンス承認情報による承認確認を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可し、API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する情報処理方法である。この情報処理方法により適切な実績管理を可能とする。

Claims (9)

  1. 予め用意されたAPIを使用するアプリケーションプログラムが、複数、1又は複数のアプリケーション提供者によって提供され、複数のアプリケーション利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるように構成されたシステムに備わる情報処理装置であって、
    APIを使用するアプリケーションプログラムを用いたサービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報を取得する登録情報取得部と、
    前記アプリケーションプログラムの実行に伴うAPI使用要求があった際に、当該API使用要求についてのサービスコードとライセンス情報に基づいて前記登録情報取得部により取得される登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の確認を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する認証処理部と、
    API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する実績管理部と、を備えた
    情報処理装置。
  2. 前記実績管理部は、API使用要求におけるサービスコードに基づいて、アプリケーション提供者に対する課金情報を生成する
    請求項1に記載の情報処理装置。
  3. 前記実績管理部は、API使用要求におけるライセンス情報に基づいて、アプリケーション利用者に対する課金情報を生成する
    請求項1又は請求項2に記載の情報処理装置。
  4. 前記認証処理部は、前記アプリケーションプログラムが実行された外部端末装置からAPI使用要求とともに送信されてくる前記サービスコード及び前記ライセンス情報を受信して認証処理を行う
    請求項1乃至請求項3のいずれかに記載の情報処理装置。
  5. 前記認証処理部は、サービスコード、サービス識別情報、使用API情報、及びライセンス承認情報の全てについて所定の確認ができた場合に、API使用要求に係るAPI使用を許可する
    請求項1乃至請求項4のいずれかに記載の情報処理装置。
  6. 前記登録情報には前記ライセンス情報に対応する端末識別情報が含まれており、
    前記認証処理部は、認証処理において、前記アプリケーションプログラムが実行されAPI使用要求を送信してきた外部端末装置について前記端末識別情報を用いた認証も行う
    請求項1乃至請求項5のいずれかに記載の情報処理装置。
  7. 予め用意されたAPIを使用するアプリケーションプログラムが、複数、1又は複数のアプリケーション提供者によって提供され、複数のアプリケーション利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるように構成されたシステムに備わる情報処理装置の情報処理方法であって、
    APIを使用するアプリケーションプログラムを用いたサービスによるAPI使用要求についてのサービスコードとライセンス情報を取得し、
    前記サービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報に対して、前記API使用要求についてのサービスコードとライセンス情報に基づいてアクセスし、
    前記アクセスで取得される登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の照合を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可し、
    API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する
    情報処理方法。
  8. 予め用意されたAPIを使用するアプリケーションプログラムが、複数、1又は複数のアプリケーション提供者によって提供され、複数のアプリケーション利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるように構成されたシステムに備わる情報処理装置に処理を実行させるプログラムであって、
    APIを使用するアプリケーションプログラムを用いたサービスによるAPI使用要求についてのサービスコードとライセンス情報を取得する処理と、
    前記サービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報に対して、前記API使用要求についてのサービスコードとライセンス情報に基づいてアクセスする処理と、
    前記アクセスで取得される登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の照合を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する処理と、
    API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する処理と、
    を前記情報処理装置に実行させるプログラム。
  9. 予め用意されたAPIを使用するアプリケーションプログラムが、複数、1又は複数のアプリケーション提供者によって提供され、複数のアプリケーション利用者の各々が、自己が利用可能とされたアプリケーションプログラムの実行によるサービスを享受できるように構成されたシステムに備わる情報処理装置に処理を実行させるプログラムであって、
    APIを使用するアプリケーションプログラムを用いたサービスによるAPI使用要求についてのサービスコードとライセンス情報を取得する処理と、
    前記サービスについてのアプリケーション提供者装置から指定されたサービス識別情報及び使用API情報と、当該サービスがAPI使用サービスとして登録されたことを示すサービスコードと、前記アプリケーション提供者装置から指定されたアプリケーション利用者を特定する利用者特定情報に対応して生成されたライセンス情報と、前記ライセンス情報に対応する利用者特定情報によって示されるアプリケーション利用者のアプリケーション利用者装置からの前記使用API情報で示されるAPIを使用した情報アクセス権限の承認又は非承認を示すライセンス承認情報と、が関連づけられた登録情報に対して、前記API使用要求についてのサービスコードとライセンス情報に基づいてアクセスする処理と、
    前記アクセスで取得される登録情報を参照して、少なくともサービスコード、使用API情報、及びライセンス承認情報の照合を含む認証処理を行い、認証結果に応じて要求されたAPI使用を許可する処理と、
    API使用が許可された場合に、API使用要求におけるサービスコードに基づいて、アプリケーション提供者の実績情報を生成し、またライセンス情報に基づいて、アプリケーション利用者の実績情報を生成する処理と、
    を前記情報処理装置に実行させるプログラムを記憶した記憶媒体。
JP2013557314A 2013-08-22 2013-08-22 情報処理装置、情報処理方法、プログラム、記憶媒体 Active JP5485485B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/072454 WO2015025405A1 (ja) 2013-08-22 2013-08-22 情報処理装置、情報処理方法、プログラム、記憶媒体

Publications (2)

Publication Number Publication Date
JP5485485B1 JP5485485B1 (ja) 2014-05-07
JPWO2015025405A1 true JPWO2015025405A1 (ja) 2017-03-02

Family

ID=50792165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013557314A Active JP5485485B1 (ja) 2013-08-22 2013-08-22 情報処理装置、情報処理方法、プログラム、記憶媒体

Country Status (4)

Country Link
US (1) US20150235039A1 (ja)
JP (1) JP5485485B1 (ja)
TW (1) TWI518597B (ja)
WO (1) WO2015025405A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015279B2 (en) 2014-11-13 2018-07-03 Blackberry Limited Application assignment reconciliation and license management
US9600810B2 (en) * 2015-02-26 2017-03-21 Blackberry Limited License management for device management system
JP2017058834A (ja) * 2015-09-15 2017-03-23 株式会社リコー 情報処理システム及び課金方法
US10042685B1 (en) 2017-03-17 2018-08-07 Accenture Global Solutions Limited Extensible single point orchestration system for application program interfaces
US10726107B2 (en) 2018-10-08 2020-07-28 Mythical, Inc. Systems and methods for facilitating tokenization of modifiable game assets on a distributed blockchain
US10518178B1 (en) 2018-12-06 2019-12-31 Mythical, Inc. Systems and methods for transfer of rights pertaining to game assets between users of an online gaming platform
US11373174B1 (en) 2019-02-05 2022-06-28 Mythical, Inc. Systems and methods for facilitating transfer of ownership of tokens between users on a decentralized database

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
JP2002288416A (ja) * 2001-03-27 2002-10-04 Hitachi Ltd 資産管理方法
JP4682520B2 (ja) * 2004-02-25 2011-05-11 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4994575B2 (ja) * 2004-03-12 2012-08-08 キヤノン株式会社 ネットワークインターフェース装置及びその制御方法、及び画像形成システム
US20060179058A1 (en) * 2005-02-04 2006-08-10 Charles Bram Methods and systems for licensing computer software
CN101960462B (zh) * 2008-02-28 2013-05-08 日本电信电话株式会社 认证装置和认证方法
JP5359427B2 (ja) * 2009-03-18 2013-12-04 株式会社リコー ライセンス管理システム、ライセンス管理サーバ、情報処理装置、画像形成装置、ライセンス管理方法、およびライセンス管理プログラム
US9697510B2 (en) * 2009-07-23 2017-07-04 Boku, Inc. Systems and methods to facilitate retail transactions
US20110225074A1 (en) * 2010-03-12 2011-09-15 Microsoft Corporation System and method for providing information as a service via web services
JP5175915B2 (ja) * 2010-10-29 2013-04-03 株式会社東芝 情報処理装置及びプログラム
JP5863818B2 (ja) * 2010-11-23 2016-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア製品のあらかじめ必要なソフトウェアをインストールするための方法、システム、およびコンピュータ・プログラム
US20130007849A1 (en) * 2011-05-26 2013-01-03 FonWallet Transaction Soulutions, Inc. Secure consumer authorization and automated consumer services using an intermediary service
US9043886B2 (en) * 2011-09-29 2015-05-26 Oracle International Corporation Relying party platform/framework for access management infrastructures
US8856365B2 (en) * 2012-02-28 2014-10-07 Sap Ag Computer-implemented method, computer system and computer readable medium

Also Published As

Publication number Publication date
US20150235039A1 (en) 2015-08-20
JP5485485B1 (ja) 2014-05-07
TWI518597B (zh) 2016-01-21
WO2015025405A1 (ja) 2015-02-26
TW201512992A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
JP5485484B1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
JP5485485B1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
US10846374B2 (en) Availability of permission models in roaming environments
TWI492085B (zh) 用於根據使用者識別符增強產品功能的方法、設備及電腦儲存媒體
RU2560784C2 (ru) Модель взаимодействия для переноса состояний и данных
CN100568212C (zh) 隔离系统及隔离方法
JP6872106B2 (ja) 画像処理装置、制御システム、及びプログラム
US20070198427A1 (en) Computer service licensing management
JP2004118327A (ja) コンテンツ使用制御装置及びコンテンツ使用制御方法、並びにコンピュータ・プログラム
KR20200000448A (ko) 소프트웨어 활성화 및 라이센스 추적을 위한 시스템 및 방법
KR101263423B1 (ko) 이동 사용자 단말기를 이용한 로그인 확인 및 승인 서비스 구현 방법
US20050209878A1 (en) Software-usage management system, software-usage management method, and computer product
JP3950095B2 (ja) 認証サーバ、認証方法、認証依頼端末及び認証依頼プログラム
WO2021160981A1 (en) Methods and apparatus for controlling access to personal data
JP2016218770A (ja) 電子ファイル授受システム
JP2005284506A (ja) ダウンロードシステム及びダウンロードシステムを構成する機器、管理局、リムーバブルメディア
CN102130907B (zh) 开发者电话注册
JP2020042538A (ja) 情報処理装置及びプログラム
KR20100031637A (ko) 콘텐츠 배포 시스템 및 콘텐츠 배포 방법
KR20090048000A (ko) 휴대 기기에 대한 프로그램 설치 인증 방법 및 시스템,휴대 기기에 대한 프로그램 실행 인증 방법
JP6819734B2 (ja) 情報処理装置及び利用端末

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140219

R150 Certificate of patent or registration of utility model

Ref document number: 5485485

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250