JPWO2019026442A1 - 情報処理装置、および情報処理方法 - Google Patents
情報処理装置、および情報処理方法 Download PDFInfo
- Publication number
- JPWO2019026442A1 JPWO2019026442A1 JP2019533948A JP2019533948A JPWO2019026442A1 JP WO2019026442 A1 JPWO2019026442 A1 JP WO2019026442A1 JP 2019533948 A JP2019533948 A JP 2019533948A JP 2019533948 A JP2019533948 A JP 2019533948A JP WO2019026442 A1 JPWO2019026442 A1 JP WO2019026442A1
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- interrupt
- detection
- server
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
Abstract
外部装置との間で一連の処理を行う処理部と、一連の処理が開始された後における一連の処理以外の処理の割り込みを検出する検出部とを備え、処理部は、割り込みの検出状態に基づいて、割り込みが検出された後に行われる処理の内容を変更する、情報処理装置が、提供される。【選択図】図8
Description
本開示は、情報処理装置、および情報処理方法に関する。
所定の条件が整ってから電子バリューのチャージが完了するまでの時間の短縮を図る技術が開発されている。上記技術としては、例えば下記の特許文献1に記載の技術が挙げられる。
一の装置と他の装置とが通信を行うことによって情報(データ)の更新などが行われる場合、一の装置と他の装置との間では、通信を伴う複数の処理が一連の処理として行われうる。一の装置と他の装置との間で一連の処理が行われる場合、一連の処理に含まれる一の処理と他の処理との間に、一連の処理以外の処理が割り込む可能性がある。
上記のような一連の処理以外の処理の割り込みを防止する方法としては、例えば“一連の処理を行う装置が、一連の処理が行われているときにセッションを維持すること”が挙げられる。
ここで、一の装置と他の装置との間で一連の処理が行われる場合、一の装置と他の装置との間の通信には、通信の中継を行う中継コンポーネントが介在しうる。上記中継コンポーネントとしては、例えば、“中継サーバなどの一の装置および他の装置以外の装置”と、“アプリケーションやドライバなどの一の装置および他の装置それぞれで実行されるソフトウェア”との、一方または双方が挙げられる。上記アプリケーションとしては、例えば、電子マネーや交通乗車券として使えるモバイルFeliCaなどのファームウェアや、Global Platformに準拠したJava Card OS上のJava Appletなどが、挙げられる。
一の装置と他の装置との間の通信に中継コンポーネントが介在するときに、セッションにより一連の処理以外の処理の割り込みを防止するためには、中継コンポーネントもまたセッションを維持する必要がある。また、中継コンポーネントがセッションを維持する必要がある場合には、中継コンポーネントがセッションを維持しない場合と比較して、例えば下記に示すようなデメリットがある。
・中継サーバ(中継コンポーネントの一例)は、セッション継続区間においてセッションを維持するためのステートを維持する必要があるため、中継サーバが一度に処理を行うことが可能なクライアント数が少なくなる。
・中継サーバが一度に処理を行うことが可能なクライアント数が少なくなるので、当該クライアント数を増やすためには、中継サーバの数を増やす必要がある
・アプリケーションやドライバなどのソフトウェア(中継コンポーネントの他の例)の実装が複雑となる
・中継サーバ(中継コンポーネントの一例)は、セッション継続区間においてセッションを維持するためのステートを維持する必要があるため、中継サーバが一度に処理を行うことが可能なクライアント数が少なくなる。
・中継サーバが一度に処理を行うことが可能なクライアント数が少なくなるので、当該クライアント数を増やすためには、中継サーバの数を増やす必要がある
・アプリケーションやドライバなどのソフトウェア(中継コンポーネントの他の例)の実装が複雑となる
本開示では、セッションを維持せずに装置間における一連の処理を行うことが可能な、新規かつ改良された情報処理装置、および情報処理方法を提案する。
本開示によれば、外部装置との間で一連の処理を行う処理部と、上記一連の処理が開始された後における上記一連の処理以外の処理の割り込みを検出する検出部と、を備え、上記処理部は、上記割り込みの検出状態に基づいて、上記割り込みが検出された後に行われる処理の内容を変更する、情報処理装置が、提供される。
また、本開示によれば、外部装置との間で一連の処理を行う処理部を備え、上記処理部は、上記一連の処理が開始された後における上記一連の処理以外の処理の割り込みの検出を開始させる開始命令を、上記外部装置に対して送信させる、情報処理装置が、提供される。
また、本開示によれば、外部装置との間で一連の処理を行うステップと、開始された上記一連の処理に対する上記一連の処理以外の処理の割り込みを検出するステップと、を有し、上記一連の処理を行うステップでは、上記割り込みの検出状態に基づいて、上記割り込みが検出された後に行われる処理の内容が変更される、情報処理装置により実行される情報処理方法が、提供される。
本開示によれば、セッションを維持せずに装置間における一連の処理を行うことができる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握されうる他の効果が奏されてもよい。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下では、下記に示す順序で説明を行う。
1.本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法
2.本実施形態に係るプログラム
1.本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法
2.本実施形態に係るプログラム
(本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法)
以下、本実施形態に係る情報処理システムの一例を説明した後に、本実施形態に係る情報処理システムに適用される場合を例に挙げて、本実施形態に係る情報処理方法について、説明する。
以下、本実施形態に係る情報処理システムの一例を説明した後に、本実施形態に係る情報処理システムに適用される場合を例に挙げて、本実施形態に係る情報処理方法について、説明する。
[1]本実施形態に係る情報処理システム
図1は、本実施形態に係る情報処理システム1000の構成の一例を示す説明図である。情報処理システム1000は、例えば、情報処理装置100(第1の情報処理装置)と、サーバ200(第2の情報処理装置)とを有する。
図1は、本実施形態に係る情報処理システム1000の構成の一例を示す説明図である。情報処理システム1000は、例えば、情報処理装置100(第1の情報処理装置)と、サーバ200(第2の情報処理装置)とを有する。
情報処理装置100とサーバ200とは、例えば、ネットワーク300を介して(または直接的に)通信を行う。
ネットワーク300としては、例えば、LAN(Local Area Network)やWAN(Wide Area Network)などの有線ネットワーク、無線LAN(WLAN:Wireless Local Area Network)などの無線ネットワーク、あるいは、TCP/IP(Transmission Control Protocol/Internet Protocol)などの通信プロトコルを用いたインターネットなどが挙げられる。
また、情報処理装置100とサーバ200とがネットワーク300を介して通信を行う場合、情報処理装置100とサーバ200との通信には、通信の中継を行う中継サーバ(中継コンポーネントの一例。図示せず)が介在していてもよい。
また、図1では、情報処理装置100との間で非接触通信を行うことが可能な、リーダ/ライタ400を併せて示している。情報処理装置100およびサーバ200が通信を行い一連の処理を行う場合、リーダ/ライタ400は、情報処理装置100およびサーバ200からみた外部装置の一例に該当する。
本実施形態に係る非接触通信としては、例えばISO/IEC18092にて規定されているNFC(Near Field Communication)が挙げられる。NFCでは、例えば13.56[MHz]など所定の周波数の磁界(搬送波)を用いて通信が行われる。
なお、本実施形態に係る情報処理システムは、図1に示す例に限られない。
例えば、本実施形態に係る情報処理システムでは、情報処理装置100とサーバ200とは、リーダ/ライタ400を介して通信を行うことが可能であってもよい。
また、例えば、本実施形態に係る情報処理システムは、図1に示すリーダ/ライタ400を有さない構成をとることも可能である。
また、例えば、本実施形態に係る情報処理システムは、情報処理装置100と任意の通信方式の通信を行うことが可能な装置を、有していてもよい。上記情報処理装置100と任意の通信方式の通信を行うことが可能な装置は、情報処理装置100およびサーバ200からみた外部装置の他の例に該当する。
また、本実施形態に係る情報処理システムは、情報処理装置100を複数有していてもよい。本実施形態に係る情報処理システムが複数の情報処理装置100を有する場合、サーバ200は、例えば複数の情報処理装置100それぞれと個別に(独立に)通信を行う。
以下、図1に示す情報処理システム1000を構成する情報処理装置100およびサーバ200を例に挙げて、情報処理装置100(第1の情報処理装置)およびサーバ200(第2の情報処理装置)それぞれの構成の一例を、説明する。
[1−1]情報処理装置100(第1の情報処理装置)
図2は、本実施形態に係る情報処理装置100(第1の情報処理装置)の構成の一例を示すブロック図である。情報処理装置100は、例えば、第1通信部102と、第2通信部104と、制御部106とを備える。
図2は、本実施形態に係る情報処理装置100(第1の情報処理装置)の構成の一例を示すブロック図である。情報処理装置100は、例えば、第1通信部102と、第2通信部104と、制御部106とを備える。
また、情報処理装置100は、例えば、ROM(Read Only Memory。図示せず)や、RAM(Random Access Memory。図示せず)、記憶部(図示せず)、情報処理装置100の使用者が操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。情報処理装置100は、例えば、データの伝送路としてのバスにより上記各構成要素間を接続する。
ROM(図示せず)は、制御部106が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部106により実行されるプログラムなどを一時的に記憶する。
記憶部(図示せず)は、情報処理装置100が備える記憶手段であり、例えば、割り込み検出情報(後述する)などの情報処理装置100に適用される情報処理方法に係るデータや、各種アプリケーションなどの、様々なデータを記憶する。ここで、記憶部(図示せず)としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリなどが挙げられる。また、記憶部(図示せず)は、情報処理装置100から着脱可能であってもよい。
操作部(図示せず)としては、例えば、ボタンや、方向キー、ジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。また、表示部(図示せず)としては、例えば、液晶ディスプレイや有機ELディスプレイ(OLEDディスプレイ(Organic Light Emitting Diode Display)ともよばれる。)などが挙げられる。
[情報処理装置100のハードウェア構成例]
情報処理装置100は、例えば図1に示すように、UICC(Universal Integrated Circuit Card)と、CLF(Contactless Front End)と、アンテナと、DH(Device Host)とを有する。情報処理装置100は、例えば、情報処理装置100が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
情報処理装置100は、例えば図1に示すように、UICC(Universal Integrated Circuit Card)と、CLF(Contactless Front End)と、アンテナと、DH(Device Host)とを有する。情報処理装置100は、例えば、情報処理装置100が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
図1では、UICCとCLFとが、例えば、HCI(Host controller interface)およびSWP(Single Wire Protocol)という通信インタフェースを介して通信を行い、UICCとDHとは、例えばISO7816規格に基づく通信インタフェースを介して通信を行う例を示している。つまり、図1では、UICCが、異なる2つの通信路によって、CLF、DHそれぞれと通信を行う例を示している。
また、図1では、CLFとDHとが、HCI、または、NCI(NFC Controller Interface)を介して通信を行う例を示している。
なお、UICC、CLF、およびDHそれぞれの間の通信インタフェースは、上記に示す例に限られない。例えば、UICCとCLFとは、図1に示すSWPの代わりにDWP(Dual Wire Protocol)という通信インタフェースを介して通信を行ってもよい。例えば、DHとUICCとは、DH−CLF−UICCというように、他の構成要素を介して間接的に接触通信を行うことが可能である。
UICCは、例えば、情報処理装置100における本実施形態に係る情報処理方法に係る処理を主導的に行う役目を果たす。情報処理装置100における情報処理方法に係る処理については、後述する。
UICCは、例えば、MPU(Micro Processing Unit)などの演算回路で構成される、1または2以上のプロセッサを備え、当該プロセッサによって、後述する情報処理装置100における情報処理方法に係る処理が主導的に行われる。
また、UICCは、例えば、電子バリュー(貨幣または貨幣に準じた価値を有するデータ)や、アプリケーションなどの、様々なデータを記憶することが可能な記録媒体を備えていてもよい。UICCが備える記録媒体は、例えば耐タンパ性を有する。つまり、UICCは、セキュアエレメントであってもよい。
例えばUICCが備える記録媒体に記憶されている情報は、情報処理装置100とサーバ200との通信によって更新されうる。
UICCは、例えば、DHを介した通信によりサーバ200と通信を行う。なお、上述したように、本実施形態に係る情報処理システムでは、UICCは、例えば、CLF、アンテナを介した非接触通信によりリーダ/ライタ400と通信を行い、リーダ/ライタ400を介してサーバ200と通信を行ってもよい。また、UICCとサーバ200とは、例えば、UICCと接触通信を行う接触リーダ/ライタ(図示せず)を介して、通信を行うことも可能である。
なお、後述する情報処理装置100における情報処理方法に係る処理を主導的に行う役目を果たすことが可能な構成要素は、UICCに限られない。例えば、後述する情報処理装置100における情報処理方法に係る処理を主導的に行う役目を果たすことが可能な構成要素は、“SIM(Subscriber Identity Module)”や、“eUICC”(図1に示すUICCが、着脱可能ではない場合)、“eSE”(図1に示すUICCが、着脱可能ではなく、かつ、一般的な公衆無線回線との接続に必要な情報を記憶していない場合)などであってもよい。また、後述する情報処理装置100における情報処理方法に係る処理を主導的に行う役目を果たすことが可能な構成要素は、DHが備えるプロセッサ(後述する)であってもよい。
CLFは、外部装置と非接触通信を行うことが可能な非接触通信デバイスに該当し、非接触通信のためのアンテナと接続される。なお、アンテナは、CLFが備えていてもよい。
CLFは、例えば、接続されているアンテナにより搬送波を受信して信号を復調し、負荷変調を行うことによって当該アンテナを介して外部装置に対する応答を行う。
DHは、例えば、MPUなどの演算回路で構成される、1または2以上のプロセッサを備える。DHが備えるプロセッサは、ミドルウェアやアプリケーションを実行して、様々な処理を行う。上述したように、DHが備えるプロセッサは、後述する情報処理装置100における情報処理方法に係る処理を主導的に行ってもよい。DHが備えるプロセッサは、UICCからみると外部のプロセッサに該当する。
また、DHは、例えば通信デバイスを備え、当該通信デバイスによって、サーバ200などの外部装置と通信を行う。なお、DHは、接続される外部の通信デバイスによって、サーバ200などの外部装置と通信を行うことも可能である。
DHが備える通信デバイス、または、DHに接続される通信デバイスとしては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11ポートおよび送受信回路(無線通信)、あるいはLAN端子および送受信回路(有線通信)などが挙げられる。また、DHが備える通信デバイス、または、DHに接続される通信デバイスは、ネットワーク300に対応する通信方式に対応する構成をとりうる。
情報処理装置100は、例えば図1に示すハードウェア構成を有する。
なお、本実施形態に係る情報処理装置のハードウェア構成は、図1に示す構成に限られない。
例えば、図1に示すUICCとCLFとは、1つのハードウェアで構成されていてもよい。また、例えば、UICCがCLFと同様の機能を有する外部の非接触デバイスと接続される場合には、本実施形態に係る情報処理装置は、図1に示すCLFを備えていなくてもよい。
また、図1では、NFCによりサーバ200以外の外部装置と通信することが可能な構成を示したが、本実施形態に係る情報処理装置は、NFC以外の任意の通信方式によって、サーバ200以外の外部装置と通信することが可能な構成であってもよい。
また、本実施形態に係る情報処理装置は、例えば、後述する情報処理装置100(第1の情報処理装置)の適用例に応じた構成をとることが可能である。
また、本実施形態に係る情報処理装置は、例えば後述するサーバ200と同様のハードウェア構成(変形例も含む)をとってもよい。本実施形態に係る情報処理装置が、例えば後述するサーバ200と同様のハードウェア構成(変形例も含む)をとる場合、例えば本実施形態に係る情報処理装置を構成するプロセッサ(例えば後述するMPU250)によって、後述する情報処理装置100における情報処理方法に係る処理が、主導的に行われる。
以下では、本実施形態に係る情報処理装置が図1に示すハードウェア構成を有する情報処理装置100である場合を例に挙げる。
再度図2を参照して、情報処理装置100の構成の一例について説明する。第1通信部102は、情報処理装置100が備える一の通信手段であり、ネットワーク300を介して(あるいは、直接的に)、サーバ200、中継サーバ(図示せず)などの外部装置と、無線または有線で通信を行う。また、第1通信部102は、例えば制御部106により通信が制御される。
ここで、第1通信部102としては、例えば、通信アンテナおよびRF回路や、LAN端子および送受信回路などが挙げられるが、第1通信部102の構成は、上記に限られない。例えば、第1通信部102は、USB(Universal Serial Bus)端子および送受信回路などの通信を行うことが可能な任意の規格に対応する構成や、ネットワーク300を介して外部装置と通信可能な任意の構成をとることができる。また、第1通信部102は、複数の通信方式によって、1または2以上の外部装置などと通信を行うことが可能な構成であってもよい。
第2通信部104は、情報処理装置100が備える他の通信手段である。第2通信部104は、例えば制御部106により通信が制御される。
第2通信部104としては、例えば、図1に示すCLFおよびUICCが挙げられるが、第2通信部104の構成は、上記に限られない。例えば、第2通信部104は、第1通信部102と異なる通信方式に対応する任意の構成であってもよい。
制御部106は、情報処理装置100全体を制御する役目を果たす。また、制御部106は、例えば、処理部110と検出部112とを有し、後述する情報処理装置100における情報処理方法に係る処理を主導的に行う役目を果たす。
制御部106としては、例えばUICCが備えるプロセッサとDHが備えるプロセッサとの一方または双方などの、1または2以上のプロセッサが、挙げられる。
処理部110は、例えば本実施形態に係る情報処理方法に係る実行処理(後述する)を行う役目を果たし、サーバ200などの外部装置との間で一連の処理を行う。本実施形態に係る一連の処理に含まれる処理としては、例えば、相互認証に係る処理、情報の読み出しに係る処理、情報の書き込み(または更新)に係る処理などの、装置間で行われる任意の処理が挙げられる。なお、本実施形態に係る一連の処理には、装置単体で行われる処理が含まれていてもよい。
検出部112は、例えば本実施形態に係る情報処理方法に係る検出処理(後述する)を行う役目を果たし、“開始された一連の処理に対する一連の処理以外の処理”の割り込みを検出する。
制御部106は、例えば処理部110および検出部112を有することによって、情報処理装置100における情報処理方法に係る処理を主導的に行う役目を果たす。情報処理装置100における情報処理方法に係る処理の一例については、後述する。
なお、本実施形態に係る情報処理装置(第1の情報処理装置)の構成は、図2に示す構成に限られない。
例えば、本実施形態に係る情報処理装置は、図2に示す処理部110および検出部112の一方または双方を、制御部106とは個別に備えること(例えば、別の処理回路で実現すること)ができる。
また、本実施形態に係る情報処理装置の構成は、図2に示す構成に限られず、後述する情報処理装置100における情報処理方法に係る処理の切り分け方に応じた構成をとることが可能である。
また、例えば、第1通信部102と同様の機能、構成を有する外部の通信デバイスを介して外部装置と通信を行う場合には、本実施形態に係る情報処理装置は、第1通信部102を備えていなくてもよい。
また、本実施形態に係る情報処理装置は、例えば第2通信部104を備えていなくてもよい。
[1−2]サーバ200(第2の情報処理装置)
図3は、本実施形態に係るサーバ200(第2の情報処理装置)の構成の一例を示すブロック図である。サーバ200は、例えば、通信部202と、制御部204とを備える。
図3は、本実施形態に係るサーバ200(第2の情報処理装置)の構成の一例を示すブロック図である。サーバ200は、例えば、通信部202と、制御部204とを備える。
また、サーバ200は、例えば、ROM(図示せず)や、RAM(図示せず)、記憶部(図示せず)、サーバ200の使用者が操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。サーバ200は、例えば、データの伝送路としてのバスにより上記各構成要素間を接続する。
ROM(図示せず)は、制御部204が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部204により実行されるプログラムなどを一時的に記憶する。
記憶部(図示せず)は、サーバ200が備える記憶手段であり、例えば、サーバ200に適用される情報処理方法に係るデータや各種アプリケーションなどの、様々なデータを記憶する。ここで、記憶部(図示せず)としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリなどが挙げられる。また、記憶部(図示せず)は、サーバ200から着脱可能であってもよい。
操作部(図示せず)としては、後述するサーバ200のハードウェア構成例において示す操作入力デバイスが挙げられる。また、表示部(図示せず)としては、後述するサーバ200のハードウェア構成例において示す表示デバイスが挙げられる。
[サーバ200のハードウェア構成例]
図4は、本実施形態に係るサーバ200(第2の情報処理装置)のハードウェア構成の一例を示す説明図である。サーバ200は、例えば、MPU250と、ROM252と、RAM254と、記録媒体256と、入出力インタフェース258と、操作入力デバイス260と、表示デバイス262と、通信インタフェース264とを備える。また、サーバ200は、例えば、データの伝送路としてのバス266で各構成要素間を接続する。また、サーバ200は、例えば、サーバ200が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
図4は、本実施形態に係るサーバ200(第2の情報処理装置)のハードウェア構成の一例を示す説明図である。サーバ200は、例えば、MPU250と、ROM252と、RAM254と、記録媒体256と、入出力インタフェース258と、操作入力デバイス260と、表示デバイス262と、通信インタフェース264とを備える。また、サーバ200は、例えば、データの伝送路としてのバス266で各構成要素間を接続する。また、サーバ200は、例えば、サーバ200が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
MPU250は、例えば、MPUなどの演算回路で構成される、1または2以上のプロセッサや、各種処理回路などで構成され、サーバ200全体を制御する制御部204として機能する。また、MPU250は、サーバ200において、例えば、後述する処理部210の役目を果たす。なお、処理部210は、専用の(または汎用の)回路(例えば、MPU250とは別体のプロセッサなど)で構成されていてもよい。
ROM252は、MPU250が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。RAM254は、例えば、MPU250により実行されるプログラムなどを一時的に記憶する。
記録媒体256は、記憶部(図示せず)として機能し、例えば、サーバ200に適用される情報処理方法に係るデータや各種アプリケーションなどの、様々なデータを記憶する。ここで、記録媒体256としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体256は、サーバ200から着脱可能であってもよい。
入出力インタフェース258は、例えば、操作入力デバイス260や、表示デバイス262を接続する。操作入力デバイス260は、操作部(図示せず)として機能し、また、表示デバイス262は、表示部(図示せず)として機能する。ここで、入出力インタフェース258としては、例えば、USB端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)(登録商標)端子、各種処理回路などが挙げられる。
また、操作入力デバイス260は、例えば、サーバ200上に備えられ、サーバ200の内部で入出力インタフェース258と接続される。操作入力デバイス260としては、例えば、ボタンや、方向キー、ジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。
また、表示デバイス262は、例えば、サーバ200上に備えられ、サーバ200の内部で入出力インタフェース258と接続される。表示デバイス262としては、例えば、液晶ディスプレイや有機ELディスプレイなどが挙げられる。
なお、入出力インタフェース258が、サーバ200の外部の操作入力デバイス(例えば、キーボードやマウスなど)や外部の表示デバイスなどの、外部デバイスと接続することも可能であることは、言うまでもない。また、表示デバイス262は、例えばタッチパネルなど、表示とユーザ操作とが可能なデバイスであってもよい。
通信インタフェース264は、サーバ200が備える通信手段であり、ネットワーク300を介して(あるいは、直接的に)、情報処理装置100などの外部装置との間で、無線または有線で通信を行うための通信部202として機能する。ここで、通信インタフェース264としては、例えば、通信アンテナおよびRF回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11ポートおよび送受信回路(無線通信)、あるいはLAN端子および送受信回路(有線通信)などが挙げられる。また、通信インタフェース264は、ネットワーク300に対応する任意の構成であってもよい。
サーバ200は、例えば図4に示す構成によって、後述するサーバ200における本実施形態に係る情報処理方法に係る処理を行う。なお、本実施形態に係るサーバ200のハードウェア構成は、図4に示す構成に限られない。
例えば、サーバ200は、接続されている外部の通信デバイスを介して外部装置と通信を行う場合には、通信インタフェース264を備えていなくてもよい。また、通信インタフェース264は、複数の通信方式によって、1または2以上の外部装置などと通信を行うことが可能な構成であってもよい。
また、サーバ200は、例えば、記録媒体256、操作入力デバイス260、および表示デバイス262の一部または全部を備えない構成をとることが可能である。
また、サーバ200は、例えば、後述するサーバ200(第2の情報処理装置)の適用例に応じた構成をとることが可能である。
また、例えば、図4に示す構成(または変形例に係る構成)の一部または全部は、1、または2以上のIC(Integrated Circuit)で実現されてもよい。
再度図3を参照して、サーバ200の構成の一例について説明する。通信部202は、サーバ200が備える通信手段であり、ネットワーク300を介して(あるいは、直接的に)、情報処理装置100などの外部装置と、無線または有線で通信を行う。また、通信部202は、例えば制御部204により通信が制御される。
ここで、通信部202としては、例えば、通信アンテナおよびRF回路や、LAN端子および送受信回路などが挙げられるが、通信部202の構成は、上記に限られない。例えば、通信部202は、USB端子および送受信回路などの通信を行うことが可能な任意の規格に対応する構成や、ネットワーク300を介して外部装置と通信可能な任意の構成をとることができる。また、通信部202は、複数の通信方式によって、1または2以上の外部装置などと通信を行うことが可能な構成であってもよい。
制御部204は、例えばMPUなどで構成され、サーバ200全体を制御する役目を果たす。また、制御部204は、例えば、処理部210を有し、後述するサーバ200における情報処理方法に係る処理を主導的に行う役目を果たす。
処理部210は、サーバ200における情報処理方法に係る処理を主導的に行う役目を果たす。サーバ200における情報処理方法に係る処理の一例については、後述する。
なお、本実施形態に係るサーバ(第2の情報処理装置)の構成は、図3に示す構成に限られない。
例えば、本実施形態に係るサーバは、図3に示す処理部210を、制御部204とは個別に備える(例えば、別の処理回路で実現する)ことができる。
また、本実施形態に係るサーバの構成は、図3に示す構成に限られず、後述するサーバ200における情報処理方法に係る処理の切り分け方に応じた構成をとることが可能である。
また、例えば、通信部202と同様の機能、構成を有する外部の通信デバイスを介して外部装置と通信を行う場合には、本実施形態に係る情報処理装置は、通信部202を備えていなくてもよい。
[1−3]本実施形態に係る情報処理システムを構成する各装置の適用例
以上、本実施形態に係る情報処理システムの構成要素として、情報処理装置100(第1の情報処理装置)を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、“スマートホンなどの通信装置”や、“PC(Personal Computer)などのコンピュータ”、“タブレット型の装置”、“ゲーム機”などの、後述する情報処理装置100における情報処理方法に係る処理を行うことが可能な、様々な機器に適用することができる。また、本実施形態は、例えば、上記のような機器に組み込むことが可能なICに適用することもできる。
以上、本実施形態に係る情報処理システムの構成要素として、情報処理装置100(第1の情報処理装置)を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、“スマートホンなどの通信装置”や、“PC(Personal Computer)などのコンピュータ”、“タブレット型の装置”、“ゲーム機”などの、後述する情報処理装置100における情報処理方法に係る処理を行うことが可能な、様々な機器に適用することができる。また、本実施形態は、例えば、上記のような機器に組み込むことが可能なICに適用することもできる。
また、本実施形態に係る情報処理システムの構成要素として、サーバ200(第2の情報処理装置)を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、“PCやサーバなどのコンピュータ”や、“タブレット型の装置”、“スマートホンなどの通信装置”などの、後述するサーバ200における情報処理方法に係る処理を行うことが可能な、様々な機器に適用することができる。また、本実施形態は、例えば、上記のような機器に組み込むことが可能な、ICに適用することもできる。
また、本実施形態に係るサーバ200は、例えばクラウドコンピューティングなどのように、ネットワーク300への接続(または各装置間の通信)を前提とした処理システムに適用されてもよい。上記処理システムの一例としては、例えば“処理システムを構成する一の装置によって、後述するサーバ200における情報処理方法に係る処理の一部の処理が行われ、処理システムを構成する他の装置によって、当該本実施形態に係る情報処理方法に係る処理の当該一部の処理以外の処理が行われるシステム”などが、挙げられる。
[2]本実施形態に係る情報処理方法
次に、上述した情報処理システム1000における、情報処理装置100とサーバ200との通信を例に挙げて、本実施形態に係る情報処理方法に係る処理について、説明する。
次に、上述した情報処理システム1000における、情報処理装置100とサーバ200との通信を例に挙げて、本実施形態に係る情報処理方法に係る処理について、説明する。
[2−1]一連の処理以外の処理の割り込みを防止する方法について
上述したように、一連の処理以外の処理の割り込みを防止する方法としては、例えば“一連の処理を行う各装置が、一連の処理が行われているときにセッションを維持すること”が挙げられる。
上述したように、一連の処理以外の処理の割り込みを防止する方法としては、例えば“一連の処理を行う各装置が、一連の処理が行われているときにセッションを維持すること”が挙げられる。
図5は、セッションが維持されることにより一連の処理以外の処理の割り込みが防止されるユースケースの一例を示す説明図である。図5では、図1に示す情報処理システム1000と同様の構成を有する情報処理システムを構成する、情報処理装置10(例えば情報処理装置10が備えるUICC)とサーバ20との間の通信の一例を示している。また、図5では、処理1および処理2が一連の処理に該当する。
サーバ20は、処理1を実行させる処理1命令を送信する(S10)。
ステップS10においてサーバ20から送信された処理1命令を受信した情報処理装置10は、サーバ20との間でセッションを維持する。セッションが維持されることによって、図5のAに示すように、情報処理装置10では、一連の処理以外の処理の割り込みが発生した場合、割り込みに応じた処理(以下、「割り込み処理」と示す。)は、エラーとなる。つまり、セッションが維持されることによって、割り込み処理が一連の処理に影響を与えることが、防止される。
また、情報処理装置10は、受信された処理1命令に対応する処理1を行い(S12)、処理1命令に対する応答を行う(S14)。ステップS14において情報処理装置10が送信する応答としては、例えば、処理1が正常に完了したことを示す正常応答と、処理1が正常に完了しなかったことを示すエラー応答とが挙げられる。本実施形態に係る命令に応じた処理が正常に完了したことを示す正常応答は、当該処理の処理結果(例えば、読み出し命令に応じて読み出されたデータなど)であってもよい。
ステップS14において情報処理装置10から送信された応答を受信したサーバ20は、受信された応答が正常応答である場合に処理2を実行させる処理2命令を送信する(S16)。
ステップS16においてサーバ20から送信された処理2命令を受信した情報処理装置10は、受信された処理2命令に対応する処理2を行い(S18)、処理2命令に対する応答を行う(S20)。ステップS20において情報処理装置10が送信する応答としては、例えば、処理2が正常に完了したことを示す正常応答と、処理2が正常に完了しなかったことを示すエラー応答とが挙げられる。
サーバ20と情報処理装置10との間では、例えば図5に示すように処理1および処理2が一連の処理として行われる。また、図5のAに示すように、セッションが維持される場合、割り込み処理はエラーとなり、割り込み処理が一連の処理に影響を与えることが防止される。
また、上述したように、装置間で一連の処理が行われる場合、当該装置間の通信には、中継コンポーネントが介在しうる。また、中継コンポーネントが介在する場合、セッションにより一連の処理以外の処理の割り込みを防止するためには、中継コンポーネントもまたセッションを維持する必要がある。
図6は、中継コンポーネントが介在する場合にセッションが維持されるユースケースの一例を示す説明図であり、図5に示す情報処理装置10とサーバ20との通信に中継コンポーネント30が介在しているユースケースを示している。中継コンポーネント30としては、例えば、“中継サーバなどの、情報処理装置10およびサーバ20以外の装置”と、“アプリケーションやドライバなどの情報処理装置10で実行されるソフトウェア”との、一方または双方が挙げられる。以下では、中継コンポーネント30が“中継サーバなどの、情報処理装置10およびサーバ20以外の装置”である場合を例に挙げる。
また、図6では、図5と同様に処理1および処理2が一連の処理に該当する。
サーバ20は、処理1命令を送信する(S40)。
ステップS10においてサーバ20から送信された処理1命令を受信した中継コンポーネント30は、情報処理装置10とサーバ20との間のセッションを維持する。セッションが維持されることによって、中継コンポーネント30では、情報処理装置10とサーバ20との間における一連の処理に係る通信を中継することができる。
また、中継コンポーネント30は、受信された処理1命令を情報処理装置10に対して送信する(S42)。
ステップS42において中継コンポーネント30から送信された処理1命令を受信した情報処理装置10は、受信された処理1命令に対応する処理1を行い(S44)、処理1命令に対する応答を行う(S46)。ステップS46において情報処理装置10が送信する応答としては、例えば、処理1が正常に完了したことを示す正常応答と、処理1が正常に完了しなかったことを示すエラー応答とが挙げられる。なお、図6では示していないが、処理1命令を受信した情報処理装置10では、例えば図5と同様にセッションが維持される。
ステップS46において情報処理装置10から送信された応答を受信した中継コンポーネント30は、受信された応答をサーバ20に対して送信する(S48)。
ステップS48において中継コンポーネント30から送信された応答を受信したサーバ20は、受信された応答が正常応答である場合に処理2命令を送信する(S50)。
ステップS50においてサーバ20から送信された処理2命令を受信した中継コンポーネント30は、受信された処理2命令を情報処理装置10に対して送信する(S52)。
ステップS52において中継コンポーネント30から送信された処理2命令を受信した情報処理装置10は、受信された処理2命令に対応する処理2を行い(S54)、処理2命令に対する応答を行う(S56)。ステップS56において情報処理装置10が送信する応答としては、例えば、処理2が正常に完了したことを示す正常応答と、処理2が正常に完了しなかったことを示すエラー応答とが挙げられる。
ステップS56において情報処理装置10から送信された応答を受信した中継コンポーネント30は、受信された応答をサーバ20に対して送信する(S58)。
中継コンポーネント30が介在する場合、サーバ20と情報処理装置10との間では、例えば図6に示すように処理1および処理2が一連の処理として行われる。また、セッションが維持される場合、割り込み処理はエラーとなり、割り込み処理が一連の処理に影響を与えることが防止される。
しかしながら、中継コンポーネントがセッションを維持する必要がある場合には、中継コンポーネントがセッションを維持しない場合と比較して、上述したようなデメリットがある。
一方、上述したようなデメリットを避けるために、一連の処理においてセッションが維持されない場合には、割り込み処理が一連の処理に影響を与える恐れがある。
図7は、セッションが維持されないユースケースの一例を示す説明図であり、情報処理装置10とサーバ20との間で情報処理装置10に記憶されている電子バリューの値を更新する処理の一例(一連の処理の一例)を示している。以下では、情報処理装置10に記憶されている電子バリューの値を、「電子バリューの残高」または単に「残高」と示す場合がある。
サーバ20は、電子バリューの残高を読み出す読み出し命令を情報処理装置10に送信する(S70)。
ステップS70においてサーバ20から送信された読み出し命令を受信した情報処理装置10は、読み出し命令を実行し、電子バリューの残高である1000円を読み出す(S72)。
例えば電子バリューを500円分チャージする場合、情報処理装置10は、ステップS72において読み出された電子バリューの残高と、チャージする電子バリューの値とを、サーバ200に対して送信する(S74)。ステップS74において情報処理装置10から送信される、読み出された電子バリューの残高が、読み出し命令に応じた処理が正常に完了したことを示す正常応答の一例に該当する。
ステップS74の処理が行われた後で、かつ、後述するステップS78においてサーバ20から次の命令が送信される前に、1000円分の電子バリューが店舗などで使用された場合を想定する。ここで、1000円分の電子バリューが店舗などで使用される際に行われる処理が、割り込み処理に該当する。上記の場合において、セッションが維持されていないときには、情報処理装置10に記憶されている電子バリューの残高は0円となる(S76)。
ステップS14において情報処理装置10から送信された、読み出された電子バリューの残高およびチャージする電子バリューの値を受信したサーバ20は、電子バリューの加算処理を行う。そして、サーバ20は、書き込み命令と、情報処理装置10に書き込む電子バリューの値である1500円(加算処理後の電子バリューの値)とを、情報処理装置10に送信する(S78)。
ステップS78においてサーバ20から送信された書き込み命令を受信した情報処理装置10は、書き込み命令を実行し、サーバ20から送信された書き込む電子バリューの値で電子バリューの残高を更新する(S80)。ステップS80の処理が行われることによって、情報処理装置10に記憶されている電子バリューの残高は、1500円となる。
ステップS80において電子バリューの残高が更新されると、情報処理装置10は、書き込み命令が正常に完了したことを示す正常応答を行う(S82)。
情報処理装置10とサーバ20との間における一連の処理においてセッションが維持されない場合、情報処理装置10とサーバ20との間では、図6に示すような処理が行われうる。
ここで、図6に示すユースケースでは、割り込み処理が行われることによって、電子バリューを500円分チャージする依頼をサーバ20側が受け付けたにも関わらず、実質的に1500円分の電子バリューのチャージが行われてしまう。
よって、セッションが維持される場合のデメリットを避けるために、単に一連の処理においてセッションを維持しないことは、望ましくない。
[2−2]本実施形態に係る情報処理方法の概要
そこで、本実施形態に係る情報処理システム1000では、情報処理装置100が、開始された一連の処理に対する一連の処理以外の処理の割り込みを検出し、割り込みの検出状態に基づいて、割り込みが検出された後に行われる処理の内容を変更する。
そこで、本実施形態に係る情報処理システム1000では、情報処理装置100が、開始された一連の処理に対する一連の処理以外の処理の割り込みを検出し、割り込みの検出状態に基づいて、割り込みが検出された後に行われる処理の内容を変更する。
また、情報処理システム1000では、“情報処理装置100における割り込みの検出”、または、“情報処理装置100における割り込みの検出、および情報処理装置100における割り込みの検出状態の利用”は、例えばサーバ200により制御される。
情報処理装置100において、割り込みの検出状態に基づき割り込みが検出された後に行われる処理の内容が変更されることによって、情報処理システム1000では、割り込み処理が一連の処理に影響を与えることが防止される。
よって、セッションを維持せずに装置間における一連の処理を行うことが可能な情報処理システムが、実現される。
[2−3]本実施形態に係る情報処理方法に係る処理
以下、情報処理装置100における情報処理方法に係る処理、サーバ200における情報処理方法に係る処理、および情報処理システム1000における処理の一例について、それぞれ説明する。
以下、情報処理装置100における情報処理方法に係る処理、サーバ200における情報処理方法に係る処理、および情報処理システム1000における処理の一例について、それぞれ説明する。
[2−3−1]情報処理装置100における情報処理方法に係る処理
情報処理装置100は、サーバ200などの外部装置との間で一連の処理を行う。また、情報処理装置100は、開始された一連の処理に対する一連の処理以外の処理の割り込みを検出し、割り込みの検出状態に基づいて割り込みが検出された後に行われる処理の内容を変更する。
情報処理装置100は、サーバ200などの外部装置との間で一連の処理を行う。また、情報処理装置100は、開始された一連の処理に対する一連の処理以外の処理の割り込みを検出し、割り込みの検出状態に基づいて割り込みが検出された後に行われる処理の内容を変更する。
より具体的には、情報処理装置100は、例えば下記の(1)検出処理および(2)実行処理を、情報処理方法に係る処理として行う。情報処理装置100では、例えば、処理部110により下記に示す実行処理が行われ、検出部112により検出処理が行われる。
(1)検出処理
情報処理装置100は、開始された一連の処理に対する一連の処理以外の処理の割り込みを検出する。情報処理装置100は、例えば、“開始された一連の処理に係る通信路から取得された命令以外の命令”が取得された場合に、割り込みを検出する。“開始された一連の処理に係る通信路から取得された命令以外の命令”の一例としては、例えば、サーバ200との間で一連の処理が開始された後にリーダ/ライタ400から受信された命令が、挙げられる。なお、“開始された一連の処理に係る通信路から取得された命令以外の命令”は、外部装置から送信される命令に限られず、情報処理装置100の操作部(図示せず)に対する操作に応じて生成された命令など、情報処理装置100で生成された命令であってもよい。
情報処理装置100は、開始された一連の処理に対する一連の処理以外の処理の割り込みを検出する。情報処理装置100は、例えば、“開始された一連の処理に係る通信路から取得された命令以外の命令”が取得された場合に、割り込みを検出する。“開始された一連の処理に係る通信路から取得された命令以外の命令”の一例としては、例えば、サーバ200との間で一連の処理が開始された後にリーダ/ライタ400から受信された命令が、挙げられる。なお、“開始された一連の処理に係る通信路から取得された命令以外の命令”は、外部装置から送信される命令に限られず、情報処理装置100の操作部(図示せず)に対する操作に応じて生成された命令など、情報処理装置100で生成された命令であってもよい。
情報処理装置100は、例えば、サーバ200(外部装置の一例)から送信される、割り込みの検出を開始させる開始命令に基づいて、割り込みの検出を開始する。開始命令に基づき割り込みの検出が開始されることにより、“情報処理装置100における割り込みの検出は、サーバ200により制御される。
なお、情報処理装置100が検出処理を開始するトリガは、外部装置から送信される開始命令に限られない。例えば、情報処理装置100は、外部装置との間で一連の処理が開始されたときに、検出処理を自動的に開始してもよい。
情報処理装置100は、割り込みの検出状態を示す割り込み検出情報を、割り込みの検出結果に基づいて更新する。情報処理装置100は、例えば、記憶部(図示せず)に記憶されている、任意の割り込み処理に対応する割り込み検出情報を更新する。なお、情報処理装置100は、例えば、割り込み処理が検出されるごとに、検出された割り込み処理に対応する割り込み検出情報を生成し、検出された割り込み処理ごとに割り込み検出情報を更新してもよい。
例えば、割り込み検出情報が、不揮発性メモリなどで構成される記憶部(図示せず)に記憶され、割り込みの検出結果に基づいて更新されることによって、情報処理装置100に電源が供給されなくなった場合であって、割り込みの検出状態が保持される。
本実施形態に係る割り込み検出情報としては、例えば、割り込みが検出された状態、または、割り込みが検出されていない状態を示す、フラグが挙げられる。なお、本実施形態に係る割り込み検出情報は、フラグに限られず、割り込みの検出状態を示すことが可能な任意の形式のデータであってもよい。
以下では、割り込み検出情報が、任意の割り込み処理に対応するフラグである場合を例に挙げる。また、以下では、割り込みの検出状態を示すフラグを「割り込み検出フラグ」と示す。
割り込み検出情報の更新の例としては、例えば下記の(A)に示す第1の例〜(C)に示す第3の例が挙げられる。
(A)割り込み検出情報の更新の第1の例
情報処理装置100は、割り込みが検出された場合、割り込み検出情報が示す検出状態を、割り込みが検出された状態に更新する。情報処理装置100は、例えば、割り込みが検出された場合に割り込み検出フラグの値を、割り込みが検出された状態を示す値に更新する。
情報処理装置100は、割り込みが検出された場合、割り込み検出情報が示す検出状態を、割り込みが検出された状態に更新する。情報処理装置100は、例えば、割り込みが検出された場合に割り込み検出フラグの値を、割り込みが検出された状態を示す値に更新する。
(B)割り込み検出情報の更新の第2の例
情報処理装置100は、割り込みの検出を開始したときに、割り込み検出情報が示す検出状態を、割り込みが検出されていない状態に初期化する。情報処理装置100は、例えば、割り込みの検出を開始したときに割り込み検出フラグの値を、割り込みが検出されていない状態を示す値に更新する。
情報処理装置100は、割り込みの検出を開始したときに、割り込み検出情報が示す検出状態を、割り込みが検出されていない状態に初期化する。情報処理装置100は、例えば、割り込みの検出を開始したときに割り込み検出フラグの値を、割り込みが検出されていない状態を示す値に更新する。
(C)割り込み検出情報の更新の第3の例
情報処理装置100は、上記(A)に示す第1の例に係る更新と上記(B)に示す第2の例に係る更新との双方を行うことによって、割り込み検出情報を更新する。
情報処理装置100は、上記(A)に示す第1の例に係る更新と上記(B)に示す第2の例に係る更新との双方を行うことによって、割り込み検出情報を更新する。
(2)実行処理
情報処理装置100は、サーバ200などの外部装置との間で一連の処理を行う。
情報処理装置100は、サーバ200などの外部装置との間で一連の処理を行う。
また、情報処理装置100は、割り込みの検出状態に基づいて、割り込みが検出された後に行われる処理の内容を変更する(通常処理)。情報処理装置100は、割り込み検出情報を参照することにより割り込みの検出状態を特定して、割り込みが検出された後に行われる処理の内容を変更する。
より具体的には、情報処理装置100は、例えば、割り込みの検出状態が割り込みが検出された状態である場合、割り込みが検出された後に行われる処理を行わない。
なお、割り込みの検出状態に基づき割り込みが検出された後に行われる処理の内容を変更する例は、上記に示す例に限られない。情報処理装置100は、例えば下記の(a)に示す第1の例外処理〜下記の(c)に示す第3の例外処理を行ってもよい。
(a)第1の例外処理
情報処理装置100は、割り込みが検出された後に行われる処理が、設定されている所定の処理である場合、割り込みの検出状態によらず割り込みが検出された後に行われる処理を行う。
情報処理装置100は、割り込みが検出された後に行われる処理が、設定されている所定の処理である場合、割り込みの検出状態によらず割り込みが検出された後に行われる処理を行う。
第1の例外処理に係る所定の処理としては、例えば、読み出し命令に応じて行われる読み出し処理など、処理が行われることによって情報の変更が伴わない処理が挙げられる。なお、所定の処理は、上記に示す例に限られず、割り込み処理の影響を受けない任意の処理であってもよい。
情報処理装置100は、例えば、所定の処理が登録されているテーブル(またはデータベース)を参照することによって、割り込みが検出された後に行われる処理が、所定の処理であるか否かを判定する。また、情報処理装置100は、例えば、割り込みが検出された後に行われる処理に含まれる命令から情報の変更を伴う処理に対応する命令を検索するなど、割り込みが検出された後に行われる処理の内容によって、割り込みが検出された後に行われる処理が所定の処理であるか否かを判定してもよい。
(b)第2の例外処理
情報処理装置100は、サーバ200などの外部装置から送信される、割り込みの検出状態の確認を行うか否かを示す確認命令に基づいて、割り込みが検出された後に行われる処理の内容を変更する。
情報処理装置100は、サーバ200などの外部装置から送信される、割り込みの検出状態の確認を行うか否かを示す確認命令に基づいて、割り込みが検出された後に行われる処理の内容を変更する。
情報処理装置100は、取得された確認命令が、割り込みの検出状態の確認を行うことを示す場合、割り込みの検出状態に基づいて、割り込みが検出された後に行われる処理の内容を変更する。確認命令が割り込みの検出状態の確認を行うことを示す場合の処理は、実行処理における通常処理と同様である。
また、情報処理装置100は、取得された確認命令が、割り込みの検出状態の確認を行わないことを示す場合、割り込みの検出状態によらず割り込みが検出された後に行われる処理の内容を変更しない。
(c)第3の例外処理
情報処理装置100は、上記(a)に示す第1の例外処理と上記(b)に示す第2の例外処理との双方を行う。
情報処理装置100は、上記(a)に示す第1の例外処理と上記(b)に示す第2の例外処理との双方を行う。
情報処理装置100は、例えば上記(1)の処理(検出処理)および上記(2)の処理(実行処理)を行うことによって、開始された一連の処理に対する一連の処理以外の処理の割り込みを検出し、割り込みの検出状態に基づいて割り込みが検出された後に行われる処理の内容を変更する。
なお、上記(1)の処理(検出処理)および上記(2)の処理(実行処理)は、便宜上、情報処理装置100における情報処理方法に係る処理を切り分けたものである。よって、情報処理装置100における情報処理方法に係る各処理は、例えば、1つの処理と捉えることも可能であり、または、任意の切り分け方によって2以上の処理と捉えることも可能である。
[2−3−2]サーバ200における情報処理方法に係る処理
サーバ200は、情報処理装置100などの外部装置との間で一連の処理を行う。
サーバ200は、情報処理装置100などの外部装置との間で一連の処理を行う。
また、サーバ200は、“外部装置における割り込みの検出”、または、“外部装置における割り込みの検出、および外部装置における割り込みの検出状態の利用”を制御する。
より具体的には、サーバ200は、情報処理装置100などの外部装置に割り込みの検出を開始させる開始命令を、外部装置に対して送信させる。サーバ200は、通信部202(または外部の通信デバイス)を制御することにより、開始命令を外部装置に対して送信させる。
例えば、サーバ200が情報処理装置100(外部装置の一例)に対して開始命令を送信させることによって、情報処理装置100では検出処理が開始される。よって、サーバ200は、情報処理装置100などの外部装置に対して開始命令を送信させることによって、“外部装置における割り込みの検出”を制御することができる。
また、サーバ200は、一連の処理が開始された後、割り込みの検出状態の確認を行うか否かを示す確認命令を、外部装置に対して送信させてもよい。
例えば、サーバ200が情報処理装置100(外部装置の一例)に対して開始命令を送信させることによって、情報処理装置100では上記(b)に示す第2の例外処理が行われる。よって、サーバ200は、情報処理装置100などの外部装置に対して確認命令を送信させることによって“外部装置における割り込みの検出状態の利用”を制御することができる。
サーバ200は、例えば外部装置に対して開始命令を送信させることによって、“外部装置における割り込みの検出”を制御する。また、サーバ200は、例えば外部装置に対して開始命令および確認命令をそれぞれ送信させることによって、“外部装置における割り込みの検出、および外部装置における割り込みの検出状態の利用”を制御する。
[2−3−3]情報処理システム1000における処理の一例
次に、情報処理システム1000における処理の一例を説明する。
次に、情報処理システム1000における処理の一例を説明する。
図8は、本実施形態に係る情報処理システム1000における処理の一例を説明するための説明図である。図8では、図1に示す情報処理システム1000を構成する情報処理装置100(例えば情報処理装置100が備えるUICC)とサーバ200との間の通信の一例を示している。また、図8では、処理1および処理2が一連の処理に該当する。
なお、図8では、中継コンポーネントを示していないが、情報処理装置100とサーバ200との通信に中継コンポーネントが介在していてもよい。情報処理システム1000は、セッションを維持せずに装置間における一連の処理を行うことが可能なシステムであるので、中継コンポーネントが介在する場合であっても、当該中継コンポーネントは、セッションを維持する必要はない。つまり、情報処理システム1000に含まれる中継コンポーネントは、少なくとも情報処理装置100とサーバ200との通信を中継する機能を有していればよい。なお、情報処理システム1000に含まれる中継コンポーネントが、セッションを維持することが可能であってもよいことは、言うまでもない。
サーバ200は、処理1を実行させる処理1命令と、割り込みの検出を開始させる開始命令とを送信する(S100)。
ステップS100においてサーバ200から送信された処理1命令および開始命令を受信した情報処理装置100は、受信された処理1命令に対応する処理1を行う(S102)。また、情報処理装置100は、受信された開始命令に基づき検出処理を開始する(S104)。
情報処理装置100は、ステップS102において処理1を行うと、図5のステップS14と同様に、処理1命令に対する応答を行う(S104)。
一連の処理以外の処理の割り込みが発生すると、情報処理装置100は、検出処理により割り込みを検出する(S108)。情報処理装置100は、割り込みが検出されると、例えば割り込み検出フラグ(割り込み検出情報の一例。以下、同様とする。)の値を、割り込みが検出された状態を示す値に更新する。
ステップS106において情報処理装置100から送信された応答を受信したサーバ200は、受信された応答が正常応答である場合に処理2を実行させる処理2命令を送信する(S110)。なお、図8では示していないが、サーバ200は、ステップS110において確認命令をさらに送信してもよい。
ステップS110においてサーバ200から送信された処理2命令を受信した情報処理装置100は、割り込みの検出状態に基づいて、受信された処理2命令に対応する処理2(割り込みが検出された後に行われる処理の一例)の内容を変更する(S112)。
ここで、図8に示す例では、ステップS108において割り込みが検出されている。よって、通常処理を行う場合、情報処理装置100は、例えば処理2命令に対応する処理2を行わない。また、上記(a)に示す第1の例外処理を行う場合、処理2が所定の処理であるときには、割り込みの検出状態によらず処理2を行う。
なお、ステップS112の処理は、上記に示す例に限られない。例えばステップS110においてサーバ200が確認命令を送信している場合、情報処理装置100は、受信された確認命令に基づき上記(b)に示す第2の例外処理を行ってもよい。
ステップS112の処理を行うと、情報処理装置100は、図5のステップS20と同様に、処理2命令に対する応答を行う(S114)。
サーバ200と情報処理装置100との間では、例えば図8に示すように処理1および処理2が一連の処理として行われる。また、情報処理装置100では、上記(1)検出処理および上記(2)の処理(実行処理)が行われるので、情報処理システム1000では、セッションを維持せずに装置間における一連の処理を行うことが実現される。
以下、図8における情報処理装置100の処理のうちの、割り込み検出に係る処理について、より具体的に説明する。
図9は、本実施形態に係る情報処理装置100における情報処理方法に係る処理の一例を説明するための流れ図である。図9では、図8における情報処理装置100の処理における割り込み検出に係る処理、すなわち、図8における情報処理装置100の処理のうちの一部の処理を示している。より具体的には、図9に示すステップS200の処理〜S204の処理が、図8における情報処理装置100とサーバ200との間で処理1が行われるときの処理に該当する。図9に示すステップS206の処理およびS208の処理が、図8における処理1と処理2との間に行われる処理に該当する。そして、図9に示すステップS210の処理〜S212の処理が、図8における情報処理装置100とサーバ200との間で処理2が行われるときの処理に該当する。
情報処理装置100は、割り込みの検出の開始命令が検出されたか否かを判定する(S200)。ステップS200において開始命令が検出されたと判定されない場合、情報処理装置100は、開始命令が検出されたと判定されるまで割り込み検出に係る処理を進めない。
ステップS200において開始命令が検出されたと判定された場合、情報処理装置100は、割り込み検出フラグを、割り込みが検出されていない状態に対応するOFFを示す値に更新する(S202)。そして、情報処理装置100は、検出処理を開始する(S204)。ステップS202の処理は、割り込み検出フラグの初期化に該当する。
検出処理が開始されると、情報処理装置100は、割り込み処理が検出されたか否かを判定する(S206)。
ステップS206において割り込み処理が検出されたと判定された場合、情報処理装置100は、割り込み検出フラグを、割り込みが検出された状態に対応するONを示す値に更新する(S208)。
また、ステップS206において割り込み処理が検出されたと判定されない場合、情報処理装置100は、割り込み検出フラグを更新しない。つまり、ステップS206において割り込み処理が検出されたと判定されない場合、割り込み検出フラグは、ステップS202において初期化された状態のままである。
処理2命令が取得されると、情報処理装置100は、処理2命令に対応する処理2を行う前に、割り込み検出フラグのがONであるかを判定する(S210)。
ステップS210において割り込み検出フラグのがONであると判定された場合、情報処理装置100は、処理2命令に対応する処理2をエラーとし、処理2を行わない(S212)。
また、ステップS210において割り込み検出フラグのがONであると判定されない場合、情報処理装置100は、処理2命令に対応する処理2を行い、処理2を正常終了する(S214)。
情報処理装置100は、図8における情報処理装置100の処理における割り込み検出に係る処理として、例えば図9に示す処理を行う。
例えば図9に示す処理が行われることによって、処理1から処理2にかけての割り込み処理の有無に応じて処理2の内容が変わるので、処理1と処理2との一貫性を確保することができる。
なお、図8における情報処理装置100の処理における割り込み検出に係る処理は、図9に示す処理に限られない。上述したように、情報処理装置100は、例えば、上記(a)に示す第1の例外処理〜上記(c)に示す第3の例外処理のいずれかを行うことが可能である。以下では、例外処理が行われる場合の処理の一例として、情報処理装置100が、上記(a)に示す第1の例外処理を行う場合の処理の一例を説明する。
図10は、本実施形態に係る情報処理装置100における情報処理方法に係る処理の他の例を説明するための流れ図であり、情報処理装置100が上記(a)に示す第1の例外処理を行う場合の処理の一例を示している。図10では、図9と同様に、図8における情報処理装置100の処理における割り込み検出に係る処理、すなわち、図8における情報処理装置100の処理のうちの一部の処理を示している。より具体的には、図10に示すステップS300の処理〜S304の処理が、図8における情報処理装置100とサーバ200との間で処理1が行われるときの処理に該当する。図10に示すステップS306の処理およびS308の処理が、図8における処理1と処理2との間に行われる処理に該当する。そして、図10に示すステップS310の処理〜S316の処理が、図8における情報処理装置100とサーバ200との間で処理2が行われるときの処理に該当する。
情報処理装置100は、図9に示すステップS200と同様に、割り込みの検出の開始命令が検出されたか否かを判定する(S300)。ステップS300において開始命令が検出されたと判定されない場合、情報処理装置100は、開始命令が検出されたと判定されるまで割り込み検出に係る処理を進めない。
ステップS300において開始命令が検出されたと判定された場合、情報処理装置100は、図9に示すステップS202と同様に、割り込み検出フラグをOFFを示す値に更新する(S302)。そして、情報処理装置100は、検出処理を開始する(S304)。
検出処理が開始されると、情報処理装置100は、図9に示すステップS206と同様に、割り込み処理が検出されたか否かを判定する(S306)。
ステップS306において割り込み処理が検出されたと判定された場合、情報処理装置100は、図9に示すステップS208と同様に、割り込み検出フラグをONを示す値に更新する(S308)。
また、ステップS306において割り込み処理が検出されたと判定されない場合、情報処理装置100は、図9に示す処理と同様に、割り込み検出フラグを更新しない。
処理2命令が取得されると、情報処理装置100は、図9に示すステップS210と同様に、処理2命令に対応する処理2を行う前に、割り込み検出フラグのがONであるかを判定する(S310)。
ステップS310において割り込み検出フラグのがONであると判定された場合、情報処理装置100は、処理2命令に対応する処理2がデータ変更を伴う処理であるか否かを判定する(S312)。情報処理装置100は、例えば、データ変更を伴う処理が登録されているテーブル(またはデータベース)を参照することや、処理2に含まれる命令からデータ変更を伴う処理に対応する命令を検索することなどによって、処理2がデータ変更を伴う処理であるか否かを判定する。
ステップS312において処理2がデータ変更を伴う処理であると判定されない場合、情報処理装置100は、後述するステップS316の処理を行う。
また、ステップS312において処理2がデータ変更を伴う処理であると判定された場合、情報処理装置100は、図9に示すステップS212と同様に、処理2命令に対応する処理2をエラーとし、処理2を行わない(S314)。
ステップS310において割り込み検出フラグのがONであると判定されない場合、または、ステップS312において処理2がデータ変更を伴う処理であると判定されない場合、情報処理装置100は、図9に示すステップS214と同様に、処理2命令に対応する処理2を行い、処理2を正常終了する(S316)。
情報処理装置100は、図8における情報処理装置100の処理における割り込み検出に係る処理として、例えば図10に示す処理を行うことも可能である。
例えば図10に示す処理が行われる場合であっても、図9に示す処理が行われる場合と同様に、処理1から処理2にかけての割り込み処理の有無に応じて処理2の内容が変わるので、処理1と処理2との一貫性を確保することができる。
[2−4]本実施形態に係る情報処理方法が適用されるユースケース
次に、本実施形態に係る情報処理方法が適用されるユースケースの一例を示す。なお、本実施形態に係る情報処理方法が適用されるユースケースが、下記に示す例に限られないことは、言うまでもない。
次に、本実施形態に係る情報処理方法が適用されるユースケースの一例を示す。なお、本実施形態に係る情報処理方法が適用されるユースケースが、下記に示す例に限られないことは、言うまでもない。
(i)ユースケースの第1の例
本実施形態に係る情報処理方法は、例えば図7に示すような電子バリューのチャージに適用することができる。第1のユースケースでは、読み出し処理が図8〜図10に示す処理1に該当し、書き込み処理が図8〜図10に示す処理2に該当する。
本実施形態に係る情報処理方法は、例えば図7に示すような電子バリューのチャージに適用することができる。第1のユースケースでは、読み出し処理が図8〜図10に示す処理1に該当し、書き込み処理が図8〜図10に示す処理2に該当する。
情報処理装置100は、例えば図8〜図10を参照して説明したように、読み出し処理から書き込み処理にかけての割り込み処理の有無に応じて書き込み処理の内容を変更する。よって、第1の例に係るユースケースでは、読み出し処理と書き込み処理との一貫性が確保され、図7に示したような“チャージの依頼で指定される電子バリューの値と、実際にチャージされる電子バリューの値との不整合が生じること”が、防止される。
(ii)ユースケースの第2の例
本実施形態に係る情報処理方法は、“一の端末(情報処理装置100の一例。以下、同様とする。)から他の端末(情報処理装置100の一例。以下、同様とする。)への、残高のデータや交通乗車券のデータなどの各種データの移動”に適用することができる。第2のユースケースでは、図8〜図10に示す処理1が、一の端末からデータを読み出す読み出し処理に該当し、図8〜図10に示す処理2が、データの削除処理に該当する。
本実施形態に係る情報処理方法は、“一の端末(情報処理装置100の一例。以下、同様とする。)から他の端末(情報処理装置100の一例。以下、同様とする。)への、残高のデータや交通乗車券のデータなどの各種データの移動”に適用することができる。第2のユースケースでは、図8〜図10に示す処理1が、一の端末からデータを読み出す読み出し処理に該当し、図8〜図10に示す処理2が、データの削除処理に該当する。
第2のユースケースを、図8に当てはめて説明する。一の端末は、サーバ200から送信される読み出し命令に基づいて、読み出し命令に対応するアプリケーションのデータを読み出し、読み出されたデータをサーバ200へ送信する(図8のステップS102、S106に対応)。また、一の端末は、サーバ200から送信される割り込み検出の開始命令に基づいて割り込み検出処理を開始する(図8のステップS104に対応)。
サーバ200は、一の端末から送信されたデータの確認を行い、データ削除が可能な状態であることを確認する。また、サーバ200は、一の端末から送信されたデータ(例えば、残高のデータや交通乗車券のデータなど)を、記録媒体に記録する。
データ削除が可能な状態であることが確認されると、サーバ200は、データの削除命令を送信する(図8のステップS110に対応)。
一の端末は、割り込みの検出状態に基づいて、サーバ200から送信されるデータの削除命令に対応するデータの削除処理を行う(図8のステップS112に対応)。例えば、割り込みの検出状態が割り込みが検出された状態である場合、一の端末は、データの削除処理をエラーとし、データの削除を行わない。また、割り込みの検出状態が割り込みが検出されていない状態である場合、一の端末は、データの削除処理を行い、データを削除する。
ここで、読み出し処理からデータの削除処理にかけて図7のステップS76と同様の割り込み処理が発生したときに、本実施形態に係る情報処理方法に係る処理が行われない場合には、例えば、“サーバ200が記録した残高のデータと、一の端末に記憶されている残高のデータとの間で不整合が生じること”が起こりうる。
しかしながら、情報処理装置100は、例えば図8〜図10を参照して説明したように、読み出し処理(図8〜図10に示す処理1に対応)からデータの削除処理(図8〜図10に示す処理2に対応)にかけての割り込み処理の有無に応じて書き込み処理の内容を変更する。よって、第2の例に係るユースケースでは、読み出し処理とデータの削除処理との一貫性が確保され、上記のような“サーバ200が記録した残高のデータと、一の端末に記憶されている残高のデータとの間で不整合が生じること”が防止される。
[2−5]本実施形態に係る情報処理方法が用いられることにより奏される効果
本実施形態に係る情報処理方法が用いられることによって、本実施形態に係る情報処理システムでは、例えば下記に示す効果が奏される。なお、本実施形態に係る情報処理方法が用いられることにより奏される効果が、下記に示す例に限られないことは、言うまでもない。
・中継コンポーネントが存在する場合であっても、中継コンポーネントがセッションを維持する必要はない。中継コンポーネントが中継サーバである場合、中継サーバは、ステートレスの構成をとることが可能である。
・中継コンポーネントはセッションを維持する必要がないので、中継サーバ(中継コンポーネントの一例)では、“一度に処理をすることができるクライアント数を増やすことができる効果”が奏される。また、中継サーバはセッションを維持する必要がないので、接続数に応じて中継サーバを増やす、接続数に応じて中継サーバを減らすなどの、“中継サーバのスケーラビリティを高めることができるという効果”が奏される。
・中継コンポーネントはセッションを維持する必要がないので、アプリケーションやドライバなどのソフトウェア(中継コンポーネントの一例)が、セッションを管理する必要はない。よって、アプリケーションやドライバなどのソフトウェアの実装(プログラミング)を簡素化することができる。
本実施形態に係る情報処理方法が用いられることによって、本実施形態に係る情報処理システムでは、例えば下記に示す効果が奏される。なお、本実施形態に係る情報処理方法が用いられることにより奏される効果が、下記に示す例に限られないことは、言うまでもない。
・中継コンポーネントが存在する場合であっても、中継コンポーネントがセッションを維持する必要はない。中継コンポーネントが中継サーバである場合、中継サーバは、ステートレスの構成をとることが可能である。
・中継コンポーネントはセッションを維持する必要がないので、中継サーバ(中継コンポーネントの一例)では、“一度に処理をすることができるクライアント数を増やすことができる効果”が奏される。また、中継サーバはセッションを維持する必要がないので、接続数に応じて中継サーバを増やす、接続数に応じて中継サーバを減らすなどの、“中継サーバのスケーラビリティを高めることができるという効果”が奏される。
・中継コンポーネントはセッションを維持する必要がないので、アプリケーションやドライバなどのソフトウェア(中継コンポーネントの一例)が、セッションを管理する必要はない。よって、アプリケーションやドライバなどのソフトウェアの実装(プログラミング)を簡素化することができる。
(本実施形態に係るプログラム)
[I]第1の情報処理装置として機能させるためのプログラム
コンピュータシステムを、本実施形態に係る第1の情報処理装置として機能させるためのプログラム(例えば、情報処理システム1000を構成する情報処理装置100における情報処理方法に係る処理を実行することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、セッションを維持せずに装置間における一連の処理を行うことが可能な、情報処理システムが実現される。ここで、本実施形態に係るコンピュータシステムとしては、単体のコンピュータ、または、複数のコンピュータが挙げられる。本実施形態に係るコンピュータシステムによって、第1の情報処理装置における情報処理方法に係る一連の処理が行われる。
[I]第1の情報処理装置として機能させるためのプログラム
コンピュータシステムを、本実施形態に係る第1の情報処理装置として機能させるためのプログラム(例えば、情報処理システム1000を構成する情報処理装置100における情報処理方法に係る処理を実行することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、セッションを維持せずに装置間における一連の処理を行うことが可能な、情報処理システムが実現される。ここで、本実施形態に係るコンピュータシステムとしては、単体のコンピュータ、または、複数のコンピュータが挙げられる。本実施形態に係るコンピュータシステムによって、第1の情報処理装置における情報処理方法に係る一連の処理が行われる。
また、コンピュータシステムを、本実施形態に係る第1の情報処理装置として機能させるためのプログラムが、コンピュータシステムにおいてプロセッサなどにより実行されることによって、上述した情報処理装置100(第1の情報処理装置)における情報処理方法に係る処理によって奏される効果を、奏することができる。
[II]第2の情報処理装置として機能させるためのプログラム
コンピュータシステムを、本実施形態に係る第2の情報処理装置として機能させるためのプログラム(例えば、情報処理システム1000を構成するサーバ200における情報処理方法に係る処理を実行することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、セッションを維持せずに装置間における一連の処理を行うことが可能な、情報処理システムが実現される。
コンピュータシステムを、本実施形態に係る第2の情報処理装置として機能させるためのプログラム(例えば、情報処理システム1000を構成するサーバ200における情報処理方法に係る処理を実行することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、セッションを維持せずに装置間における一連の処理を行うことが可能な、情報処理システムが実現される。
また、コンピュータシステムを、本実施形態に係る第2の情報処理装置として機能させるためのプログラムが、コンピュータシステムにおいてプロセッサなどにより実行されることによって、上述したサーバ200(第2の情報処理装置)における情報処理方法に係る処理によって奏される効果を、奏することができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上記では、コンピュータシステムを、本実施形態に係る第1の情報処理装置、または、本実施形態に係る第2の情報処理装置として機能させるためのプログラム(コンピュータプログラム)が提供されることを示したが、本実施形態は、さらに、上記プログラムそれぞれを記憶させた記録媒体あるいは上記プログラムを共に記憶させた記録媒体も、併せて提供することができる。
上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
外部装置との間で一連の処理を行う処理部と、
前記一連の処理が開始された後における前記一連の処理以外の処理の割り込みを検出する検出部と、
を備え、
前記処理部は、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、情報処理装置。
(2)
前記検出部は、前記割り込みの検出状態を示す割り込み検出情報を、前記割り込みの検出結果に基づいて更新し、
前記処理部は、前記割り込み検出情報に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、(1)に記載の情報処理装置。
(3)
前記検出部は、前記割り込みが検出された場合、前記割り込み検出情報が示す前記検出状態を、前記割り込みが検出された状態に更新する、(2)に記載の情報処理装置。
(4)
前記検出部は、前記割り込みの検出を開始したときに、前記割り込み検出情報が示す前記検出状態を、前記割り込みが検出されていない状態に初期化する、(2)または(3)に記載の情報処理装置。
(5)
前記検出部は、前記外部装置から送信される、割り込みの検出を開始させる開始命令に基づいて、前記割り込みの検出を開始する、(1)〜(4)のいずれか1つに記載の情報処理装置。
(6)
前記割り込みの検出状態が、前記割り込みが検出された状態である場合、前記処理部は、前記割り込みが検出された後に行われる処理を行わない、(1)〜(5)のいずれか1つに記載の情報処理装置。
(7)
前記処理部は、前記割り込みが検出された後に行われる処理が、設定されている所定の処理である場合、前記割り込みの検出状態によらず前記割り込みが検出された後に行われる処理を行う、(6)に記載の情報処理装置。
(8)
前記所定の処理は、処理が行われることによって情報の変更が伴わない処理である、(7)に記載の情報処理装置。
(9)
前記処理部は、さらに、前記外部装置から送信される、前記割り込みの検出状態の確認を行うか否かを示す確認命令に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、(1)〜(8)のいずれか1つに記載の情報処理装置。
(10)
前記処理部は、
取得された前記確認命令が、前記割り込みの検出状態の確認を行うことを示す場合、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容を変更し、
取得された前記確認命令が、前記割り込みの検出状態の確認を行わないことを示す場合、前記割り込みの検出状態によらず前記割り込みが検出された後に行われる処理の内容を変更しない、(9)に記載の情報処理装置。
(11)
外部装置との間で一連の処理を行う処理部を備え、
前記処理部は、前記一連の処理が開始された後における前記一連の処理以外の処理の割り込みの検出を開始させる開始命令を、前記外部装置に対して送信させる、情報処理装置。
(12)
前記処理部は、前記一連の処理が開始された後、前記割り込みの検出状態の確認を行うか否かを示す確認命令を、前記外部装置に対して送信させる、(11)に記載の情報処理装置。
(13)
外部装置との間で一連の処理を行うステップと、
開始された前記一連の処理に対する前記一連の処理以外の処理の割り込みを検出するステップと、
を有し、
前記一連の処理を行うステップでは、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容が変更される、情報処理装置により実行される情報処理方法。
(1)
外部装置との間で一連の処理を行う処理部と、
前記一連の処理が開始された後における前記一連の処理以外の処理の割り込みを検出する検出部と、
を備え、
前記処理部は、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、情報処理装置。
(2)
前記検出部は、前記割り込みの検出状態を示す割り込み検出情報を、前記割り込みの検出結果に基づいて更新し、
前記処理部は、前記割り込み検出情報に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、(1)に記載の情報処理装置。
(3)
前記検出部は、前記割り込みが検出された場合、前記割り込み検出情報が示す前記検出状態を、前記割り込みが検出された状態に更新する、(2)に記載の情報処理装置。
(4)
前記検出部は、前記割り込みの検出を開始したときに、前記割り込み検出情報が示す前記検出状態を、前記割り込みが検出されていない状態に初期化する、(2)または(3)に記載の情報処理装置。
(5)
前記検出部は、前記外部装置から送信される、割り込みの検出を開始させる開始命令に基づいて、前記割り込みの検出を開始する、(1)〜(4)のいずれか1つに記載の情報処理装置。
(6)
前記割り込みの検出状態が、前記割り込みが検出された状態である場合、前記処理部は、前記割り込みが検出された後に行われる処理を行わない、(1)〜(5)のいずれか1つに記載の情報処理装置。
(7)
前記処理部は、前記割り込みが検出された後に行われる処理が、設定されている所定の処理である場合、前記割り込みの検出状態によらず前記割り込みが検出された後に行われる処理を行う、(6)に記載の情報処理装置。
(8)
前記所定の処理は、処理が行われることによって情報の変更が伴わない処理である、(7)に記載の情報処理装置。
(9)
前記処理部は、さらに、前記外部装置から送信される、前記割り込みの検出状態の確認を行うか否かを示す確認命令に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、(1)〜(8)のいずれか1つに記載の情報処理装置。
(10)
前記処理部は、
取得された前記確認命令が、前記割り込みの検出状態の確認を行うことを示す場合、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容を変更し、
取得された前記確認命令が、前記割り込みの検出状態の確認を行わないことを示す場合、前記割り込みの検出状態によらず前記割り込みが検出された後に行われる処理の内容を変更しない、(9)に記載の情報処理装置。
(11)
外部装置との間で一連の処理を行う処理部を備え、
前記処理部は、前記一連の処理が開始された後における前記一連の処理以外の処理の割り込みの検出を開始させる開始命令を、前記外部装置に対して送信させる、情報処理装置。
(12)
前記処理部は、前記一連の処理が開始された後、前記割り込みの検出状態の確認を行うか否かを示す確認命令を、前記外部装置に対して送信させる、(11)に記載の情報処理装置。
(13)
外部装置との間で一連の処理を行うステップと、
開始された前記一連の処理に対する前記一連の処理以外の処理の割り込みを検出するステップと、
を有し、
前記一連の処理を行うステップでは、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容が変更される、情報処理装置により実行される情報処理方法。
10、100 情報処理装置
20、200 サーバ
102 第1通信部
104 第2通信部
106、204 制御部
110、210 処理部
112 検出部
202 通信部
300 ネットワーク
400 リーダ/ライタ
1000 情報処理システム
20、200 サーバ
102 第1通信部
104 第2通信部
106、204 制御部
110、210 処理部
112 検出部
202 通信部
300 ネットワーク
400 リーダ/ライタ
1000 情報処理システム
Claims (13)
- 外部装置との間で一連の処理を行う処理部と、
前記一連の処理が開始された後における前記一連の処理以外の処理の割り込みを検出する検出部と、
を備え、
前記処理部は、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、情報処理装置。 - 前記検出部は、前記割り込みの検出状態を示す割り込み検出情報を、前記割り込みの検出結果に基づいて更新し、
前記処理部は、前記割り込み検出情報に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、請求項1に記載の情報処理装置。 - 前記検出部は、前記割り込みが検出された場合、前記割り込み検出情報が示す前記検出状態を、前記割り込みが検出された状態に更新する、請求項2に記載の情報処理装置。
- 前記検出部は、前記割り込みの検出を開始したときに、前記割り込み検出情報が示す前記検出状態を、前記割り込みが検出されていない状態に初期化する、請求項2に記載の情報処理装置。
- 前記検出部は、前記外部装置から送信される、割り込みの検出を開始させる開始命令に基づいて、前記割り込みの検出を開始する、請求項1に記載の情報処理装置。
- 前記割り込みの検出状態が、前記割り込みが検出された状態である場合、前記処理部は、前記割り込みが検出された後に行われる処理を行わない、請求項1に記載の情報処理装置。
- 前記処理部は、前記割り込みが検出された後に行われる処理が、設定されている所定の処理である場合、前記割り込みの検出状態によらず前記割り込みが検出された後に行われる処理を行う、請求項6に記載の情報処理装置。
- 前記所定の処理は、処理が行われることによって情報の変更が伴わない処理である、請求項7に記載の情報処理装置。
- 前記処理部は、さらに、前記外部装置から送信される、前記割り込みの検出状態の確認を行うか否かを示す確認命令に基づいて、前記割り込みが検出された後に行われる処理の内容を変更する、請求項1に記載の情報処理装置。
- 前記処理部は、
取得された前記確認命令が、前記割り込みの検出状態の確認を行うことを示す場合、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容を変更し、
取得された前記確認命令が、前記割り込みの検出状態の確認を行わないことを示す場合、前記割り込みの検出状態によらず前記割り込みが検出された後に行われる処理の内容を変更しない、請求項9に記載の情報処理装置。 - 外部装置との間で一連の処理を行う処理部を備え、
前記処理部は、前記一連の処理が開始された後における前記一連の処理以外の処理の割り込みの検出を開始させる開始命令を、前記外部装置に対して送信させる、情報処理装置。 - 前記処理部は、前記一連の処理が開始された後、前記割り込みの検出状態の確認を行うか否かを示す確認命令を、前記外部装置に対して送信させる、請求項11に記載の情報処理装置。
- 外部装置との間で一連の処理を行うステップと、
開始された前記一連の処理に対する前記一連の処理以外の処理の割り込みを検出するステップと、
を有し、
前記一連の処理を行うステップでは、前記割り込みの検出状態に基づいて、前記割り込みが検出された後に行われる処理の内容が変更される、情報処理装置により実行される情報処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017149655 | 2017-08-02 | ||
JP2017149655 | 2017-08-02 | ||
PCT/JP2018/023108 WO2019026442A1 (ja) | 2017-08-02 | 2018-06-18 | 情報処理装置、および情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2019026442A1 true JPWO2019026442A1 (ja) | 2020-08-13 |
Family
ID=65233711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019533948A Pending JPWO2019026442A1 (ja) | 2017-08-02 | 2018-06-18 | 情報処理装置、および情報処理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11625267B2 (ja) |
EP (1) | EP3663916A4 (ja) |
JP (1) | JPWO2019026442A1 (ja) |
KR (1) | KR102658712B1 (ja) |
CN (1) | CN110945482A (ja) |
WO (1) | WO2019026442A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016113968A (ja) * | 2014-12-16 | 2016-06-23 | アイシン精機株式会社 | 車両用制御装置および制御方法 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69125756T2 (de) * | 1990-06-29 | 1997-12-18 | Digital Equipment Corp | Verfahren und Einrichtung zur Entschlüsselung eines Informationspakets mit einem modifizierbaren Format |
US5850507A (en) * | 1996-03-19 | 1998-12-15 | Oracle Corporation | Method and apparatus for improved transaction recovery |
KR100218675B1 (ko) * | 1996-12-04 | 1999-09-01 | 정선종 | 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 |
DE19839680B4 (de) * | 1998-09-01 | 2005-04-14 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten |
DE19955776C1 (de) * | 1999-11-19 | 2001-07-19 | Infineon Technologies Ag | Multitasking-Prozessorsystem |
GB2367653B (en) * | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
US20020116563A1 (en) * | 2000-12-12 | 2002-08-22 | Lever Paul D. | Apparatus and method to reduce interrupt latency in shared interrupt systems |
US6961865B1 (en) * | 2001-05-24 | 2005-11-01 | Oracle International Corporation | Techniques for resuming a transaction after an error |
US7103597B2 (en) * | 2002-10-03 | 2006-09-05 | Mcgoveran David O | Adaptive transaction manager for complex transactions and business process |
US8107951B2 (en) * | 2002-11-05 | 2012-01-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Collective notification of node reset to subset of connections in radio access network |
JP2004234420A (ja) * | 2003-01-31 | 2004-08-19 | Mitsubishi Electric Corp | 割り込み制御方式及び割り込み制御方法 |
JP4581404B2 (ja) * | 2004-01-06 | 2010-11-17 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
US7487503B2 (en) * | 2004-08-12 | 2009-02-03 | International Business Machines Corporation | Scheduling threads in a multiprocessor computer |
JP4345630B2 (ja) * | 2004-09-29 | 2009-10-14 | ソニー株式会社 | 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム |
US8332826B2 (en) * | 2005-05-26 | 2012-12-11 | United Parcel Service Of America, Inc. | Software process monitor |
US9110712B2 (en) * | 2005-06-10 | 2015-08-18 | International Business Machines Corporation | Method for encapsulating logical units of work using business objects |
JP2007317100A (ja) * | 2006-05-29 | 2007-12-06 | Hitachi Ltd | データベースの更新方法及び情報処理装置 |
JP5178133B2 (ja) * | 2007-10-15 | 2013-04-10 | キヤノン株式会社 | 印刷装置、ジョブ処理方法、プログラム、並びに記憶媒体 |
US8621475B2 (en) * | 2007-12-06 | 2013-12-31 | International Business Machines Corporation | Responsive task scheduling in cooperative multi-tasking environments |
JP2009265963A (ja) * | 2008-04-25 | 2009-11-12 | Nec Electronics Corp | 情報処理システム及びタスクの実行制御方法 |
US20100017655A1 (en) * | 2008-07-16 | 2010-01-21 | International Business Machines Corporation | Error Recovery During Execution Of An Application On A Parallel Computer |
JP4668316B2 (ja) * | 2008-12-09 | 2011-04-13 | フェリカネットワークス株式会社 | 情報処理装置、情報処理方法、プログラム、および情報処理システム |
US7894270B2 (en) * | 2009-02-11 | 2011-02-22 | Mosys, Inc. | Data restoration method for a non-volatile memory |
US8213915B1 (en) * | 2009-02-12 | 2012-07-03 | Sprint Communications Company, L.P. | HTTP session management |
JP5214537B2 (ja) * | 2009-05-25 | 2013-06-19 | 株式会社東芝 | マルチプロセッサシステム |
US8307368B2 (en) * | 2009-05-26 | 2012-11-06 | Microsoft Corporation | Locality-based scheduling in continuation-based runtimes |
US8972627B2 (en) * | 2009-09-09 | 2015-03-03 | Fusion-Io, Inc. | Apparatus, system, and method for managing operations for data storage media |
CA2680596C (en) * | 2009-10-16 | 2010-11-02 | Ibm Canada Limited - Ibm Canada Limitee | Methods and systems involving remote exception checks |
US9626187B2 (en) * | 2010-05-27 | 2017-04-18 | International Business Machines Corporation | Transactional memory system supporting unbroken suspended execution |
JP5387776B2 (ja) * | 2010-07-27 | 2014-01-15 | 富士通株式会社 | 割込制御方法、マルチコアプロセッサシステム、および割込制御プログラム |
JP5573464B2 (ja) * | 2010-08-03 | 2014-08-20 | セイコーエプソン株式会社 | 投射型表示装置及びその制御方法 |
US8806511B2 (en) * | 2010-11-18 | 2014-08-12 | International Business Machines Corporation | Executing a kernel device driver as a user space process |
JP5284401B2 (ja) * | 2011-03-24 | 2013-09-11 | 株式会社東芝 | 動作切替装置およびプログラム |
US9015718B1 (en) * | 2011-09-28 | 2015-04-21 | Google Inc. | Identifying task instances that interfere with processor performance |
JP6069328B2 (ja) | 2012-08-31 | 2017-02-01 | 楽天Edy株式会社 | 携帯端末、携帯端末の制御方法、プログラム及び記録媒体 |
US9021143B2 (en) * | 2012-11-30 | 2015-04-28 | Intel Corporation | Polling of I/O devices on host initiated communication transports |
US9665432B2 (en) * | 2014-08-07 | 2017-05-30 | Microsoft Technology Licensing, Llc | Safe data access following storage failure |
US9898229B1 (en) * | 2016-07-29 | 2018-02-20 | Sandisk Technologies Llc | Systems and methods of memory reads |
US10235207B2 (en) * | 2016-09-30 | 2019-03-19 | Nimbix, Inc. | Method and system for preemptible coprocessing |
US9985872B2 (en) * | 2016-10-03 | 2018-05-29 | 128 Technology, Inc. | Router with bilateral TCP session monitoring |
US20180349253A1 (en) * | 2017-06-02 | 2018-12-06 | Intel Corporation | Error handling for device programmers and processors |
-
2018
- 2018-06-18 KR KR1020207001621A patent/KR102658712B1/ko active IP Right Grant
- 2018-06-18 JP JP2019533948A patent/JPWO2019026442A1/ja active Pending
- 2018-06-18 EP EP18841284.5A patent/EP3663916A4/en active Pending
- 2018-06-18 WO PCT/JP2018/023108 patent/WO2019026442A1/ja unknown
- 2018-06-18 US US16/633,897 patent/US11625267B2/en active Active
- 2018-06-18 CN CN201880049240.7A patent/CN110945482A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016113968A (ja) * | 2014-12-16 | 2016-06-23 | アイシン精機株式会社 | 車両用制御装置および制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20200031614A (ko) | 2020-03-24 |
US20210149712A1 (en) | 2021-05-20 |
CN110945482A (zh) | 2020-03-31 |
EP3663916A1 (en) | 2020-06-10 |
EP3663916A4 (en) | 2020-08-19 |
KR102658712B1 (ko) | 2024-04-19 |
WO2019026442A1 (ja) | 2019-02-07 |
US11625267B2 (en) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106990912B (zh) | 控制sim卡和sd卡的方法以及实现该卡的电子设备 | |
JP6962359B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US20220151008A1 (en) | Electronic device including electronic pen and method of controlling communication connection between electronic device and electronic pen | |
EP3749001B1 (en) | Electronic device and method for switching electronic device between dual standby mode and single standby mode | |
US20140256430A1 (en) | Information processing apparatus, information processing system, information processing method and recording medium | |
KR102487534B1 (ko) | 디스플레이 장치 및 디스플레이 장치의 동작 채널 설정방법 | |
CN109495871B (zh) | 蓝牙连接控制方法、电子装置及计算机可读存储介质 | |
US8799435B2 (en) | Managing apparatus, information processing apparatus, program, and information processing system | |
JP6123799B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN104423922A (zh) | 图像显示装置和数据传送方法 | |
US10118096B2 (en) | Information processing apparatus, information processing system, information processing method, and recording medium | |
JP2014167746A (ja) | 画像記録システム、画像記録装置、及び制御プログラム | |
CN111566608B (zh) | 用于提供与键盘布局相关联的功能的设备和方法 | |
KR20200141702A (ko) | 블루투스 네트워크 환경에서 외부 전자 장치의 검색 리스트를 표시하기 위한 전자 장치 및 그에 관한 방법 | |
US11385690B2 (en) | Electronic device for switching between communication channels and control method thereof | |
US11489957B2 (en) | Electronic device, external electronic device, and method for controlling external electronic device by using electronic device | |
JPWO2019026442A1 (ja) | 情報処理装置、および情報処理方法 | |
US10052553B2 (en) | Information processing apparatus, information processing system, information processing method, and recording medium | |
US11726647B2 (en) | Content sharing method and electronic device therefor | |
JP7027333B2 (ja) | 情報処理装置、および情報処理方法 | |
US20230421514A1 (en) | Electronic device and method for exchanging a message including media content | |
US20220188429A1 (en) | Electronic device for providing privacy services | |
EP4325874A1 (en) | Electronic device and operation method of electronic device | |
KR20220054041A (ko) | 전자 장치 및 통화 녹음 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210507 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221227 |