JP6456923B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

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

Info

Publication number
JP6456923B2
JP6456923B2 JP2016511418A JP2016511418A JP6456923B2 JP 6456923 B2 JP6456923 B2 JP 6456923B2 JP 2016511418 A JP2016511418 A JP 2016511418A JP 2016511418 A JP2016511418 A JP 2016511418A JP 6456923 B2 JP6456923 B2 JP 6456923B2
Authority
JP
Japan
Prior art keywords
identification information
external device
information
communication data
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016511418A
Other languages
English (en)
Other versions
JPWO2015151569A1 (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.)
Felica Networks Inc
Original Assignee
Felica Networks 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 Felica Networks Inc filed Critical Felica Networks Inc
Publication of JPWO2015151569A1 publication Critical patent/JPWO2015151569A1/ja
Application granted granted Critical
Publication of JP6456923B2 publication Critical patent/JP6456923B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
従来から利用されている磁気タイプのキャッシュカードやクレジットカードに代わって、電気的にデータを記憶するメモリや、そのデータの記憶処理を行う処理回路を含むIC(Integrated Circuit)チップが多用されるようになった。このようなICチップは、通常、ICタグやICカードに埋設され、無線通信により非接触式にデータ通信を行うことができる。従って、上記カードの外観を損なわず、メンテナンス性や耐蝕性に優れたサービスを提供することができる。
特開2007−65957号公報
近年では、ブルートゥース(登録商標)等のように、非接触式の無線通信よりも通信範囲の広い無線の通信経路を介して、異なる機器間でのデータの送受信を行う技術が普及してきている。そのため、例えば、スマートフォン等の情報処理装置から、当該情報処理装置とは異なるデバイスに設けられたICチップに対して、ブルートゥース(登録商標)等のような無線の通信経路を介してアクセスし、情報の参照や更新を行いたいという要望もある。
その一方で、非接触式の無線通信よりも通信範囲の広い無線の通信経路を介してデータを送受信する場合には、スマートフォンのような情報処理装置上で動作する複数のアプリケーションから、ICチップに対してアクセスされる場合が少なからず想定される。
しかしながら、無線通信の規格が、機器対機器のように1対1の通信を想定している場合がある。このような規格に基づく通信においては、複数のアクセス元(例えば、アプリケーション)それぞれからのアクセスに対して、アクセス対象(例えば、ICチップ)側でアクセス元を識別し、当該複数のアクセス元それぞれからのアクセスを排他的に制御することが困難な場合がある。
そこで、本開示では、1対1での通信を想定した規格に基づく通信環境下においても、複数のアクセス元それぞれからのアクセスを排他的に制御することが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提案する。
本開示によれば、少なくとも一部に乱数化された情報を含む識別情報を外部装置から取得する取得部と、外部装置から送信された通信データのうち、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする制御部と、を備える、情報処理装置が提供される。
また、本開示によれば、少なくとも一部に乱数化された情報を含む識別情報を生成する生成部と、生成された前記識別情報を外部装置に通知し、通信データに対して当該識別情報を関連付けて、当該通信データを当該外部装置に送信する制御部と、を備える、情報処理装置が提供される。
また、本開示によれば、少なくとも一部に乱数化された情報を含む識別情報を外部装置から取得することと、プロセッサが、外部装置から送信された通信データのうち、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とすることと、を含む、情報処理方法が提供される。
また、本開示によれば、少なくとも一部に乱数化された情報を含む識別情報を生成することと、プロセッサが、生成された前記識別情報を外部装置に通知し、通信データに対して当該識別情報を関連付けて、当該通信データを当該外部装置に送信することと、を含む、情報処理方法が提供される。
また、本開示によれば、コンピュータに、少なくとも一部に乱数化された情報を含む識別情報を外部装置から取得することと、外部装置から送信された通信データのうち、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とすることと、を実行させる、プログラムが提供される。
また、本開示によれば、コンピュータに、少なくとも一部に乱数化された情報を含む識別情報を生成することと、生成された前記識別情報を外部装置に通知し、通信データに対して当該識別情報を関連付けて、当該通信データを当該外部装置に送信することと、を実行させる、プログラムされる。
以上説明したように本開示によれば、1対1での通信を想定した規格に基づく通信環境下においても、複数のアクセス元それぞれからのアクセスを排他的に制御することが可能な、情報処理装置、情報処理方法、及びプログラムが提供される。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の第1の実施形態に係る情報処理システムの概略的なシステム構成について説明するための説明図である。 同実施形態に係る情報処理システムの概略的な構成について説明するための説明図である。 情報処理装置と外部デバイスとの間の通信の一態様について説明するための説明図である。 情報処理装置と外部デバイスとの間の通信の一態様について説明するための説明図である 図4に示す通信態様の他の一例について説明するための説明図である。 同実施形態に係る情報処理システムの動作概要について説明するための説明図である。 同実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。 同実施形態に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。 本開示の第2の実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。 同実施形態に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。 実施例1に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。 要求データ及び結果データを送信するための通信データのデータ構造の一例について説明するための説明図である。 実施例2に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。 実施例3に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。 本開示の各実施形態に係るアプリケーションのソフトウェア構成の一例を示している。 本開示の各実施形態に係る外部デバイス30のハードウェア構成の一例を示した図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.第1の実施形態
1.1.課題の整理
1.2.動作概要
1.3.機能構成
1.4.処理
2.第2の実施形態
2.1.概要
2.2.機能構成
2.3.処理
3.実施例
3.1.実施例1:プロセス単位での排他制御
3.2.実施例2:トランザクション単位での排他制御
3.3.実施例3:認証処理を行う場合の通信シーケンス
4.ソフトウェア構成
5.ハードウェア構成
6.まとめ
<1.第1の実施形態>
[1.1.課題の整理]
本開示の第1の実施形態に係る情報処理システムの説明にあたり、まず、本実施形態に係る情報処理システムの概略的なシステム構成について説明し、そのうえで、本実施形態に係る情報処理システムの課題について整理する。
まず、図1及び図2を参照して、本実施形態に係る情報処理システムの概略的なシステム構成について説明する。図1は、本実施形態に係る情報処理システムの概略的なシステム構成について説明するための説明図である。また、図2は、本実施形態に係る情報処理システムの概略的な構成について説明するための説明図である。
図1に示すように、本実施形態に係る情報処理システムは、情報処理装置10と、外部デバイス30とを含む。情報処理装置10と外部デバイス30とはネットワークn1を介して互いに情報を送受信可能に構成されている。ネットワークn1は、例えば、ブルートゥース(登録商標)規格に基づく通信経路のように、異なる機器間を接続可能な無線の通信経路を示している。なお、異なる機器間を接続可能であれば、ネットワークn1の態様はブルートゥース(登録商標)規格に基づく通信経路のような無線の通信経路には限定されない。例えば、ネットワークn1は、有線の通信経路であってもよい。
ここで、図2を参照して、本実施形態に係る情報処理システムの概略的な構成について説明する。
本実施形態に係る情報処理装置10は、所謂スマートフォンのようなユーザ端末に相当し、複数のアプリケーションが並列して動作可能に構成されている。例えば、図2に示す例は、情報処理装置10上で、アプリケーション11a〜11cが動作している場合を示している。なお、以降では、アプリケーション11a〜11cを特に区別しない場合には、「アプリケーション11」と記載する場合がある。
また、図2において、参照符号31は、外部デバイス30に設けられた、当該外部デバイス30がネットワークn1を介して情報処理装置10と通信を行うための通信部に相当する。当該通信部31は、例えば、ICチップとして構成されており、外部デバイス30に埋設されている。
本実施形態に係る情報処理システムでは、情報処理装置10上で動作するアプリケーション11a〜11cのそれぞれが、ネットワークn1を介して通信部31にアクセスし、外部デバイス30に記憶された情報の参照や更新を行う。
一方で、無線または有線の通信経路を介して異なる機器間で情報を送受信するための通信の規格の中には、1対1の通信を想定している場合がある。このような規格に基づき、アプリケーション11a〜11cのそれぞれと、通信部31との間で情報を送受信する場合には、例えば、通信部31は、アプリケーション11側から送信された情報の送信元の識別が困難な場合がある。
具体的な一例として、アプリケーション11a〜11cのそれぞれから送信されたデータのいずれについても、送信元が「情報処理装置10」として、通信部31に通知される場合がある。このような場合には、通信部31は、情報処理装置10から送信された各データが、当該情報処理装置10で動作するどのアプリケーションから送信されたデータであるかを識別することが困難な場合がある。
また、通信部31から情報処理装置10に向けて送信されるデータについても同様に、当該データの宛先が「情報処理装置10」であると、当該情報処理装置10に通知される場合がある。そのため、情報処理装置10は、通信部31側から送信されたデータの宛先が、アプリケーション11a〜11cのうちのいずれかを識別することが困難な場合がある。
このようにアプリケーション11a〜11cのそれぞれから送信されたデータの送信元の識別が困難な場合には、例えば、通信部31は、アプリケーション11a〜11cのそれぞれからのアクセスを排他的に制御することが困難となる場合が少なからずある。
特に、異なる機器間の通信(特に、無線通信)の中には、通信経路の帯域が機器間で送受信されるデータの容量よりも制限されている場合があり、当該データが複数回の通信に分けて送受信される場合もある。その一方で、通信部31側において、アプリケーション11a〜11cからのアクセスの排他制御が困難な場合には、通信部31は、例えば、複数回に分けて行われる一連の通信を、他の通信の割り込みにより正しく処理できない可能性がある。
このような問題を解決する方法の一例として、OS(Operating System)のように、情報処理装置10内において唯一の構成が、アプリケーション11a〜11cと通信部31との間の通信を仲介する方法が挙げられる。
例えば、図3は、情報処理装置10と外部デバイス30との間の通信の一態様について説明するための説明図であり、情報処理装置10内において唯一の構成が、アプリケーション11a〜11cと通信部31との間の通信を仲介する場合の例を示している。
図3に示す例では、情報処理装置10のOS90が、アプリケーション11a〜11cと通信部31との間の通信を仲介している。具体的には、OS90は、アプリケーション11a〜11cそれぞれからの通信部31への要求を受け付けて、当該要求を通信部31に送信し、当該要求に対する通信部31から応答(処理結果)を要求元のアプリケーションに通知する。
このような構成により、図3に示す例では、1対1の通信を想定した通信規格に基づく通信環境においても、アプリケーション11a〜11cと通信部31との間の通信、即ち、n対1の通信を実現することが可能となる。
一方で、図3に示す構成の場合には、OS90自体に対して、アプリケーション11a〜11cと通信部31との間の通信を仲介する機能を実装する必要がある。しかしながら、OS90や、いわゆるフレームワークは、それ自体に対して機能の追加や改修を行うことが困難な場合が少なくは無く、図3に示す方法が現実的な解決法とはならない場合が少なくない。
これに対して、前述した問題を解決する他の一例として、通信部31に向けて送信されるデータの送信元や、通信部31から送信されるデータの宛先を明示的に指定する方法が挙げられる。
例えば、図4は、情報処理装置10と外部デバイス30との間の通信の一態様について説明するための説明図であり、通信部31に向けて送信されるデータの送信元や、通信部31から送信されるデータの宛先を明示的に指定する場合の例を示している。
図4に示す例では、アプリケーション11は、通信部31にデータを送信する場合に、当該データに対して、例えば、アプリケーション名等のような、送信元を識別可能な識別情報を関連付ける。
具体的な一例として、アプリケーション11aは、通信部31に送信するデータに対して、自身を識別可能な識別情報を付帯情報として付帯することで、当該データに当該識別情報を関連付けている。この場合には、通信部31は、受信したデータに関連付けられた識別情報に基づき、当該データの送信元がアプリケーション11aであることを認識することができる。
また、通信部31は、アプリケーション11a〜11cのいずれかにデータを送信する場合に、当該データに対して、宛先となるアプリケーションを示す識別情報を関連付ける。
具体的な一例として、通信部31は、アプリケーション11aに送信するデータに対して、当該アプリケーション11aの識別情報を付帯情報として付帯することで、当該データに当該識別情報を関連付けている。この場合には、アプリケーション11aは、受信したデータに関連付けられた識別情報に基づき、当該データの宛先が自身(即ち、アプリケーション11a)であることを認識することができる。同様に、アプリケーション11b及び11cについては、受信したデータに関連付けられた識別情報に基づき、当該データの宛先が自身ではないと認識することができる。なお、アプリケーション11は、受信したデータの宛先が自身ではないと認識した場合には、当該データを破棄してもよい。
このような構成により、図4に示す例では、1対1の通信を想定した通信規格に基づく通信環境においても、アプリケーション11a〜11cと通信部31との間の通信、即ち、n対1の通信を実現することが可能となる。
しかしながら、図4に示す例の場合には、悪意あるアプリケーションが、識別情報を詐称することで、自身とは異なる他のアプリケーションになりすまし、通信部31にアクセスすることが可能となる場合がある。例えば、図5は、図4に示す通信態様の他の一例について説明するための説明図であり、悪意あるアプリケーションが、他のアプリケーションになりすまして通信部31にアクセスする場合の一例を示している。
図5に示す例では、アプリケーション11aは、送信対象となるデータを複数の部分データに分割することで、当該データを複数回の通信に分けて、一連の通信T10として通信部31に送信している。このとき、アプリケーション11aは、各部分データに対して自身の識別情報(例えば、アプリケーション名)を関連付けることで、当該各部分データの送信元が自身(即ち、アプリケーション11a)であることを通信部31に通知している。
このような状況下において、例えば、図5に示ように、アプリケーション11zが、「アプリケーション11a」の識別情報を関連付けたデータを通信部31に送信すると、当該通信部31は、当該データの送信元を「アプリケーション11a」と認識する。
そのため、通信部31は、受信したデータに関連付けられた識別情報に基づき排他制御を行ったとしても、アプリケーション11zから送信されたデータを、排他的に拒絶することが困難となる。即ち、アプリケーション11zは、識別情報を詐称することで、アプリケーション11aから通信部31に向けて送信されたデータに対して、悪意のあるコードを含むデータを挿入することが可能となる。
また、通信部31から送信されるデータには、当該データの宛先を示す識別情報(例えば、アプリケーション11aを示す識別情報)が関連付けられて、情報処理装置10上で動作する各アプリケーションに送信される。そのため、アプリケーション11zは、当該データに関連付けられた識別情報に基づき、通信部31の通信相手として、アプリケーション11aの存在を認識することが可能となる。
本実施形態に係る情報処理システムは、上記課題を鑑みてなされたものであり、1対1での通信を想定した規格に基づく通信環境下においても、複数のアクセス元それぞれからのアクセスを、アクセス対象が排他的に制御可能とすることを目的とする。以降では、本実施形態に係る情報処理システムについて詳しく説明する。
[1.2.動作概要]
まず、図6を参照して、本実施形態に係る情報処理システムの動作概要について説明する。図6は、本実施形態に係る情報処理システムの動作概要について説明するための説明図である。なお、本説明では、アプリケーション11aと通信部31とが互いデータを送受信する場合に着目して説明する。
図6に示すように、本実施形態に係る情報処理システムでは、情報処理装置10上で動作するアプリケーション11aは、通信部31に対してデータを送信する前に、セッションID1を生成し、当該セッションID1を通信部31に送信する。また、アプリケーション11aと通信部31とは、互いに共通の鍵情報をあらかじめ記憶しており、双方ともに当該鍵情報によりセッションID1に対して不可逆処理を施して符号化(乱数化)することで、当該セッションID1とは異なるセッションID2を生成する。
このように、本実施形態に係る情報処理システムでは、アプリケーション11と通信部31とは、互いにデータを送受信する事前に、共通のセッションID1及びID2を保持した状態とする。なお、セッションID1が、「第1の識別情報」の一例に相当し、セッションID2が、「第2の識別情報」の一例に相当する。
そのうえで、本実施形態に係るアプリケーション11aは、通信部31にデータを送信する際に、当該データに対してセッションID1を関連付ける。通信部31は、アプリケーション11aからデータを取得すると、当該データに関連付けられたセッションIDを抽出し、抽出したセッションIDを、自身が保持するセッションID1(即ち、アプリケーション11aからあらかじめ取得したセッションID1)と照合する。
通信部31は、取得したデータから抽出したセッションIDが、自身が保持するセッションID1と一致する場合には、当該データの送信元をアプリケーション11aと認識し、当該データを処理対象とする。
一方で、通信部31は、取得したデータから抽出したセッションIDが、自身が保持するセッションID1と一致しなかった場合には、当該データの送信元がアプリケーション11a以外であると認識し、当該データを処理対象とはしない。また、通信部31は、取得したデータに対してセッションIDが関連付けられていなかった場合についても同様に、当該データの送信元がアプリケーション11a以外であると認識し、当該データを処理対象とはしない。
また、通信部31は、アプリケーション11aにデータを送信する際に、当該データに対してセッションID2を関連付ける。アプリケーション11aは、通信部31からデータを取得すると、当該データに関連付けられたセッションIDを抽出し、抽出したセッションIDを、自身が保持するセッションID2と照合する。
アプリケーション11aは、取得したデータから抽出したセッションIDが、自身が保持するセッションID2と一致する場合には、当該データの宛先が自身(即ち、アプリケーション11a)であると認識し、当該データを処理対象とする。
一方で、アプリケーション11aは、取得したデータから抽出したセッションIDが、自身が保持するセッションID2と一致しなかった場合には、当該データの宛先が自身(即ち、アプリケーション11a)とは異なるアプリケーション11であると認識し、当該データを処理対象とはしない。また、アプリケーション11aは、取得したデータに対してセッションIDが関連付けられていなかった場合についても同様に、当該データを処理対象とはしない。
上記に示すアプリケーション11aの動作は、他のアプリケーション11についても同様である。
なお、上記に示すセッションID1は、送信元となるアプリケーション11を類推することが困難な情報であることが望ましい。そのため、セッションID1は、少なくとも一部に乱数化された情報を含むように構成されていることが望ましい。また、セッションID2は、上述の通り、セッションID1に不可逆処理を施して符号化(乱数化)されることで生成されるため、少なくとも一部に乱数化された情報を含むこととなる。
なお、上記においてセッションID1及びID2として説明された情報は、少なくとも一部に乱数化された情報を含んでいれば、必ずしもセッションIDに限定はされない。例えば、アプリケーション11は、乱数を生成し、当該乱数をセッションID1としてもよい。また、他の一例として、アプリケーション11は、日時等のようにその時々に応じて変化する情報に不可逆処理を施すことで乱数化し、当該乱数化された情報をセッションID1として使用してもよい。また、上記では、アプリケーション11と外部デバイス30との間で共通の鍵情報に基づきセッションID1を乱数化することでセッションID2を生成する例について説明した。しかしながら、アプリケーション11と外部デバイス30との間で共通のロジックに基づきセッションID1を乱数化することで、共通のセッションID2が生成できれば、その方法は、必ずしも鍵情報を用いた方法には限定されない。
以上のような構成に基づき、本実施形態に係る情報処理システムでは、外部デバイス30の通信部31は、データの送信元となるアプリケーション11を識別し、複数のアプリケーション11からのアクセスを排他的に制御することが可能となる。
なお、前述したように、セッションID2は、セッションID1に対して不可逆処理を施すことで符号化(乱数化)されて生成された情報である。そのため、各アプリケーション11は、自身が保持するセッションID2と異なるセッションIDを取得したとしても、当該セッションIDが、自身以外のどのアプリケーション11の保持するセッションID2に相当するかを認識することは困難である。
また、アプリケーション11と通信部31とは、互いに異なるセッションID(即ちセッションID1及びID2)を関連付けてデータを送信する。そのため、例えば、アプリケーション11a宛てに送信されたデータに関連付けられたセッションIDは、当該アプリケーション11aが通信部31にデータを送信する際に、当該データに関連付けるセッションID1とは異なる。そのため、アプリケーション11a宛てに送信されたデータを他のアプリケーション11zが受信したとしても、当該アプリケーション11zは、当該データに関連付けられたセッションIDに基づきアプリケーション11aになりすますことは困難である。
このような構成により、本実施形態に係る情報処理システムにおいては、1対1での通信を想定した規格に基づく通信環境下においても、外部デバイス30は、複数のアプリケーション11それぞれからのアクセスを排他的に制御することが可能となる。
以上、図6を参照しながら、本実施形態に係る情報処理システムの概略的な動作について説明した。
[1.3.機能構成]
次に、図7を参照して、本実施形態に係る情報処理システムの機能構成について説明する。図7は、本実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。
前述したように、情報処理装置10は、複数のアプリケーション11が動作可能に構成されている。図7における参照符号11a〜11cのそれぞれは、当該アプリケーション11の機能構成を模式的に示しており、図6に示したアプリケーション11a〜11cに対応している。なお、前述の通り、アプリケーション11a〜11cを特に区別しない場合には、「アプリケーション11」と記載する。また、外部デバイス30は、通信部31と、データ記憶部33とを含む。また、外部デバイス30は、報知部35を含んでもよい。通信部31は、図6に示した通信部31に対応している。
まず、情報処理装置10側の各構成について説明する。図7に示すように、アプリケーション11は、通信制御部111と、セッション情報生成部113と、セッション情報記憶部115と、処理実行部117とを含む。
処理実行部117は、アプリケーション11に定義された各処理を実行する構成を模式的に示したものである。処理実行部117は、ネットワークn1を介して外部デバイス30内にアクセスする場合に、後述する通信制御部111を介して、当該外部デバイス30との間で情報の送受信を行う。
なお、アプリケーション11と外部デバイス30との間で送受信される情報としては、例えば、アプリケーション11から外部デバイス30に対する処理要求や、当該処理要求に対する外部デバイス30からの処理結果の応答が挙げられる。また、アプリケーション11と外部デバイス30とは、処理対象となるデータや、処理結果に基づくデータを互いに送受信してもよい。なお、以降では、処理実行部117が、外部デバイス30との間で送受信する情報を、他の情報と区別するために「通信データ」と記載する場合がある。
セッション情報生成部113は、通信制御部111からの指示に基づき、図6に示したセッションID1を生成する。このとき、セッション情報生成部113は、少なくとも一部に乱数化された情報が含まれるように、当該セッションID1を生成する。そして、セッション情報生成部113は、生成したセッションID1を、セッション情報記憶部115に記憶させる。なお、セッション情報記憶部115は、生成されたセッションID1や、後述するセッションID2を記憶するための記憶部である。
また、セッション情報生成部113は、外部デバイス30側と共通の鍵情報をあらかじめ記憶している。セッション情報生成部113は、セッションID1を生成すると、生成したセッションID1に対して当該鍵情報に基づき不可逆処理を施して符号化(乱数化)することで、当該セッションID1とは異なるセッションID2を生成する。そして、セッション情報生成部113は、生成したセッションID2を、セッション情報記憶部115に記憶させる。
なお、セッションID2を生成するための鍵情報は、例えば、アプリケーション11の各プログラム(例えば、ライブラリ)とあわせて情報処理装置10にインストールされるように、当該アプリケーション11のインストーラを構成すればよい。また、セッション情報生成部113が、アプリケーション11が動作する情報処理装置10における「生成部」の一例に相当する。
通信制御部111は、処理実行部117から外部デバイス30へのアクセスに係る指示を受けると、セッション情報生成部113に、セッションID1の生成を指示する。そして、通信制御部111は、生成されたセッションID1をセッション情報記憶部115から読み出し、読み出したセッションID1を外部デバイス30に通知する。
外部デバイス30へのセッションID1の通知が完了すると、通信制御部111は、処理実行部117から通信データ(例えば、外部デバイス30への処理要求や送信対象のデータ)を取得する。そして、通信制御部111は、取得した通信データにセッション情報記憶部115から読み出したセッションID1を関連付けて、当該セッションID1が関連付けられた通信データを、ネットワークn1を介して外部デバイス30に送信する。なお、当該通信データを受けた場合の外部デバイス30側の動作については、別途後述する。
また、詳細は後述するが、外部デバイス30からアプリケーション11に対して通信データが送信される場合には、外部デバイス30は、通信データに対してセッションID2を関連付けたうえで、当該通信データを情報処理装置10側に送信する。外部デバイス30から情報処理装置10に送信された通信データは、当該情報処理装置10で動作する各アプリケーション11それぞれの通信制御部111で受信される。
通信制御部111は、外部デバイス30から通信データを受信すると、受信した通信データに関連付けられたセッションIDを抽出する。通信データからセッションIDを抽出できた場合には、通信制御部111は、抽出したセッションIDを、セッション情報記憶部115に記憶されたセッションID2と照合する。
通信制御部111は、通信データから抽出したセッションIDが、セッション情報記憶部115に記憶されたセッションID2と一致する場合には、当該通信データの宛先が自身であると認識し、受信した通信データを処理実行部117に出力する。
一方で、通信制御部111は、通信データから抽出したセッションIDがセッション情報記憶部115に記憶されたセッションID2と一致しなかった場合には、当該通信データの宛先が自身ではないものと認識し、当該通信データを処理対象とはしない。また、通信制御部111は、受信した通信データに対してセッションIDが関連付けられていなかった場合についても同様に、当該通信データを処理対象とはしない。なお、通信制御部111は、受信した通信データを処理対象と認識しなかった場合には、当該通信データを破棄してもよい。また、通信制御部111が、アプリケーション11が動作する情報処理装置10における「制御部」の一例に相当する。
次に、外部デバイス30側の各構成について説明する。図7に示すように、通信部31は、通信制御部311と、セッション情報生成部313と、セッション情報記憶部315と、処理実行部317とを含む。
データ記憶部33は、ユーザ情報等の各種データを記憶するための記憶部である。データ記憶部33は、例えば、外部デバイス30に埋設されたICチップ中における各種データを記憶するためのデバイスに相当する。本実施形態に係る情報処理システムでは、例えば、情報処理装置10で動作するアプリケーション11が、通信部31にアクセスすることで、データ記憶部33に記憶された各種データの参照や更新を行う。なお、データ記憶部33は、通信部31内に設けられていてもよい。
処理実行部317は、情報処理装置10からの要求に応じて、当該要求で示された処理を実行する。このとき、処理実行部317は、後述する通信制御部311を介して、当該情報処理装置10との間で通信データの送受信を行う。
また、処理実行部317は、情報処理装置10からの要求に応じて、データ記憶部33に記憶されたデータを読み出し、読み出した当該データを通信データとして当該情報処理装置10に送信してもよい。また、他の一例として、処理実行部317は、情報処理装置10からの要求に応じて、データ記憶部33に記憶されたデータを更新してもよい。また、処理実行部317は、情報処理装置10から各種データを取得し、取得した各種データをデータ記憶部33に記憶させてもよい。
また、処理実行部317は、情報処理装置10からの要求に基づく処理の結果を、報知部35に報知させてもよい。
報知部35は、処理実行部317による処理の結果をユーザに報知するための構成である。報知部35は、例えば、ディスプレイのような表示デバイスにより構成されていてもよい。この場合には、報知部35は、情報処理装置10からの要求に基づく処理の結果を示す表示情報を処理実行部317から取得し、取得した表示情報を表示することで、当該処理の結果をユーザに報知すればよい。
なお、上記に示す報知部35の態様はあくまで一例であり、情報処理装置10からの要求に基づく処理の結果をユーザに報知できれば、報知部35の態様は特に限定されない。具体的な一例として、報知部35は、LED(Light Emitting Diode)のように、点灯又は点滅のパターンにより、所定の情報をユーザに報知するデバイスであってもよい。また、報知部35は、スピーカ等のように、所定の音響(または音声)を出力することで、所定の情報をユーザに報知するデバイスであってもよい。
通信制御部311は、情報処理装置10内で動作する各アプリケーション11との間で通信(データの送受信)を開始する場合に、まず、通信相手となるアプリケーション11から送信されたセッションID1を受信する。そして、通信制御部311は、受信したセッションID1を、セッション情報記憶部315に記憶させる。セッション情報記憶部315は、アプリケーション11から取得されたセッションID1や、後述するセッションID2を記憶するための記憶部である。なお、通信制御部311のうち、アプリケーション11から送信されたセッションID1を受信する構成や、セッション情報記憶部315に記憶されたセッションID1及びID2を参照する構成が、「取得部」の一例に相当する。
取得したセッションID1をセッション情報記憶部315に記憶させると、通信制御部311は、後述するセッション情報生成部313にセッションID2の生成を指示する。この指示を受けて、セッション情報生成部313によりセッションID2が生成され、当該セッションID2がセッション情報記憶部315に記憶される。
次いで、通信制御部311は、情報処理装置10内で動作する各アプリケーション11から送信された通信データを受信する。
通信制御部311は、アプリケーション11から通信データを受信すると、受信した通信データに関連付けられたセッションIDを抽出する。通信データからセッションIDを抽出できた場合には、通信制御部311は、抽出したセッションIDを、セッション情報記憶部315に記憶されたセッションID1と照合する。
通信制御部311は、通信データから抽出したセッションIDが、セッション情報記憶部315に記憶されたセッションID1と一致する場合には、当該通信データが、当該セッションID1の送信元から送信された通信データであると認識する。この場合には、通信制御部311は、受信した通信データを処理対象のデータであると認識し、当該通信データを処理実行部317に出力する。
一方で、通信制御部311は、抽出したセッションIDがセッション情報記憶部315に記憶されたセッションID1と一致しなかった場合には、当該通信データが、当該セッションID1の送信元とは異なる送信元から送信された通信データであると認識する。この場合には、通信制御部311は、受信した通信データを処理対象とはしない。また、通信制御部311は、受信した通信データに対してセッションIDが関連付けられていなかった場合についても同様に、当該通信データを処理対象とはしない。なお、通信制御部311は、受信した通信データを処理対象と認識しなかった場合には、当該通信データを破棄してもよい。また、通信制御部311は、一のセッションID1に基づく排他制御中に他のセッションID1を受信した場合には、当該他のセッションID1を処理対象とは認識せずに、当該他のセッションID1に基づく排他制御の開始を拒否してもよい。
以上のような構成により、通信制御部311は、通信データからに関連付けられたセッションIDに基づき、当該通信データが、セッション情報記憶部315に記憶されたセッションID1の送信元から送信された通信データか否かを認識する。そして、通信制御部311は、当該セッションID1の送信元から送信された通信データのみを排他的に処理対象とする(このような制御を、以降では「排他制御」と呼ぶ場合がある)。なお、上記に説明したように、通信制御部311において排他制御を行う構成が、外部デバイス30における「制御部」の一例に相当する。
なお、通信制御部311が上記に示した排他制御を行う期間は適宜変更することができる。例えば、通信制御部311は、処理対象と認識した通信データの受信の完了をもって、排他制御を完了してもよい。また、他の一例として、通信制御部311は、処理対象と認識した通信データが示す処理要求(即ち、アプリケーション11からの処理要求)を受けて、当該処理要求の要求元に対する応答の完了をもって、排他制御を完了してもよい。また、他の一例として、通信制御部311は、セッションID1の送信元であるアプリケーション11からの指示に基づき、排他制御の継続及び完了を判断してもよい。また、他の一例として、通信制御部311は、セッションID1が関連付けられた通信データを受信しない期間が、あらかじめ決められた期間以上となった場合(所謂、タイムアウト)に、排他制御を完了してもよい。
排他制御を完了した場合には、通信制御部311は、セッション情報記憶部315に記憶されたセッションID1及びID2を破棄してもよい。このことは、アプリケーション11についても同様である。即ち、当該アプリケーション11の通信制御部111は、外部デバイス30の通信制御部311による排他制御が完了した場合には、セッション情報記憶部115に記憶されたセッションID1及びID2を破棄してもよい。
また、通信制御部311は、処理実行部317からの指示に基づき、当該処理実行部317から出力される通信データを情報処理装置10に送信する。このとき、通信制御部311は、処理実行部317から取得した通信データに対して、セッション情報記憶部315に記憶されたセッションID2を関連付けて、当該セッションID2が関連付けられた当該通信データを情報処理装置10に送信する。
このような構成により、通信制御部311は、セッション情報記憶部315に記憶されたセッションID2と同じセッションIDを記憶するアプリケーション11に宛てて、当該通信データを送信することが可能となる。なお、セッション情報記憶部315に記憶されたセッションID2と同じセッションIDを記憶するアプリケーション11とは、当該セッションID2の生成元となるセッションID1の送信元に相当する。
また、通信制御部311は、受信した通信データから抽出したセッションIDが、セッション情報記憶部315に記憶されたセッションID1と異なる場合には、当該通信データの送信元に、当該通信データを処理対象としない旨を通知してもよい。この場合には、通信制御部311は、抽出したセッションIDを基にセッションID2をセッション情報生成部313に生成させ、当該セッションID2を通知する情報に関連付けて通信データとして、通知先に送信すればよい。
なお、通信制御部111は、通信データを外部デバイス30に送信する際に、当該通信データを複数の部分データに分割し、当該複数の部分データのそれぞれを、複数の通信に分けて当該外部デバイス30(即ち、通信制御部311)に送信してもよい。この場合には、通信制御部111は、各部分データのそれぞれに対して、セッションID1を関連付ければよい。これにより、通信制御部311は、受信した各部分データに関連付けられたセッションID1に基づき、当該各部分データを処理対象と認識し、処理対象と認識した複数の部分データに基づき通信データを復元することが可能となる。このことは、通信制御部311から情報処理装置10(即ち、通信制御部111)に向けて通信データを送信する場合についても同様である。なお、通信データを、複数の通信に分けて送受信する場合の詳細については、実施例として別途後述する。
以上、図7を参照しながら、本実施形態に係る情報処理システムの機能構成の一例について説明した。
[1.4.処理]
次に、図8を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、情報処理装置10上で動作するアプリケーション11aと外部デバイス30との間で情報を送受信する場合を例に説明する。図8は、本実施形態に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。
(ステップS101)
アプリケーション11aの通信制御部111は、処理実行部117から外部デバイス30へのアクセスに係る指示を受けると、セッション情報生成部113に、セッションID1の生成を指示する。この指示を受けると、セッション情報生成部113は、セッションID1を生成し、生成したセッションID1を、セッション情報記憶部115に記憶させる。
(ステップS103)
通信制御部111は、セッション情報生成部113により生成されたセッションID1をセッション情報記憶部115から読み出し、読み出したセッションID1を外部デバイス30に通知する。
(ステップS105)
また、セッション情報生成部113は、あらかじめ記憶されている鍵情報に基づき、生成したセッションID1に対して不可逆処理を施して符号化(乱数化)することで、当該セッションID1とは異なるセッションID2を生成する。そして、セッション情報生成部113は、生成したセッションID2を、セッション情報記憶部115に記憶させる。
(ステップS107)
通信制御部311は、情報処理装置10内で動作するアプリケーション11aから送信されたセッションID1を受信し、受信したセッションID1を、セッション情報記憶部315に記憶させる。
(ステップS109)
取得したセッションID1をセッション情報記憶部315に記憶させると、通信制御部311は、セッション情報生成部313にセッションID2の生成を指示する。この指示を受けて、セッション情報生成部313によりセッションID2が生成され、当該セッションID2がセッション情報記憶部315に記憶される。
(ステップS111a〜S115a)
外部デバイス30へのセッションID1の通知が完了すると、アプリケーション11aの通信制御部111は、処理実行部117から通信データを取得する。そして、通信制御部111は、取得した通信データにセッション情報記憶部115から読み出したセッションID1を関連付けて、当該セッションID1が関連付けられた通信データを、ネットワークn1を介して外部デバイス30に送信する。
外部デバイス30の通信制御部311は、アプリケーション11aから通信データを受信すると、受信した通信データに関連付けられたセッションIDを抽出する。通信データからセッションIDを抽出できた場合には、通信制御部311は、抽出したセッションIDを、セッション情報記憶部315に記憶されたセッションID1と照合する。
このとき、セッション情報記憶部315には、当該アプリケーション11aから受信したセッションID1が記憶されている。そのため、アプリケーション11aから受信した通信データに関連付けられたセッションIDは、セッション情報記憶部315に記憶されたセッションID1と一致することとなる。即ち、通信制御部311は、抽出したセッションIDがセッション情報記憶部315に記憶されたセッションID1と一致した場合には、アプリケーション11aから受信した通信データを処理対象のデータであると認識し、当該通信データを処理実行部317に出力する。
(ステップS111b)
一方で、通信制御部311が、アプリケーション11aとは異なるアプリケーション11bから通信データを受信したとする。この場合についても同様に、通信制御部311は、通信データに関連付けられたセッションIDを抽出し、抽出したセッションIDを、セッション情報記憶部315に記憶されたセッションID1と照合する。
しかしながら、アプリケーション11bから受信した通信データに関連付けられたセッションIDは、セッション情報記憶部315に記憶されたセッションID1とは一致しない。そのため、通信制御部311は、アプリケーション11bから受信した通信データが、当該セッションID1の送信元であるアプリケーション11aとは異なる送信元から送信された通信データであると認識する。この場合には、通信制御部311は、受信した通信データを処理対象とはしない。
(ステップS117a、S117b)
また、外部デバイス30の通信制御部311は、処理実行部317からの指示に基づき、当該処理実行部317から出力される通信データを情報処理装置10に送信する。このとき、通信制御部311は、処理実行部317から取得した通信データに対して、セッション情報記憶部315に記憶されたセッションID2を関連付けて、当該セッションID2が関連付けられた当該通信データを情報処理装置10に送信する。外部デバイス30から情報処理装置10に送信された通信データは、情報処理装置10で動作する各アプリケーション11それぞれの通信制御部111で受信される。
(ステップS119a)
アプリケーション11aの通信制御部111は、外部デバイス30から通信データを受信すると、受信した通信データに関連付けられたセッションIDを抽出する。通信データからセッションIDを抽出できた場合には、通信制御部111は、抽出したセッションIDを、セッション情報記憶部115に記憶されたセッションID2と照合する。
このとき、当該通信データに関連付けられたセッションIDと、セッション情報記憶部115に記憶されたセッションID2とは、互いに同じセッションID1と、アプリケーション11aと外部デバイス30との間で共通の鍵情報とに基づき生成されている。そのため、外部デバイス30から受信した通信データに関連付けられたセッションIDは、セッション情報記憶部115に記憶されたセッションID2と一致することとなる。この場合には、通信制御部111は、外部デバイス30から受信した通信データを処理対象のデータであると認識し、当該通信データを処理実行部117に出力する。
(ステップS119b)
また、アプリケーション11bの通信制御部111についても、同様に、外部デバイス30から通信データを受信すると、受信した通信データに関連付けられたセッションIDを抽出する。通信データからセッションIDを抽出できた場合には、通信制御部111は、抽出したセッションIDを、セッション情報記憶部115に記憶されたセッションID2と照合する。
一方で、セッション情報記憶部115に記憶されたセッションID2と、通信データに関連付けられたセッションIDとは、互いに異なるセッションID1に基づき生成されている。そのため、外部デバイス30から受信した通信データに関連付けられたセッションIDは、セッション情報記憶部115に記憶されたセッションID2と一致しないこととなる。この場合には、通信制御部111は、受信した通信データの宛先が自身ではないものと認識し、当該通信データを処理対象とはしない。
以上のような構成に基づき、本実施形態に係る情報処理システムでは、外部デバイス30の通信部31は、データの送信元となるアプリケーション11を識別し、複数のアプリケーション11からのアクセスを排他的に制御することが可能となる。なお、上記では、アプリケーション11と外部デバイス30との間で鍵情報に基づきセッションID1を乱数化することでセッションID2を生成する例について説明した。しかしながら、アプリケーション11と外部デバイス30との間で共通のロジックに基づきセッションID1を乱数化することで、共通のセッションID2が生成できれば、その方法は、必ずしも鍵情報を用いた方法には限定されない。
また、前述したように、セッションID2は、セッションID1に対して不可逆処理を施すことで符号化されて生成された情報である。そのため、各アプリケーション11は、自身が保持するセッションID2と異なるセッションIDを取得したとしても、当該セッションIDが、自身以外のどのアプリケーション11の保持するセッションID2に相当するかを認識することは困難である。
また、アプリケーション11と通信部31とは、互いに異なるセッションID(即ちセッションID1及びID2)を関連付けて通信データを送信する。具体的な一例として、アプリケーション11a宛てに送信された通信データに関連付けられたセッションIDは、当該アプリケーション11aが通信部31に通信データを送信する際に、当該通信データに関連付けるセッションID1とは異なる。そのため、アプリケーション11a宛てに送信された通信データを他のアプリケーション11zが受信したとしても、当該アプリケーション11zは、当該通信データに関連付けられたセッションIDに基づきアプリケーション11aになりすますことは困難である。
また、上記に示す排他制御の例では、外部デバイス30は、排他制御中は1つのアプリケーション11からの要求のみを処理する例について説明した。しかしながら、外部デバイス30は、並列に処理可能であれば、複数のアプリケーション11からの要求に基づく処理のそれぞれを、個々に排他的に処理してもよい。具体的な一例として、複数のアプリケーション11からの要求に基づく処理の対象が、外部デバイス30に記憶された各データのうち、互いに異なるデータの場合には、当該外部デバイス30は、各アプリケーション11からの要求を並列に処理してもよい。
以上のような構成により、本実施形態に係る情報処理システムでは、1対1での通信を想定した規格に基づく通信環境下においても、外部デバイス30は、複数のアプリケーション11それぞれからのアクセスを排他的に制御することが可能となる。
<2.第2の実施形態>
[2.1.概要]
次に、第2の実施形態に係る情報処理システムについて説明する。前述した第1の実施形態では、情報処理装置10側のアプリケーション11と、外部デバイス30とが、個々にセッションID2を生成していた。
これに対して、第2の実施形態に係る情報処理システムでは、アプリケーション11が、セッションID2を生成し、生成したセッションID2を外部デバイス30側に通知する点で、前述した第1の実施形態に係る情報処理システムと異なる。そこで、以降では、本実施形態に係る情報処理システムについて、前述した第1の実施形態に係る情報処理システムと異なる部分に着目して説明する。
[2.2.機能構成]
図9を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明する。図9は、本実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。
まず、情報処理装置10側の構成に着目して説明する。本実施形態に係る情報処理装置10は、通信制御部111と、セッション情報生成部113との動作が、前述した第1の実施形態に係る情報処理装置10(図7参照)と異なる。そのため、本説明では、通信制御部111と、セッション情報生成部113とについて、前述した第1の実施形態と異なる部分に着目して説明する。なお、以降では、本実施形態に係る外部デバイス30を、前述した第1の実施形態に係る外部デバイス30と明示的に区別する場合には、「外部デバイス30a」と記載する場合がある。
前述した第1の実施形態では、セッション情報生成部113は、セッションID1に対して、あらかじめ記憶された外部デバイス30と共通のロジックに基づき(例えば、鍵情報に基づき)非可逆処理を施すことで符号化(乱数化)してセッションID2を生成していた。
これに対して、本実施形態に係るセッション情報生成部113においては、セッションID1と異なり、かつ、少なくとも一部に乱数化された情報が含まれるようにセッションID2を生成可能であれば、当該セッションID2を生成する方法は特に限定されない。そのため、本実施形態に係るセッション情報生成部113は、必ずしも、外部デバイス30aと共通の鍵情報を保持している必要はない。もちろん、本実施形態に係るセッション情報生成部113は、前述した第1の実施形態に係るセッション情報生成部113と同様に、セッションID1に対して鍵情報に基づき非可逆処理を施すことで符号化(乱数化)してセッションID2を生成してもよい。
また、本実施形態に係る通信制御部111は、外部デバイス30aとの間で通信を開始する際の動作が、前述した第1の実施形態に係る通信制御部111と異なる。
具体的には、本実施形態に係る通信制御部111は、処理実行部117から外部デバイス30aへのアクセスに係る指示を受けると、セッション情報生成部113に、セッションID1及びID2の生成を指示する。そして、通信制御部111は、生成されたセッションID1及びID2をセッション情報記憶部115から読み出し、読み出したセッションID1及びID2を外部デバイス30aに通知する。なお、以降の処理については、前述した第1の実施形態に係る通信制御部111と同様である。
次に、外部デバイス30a側の構成に着目して説明する。本実施形態に係る外部デバイス30は、主に通信部31の構成が前述した前述した第1の実施形態と異なる。具体的には、本実施形態に係る通信部31は、セッション情報生成部313を含まない点と、通信制御部311の動作とが、前述した第1の実施形態に係る通信部31と異なる。
そのため、本説明では、主に通信制御部311の動作について、前述した第1の実施形態と異なる部分に着目して説明する。なお、以降では、本実施形態に係る通信部31を、前述した第1の実施形態に係る通信部31と明示的に区別する場合には、「通信部31a」と記載する場合がある。
本実施形態に係る通信部31aの通信制御部311は、情報処理装置10内で動作する各アプリケーション11との間で通信(データの送受信)を開始する場合に、まず、通信相手となるアプリケーション11から送信されたセッションID1及びID2を受信する。そして、通信制御部311は、受信したセッションID1及びID2を、セッション情報記憶部315に記憶させる。
このように、通信部31aの通信制御部311は、セッションID2を通信相手となるアプリケーション11から取得する点で、前述した第1の実施形態に係る通信制御部311と異なる。なお、以降の処理については前述した第1の実施形態に係る通信制御部311と同様である。
なお、通信部31aの通信制御部311は、受信した通信データから抽出したセッションID1が、セッション情報記憶部315に記憶されたセッションID1と異なる場合には、当該通信データの送信元に、当該通信データを処理対象としない旨を通知してもよい。この場合には、通信制御部311は、当該通信データにあわせて関連付けられたセッションID2を抽出し、当該セッションID2を通知する情報に関連付けて通信データとして、通知先に送信すればよい。
以上、図9を参照しながら、本実施形態に係る情報処理システムの機能構成の一例について、前述した第1の実施形態に係る情報処理システムと異なる部分に着目して説明した。
[2.3.処理]
次に、図10を参照して、本実施形態に係る情報処理システムの一連の処理の流れの一例について、情報処理装置10上で動作するアプリケーション11aと外部デバイス30aとの間で情報を送受信する場合を例に説明する。図10は、本実施形態に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。
なお、「2.2.機能構成」でも説明したように、本実施形態に係る情報処理システムでは、アプリケーション11で生成されたセッションID2が外部デバイス30aに通知される点が、前述した第1の実施形態に係る情報処理システムと異なる。そのため、本説明においても、前述した第1の実施形態に係る情報処理システムと異なる部分に着目して説明する。
(ステップS201)
アプリケーション11aの通信制御部111は、処理実行部117から外部デバイス30aへのアクセスに係る指示を受けると、セッション情報生成部113に、セッションID1及びID2の生成を指示する。この指示を受けて、セッション情報生成部113は、セッションID1及びID2を生成し、生成した当該セッションID1及びID2を、セッション情報記憶部115に記憶させる。
(ステップS203、S205)
そして、通信制御部111は、生成されたセッションID1及びID2をセッション情報記憶部115から読み出し、読み出したセッションID1及びID2を外部デバイス30aに通知する。
(ステップS207)
外部デバイス30aの通信制御部311は、情報処理装置10内で動作するアプリケーション11aとの間で通信(データの送受信)を開始する場合に、まず、当該アプリケーション11aから送信されたセッションID1及びID2を受信する。そして、通信制御部311は、受信したセッションID1及びID2を、セッション情報記憶部315に記憶させる。
これにより、アプリケーション11aと、外部デバイス30aとの双方に、共通のセッションID1及びID2が保持される。なお、以降の動作については、前述した第1の実施形態に係る情報処理システムと同様である。
以上、説明したように、本実施形態に係る情報処理システムでは、アプリケーション11がセッションID1及びID2を生成し、当該セッションID1及びID2を外部デバイス30aに通知する。
そして、アプリケーション11の通信制御部111は、外部デバイス30aに通信データを送信する際には、当該通信データにセッションID1を関連付ける。この場合には、外部デバイス30aの通信制御部311は、通信データに関連付けられたセッションID1に基づき、当該通信データの送信元がアプリケーション11aであることを認識する。
また、外部デバイス30aの通信制御部311は、情報処理装置10に通信データを送信する際に、当該通信データにセッションID2を関連付ける。この場合には、情報処理装置10上で動作するアプリケーション11aの通信制御部111は、通信データに関連付けられたセッションID2に基づき、当該通信データの宛先が自身(アプリケーション11a)であることを認識する。
このような構成により、本実施形態に係る情報処理システムは、1対1での通信を想定した規格に基づく通信環境下においても、前述した第1の実施形態に係る情報処理システムと同様に、外部デバイス30における排他制御を実現することが可能となる。
また、本実施形態に係る情報処理システムでは、外部デバイス30はセッションID2を生成する必要が無い。そのため、本実施形態に係る情報処理システムでは、前述した第1の実施形態に係る情報処理システムに比べて、外部デバイス30の処理負荷を軽減することが可能となる。
<3.実施例>
次に、実施例として、本実施形態に係る情報処理システムにおける排他制御の一例について説明する。なお、本説明では、情報処理装置10と外部デバイス30とが、互いに通信データを送受信する際に、当該通信データを複数の通信に分けて送信する場合を例に説明する。
[3.1.実施例1:プロセス単位での排他制御]
まず、実施例1として、外部デバイス30が、アプリケーション11aからの要求のみを排他的に受け付けて、当該要求に基づく処理を実行し、当該処理の結果をアプリケーション11aに通知するまでの期間を排他制御の対象とする場合の例について説明する。なお、アプリケーション11から外部デバイス30に要求が送信され、当該要求に基づく処理の結果が、外部デバイス30からアプリケーション11に通知されるまでの一連の処理を、以降では「プロセス」と呼ぶ場合がある。
例えば、図11は、実施例1に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。具体的には、図11は、アプリケーション11aから外部デバイス30に要求が送信され、当該要求に基づく処理の結果が、外部デバイス30からアプリケーション11aに通知されるまでの処理、即ち、1プロセス分の処理の流れを示している。なお、図11に示す例では、説明をわかりやすくするために、アプリケーション11aと外部デバイス30との双方が、互いに共通のセッションID1及びID2を既に保持しているものとして説明するが、必ずしも本態様に限定するものではない。例えば、アプリケーション11aは、外部デバイス30に対して最初の通信データの送信する際に、当該通信データとあわせてセッションID1(及びセッションID2)を、当該外部デバイス30に通知してもよい。
図11において、参照符号S300は、1つのプロセスを示している。図11に示すように、プロセスS300は、例えば、要求データ送信フェーズS310と、要求データ受信フェーズS320と、処理実行フェーズS330と、結果データ送信フェーズS340と、結果データ受信フェーズS350とを含む。
要求データ送信フェーズS310は、アプリケーション11aが、外部デバイス30に対して所望の処理を要するための要求データを、通信データとして当該外部デバイス30に送信するフェーズを示している。なお、アプリケーション11aは、要求データを外部デバイス30に送信する際に、当該要求データに対してセッションID1を関連付ける点は、前述したとおりである。
また、前述したように、アプリケーション11aは、外部デバイス30に通信データを送信する際に、当該通信データを複数の通信に分けて送信してもよい。そのため、例えば、図11に示す例では、アプリケーション11aは、参照符号S311〜S313で示すように、要求データをm個の部分データに分割することで、当該要求データを部分データごとにm回の通信に分けて送信している。なお、以降では、要求データから分割されたm個の部分データを、「要求データ1/m〜m/m」と記載する場合がある。
また、アプリケーション11aは、要求データ1/m〜m/mのそれぞれを外部デバイス30に送信する際には、要求データi/m(iは、1≦i≦mの整数)に対してセッションID1を関連付ける。これにより、外部デバイス30は、当該セッションID1に基づき、アプリケーション11aから送信された要求データi/mのみが処理対象となるように排他制御を行うことが可能となる。
なお、アプリケーション11aは、参照符号S313に示すように、一連の要求データ1/m〜m/mのうち最後の要求データm/mを送信する際に、当該要求データm/mが最後のデータであることを示す制御情報を、当該要求データm/mに関連付けてもよい。これにより、外部デバイス30は、当該制御情報が関連付けられた要求データm/mを、一連の要求データ1/m〜m/mのうちの最後のデータとして認識することが可能となる。
要求データ受信フェーズS320は、外部デバイス30が、アプリケーション11aから送信された要求データを受信するフェーズを示している。
要求データ受信フェーズS320では、外部デバイス30は、情報処理装置10上で動作する各アプリケーション11から送信される要求データ(換言すると、通信データ)を受信する。このとき、外部デバイス30は、受信した要求データに関連付けられているセッションID1に基づき、当該要求データの送信元がアプリケーション11aか否かを認識する。そして、外部デバイス30は、アプリケーション11aから送信された要求データのみを処理対象と認識し、当該要求データが示すアプリケーション11aの要求を実行する。なお、外部デバイス30が、要求データが示すアプリケーション11aの要求を実行するフェーズが、処理実行フェーズS330に相当する。
また、前述したように、外部デバイス30は、要求データを複数の通信に分けて受信してもよい。この場合には、外部デバイス30は、一連の要求データ1/m〜m/mを受信したら、当該要求データ1/m〜m/mを結合することで、分割前の要求データを復元し、復元された要求データに基づき、アプリケーション11aの要求を認識すればよい。
結果データ送信フェーズS340は、外部デバイス30が、処理実行フェーズS330で実行された処理の結果を示す結果データを、通信データとして要求データの送信元となるアプリケーション11aに送信するフェーズを示している。なお、外部デバイス30は、結果データをアプリケーション11aに送信する際に、当該結果データに対してセッションID2を関連付ける点は、前述したとおりである。また、結果データ受信フェーズS350は、アプリケーション11aが、外部デバイス30から送信された結果データを受信するフェーズを示している。
なお、外部デバイス30は、アプリケーション11aに通信データを送信する際に、当該通信データを複数の通信に分けて送信してもよい。そのため、例えば、図11に示す例では、外部デバイス30は、参照符号S351〜S353で示すように、結果データをn個の部分データに分割することで、当該結果データを部分データごとにn回の通信に分けて送信している。なお、以降では、結果データから分割されたn個の部分データを、「結果データ1/n〜n/n」と記載する場合がある。
また、外部デバイス30は、結果データ1/n〜n/nのそれぞれをアプリケーション11aに送信する際には、結果データj/n(jは、1≦j≦nの整数)に対してセッションID2を関連付ける。これにより、アプリケーション11aは、当該セッションID2に基づき、外部デバイス30から送信された結果データj/nが自身(アプリケーション11a)に宛てて送信されたデータであると認識することが可能となる。
なお、外部デバイス30は、参照符号S353に示すように、一連の結果データ1/n〜n/nのうち最後の結果データn/nを送信する際に、当該結果データn/nが最後のデータであることを示す制御情報を、当該結果データn/nに関連付けてもよい。これにより、アプリケーション11aは、当該制御情報が関連付けられた結果データn/nを、一連の結果データ1/n〜n/nのうちの最後のデータとして認識することが可能となる。
結果データ受信フェーズS350では、アプリケーション11aは、外部デバイス30から送信される結果データ(換言すると、通信データ)を受信する。このとき、アプリケーション11aは、受信した結果データに関連付けられているセッションID2に基づき、当該結果データの宛先が自身(アプリケーション11a)か否かを認識する。そして、アプリケーション11aは、受信した結果データが自身宛てのデータの場合には、当該結果データを処理対象と認識し、当該結果データから処理の結果を示す情報を取得する。もちろん、アプリケーション11aは、結果データが複数の通信に分けて送信された場合には、受信した結果データ1/n〜n/nを結合することで結果データを復元すればよい。
以上説明した内容が、プロセスS300の一連の処理の流れである。なお、外部デバイス30は、プロセス単位で排他制御を行う場合には、例えば、アプリケーション11aからセッションID1の受信をもって、当該排他制御を開始してもよい。また、外部デバイス30は、一連の結果データ1/n〜n/nのうち最後の結果データn/nの送信をもって、当該排他制御を終了してもよい。また、他の一例として、外部デバイス30は、アプリケーション11aから最後の結果データn/nの受信が完了したことを示す制御情報を取得し、当該制御情報の取得をもって当該排他制御を終了してもよい。
次に、図12を参照して、前述した要求データ及び結果データを送信するための通信データのデータ構造の一例について説明する。図12は、要求データ及び結果データを送信するための通信データのデータ構造の一例について説明するための説明図である。
図12において、参照符号d10は、アプリケーション11から外部デバイス30に向けて、要求データを送信するための通信データのデータ構造の一例を示している。
図12に示すように、通信データd10は、セッションID1d111と、トランザクション種別d113と、データグループ番号d115と、データ通番d117と、継続フラグd119と、要求データd121とを含む。
セッションID1d111は、アプリケーション11が外部デバイス30に通知するセッションID1を格納するための領域である。また、要求データd121は、送信対象となる要求データを格納するための領域である。
また、データ通番d117は、アプリケーション11が、要求データを複数の通信に分けて外部デバイス30に送信する際に、使用する制御情報を格納するための領域である。データ通番d117には、要求データ1/m〜m/mのそれぞれを識別するための制御情報、換言すると、要求データ1/m〜m/mそれぞれの通し番号を示す制御情報が格納される。
継続フラグd119は、主に、要求データを複数の通信に分けて送信する場合に用いられ、要求データd121で示された領域に格納された要求データi/mが、最後の要求データm/mか否かを示す制御情報が格納される領域を示している。
例えば、要求データd121で示された領域に格納された要求データi/mが、最後の要求データm/mの場合には、継続フラグd119には、「偽(false)」を示すフラグが設定される。また、当該要求データi/mが、最後の要求データm/m以外の場合には、継続フラグd119には、「真(true)」を示すフラグが設定される。
即ち、外部デバイス30は、継続フラグd119に「真(true)」が設定されている限り、要求データi/mの受信を継続する。また、外部デバイス30は、継続フラグd119に「偽(false)」が設定されている場合には、受信した要求データi/mが、最後の要求データm/mであると認識し、要求データi/mの受信に係る処理を終了する。
なお、要求データを複数の通信に分けて送信しない場合(即ち、1送信で要求データを送信する場合)には、継続フラグd119には、「偽(false)」を示すフラグが設定されればよい。
また、トランザクション種別d113と、データグループ番号d115とは、主に、複数プロセスを1つのトランザクションとして、当該トランザクション単位で排他制御を行う場合に用いられる。なお、トランザクション単位で排他制御を行う場合については、実施例2、3として詳細を後述する、
トランザクション種別d113には、トランザクションの開始、継続、終了を示す制御情報を格納するための領域である。トランザクション種別d113には、例えば、「開始」、「終了」、及び「通常」のうちのいずれかがフラグとして設定される。
「開始」フラグは、アプリケーション11が、外部デバイス30に対して、トランザクションの開始を指示するためのフラグである。また、「終了」フラグは、アプリケーション11が、外部デバイス30に対して、開始されているトランザクションの終了を指示するためのフラグである。即ち、外部デバイス30は、「開始」フラグが設定された通信データd10の受信をもってトランザクションの開始を認識して、排他制御を開始する。また外部デバイス30は、「終了」フラグが設定された通信データd10の受信をもってトランザクションの終了を認識して、開始されている当該排他制御を終了する。
「通常」フラグは、「開始」及び「終了」のいずれにも相当しない場合に設定されるフラグである。外部デバイス30は、「開始」フラグに基づきトランザクションが開始されているときに、「通常」フラグが設定された通信データd10を受信した場合には、当該トランザクションが継続されているものと認識する。また、外部デバイス30は、トランザクションが開始されていないときに、「通常」フラグが設定された通信データd10を受信した場合には、プロセス単位の排他制御が指示されたものとして認識してもよい。
データグループ番号d115は、各プロセスを識別するための識別情報を格納するための領域である。外部デバイス30は、データグループ番号d115に格納された識別情報に基づき、要求データd121で示された領域に格納された要求データが、どのプロセスに対応する要求データであるかを識別することが可能となる。そのため、例えば、要求データが再送されるような状況下においても、外部デバイス30は、データグループ番号d115に格納された識別情報に基づき、あわせて再送された要求データがどのプロセスに対応する要求データであるかを識別することが可能となる。
また、参照符号d30は、外部デバイス30からアプリケーション11に向けて、結果データを送信するための通信データのデータ構造の一例を示している。
図12に示すように、通信データd30は、セッションID2d311と、データグループ番号d313と、データ通番d315と、継続フラグd317と、結果データd319とを含む。
セッションID2d311は、外部デバイス30がアプリケーション11に通知するセッションID2を格納するための領域である。また、結果データd319は、送信対象となる結果データを格納するための領域である。
また、データ通番d315は、外部デバイス30が、結果データを複数の通信に分けてアプリケーション11に送信する際に、使用する制御情報を格納するための領域である。データ通番d315には、結果データ1/n〜n/nのそれぞれを識別するための制御情報、換言すると、結果データ1/n〜n/nそれぞれの通し番号を示す制御情報が格納される。
継続フラグd317は、主に、結果データを複数の通信に分けて送信する場合に用いられ、結果データd319で示された領域に格納された結果データj/nが、最後の結果データn/nか否かを示す制御情報が格納される領域を示している。
例えば、結果データd319で示された領域に格納された結果データj/nが、最後の結果データn/nの場合には、継続フラグd317には、「偽(false)」を示すフラグが設定される。また、当該結果データj/nが、最後の結果データn/n以外の場合には、継続フラグd317には、「真(true)」を示すフラグが設定される。
即ち、アプリケーション11は、継続フラグd317に「真(true)」が設定されている限り、結果データj/nの受信を継続する。また、アプリケーション11は、継続フラグd317に「偽(false)」が設定されている場合には、受信した結果データj/nが、最後の結果データn/nであると認識し、結果データj/nの受信に係る処理を終了する。
なお、結果データを複数の通信に分けて送信しない場合(即ち、1送信で結果データを送信する場合)には、継続フラグd317には、「偽(false)」を示すフラグが設定されればよい。
また、データグループ番号d313は、通信データd10におけるデータグループ番号d115と同様である。
なお、図12に示した通信データd10及びd30のデータ構造はあくまで一例であり、各実施例として説明された一連の処理を実現可能であれば、当該通信データd10及びd30に含まれる情報は特に限定されない。具体的な一例として、通信データd10及びd30は、図12に示された情報以外の他の情報を格納するための拡張領域が別途設けられていてもよい。また、前述した第2の実施形態のように、情報処理装置10から外部デバイス30にセッションID2を通知する場合には、通信データd10に対して、当該セッションID2を格納するための領域を別途設けてもよい。
以上、実施例1として、外部デバイス30が、プロセス単位で排他制御を行う場合の例と、外部デバイス30とアプリケーション11との間で送受信される通信データのデータ構造の一例とについて説明した。
[3.2.実施例2:トランザクション単位での排他制御]
次に、図13を参照して、外部デバイス30が、トランザクション単位で排他制御を行う場合の一例について説明する。図13は、実施例2に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。なお、図13は、プロセスS301〜S303が1つのトランザクションS500として管理される場合の例を示している。また、図13に示す例では、説明をわかりやすくするために、アプリケーション11aと外部デバイス30との双方が、互いに共通のセッションID1及びID2を既に保持しているものとして説明するが、必ずしも本態様に限定するものではない。例えば、アプリケーション11aは、外部デバイス30に対して最初の通信データの送信する際に、当該通信データとあわせてセッションID1(及びセッションID2)を、当該外部デバイス30に通知してもよい。
図13に示すように、アプリケーション11aは、外部デバイス30に対してトランザクション単位での排他制御を指示する場合には、最初のプロセスS301において最初に送信される要求データ1/mに、トランザクションの開始を示す制御情報を関連付ける。
具体的には、アプリケーション11aは、プロセスS301において最初の要求データ1/mを送信する際に、図12に示す通信データd10のトランザクション種別d113に「開始」フラグを設定し、当該通信データを外部デバイス30に送信すればよい。これにより、外部デバイス30は、当該通信データd10のトランザクション種別d113に設定された「開始」フラグに基づき、トランザクションS500を開始する。なお、この場合には、外部デバイス30は、プロセスS301の一連の処理が完了しても、排他制御を終了させずに継続する。
また、アプリケーション11aは、トランザクションS500の開始後に、プロセスS301とは異なる他のプロセスを開始する場合には、当該プロセスの最初に送信される要求データ1/mに、トランザクションの継続か終了を示す制御情報を関連付ける。この制御情報により、外部デバイス30は、開始されたトランザクションS500を終了するか否かを判断することが可能となる。
例えば、アプリケーション11aは、プロセスS302において、外部デバイス30に対してトランザクションS500の継続を指示している。具体的には、アプリケーション11aは、プロセスS302において最初の要求データ1/mを送信する際に、図12に示す通信データd10のトランザクション種別d113に「通常」フラグを設定し、当該通信データを外部デバイス30に送信する。これにより、外部デバイス30は、当該通信データd10のトランザクション種別d113に設定された「通常」フラグに基づき、トランザクションS500の継続が指示されたことを認識することができる。なお、この場合には、外部デバイス30は、プロセスS302の一連の処理が完了しても、排他制御を終了させずに継続する。
また、アプリケーション11aは、プロセスS303において、外部デバイス30に対してトランザクションS500の終了を指示している。具体的には、アプリケーション11aは、プロセスS303において最初の要求データ1/mを送信する際に、図12に示す通信データd10のトランザクション種別d113に「終了」フラグを設定し、当該通信データを外部デバイス30に送信する。これにより、外部デバイス30は、当該通信データd10のトランザクション種別d113に設定された「終了」フラグに基づき、トランザクションS500の終了が指示されたことを認識することができる。なお、この場合には、外部デバイス30は、プロセスS303の一連の処理の完了をもって、排他制御を終了する。
以上、図13を参照しながら実施例2として説明したように、本実施形態に係る情報処理システムでは、複数のプロセスを1つのトランザクションとして、トランザクション単位で排他制御を行うことも可能となる。
なお、トランザクション単位で排他制御が行われている場合には、外部デバイス30は、当該トランザクション中に、他のアプリケーション11からセッションID1や要求データを受信したとしても、当該セッションID1や要求データを処理対象とはしない。そのため、例えば、図13の参照符号S410に示すように、異なるプロセス間においても、外部デバイス30は、他のアプリケーション11から受信したセッションID1や要求データを処理対象としないこととなる。
[3.3.実施例3:認証処理を行う場合の通信シーケンス]
次に、実施例3として、認証処理を伴う場合の排他制御の一例について説明する。アプリケーション11aから外部デバイス30に対して処理の要求を行う場合には、外部デバイス30側において、要求元の認証を行う必要がある場合が少なからずある。
具体的な一例として、外部デバイス30側に、ユーザ情報が記憶されており、当該ユーザ情報の参照や更新が、当該ユーザ情報を登録したユーザに限られている場合がある。このような場合には、外部デバイス30は、例えば、アプリケーション11から当該ユーザ情報を登録したユーザであることを示す認証情報を取得し、取得した認証情報に基づき認証を行うことで、当該アプリケーション11を実行しているユーザの正当性を確認する。
一方で、情報処理装置10と外部デバイス30との間の通信帯域が制限されている場合も少なくはない。このような場合には、情報処理装置10と外部デバイス30との間の通信ごとに認証情報を送受信すると、1回に送受信される実データの容量が更に制限され、結果として、当該通信を圧迫する可能性がある。
そこで、実施例3として、認証情報に基づく認証処理を要する場合においても、アプリケーション11と外部デバイス30との間で送受信されるデータの量を最小限に抑えることが可能な情報処理システムについて、図14を参照して説明する。図14は、実施例3に係る情報処理システムの一連の処理の流れの一例について説明するための説明図である。なお、本説明では、アプリケーション11aと外部デバイス30との間で、図13に示した一連の処理を、認証処理を伴って実行する場合について説明する。
図13と図14とを比較するとわかるように、本実施例に係る情報処理システムでは、アプリケーション11aは、最初のプロセスS301において最初に送信される要求データ1/mに対してのみ、認証情報を関連付ける。
外部デバイス30は、要求データ1/mに関連付けられた認証情報を取得すると、当該認証情報に基づき認証処理を実行する。認証に成功した場合には、外部デバイス30は、当該認証に用いた認証情報を、当該認証情報とあわせて受信したセッションID1と関連付けて記憶する。
なお、以降の処理については、外部デバイス30は、受信した要求データに対して、当該認証情報に関連付けられたセッションID1と同じセッションIDが関連付けられている場合には、当該要求データを、認証が完了したユーザからの要求に基づくデータと認識する。
このような構成により、本実施例に係る情報処理システムでは、トランザクションS500中にアプリケーション11aから外部デバイス30に送信される各要求データ1/m〜m/mのそれぞれに認証情報を関連付ける必要がなくなる。そのため、本実施例に係る情報処理システムでは、認証情報に基づく認証処理を要する場合においても、アプリケーション11と外部デバイス30との間で送受信されるデータの量を最小限に抑えることが可能となる。また、外部デバイス30において、プロセスS301〜S303の処理実行フェーズS330ごとに認証処理を行う必要がなくなるため、当該認証処理の実行に伴う外部デバイス30の負荷を最小限に抑えることが可能となる。
<4.ソフトウェア構成>
次に、図15を参照して、前述した各実施形態に係るアプリケーション11を実現するためのソフトウェア構成の一例について説明する。図15は、本開示の各実施形態に係るアプリケーションのソフトウェア構成の一例を示している。
各実施形態及び各実施例にて説明した、アプリケーション11の各機能(即ち、外部デバイス30に対してアクセスするための機能)は、例えば、図15に示すように、API51として提供することも可能である。また、当該API51は、例えば、情報処理装置10のOSが提供するフレームワーク91が提供する機能(例えば、無線通信の機能)を利用して構成されていてもよい。
このような構成とすることで、例えば、外部デバイス30の通信部31を提供するベンダーが、当該通信部31を介して外部デバイス30にアクセスするためのAPI51を、ライブラリとして各アプリケーションの開発者に提供することが可能となる。また、このようにして提供されたAPI51に基づきアプリケーション11が生成されることで、当該アプリケーション11を、各実施形態及び各実施例として前述したように、外部デバイス30に対してアクセスさせることが可能となる。
<5.ハードウェア構成>
次に、図16を参照して、本開示の実施形態に係る外部デバイス30のハードウェア構成の一例について説明する。図16は、本開示の各実施形態に係る外部デバイス30のハードウェア構成の一例を示した図である。
図16に示すように、本実施形態に係る外部デバイス30は、プロセッサ901と、メモリ903と、ストレージ905と、通信デバイス911と、バス913とを含む。また、外部デバイス30は、操作デバイス907と、報知デバイス909とを含んでもよい。
プロセッサ901は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)又はSoC(System on Chip)であってよく、情報処理装置10の様々な処理を実行する。プロセッサ901は、例えば、各種演算処理を実行するための電子回路により構成することが可能である。なお、前述した通信制御部311、セッション情報生成部313、及び処理実行部317は、プロセッサ901により実現され得る。
メモリ903は、RAM(Random Access Memory)及びROM(Read Only Memory)を含み、プロセッサ901により実行されるプログラム及びデータを記憶する。ストレージ905は、半導体メモリ又はハードディスクなどの記憶媒体を含み得る。例えば、前述したセッション情報記憶部315は、メモリ903及びストレージ905の少なくともいずれか、もしくは、双方の組み合わせにより構成され得る
操作デバイス907は、ユーザが所望の操作を行うための入力信号を生成する機能を有する。操作デバイス907は、例えばボタン及びスイッチなどユーザが情報を入力するための入力部と、ユーザによる入力に基づいて入力信号を生成し、プロセッサ901に供給する入力制御回路などから構成されてよい。
報知デバイス909は、出力デバイスの一例であり、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)装置、有機EL(OLED:Organic Light Emitting Diode)ディスプレイなどのデバイスであってよい。この場合には、報知デバイス909は、画面を表示することにより、ユーザに対して所定の情報を報知することができる。
また、他の一例として、報知デバイス909は、LED(Light Emitting Diode)のように、点灯又は点滅のパターンにより、所定の情報をユーザに報知するデバイスであってもよい。また、報知デバイス909は、スピーカ等のように、所定の音響信号を出力することで、所定の情報をユーザに報知するデバイスであってもよい。
なお、前述した報知部35は、当該報知デバイス909により構成され得る。
通信デバイス911は、情報処理装置10が備える通信手段であり、ネットワークを介して外部装置と通信する。通信デバイス911は、有線または無線用の通信インタフェースである。通信デバイス911を、無線通信インタフェースとして構成する場合には、当該通信デバイス911は、通信アンテナ、RF(Radio Frequency)回路、ベースバンドプロセッサなどを含んでもよい。
通信デバイス911は、外部装置から受信した信号に各種の信号処理を行う機能を有し、受信したアナログ信号から生成したデジタル信号をプロセッサ901に供給することが可能である。前述した通信制御部311は、当該通信デバイス911により構成され得る。
バス913は、プロセッサ901、メモリ903、ストレージ905、操作デバイス907、報知デバイス909、及び通信デバイス911を相互に接続する。バス913は、複数の種類のバスを含んでもよい。
また、コンピュータに内蔵されるプロセッサ、メモリ、及びストレージなどのハードウェアを、上記した情報処理装置10が有する構成と同等の機能を発揮させるためのプログラムも作成可能である。また、当該プログラムを記録した、コンピュータに読み取り可能な記憶媒体も提供され得る。
<6.まとめ>
以上、説明したように、本開示の各実施形態に係る情報処理システムでは、情報処理装置10上で動作するアプリケーション11と外部デバイス30とは、互いに通信データの送受信を行う場合に、互いに共通のセッションID1及びID2を事前に保持する。そのうえで、当該アプリケーション11は、外部デバイス30に通信データを送信する際に、当該通信データに対して、事前に保持しているセッションID1及びID2のうち、セッションID1を関連付ける。また、外部デバイス30は、アプリケーション11に通信データを送信する際に、当該通信データに対して、事前に保持しているセッションID1及びID2のうち、セッションID2を関連付ける。
このような構成により、外部デバイス30は、受信した通信データに関連付けられたセッションID1に基づき、当該通信データの送信元が、自身が保持するセッションID1と同じセッションIDを保持するアプリケーション11か否かを認識できる。そのため、本開示の各実施形態に係る外部デバイス30は、自身が保持するセッションID1と同じセッションIDを保持するアプリケーション11から送信された通信データのみを、排他的に処理対象とすることが可能となる。
また、アプリケーション11は、受信した通信データに関連付けられたセッションID2に基づき、当該通信データの宛先が自身か否かを認識できる。
なお、アプリケーション11と外部デバイス30とは、前述の通り互いに異なるセッションID(即ちセッションID1及びID2)を関連付けて通信データを送信する。具体的な一例として外部デバイス30からアプリケーション11aに送信された通信データに関連付けられたセッションIDは、当該アプリケーション11aが外部デバイス30に通信データを送信する際に、当該通信データに関連付けるセッションIDとは異なる。そのため、アプリケーション11a宛てに送信された通信データを他のアプリケーション11zが受信したとしても、当該アプリケーション11zは、当該通信データに関連付けられたセッションIDに基づきアプリケーション11aになりすますことは困難である。
以上のような構成により、本開示の各実施形態に係る情報処理システムでは、1対1での通信を想定した規格に基づく通信環境下においても、外部デバイス30は、複数のアプリケーション11それぞれからのアクセスを排他的に制御することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
少なくとも一部に乱数化された情報を含む識別情報を外部装置から取得する取得部と、
外部装置から送信された通信データのうち、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする制御部と、
を備える、情報処理装置。
(2)
前記制御部は、前記識別情報の取得元である前記外部装置からの指示に基づき、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を終了する、前記(1)に記載の情報処理装置。
(3)
前記制御部は、当該識別情報に関連付けられた前記通信データに対して、前記排他制御の継続を示す制御情報が関連付けられている場合に、当該排他制御を継続する、前記(2)に記載の情報処理装置。
(4)
前記制御部は、取得された前記識別情報に関連付けられた前記通信データを前記外部装置から受信しない期間が、あらかじめ決められた期間以上となった場合に、当該識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を終了する、前記(1)に記載の情報処理装置。
(5)
前記制御部は、取得された前記識別情報に関連付けられた前記通信データに基づく処理の完了後に、当該識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を終了する、前記(1)に記載の情報処理装置。
(6)
前記制御部は、前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御の完了後に、当該識別情報を破棄する、前記(1)〜(5)のいずれか一項に記載の情報処理装置。
(7)
前記制御部は、前記識別情報の取得元である前記外部装置からの指示に基づき、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を開始する、前記(1)〜(6)のいずれか一項に記載の情報処理装置。
(8)
前記制御部は、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御中に、当該識別情報に関連付けられていない通信データが取得された場合に、当該通信データを破棄する、前記(1)〜(7)のいずれか一項に記載の情報処理装置。
(9)
前記制御部は、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御中に、当該識別情報とは異なる他の識別情報が取得された場合に、当該他の識別情報を破棄する、前記(1)〜(8)のいずれか一項に記載の情報処理装置。
(10)
前記取得部は、前記識別情報として前記外部装置から取得した第1の識別情報とは異なる第2の識別情報を取得し、
前記制御部は、前記第1の識別情報に関連付けられた前記通信データに基づく処理の結果を、前記第2の識別情報に関連付けて、当該外部装置に送信する、前記(1)〜(9)のいずれか一項に記載の情報処理装置。
(11)
前記第1の識別情報に基づき前記第2の識別情報を生成する生成部を備え、
前記取得部は、前記生成部により生成された当該第2の識別情報を取得する、前記(10)に記載の情報処理装置。
(12)
前記取得部は、前記第1の識別情報の取得元である前記外部装置から、前記第2の識別情報を取得する、前記(10)に記載の情報処理装置。
(13)
前記制御部は、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御中に、当該第1の識別情報とは異なる他の第1の識別情報に関連付けられていない通信データが取得された場合に、当該通信データを処理対象としないことを示す情報を、当該他の第1の識別情報に対応する前記第2の識別情報と関連付けて、当該通信データの送信元である前記外部装置に通知する、前記(10)〜(12)のいずれか一項に記載の情報処理装置。
(14)
前記取得部は、前記識別情報に関連付けられた認証情報を前記外部装置から取得し、
前記制御部は、当該認証情報に基づく認証に成功した場合に、当該識別情報が関連付けられた前記通信データの送信元を、前記認証が行われた送信元として認識する、前記(1)〜(13)のいずれか一項に記載の情報処理装置。
(15)
前記取得部は、前記識別情報に関連付けられた前記通信データを複数の部分データに分けて当該部分データごとに取得し、
前記制御部は、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を、少なくとも一連の前記部分データの取得が完了するまで継続する、前記(1)〜(14)のいずれか一項に記載の情報処理装置。
(16)
前記制御部は、一連の前記部分データの取得の完了を、当該部分データに関連付けられた、当該部分データを識別するための制御情報に基づき認識する、前記(15)に記載の情報処理装置。
(17)
前記取得部は、前記部分データに関連付けられた前記通信データを識別するための制御情報を取得し、
前記制御部は、取得された前記通信データを識別するための制御情報に基づき、前記部分データが、当該通信データを構成する部分データであることを認識する、前記(15)または(16)に記載の情報処理装置。
(18)
取得された前記識別情報に関連付けられた前記通信データに基づく処理結果を報知する報知部を備えた、前記(1)〜(17)のいずれか一項に記載の情報処理装置。
(19)
少なくとも一部に乱数化された情報を含む識別情報を生成する生成部と、
生成された前記識別情報を外部装置に通知し、通信データに対して当該識別情報を関連付けて、当該通信データを当該外部装置に送信する制御部と、
を備える、情報処理装置。
(20)
前記生成部は、前記識別情報として生成した第1の識別情報を基に、当該第1の識別情報とは異なる第2の識別情報を生成し、
前記制御部は、生成された前記第1の識別情報を前記外部装置に通知し、前記通信データに対して前記第1の識別情報を関連付けて、当該通信データを当該外部装置に送信し、前記外部装置から送信される応答のうち、前記第2の識別情報が関連付けられた前記応答のみを処理対象とする、前記(19)に記載の情報処理装置。
(21)
前記生成部は、前記識別情報として、互いに異なる第1の識別情報と第2の識別情報とを生成し、
前記制御部は、生成された前記第1の識別情報及び前記第2の識別情報を前記外部装置に通知し、前記通信データに対して前記第1の識別情報を関連付けて、当該通信データを当該外部装置に送信し、前記外部装置から送信される応答のうち、前記第2の識別情報が関連付けられた前記応答のみを処理対象とする、前記(19)に記載の情報処理装置。
(22)
少なくとも一部に乱数化された情報を含む識別情報を外部装置から取得することと、
プロセッサが、外部装置から送信された通信データのうち、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とすることと、
を含む、情報処理方法。
(23)
少なくとも一部に乱数化された情報を含む識別情報を生成することと、
プロセッサが、生成された前記識別情報を外部装置に通知し、通信データに対して当該識別情報を関連付けて、当該通信データを当該外部装置に送信することと、
を含む、情報処理方法。
(24)
コンピュータに、
少なくとも一部に乱数化された情報を含む識別情報を外部装置から取得することと、
外部装置から送信された通信データのうち、取得された前記識別情報に関連付けられた前記通信データのみを排他的に処理対象とすることと、
を実行させる、プログラム。
(25)
コンピュータに、
少なくとも一部に乱数化された情報を含む識別情報を生成することと、
生成された前記識別情報を外部装置に通知し、通信データに対して当該識別情報を関連付けて、当該通信データを当該外部装置に送信することと、
を実行させる、プログラム。
10 情報処理装置
11、11a〜11c アプリケーション
111 通信制御部
113 セッション情報生成部
115 セッション情報記憶部
117 処理実行部
30、30a 外部デバイス
31 通信部
311 通信制御部
313 セッション情報生成部
315 セッション情報記憶部
317 処理実行部
33 データ記憶部
35 報知部

Claims (24)

  1. 少なくとも一部に乱数化された情報を含む第1の識別情報を外部装置から取得する取得部と、
    外部装置から送信された通信データのうち、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする制御部と、
    を備え
    前記取得部は、前記第1の識別情報に基づき生成された当該第1の識別情報とは異なる第2の識別情報を取得し、
    前記制御部は、前記第1の識別情報に関連付けられた前記通信データに基づく処理の結果を、前記第2の識別情報に関連付けて、当該外部装置に送信する、
    情報処理装置。
  2. 前記制御部は、前記第1の識別情報の取得元である前記外部装置からの指示に基づき、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を終了する、請求項1に記載の情報処理装置。
  3. 前記制御部は、当該第1の識別情報に関連付けられた前記通信データに対して、前記排他制御の継続を示す制御情報が関連付けられている場合に、当該排他制御を継続する、請求項2に記載の情報処理装置。
  4. 前記制御部は、取得された前記第1の識別情報に関連付けられた前記通信データを前記外部装置から受信しない期間が、あらかじめ決められた期間以上となった場合に、当該第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を終了する、請求項1に記載の情報処理装置。
  5. 前記制御部は、取得された前記第1の識別情報に関連付けられた前記通信データに基づく処理の完了後に、当該第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を終了する、請求項1に記載の情報処理装置。
  6. 前記制御部は、前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御の完了後に、当該第1の識別情報を破棄する、請求項1〜5のいずれか一項に記載の情報処理装置。
  7. 前記制御部は、前記第1の識別情報の取得元である前記外部装置からの指示に基づき、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を開始する、請求項1〜6のいずれか一項に記載の情報処理装置。
  8. 前記制御部は、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御中に、当該第1の識別情報に関連付けられていない通信データが取得された場合に、当該通信データを破棄する、請求項1に記載の情報処理装置。
  9. 前記制御部は、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御中に、当該第1の識別情報とは異なる他の識別情報が取得された場合に、当該他の識別情報を破棄する、請求項1〜7のいずれか一項に記載の情報処理装置。
  10. 前記第1の識別情報に基づき前記第2の識別情報を生成する生成部を備え、
    前記取得部は、前記生成部により生成された当該第2の識別情報を取得する、請求項1〜9のいずれか一項に記載の情報処理装置。
  11. 前記取得部は、前記第1の識別情報の取得元である前記外部装置から、前記第2の識別情報を取得する、請求項1〜9のいずれか一項に記載の情報処理装置。
  12. 前記制御部は、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御中に、当該第1の識別情報とは異なる他の第1の識別情報に関連付けられた通信データが取得された場合に、当該通信データを処理対象としないことを示す情報を、当該他の第1の識別情報に対応する前記第2の識別情報と関連付けて、当該通信データの送信元である前記外部装置に通知する、請求項1〜9のいずれか一項に記載の情報処理装置。
  13. 前記取得部は、前記第1の識別情報に関連付けられた認証情報を前記外部装置から取得し、
    前記制御部は、当該認証情報に基づく認証に成功した場合に、当該第1の識別情報が関連付けられた前記通信データの送信元を、前記認証が行われた送信元として認識する、請求項1〜12のいずれか一項に記載の情報処理装置。
  14. 前記取得部は、前記第1の識別情報に関連付けられた前記通信データを複数の部分データに分けて当該部分データごとに取得し、
    前記制御部は、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とする排他制御を、少なくとも一連の前記部分データの取得が完了するまで継続する、請求項1〜13のいずれか一項に記載の情報処理装置。
  15. 前記制御部は、一連の前記部分データの取得の完了を、当該部分データに関連付けられた、当該部分データを識別するための制御情報に基づき認識する、請求項14に記載の情報処理装置。
  16. 前記取得部は、前記部分データに関連付けられた前記通信データを識別するための制御情報を取得し、
    前記制御部は、取得された前記通信データを識別するための制御情報に基づき、前記部分データが、当該通信データを構成する部分データであることを認識する、請求項14に記載の情報処理装置。
  17. 取得された前記第1の識別情報に関連付けられた前記通信データに基づく処理結果を報知する報知部を備えた、請求項1〜16のいずれか一項に記載の情報処理装置。
  18. 少なくとも一部に乱数化された情報を含む第1の識別情報を生成する生成部と、
    生成された前記第1の識別情報を外部装置に通知し、通信データに対して当該第1の識別情報を関連付けて、当該通信データを当該外部装置に送信する制御部と、
    を備え
    前記制御部は、生成された前記第1の識別情報を前記外部装置に通知し、前記通信データに対して前記第1の識別情報を関連付けて、当該通信データを当該外部装置に送信し、前記外部装置から送信される応答のうち、前記第1の識別情報に基づき生成された当該第1の識別情報とは異なる第2の識別情報が関連付けられた前記応答のみを処理対象とする、
    情報処理装置。
  19. 前記生成部は、前記第1の識別情報を基に、前記第2の識別情報を生成する、請求項18に記載の情報処理装置。
  20. 前記制御部は、生成された前記第1の識別情報及び前記第2の識別情報を前記外部装置に通知し、前記通信データに対して前記第1の識別情報を関連付けて、当該通信データを当該外部装置に送信し、前記外部装置から送信される応答のうち、前記第2の識別情報が関連付けられた前記応答のみを処理対象とする、請求項19に記載の情報処理装置。
  21. 少なくとも一部に乱数化された情報を含む第1の識別情報を外部装置から取得することと、
    プロセッサが、外部装置から送信された通信データのうち、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とすることと、
    を含み、
    前記第1の識別情報に基づき生成された当該第1の識別情報とは異なる第2の識別情報が取得され
    前記第1の識別情報に関連付けられた前記通信データに基づく処理の結果が、前記第2の識別情報に関連付けられて、当該外部装置に送信される、
    情報処理方法。
  22. 少なくとも一部に乱数化された情報を含む第1の識別情報を生成することと、
    プロセッサが、生成された前記第1の識別情報を外部装置に通知し、通信データに対して当該第1の識別情報を関連付けて、当該通信データを当該外部装置に送信することと、
    を含み、
    生成された前記第1の識別情報が前記外部装置に通知され、前記通信データに対して前記第1の識別情報が関連付けられて、当該通信データを当該外部装置に送信され、前記外部装置から送信される応答のうち、前記第1の識別情報に基づき生成された当該第1の識別情報とは異なる第2の識別情報が関連付けられた前記応答のみが処理対象とされる、
    情報処理方法。
  23. コンピュータに、
    少なくとも一部に乱数化された情報を含む第1の識別情報を外部装置から取得することと、
    外部装置から送信された通信データのうち、取得された前記第1の識別情報に関連付けられた前記通信データのみを排他的に処理対象とすることと、
    を実行させ
    前記第1の識別情報に基づき生成された当該第1の識別情報とは異なる第2の識別情報が取得され
    前記第1の識別情報に関連付けられた前記通信データに基づく処理の結果が、前記第2の識別情報に関連付けられて、当該外部装置に送信される、
    プログラム。
  24. コンピュータに、
    少なくとも一部に乱数化された情報を含む第1の識別情報を生成することと、
    生成された前記第1の識別情報を外部装置に通知し、通信データに対して当該第1の識別情報を関連付けて、当該通信データを当該外部装置に送信することと、
    を実行させ
    生成された前記第1の識別情報が前記外部装置に通知され、前記通信データに対して前記第1の識別情報が関連付けられて、当該通信データを当該外部装置に送信され、前記外部装置から送信される応答のうち、前記第1の識別情報に基づき生成された当該第1の識別情報とは異なる第2の識別情報が関連付けられた前記応答のみが処理対象とされる、
    プログラム。
JP2016511418A 2014-03-31 2015-01-28 情報処理装置、情報処理方法、及びプログラム Active JP6456923B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014071700 2014-03-31
JP2014071700 2014-03-31
PCT/JP2015/052406 WO2015151569A1 (ja) 2014-03-31 2015-01-28 情報処理装置、情報処理方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018236025A Division JP6732869B2 (ja) 2014-03-31 2018-12-18 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2015151569A1 JPWO2015151569A1 (ja) 2017-04-13
JP6456923B2 true JP6456923B2 (ja) 2019-01-23

Family

ID=54239912

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016511418A Active JP6456923B2 (ja) 2014-03-31 2015-01-28 情報処理装置、情報処理方法、及びプログラム
JP2018236025A Active JP6732869B2 (ja) 2014-03-31 2018-12-18 情報処理装置、情報処理方法、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018236025A Active JP6732869B2 (ja) 2014-03-31 2018-12-18 情報処理装置、情報処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US20160373927A1 (ja)
EP (1) EP3128434B1 (ja)
JP (2) JP6456923B2 (ja)
CN (1) CN106164878B (ja)
WO (1) WO2015151569A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023075593A1 (en) * 2021-11-01 2023-05-04 Contactless Technologies B.V. System and method for identifying a customer

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10290223A (ja) * 1997-04-17 1998-10-27 Matsushita Electric Ind Co Ltd データ送受信装置
JP2003283489A (ja) * 2002-03-20 2003-10-03 Hitachi Ltd パケット認証システムおよび認証方法、ならびにグループ管理サーバとグループメンバー装置
US20060143453A1 (en) * 2002-06-19 2006-06-29 Secured Communications, Inc Inter-authentication method and device
JP3764435B2 (ja) * 2003-03-26 2006-04-05 株式会社東芝 情報処理装置およびプログラム
US7418472B2 (en) * 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
JP4339184B2 (ja) * 2004-06-07 2009-10-07 パナソニック株式会社 サーバ装置、通信機器、通信システム、通信方法、プログラム及び記録媒体
JP2008084120A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd 電子制御装置
US8225093B2 (en) * 2006-12-05 2012-07-17 Qualcomm Incorporated Providing secure inter-application communication for a mobile operating environment
US20100214976A1 (en) * 2008-02-06 2010-08-26 Medio Systems, Inc. Operator cloud for mobile internet services
WO2013024587A1 (ja) * 2011-08-18 2013-02-21 三洋電機株式会社 通信装置
US9003496B2 (en) * 2012-09-07 2015-04-07 Nxp B.V. Secure wireless communication apparatus

Also Published As

Publication number Publication date
EP3128434B1 (en) 2022-01-05
US20160373927A1 (en) 2016-12-22
JPWO2015151569A1 (ja) 2017-04-13
EP3128434A4 (en) 2017-10-25
CN106164878A (zh) 2016-11-23
JP6732869B2 (ja) 2020-07-29
WO2015151569A1 (ja) 2015-10-08
JP2019071083A (ja) 2019-05-09
CN106164878B (zh) 2020-02-14
EP3128434A1 (en) 2017-02-08

Similar Documents

Publication Publication Date Title
JP6858826B2 (ja) お知らせを提供する方法及びその電子装置
US10387856B2 (en) Online payment method, system, and apparatus
US10064025B2 (en) Offline peer-assisted notification delivery
EP2940579A1 (en) Electronic device and method for converting source code into machine code
KR102465249B1 (ko) 생체 정보를 이용하여 인증을 수행하기 위한 전자 장치 및 그의 동작 방법
US10582554B2 (en) Connection processing method, communication system, and communication device
US20160366715A1 (en) Information transmission device, information transmission method, non-transitory computer readable recording medium and portable terminal
KR20160041147A (ko) 제어 방법 및 그 방법을 처리하는 전자장치
JP2013197788A (ja) イベント報知装置、及び、イベント報知システム
US10135816B2 (en) Electronic device and method of transceiving data
JP2017204102A (ja) 端末装置の制御方法、端末装置およびプログラム
US9584958B2 (en) Mobile device, method for facilitating a transaction, computer program, article of manufacture
JP6732869B2 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2015184754A1 (zh) 一种移动终端及移动终端间实现名片交换的方法
CN105764040B (zh) 用于控制通信的方法及其电子设备
US20210266312A1 (en) System and method for mobile cross-authentication
CN111400743B (zh) 基于区块链网络的事务处理方法、装置、电子设备和介质
JP2015176317A5 (ja)
KR101776640B1 (ko) 다른 전자 장치의 식별 정보를 표시하는 전자 장치 및 방법
CN108605288A (zh) 电子设备及其操作方法
CN109831770B (zh) 移动终端的配对方法、装置、存储介质及移动终端
JP2020198118A (ja) 端末装置の制御方法、端末装置およびプログラム
KR20190139175A (ko) 알림을 제공하는 방법 및 그 전자 장치
CN105744510B (zh) 一种业务标识显示方法及装置
JP2020035046A (ja) チェック支援装置、チェック支援方法およびチェック支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181219

R150 Certificate of patent or registration of utility model

Ref document number: 6456923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190208