情報処理装置、情報処理方法、プログラム、および情報処理システム
【課題】アプリケーションにサービスごとに異なる振る舞いをさせることが可能な、情報処理装置、情報処理方法、プログラム、および情報処理システムを提供する。
【解決手段】サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、処理に関する情報に基づく処理をアプリケーションに実行させる処理部とを備え、処理制御部は、処理に関する情報に基づいて、処理に関する情報に基づく処理命令を第2のサーバに生成させ、処理部は、生成された処理命令が示す処理をアプリケーションに実行させる、情報処理装置が提供される。
【解決手段】サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、処理に関する情報に基づく処理をアプリケーションに実行させる処理部とを備え、処理制御部は、処理に関する情報に基づいて、処理に関する情報に基づく処理命令を第2のサーバに生成させ、処理部は、生成された処理命令が示す処理をアプリケーションに実行させる、情報処理装置が提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、プログラム、および情報処理システムに関する。
【背景技術】
【0002】
近年、例えば、非接触式IC(Integrated Circuit)カードや非接触式ICチップを搭載した携帯電話など、リーダ/ライタ(または、リーダ/ライタ機能を有する情報処理装置)と非接触式に通信可能な情報処理装置が普及している。リーダ/ライタと、ICカード、携帯電話などの情報処理装置とは、例えば13.56[MHz]など所定の周波数の磁界(搬送波)を通信に使用している。具体的には、リーダ/ライタが搬送波信号をのせた搬送波を送信し、搬送波をアンテナで受信したICカードなどの情報処理装置が負荷変調によって受信した搬送波信号に対する応答信号を返信することにより、リーダ/ライタと情報処理装置とは通信を行うことができる。
【0003】
また、上記のような情報処理装置は、耐タンパ性を有するICチップを備えることにより、例えば、電子マネーやサービスに付随する特典を享受するためのデータなど、データの改竄が問題となるデータの送受信や更新を安全に行うことができる。したがって、上記のようなリーダ/ライタと非接触式に通信可能なICチップを搭載した情報処理装置を利用した様々なサービスの提供が社会的に広がっており、また、ユーザは、1つの情報処理装置を用いて様々なサービスを享受することが可能となっている。
【0004】
ここで、情報処理装置に様々なサービスに対応する処理を行わせるための方法としては、例えば、サービスごとに、異なるアプリケーションを情報処理装置に実行させることが挙げられる。しかしながら、上記の方法を用いる場合には、情報処理装置に各サービスに対応するアプリケーションをそれぞれ実装しておかなければならない。
【0005】
このような中、1つのアプリケーションに異なる振る舞いをさせる技術が開発されている。エージェント(1つのアプリケーション)の振る舞いを規定するロールをサーバから取得することによって、エージェントに取得したロールに対応する処理を行わせる技術としては、例えば、特許文献1に記載の技術が挙げられる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−244168号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
例えば特許文献1に記載されている、1つのアプリケーションに異なる振る舞いをさせる技術(以下、「従来の技術」と示す場合がある。)では、情報処理装置は、エージェントの振る舞いを規定するロールをサーバから取得し、エージェントに取得したロールに対応する処理を行わせる。ここで、従来の技術におけるロールとは、処理の内容の一部が記述されたスクリプトデータである。よって、従来の技術を用いることによって、エージェント(1つのアプリケーション)に異なる振る舞いをさせることができる。
【0008】
ここで、情報処理装置において実行される処理によっては、特定の条件に合致するアプリケーションでしか実行することができないことがある。しかしながら、例えば特許文献1に記載の技術では、情報処理装置側において特定の条件に合致するアプリケーションを把握する手段についての考慮がなされていない。したがって、従来の技術を用いたとしても、情報処理装置が実行する1つのアプリケーションであるエージェントに、条件に応じてサービスごとに異なる振る舞いをさせることができない恐れがある。
【0009】
本開示では、複数のサービスに対応する処理を行うことが可能なアプリケーションに、サービスごとに異なる振る舞いをさせることが可能な、新規かつ改良された情報処理装置、情報処理方法、プログラム、および情報処理システムを提案する。
【課題を解決するための手段】
【0010】
本開示によれば、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、上記処理に関する情報に基づく処理を上記アプリケーションに実行させる処理部と、を備え、上記処理制御部は、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記処理部は、生成された上記処理命令が示す処理を上記アプリケーションに実行させる、情報処理装置が提供される。
【0011】
また、本開示によれば、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップと、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせるステップと、
上記アプリケーションにより、上記処理に関する情報に基づく処理を実行するステップと、を有し、上記処理の実行を可能にさせるステップでは、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記実行するステップでは、生成された上記処理命令が示す処理が実行される、情報処理方法が提供される。
【0012】
また、本開示によれば、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップ、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせるステップ、上記アプリケーションにより、上記処理に関する情報に基づく処理を実行するステップ、をコンピュータに実行させ、上記処理の実行を可能にさせるステップでは、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記実行するステップでは、生成された上記処理命令が示す処理が実行される、プログラムが提供される。
【0013】
また、本開示によれば、情報処理装置と、上記情報処理装置と通信を行うことが可能なサーバと、を有し、上記情報処理装置は、上記サーバと通信を行う通信部と、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、上記処理に関する情報に基づく処理を上記アプリケーションに実行させる処理部と、を備え、上記処理制御部は、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記処理部は、生成された上記処理命令が示す処理を上記アプリケーションに実行させる、情報処理システムが提供される。
【発明の効果】
【0014】
本開示によれば、複数のサービスに対応する処理を行うことが可能なアプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【図面の簡単な説明】
【0015】
【図1】本実施形態に係る情報処理方法に係る処理の第1の例を示す説明図である。
【図2】本実施形態に係る情報処理方法に係る処理の第2の例を示す説明図である。
【図3】本実施形態に係る情報処理方法に係る処理における、情報処理装置とサーバとの間におけるデータの授受の一例を示す説明図である。
【図4】本実施形態に係る情報処理方法に係る処理における、情報処理装置とサーバとの間におけるデータの授受の他の例を示す説明図である。
【図5】本実施形態に係る情報処理方法に係る処理の第3の例を示す説明図である。
【図6】本実施形態に係る情報処理方法に係る処理の一例を補足するための説明図である。
【図7】本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の一例を示す説明図である。
【図8】本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の他の例を示す説明図である。
【図9】本実施形態に係る情報処理方法に係る処理の第4の例を示す説明図である。
【図10】本実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図11】本実施形態に係る情報処理装置のハードウェア構成の一例を示す説明図である。
【発明を実施するための形態】
【0016】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0017】
また、以下では、下記に示す順序で説明を行う。
1.本実施形態に係る情報処理方法
2.本実施形態に係る情報処理装置
3.本実施形態に係るプログラム
【0018】
(本実施形態に係る情報処理方法)
本実施形態に係る情報処理装置(以下、「情報処理装置100」と示す場合がある。)の構成について説明する前に、本実施形態に係る情報処理方法について説明する。また、以下では、本実施形態に係る情報処理装置が、本実施形態に係る情報処理方法に係る処理を行うものとして説明する。
【0019】
[本実施形態に係る情報処理方法の概要]
上述したように、サービス事業者が運営するサーバの機能や、サービスの提供方法が、サービス事業者間で同一であるとは限られない。そこで、本実施形態に係る情報処理装置100は、サービスを提供するサーバ(第1のサーバ)から取得された処理に関する情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるか否かを判定する(判定処理)。また、情報処理装置100は、処理を実行することが可能ではないと判定された場合には、処理に関する情報に基づく処理の実行を可能にさせる(実行制御処理)。そして、情報処理装置100は、複数のサービスに対応する処理を行うことが可能なアプリケーション(以下、「共有アプリケーション」と示す。)により、処理に関する情報に基づく処理を実行する(実行処理)。
【0020】
上記のように、情報処理装置100は、判定処理を行い、判定処理の結果に応じて実行制御処理を選択的に行った上で、実行処理を行う。ここで、情報処理装置100において実行制御処理が行われない場合には、共有アプリケーションは、取得された処理に関する情報に基づいて処理を実行することができる。また、情報処理装置100において実行制御処理が行われた場合には、処理に関する情報に基づく処理の実行が可能な状態となっているので、共有アプリケーションは、取得された処理に関する情報に基づく処理を実行することができる。
【0021】
したがって、本実施形態に係る情報処理装置100は、(1)判定処理、(2)実行制御処理、および(3)実行処理、を行うことによって、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0022】
以下、より具体的に、本実施形態に係る情報処理方法に係る処理について説明する。
【0023】
(1)判定処理
情報処理装置100は、例えば、共有アプリケーションが取得された処理に関する情報を用いてサービスに係る処理を行うことができるか否かを、取得された処理に関する情報に基づいて判定する。
【0024】
ここで、本実施形態に係る処理に関する情報とは、例えば、情報処理装置100に何らかの処理を行わせるための情報(データ)である。本実施形態に係る処理に関する情報としては、例えば、「処理命令」や、「許可情報」、「特定情報、および処理の種別を規定するパラメータ」、「設定命令」、「条件情報」などが挙げられる。
【0025】
本実施形態に係る処理命令とは、サービス事業者が定義する、共有アプリケーションに行わせる処理を規定するデータである。処理命令としては、例えば、スクリプトデータが挙げられる。
【0026】
情報処理装置100は、例えば処理に関する情報が処理命令を示す場合には、処理を実行することが可能であると判定する。上記の場合には、情報処理装置100は、(3)の処理(実行処理)において、処理命令に対応する処理を共有アプリケーションに行わせる。
【0027】
また、本実施形態に係る許可情報とは、共有アプリケーションがサービス事業者を認証し、サービス事業者の権限に応じた処理のみを共有アプリケーションが行えるよう制御するデータである。本実施形態に係る許可情報としては、例えば、アプリケーションがアクセスすることが可能な記憶媒体の領域を示す情報や、許可情報の有効期限を示す情報などが挙げられる。また、本実施形態に係る許可情報は、例えば、共有アプリケーションを管理する管理者が、サービス事業者に対して発行する。
【0028】
情報処理装置100は、例えば処理に関する情報が処理命令と許可情報とを示す場合には、処理を実行することが可能であると判定し、(3)の処理(実行処理)において、許可情報が示す制限内において処理命令に対応する処理を共有アプリケーションに行わせる。
【0029】
また、本実施形態に係る特定情報とは、処理に関する情報に基づく処理命令を生成するサーバ(第2のサーバ)を特定するデータであり、本実施形態に係る処理の種別を規定するパラメータとは、第2のサーバに特定の処理に係る処理命令を生成させるためのパラメータである。本実施形態に係る特定情報としては、例えば、第2サーバを示すURLや、IP(Internet Protcol)アドレスなどが挙げられる。以下では、特定情報がURLである場合を例に挙げて説明し、特定情報を「処理命令配布URL」と示す場合がある。なお、情報処理装置100が処理に関する情報を取得するサーバ(第1のサーバ)と、処理に関する情報に基づく処理命令を生成するサーバ(第2のサーバ)とは、同一のサーバであってもよいし、異なるサーバ(例えば、物理的に異なるサーバ、または、管理者が異なるサーバ)であってもよい(以下、同様とする。)。
【0030】
情報処理装置100は、例えば処理に関する情報が特定情報と処理の種別を規定するパラメータとを示す場合には、処理を実行することが可能でないと判定する。上記の場合には、情報処理装置100は、(2)の処理(実行制御処理)を行った上で、(3)の処理(実行処理)を行う。
【0031】
また、本実施形態に係る設定命令とは、例えば、共有アプリケーションが実行する処理を変更させるためのデータである。ここで、本実施形態に係る設定命令としては、例えば、共有アプリケーションが実行する処理の変更に係る実データ(以下、「カスタマイズデータ」)を生成するサーバを特定する情報や、生成に係るパラメータが挙げられる。以下では、設定命令を「カスタマイズ命令」と示す場合がある。なお、本実施形態に係る設定命令は、上記に限られず、例えば、カスタマイズデータそのものであってもよい。カスタマイズデータは、サービス事業者が定義する処理を共有アプリケーションが行うにあたって必要となるデータと換言することができる。
【0032】
情報処理装置100は、例えば、処理に関する情報が、「処理命令」または「特定情報、および処理の種別を規定するパラメータ」に加え、設定命令をさらに含む場合には、処理を実行することが可能でないと判定する。上記の場合には、情報処理装置100は、(2)の処理(実行制御処理)を行った上で、(3)の処理(実行処理)を行う。
【0033】
また、本実施形態に係る「条件情報」とは、例えば、処理の実行が許可される共有アプリケーションのバージョンに関する条件を示すデータである。本実施形態に係る条件情報としては、例えば、処理の実行に必要な共有アプリケーションのバージョンの値を示すパラメータが挙げられる。つまり、本実施形態に係る条件情報は、サービス事業者が定義する処理を行うにあたり必要な共有アプリのバージョンを示すものである。
【0034】
情報処理装置100は、例えば処理に関する情報に条件情報が含まれる場合には、共有アプリケーションが、条件情報が示す条件を満たすか否かを判定する。ここで、情報処理装置100は、例えば、共有アプリケーションのバージョンの値と、条件情報が示すバージョンの値とを比較し、共有アプリケーションのバージョンの値が条件情報が示すバージョンの値以上である場合に、条件情報が示す条件を満たすと判定する。
【0035】
共有アプリケーションが条件情報が示す条件を満たすと判定された場合には、情報処理装置100は、処理に関する情報が条件情報に含まれる他の情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるか否かを判定する。また、情報処理装置100は、共有アプリケーションが条件情報が示す条件を満たさないと判定した場合には、(2)の処理(実行制御処理)において、共有アプリケーションの更新を行う。そして、情報処理装置100は、例えば、共有アプリケーションが条件情報が示す条件を満たすかを再度判定する。
【0036】
情報処理装置100は、判定処理において、例えば上記のように、処理に関する情報に基づく処理を実行することが可能であるか否かを判定する。なお、本実施形態に係る情報処理装置100における(1)の処理(判定処理)は、上記に限られない。例えば、処理に関する情報には、上記各情報が複数組み合わせて含まれうる。上記の場合には、情報処理装置100は、例えば、処理に関する情報に含まれる情報それぞれに基づく判定を行い、いずれかの判定結果が“処理を実行することが可能でない”ことを示す場合には、処理を実行することが可能でないと判定する。そして、情報処理装置100は、処理に関する情報に含まれる情報それぞれに基づく判定の結果に対応して(2)の処理(実行制御処理)を行った上で、(3)の処理(実行処理)を行う。
【0037】
(2)実行制御処理
情報処理装置100は、上記(1)の処理(判定処理)において、処理を実行することが可能でないと判定された場合には、例えば、処理に関する情報に基づいて、処理に関する情報に基づく処理命令をサーバ(第2のサーバ)に生成させる。情報処理装置100が、サーバに処理命令(例えばスクリプトデータ)を生成させ、当該サーバから処理命令を取得することによって、情報処理装置100は、共有アプリケーションに当該処理命令に応じた処理を行わせることが可能となる。よって、情報処理装置100は、(2)の処理(実行制御処理)によって、共有アプリケーションによる処理に関する情報に基づく処理の実行を可能とすることができる。
【0038】
より具体的には、例えば、処理に関する情報が、特定情報と処理の種別を規定するパラメータとを含む場合には、情報処理装置100は、特定情報が示すサーバへとパラメータを含む生成要求を送信する。上記生成要求を送信することによって、情報処理装置100は、当該生成要求を受信したサーバにパラメータに対応する処理命令を生成させ、生成された処理命令を情報処理装置100へ送信させることができる。よって、情報処理装置100は、特定情報が示すサーバ(第2のサーバ)から処理命令を取得することができる。
【0039】
また、処理に関する情報が、「処理命令」または「特定情報、および処理の種別を規定するパラメータ」に加え、設定命令をさらに含む場合には、情報処理装置100は、例えば、設定命令が示すサーバに対して設定データの送信要求を送信して、当該サーバに設定命令に対応する設定データを送信させる。上記によって、情報処理装置100は、(3)の処理(実行処理)において、取得した設定データを用いた処理を共有アプリケーションに実行させることができる。
【0040】
また、情報処理装置100は、上記(1)の処理(判定処理)において、共有アプリケーションが条件情報が示す条件を満たすと判定されなかった場合には、共有アプリケーションを更新するための更新データを記憶するサーバに、更新データを送信させる。そして、情報処理装置100は、取得した更新データを用いて共有アプリケーションを更新する。ここで、情報処理装置100は、例えば、共有アプリケーションの更新処理の実行に際して中断されるサービスに係る処理を再開させるためのWebページ(後述する処理再開ページ)に含まれる、更新データを記憶するサーバを特定する情報を参照する。そして、情報処理装置100は、参照した情報が示すサーバに更新データの送信要求を送信することによって、当該サーバに更新データを送信させる。上記更新データを記憶するサーバを特定する情報としては、例えば、URLやIPアドレス、処理パラメータなどを示すデータが挙げられる。
【0041】
なお、本実施形態に係る情報処理装置100における、更新データの送信要求の送信方法は、上記に限られない。例えば、情報処理装置100は、例えば記憶部(後述する)などに予め記憶された、更新データを記憶するサーバを特定する情報を参照し、当該情報が示すサーバに更新データの送信要求を送信することによって、当該サーバに更新データを送信させてもよい。また、情報処理装置100は、例えば、更新データを記憶するサーバを特定する情報が、条件情報に含まれている場合には、条件情報を参照して更新データの送信要求を送信してもよい。
【0042】
さらに、上記(1)の処理(判定処理)において、共有アプリケーションが条件情報が示す条件を満たすと判定されなかった場合には、情報処理装置100は、共有アプリケーションによる処理に関する情報に基づく処理の実行を中断させる。そして、情報処理装置100は、共有アプリケーションの更新が完了した後に、共有アプリケーションによる処理に関する情報に基づく処理を再開させる。
【0043】
情報処理装置100は、(2)の処理(実行制御処理)において、例えば上記のような処理を行う。
【0044】
(3)実行処理
情報処理装置100は、共有アプリケーションに第1のサーバから取得された処理に関する情報に基づく処理を実行させる。
【0045】
より具体的には、上記(1)の処理(判定処理)において処理を実行することが可能であると判定された場合には、情報処理装置100は、例えば、サービスを提供するサーバ(第1のサーバ)から取得された処理命令(処理に関する情報の一例)に基づく処理を、共有アプリケーションに実行させる。また、上記の場合において、サーバから取得された処理に関する情報に許可情報がさらに含まれている場合には、情報処理装置100は、例えば、許可情報が示す制限内において、処理命令に基づく処理を共有アプリケーションに実行させる。
【0046】
また、上記(1)の処理(判定処理)において処理を実行することが可能でないと判定された場合には、情報処理装置100は、上記(2)の処理(実行制御処理)によって実行が可能となった、取得された処理に関する情報に基づく処理を、共有アプリケーションに実行させる。
【0047】
情報処理装置100は、本実施形態に係る情報処理方法に係る処理として、例えば、上記のような(1)の処理(判定処理)〜(3)の処理(実行処理)を行う。ここで、情報処理装置100において(2)の処理(実行制御処理)が行われない場合には、共有アプリケーションは、サービスを提供するサーバ(第1のサーバ)から取得された処理に関する情報に基づいて処理を実行する。また、情報処理装置100において(2)の処理(実行制御処理)が行われた場合には、処理に関する情報に基づく処理の実行が可能な状態となっているので、共有アプリケーションは、取得された処理に関する情報に基づく処理を実行することができる。
【0048】
したがって、上記のような(1)の処理(判定処理)〜(3)の処理(実行処理)によって、情報処理装置100は、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0049】
[本実施形態に係る情報処理方法に係る処理の具体例]
次に、本実施形態に係る情報処理方法に係る処理について、より具体的に説明する。なお、以下では、情報処理装置100が、サービスそれぞれに対応する複数の領域が設定されているICチップを備え、情報処理装置100は、共有アプリケーションによって、サービスに対応するICチップの領域へのデータの書き込みや当該領域からのデータの読み出しを、サービスに対応する処理として行う場合を主に例に挙げて説明する。なお、本実施形態に係るサービスに対応する処理は、上記の例に限られない。本実施形態に係るサービスに対応する処理の内容は、サービス事業者が処理に関する情報に規定することが可能である。よって、本実施形態に係るサービスに対応する処理としては、サービスの提供に係る任意の処理が挙げられる。
【0050】
また、以下では、情報処理装置100が、実行する共有アプリケーションによって、上記(1)の処理(判定処理)〜(3)の処理(実行処理)を行う場合を例に挙げて説明する。なお、本実施形態に係る情報処理方法に係る処理が、実行する共有アプリケーションによって上記(1)の処理(判定処理)〜(3)の処理(実行処理)を行う場合に限られないことは、言うまでもない。
【0051】
[I]第1の例
図1は、本実施形態に係る情報処理方法に係る処理の第1の例を示す説明図である。ここで、図1は、情報処理装置100が、サービス事業者のWebサイトを通じて処理に関する情報を取得し、共有アプリケーションにより処理に関する情報に基づく処理を行う例を示している。
【0052】
図1では、情報処理装置100と、ネットワーク300で接続されたサーバ200(または、サーバ群。以下、同様とする。)とを有する情報処理システムを示している。また、図1では、情報処理装置100と有線/無線で通信を行う外部端末400を併せて示している。ここで、本実施形態に係るネットワーク300としては、例えば、LAN(Local Area Network)やWAN(Wide Area Network)などの有線ネットワーク、無線LAN(WLAN;Wireless Local Area Network)や基地局を介した無線WAN(WWAN;Wireless Wide Area Network)などの無線ネットワーク、あるいは、TCP/IP(Transmission Control Protocol/Internet Protocol)などの通信プロトコルを用いたインターネットなどが挙げられる。
【0053】
情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の開始ページを表示させる。ここで、上記開始ページには、例えば、サーバ200が処理に関する情報を情報処理装置100などの外部装置に送信するトリガとなるリンクが、設けられる。例えばユーザが情報処理装置100を操作して上記リンクをクリックすると、サーバ200から情報処理装置100へと処理に関する情報が送信される(S100)。ここで、ステップS100において送信される処理に関する情報には、少なくとも、処理命令または処理命令配布URL(特定情報の一例)が含まれるものとする。なお、Webブラウザは、サービス事業者に対応するアプリケーションであってもよい(以下、同様とする。)。
【0054】
ステップS100においてサーバ200から送信された処理に関する情報を受信した情報処理装置100は、Webブラウザから共有アプリケーションへと処理に関する情報を受け渡す(S102)。ここで、ステップS102における処理に関する情報の受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられるが、処理に関する情報の受け渡し方法は、上記に限られない。
【0055】
情報処理装置100は、共有アプリケーションによって処理に関する情報を用いてサービスに係る処理を行うことができるか否かを判定する(S104)。情報処理装置100は、例えば、処理に関する情報に処理命令が含まれている場合に処理に関する情報を用いてサービスに係る処理を行うことができると判定し、また、処理に関する情報に処理命令配布URLが含まれている場合に処理に関する情報を用いてサービスに係る処理を行うことができないと判定する。ここで、ステップS104の処理は、上記(1)の処理(判定処理)に該当する。
【0056】
ステップS104において、サービスに係る処理を行うことができると判定された場合には、情報処理装置100は、共有アプリケーションによって、後述するステップS110の処理およびS112の処理、または、後述するステップS114の処理およびS116の処理を行う。
【0057】
また、ステップS104において、サービスに係る処理を行うことができると判定されない場合には、情報処理装置100は、サーバ200に処理命令(または、処理命令および許可情報)を要求する(S106)。情報処理装置100は、例えば、処理命令配布URLと処理の種別を規定するパラメータとに基づいて、サーバ200に処理命令の生成要求を送信する。ここで、ステップS106の処理は、上記(2)の処理(実行制御処理)に該当する。
【0058】
ステップS106において情報処理装置100から送信された要求を受信したサーバ200は、処理命令配布機能によって、当該要求に対応する処理命令を生成し、情報処理装置100へと送信する(S108)。ここで、サーバ200における処理命令配布機能とは、サーバ200における、処理命令を生成、配信する機能である。なお、サーバ200は、ステップS108において、許可情報をさらに送信してもよい。
【0059】
ステップS100においてサーバ200から処理命令を処理に関する情報として取得した場合、または、ステップS108において処理命令を受信した場合、情報処理装置100は、共有アプリケーションによって処理命令に対応する処理を行う。ここで、上記処理命令は、サーバ200によって生成されたものである。よって、情報処理装置100は、サービスごとに異なる振る舞いを共有アプリケーションにさせることができる。また、処理命令に対応する処理の実行は、上記(3)の処理(実行処理)に該当する。
【0060】
より具体的には、例えば、処理命令が、サービス事業者Aに対応するICチップの領域に対するデータの読み書きを規定している場合には、情報処理装置100は、共有アプリケーションにより、ICチップにおける処理命令に対応する領域Aに対するデータの書き込みや領域A読み出しを行う(S110、S112)。また、上記の場合において、情報処理装置100は、共有アプリケーションにより、外部端末400が備えるICチップにおける、処理命令に対応する領域Aに対するデータの書き込みや領域A読み出しを行ってもよい(S114、S116)。ステップS114、S116の処理を行う場合、情報処理装置100は、例えば、13.56[MHz]などの所定の周波数の搬送波を送信するリーダ/ライタ機能を有する。
【0061】
また、情報処理装置100が許可情報をさらに受信している場合には、情報処理装置100は、例えば、許可情報により許可された処理のみを共有アプリケーションに行わせる。ここで、本実施形態に係る許可情報は、例えば、共有アプリケーションを管理する管理者が、サービス事業者に対して発行するデータであり、許可情報には、共有アプリケーションを管理する管理者の署名が付与される。また、情報処理装置100は、例えば、共有アプリケーションにより許可情報の署名を検証し、検証結果が正常である場合に、許可情報が示す制限内において処理を行う。さらに、情報処理装置100は、許可情報の有効性を判定した上で、許可情報の検証を行ってもよい。
【0062】
ここで、許可情報の有効性の判定方法としては、例えば、許可情報の失効リストを記憶するサーバと通信を行い、取得された許可情報が失効しているか否かを判定する方法や、許可情報に設定されている有効期限が有効であるか否かを判定する方法などが挙げられる。上記取得された許可情報が失効しているか否かを判定する方法における判定処理は、サーバにおいて行われてもよいし、共有アプリケーションが行ってもよい。また、情報処理装置100が、上記判定処理を開始する前にサーバから許可情報の失効リストを取得し、取得した許可情報の失効リストを記憶している場合には、情報処理装置100は、許可情報の失効リストを記憶するサーバと通信を行わなくてもよい。
【0063】
例えば上記のように許可情報に基づく処理を行うことによって、情報処理装置100では、例えば、他のサービス事業者に対応するICチップの領域へのデータの読み書きが防止される。よって、情報処理装置100は、共有アプリケーションに、サービスごとに異なる振る舞いをより正常に行わせることができる。
【0064】
共有アプリケーションによって処理命令に対応する処理を行った情報処理装置100は、共有アプリケーションからWebブラウザへと処理結果を受け渡す(S118)。ここで、共有アプリケーションからWebブラウザへと受け渡される処理結果としては、例えば、URLパラメータが挙げられる。また、ステップS118における処理結果の受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0065】
なお、本実施形態に係る情報処理装置100における処理は、上記に限られない。例えば、情報処理装置100は、共有アプリケーションによって処理命令に対応する処理を行った後に、ステップS106の処理をさらに行うことによって、処理命令に対応する処理を複数回行うことも可能である。上記のように、共有アプリケーションによって処理命令に対応する処理が複数回行われる場合には、情報処理装置100では、例えば、複数回行われた処理命令に対応する処理の結果、すなわち、共有アプリケーションによって複数回行われた処理命令に対応する処理の最終的な結果が、共有アプリケーションからWebブラウザへと受け渡される。上記のように、複数回行われた処理命令に対応する処理の結果がステップS118において受け渡されることによって、後述するステップS120の処理により複数回行われた処理の結果が反映された終了ページが表示されることとなる。
【0066】
また、共有アプリケーションによって処理命令に対応する処理が複数回行われる場合には、情報処理装置100では、例えば、再度行われるステップS106の処理と同期して、共有アプリケーションからWebブラウザへと行われた処理命令に対応する処理の結果が受け渡されてもよい。上記のように、共有アプリケーションによって処理命令に対応する処理が複数回行われると共に、処理命令に対応する処理が行われるごとに、処理の結果がステップS118において共有アプリケーションからWebブラウザへと受け渡される場合には、例えば、処理命令に対応する処理が行われるごとに、後述するステップS120の処理により処理結果が情報処理装置100からサーバ200へと送信される。そして、例えば、共有アプリケーションによって最後に行われた処理(例えば、サーバ200からステップS108において送信される、サービスに係る処理の終了要求に対応する処理)の結果が、後述するステップS120の処理によりサーバ200へと送信されたときに、複数回行われた処理の結果が反映された終了ページが表示される。
【0067】
情報処理装置100は、Webブラウザを介してURLパラメータ(処理結果の一例)をサーバ200へ送信する(S120)。
【0068】
ステップS120の処理によって送信されたURLパラメータを受信したサーバ200は、URLパラメータを用いてサービスに係る処理の終了を示す終了ページ(Webページ)を動的に生成する。なお、上述したように、共有アプリケーションによって処理命令に対応する処理が複数回行われる場合には、サーバ200は、例えば、サービスに係る処理の終了要求に対応する処理の結果を受信したときに、終了ページを動的に生成してもよい。そして、情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の終了ページを表示させる。
【0069】
本実施形態に係る情報処理システムでは、例えば図1に示す処理が行われる。図1に示す処理によって、情報処理装置100は、サービス事業者のWebサイトを通じて処理に関する情報を取得し、共有アプリケーションによって処理に関する情報に基づく処理を行うことができる。なお、情報処理装置100とサーバ200などのサーバとの間におけるデータの授受の具体例については、後述する本実施形態に係る情報処理方法に係る処理の第2の例におけるデータの授受の具体例と併せて説明する。
【0070】
[II]第2の例
図2は、本実施形態に係る情報処理方法に係る処理の第2の例を示す説明図である。ここで、図2は、情報処理装置100が、上記第1の例に係る処理に加え、さらにカスタマイズデータを取得して処理に関する情報に基づく処理を行う例を示している。図2では、情報処理装置100と、ネットワーク300で接続されたサーバ200、および共有アプリケーションサーバ500とを有する情報処理システムを示している。
【0071】
情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の開始ページを表示させる。ここで、上記開始ページには、例えば、サーバ200が処理に関する情報を情報処理装置100などの外部装置に送信するトリガとなるリンクが、設けられる。図1のステップS100と同様に、例えばユーザが情報処理装置100を操作して上記リンクをクリックすると、サーバ200から情報処理装置100へと処理に関する情報が送信される(S200)。ここで、ステップS200において送信される処理に関する情報には、少なくとも、処理命令または処理命令配布URL(特定情報の一例)と、カスタマイズ命令(設定命令)とが含まれるものとする。
【0072】
ステップS200においてサーバ200から送信された処理に関する情報を受信した情報処理装置100は、図1のステップS102と同様に、Webブラウザから共有アプリケーションへと処理に関する情報を受け渡す(S202)。
【0073】
情報処理装置100は、共有アプリケーションによって、処理に関する情報を用いてサービスに係る処理を行うことができるか否かを判定する(S204)。ここで、ステップS204の処理は、上記(1)の処理(判定処理)に該当する。
【0074】
図2の例では、処理に関する情報にカスタマイズ命令が含まれているので、情報処理装置100は、処理に関する情報を用いてサービスに係る処理を行うことができると判定しない。また、情報処理装置100は、処理に関する情報に処理命令が含まれているか、または、処理に関する情報に処理命令配布URLが含まれているかによって、後述するステップS212の処理が必要であるか否かを判定する。
【0075】
情報処理装置100は、カスタマイズ命令に基づいて、カスタマイズ命令が指定するサーバに、カスタマイズデータの送信を要求する送信要求を送信する(S206)。ここで、図2では、共有アプリケーションサーバ500にカスタマイズデータが記憶されている例を示しているが、本実施形態に係る情報処理システムは、図2に示す例に限られない。例えば、本実施形態に係る情報処理システムでは、サーバ200にカスタマイズデータが記憶されていてもよい。
【0076】
ステップS206において情報処理装置100から送信された要求を受信したサーバは、当該要求に対応するカスタマイズデータを情報処理装置100へと送信する(S208)。
【0077】
ステップS208において送信されたカスタマイズデータを受信した情報処理装置100は、カスタマイズデータを共有アプリケーションに適用する(S210)。ステップS210の処理を行うことによって、情報処理装置100は、共有アプリケーションがあたかも提供されるサービス専用のアプリケーションであるように、ユーザに認識させることが可能となる。また、共有アプリケーションにカスタマイズデータを適用をすることによって、例えば、共有アプリケーションが処理実行中にユーザに提示する提示内容や提示方法を変えることができる。したがって、共有アプリケーションへのカスタマイズデータの適用を可能とすることによって、例えばユーザへの提示内容や提示方法を、サービス事業者が制御することが可能となる。ここで、カスタマイズデータにより制御される提示方法としては、例えば、表示画面に文字等を表示させる視覚的な提示や、音声による聴覚的な提示が挙げられる。
【0078】
ステップS210の処理が完了すると、情報処理装置100は、ステップS204の処理における判定結果に応じて、図1のステップS106と同様に、サーバ200に処理命令(または、処理命令および許可情報)を要求する(S212)。情報処理装置100は、例えば、ステップS204の処理において処理に関する情報に処理命令配布URLが含まれていると判定された場合に、ステップS212の処理を行う。
【0079】
ここで、例えば、情報処理装置100におけるステップS206の処理、ステップS210の処理、およびステップS212の処理は、上記(2)の処理(実行制御処理)に該当する。
【0080】
ステップS212において情報処理装置100から送信された要求を受信したサーバ200は、図1のステップS108と同様に、生成した処理命令を情報処理装置100へと送信する(S214)。なお、サーバ200は、ステップS214において、許可情報をさらに送信してもよい。
【0081】
ステップS200においてサーバ200から処理命令を処理に関する情報として取得した場合、または、ステップS214において処理命令を受信した場合、情報処理装置100は、共有アプリケーションによって、カスタマイズデータと処理命令とに対応する処理を行う(S216)。ここで、ステップS216の処理は、上記(3)の処理(実行処理)に該当する。
【0082】
ステップS216の処理を行った情報処理装置100は、図1のステップS118と同様に、共有アプリケーションからWebブラウザへと処理結果を受け渡す(S218)。そして、情報処理装置100は、Webブラウザを介してURLパラメータ(処理結果の一例)をサーバ200へ送信する(S220)。
【0083】
ステップS220の処理によって送信されたURLパラメータを受信したサーバ200は、URLパラメータを用いてサービスに係る処理の終了を示す終了ページ(Webページ)を動的に生成する。そして、情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の終了ページを表示させる。
【0084】
本実施形態に係る情報処理システムでは、例えば図2に示す処理が行われる。図2に示す処理によって、情報処理装置100は、上記第1の例に係る処理に加え、さらにカスタマイズデータを取得して処理に関する情報に基づく処理を行うことができる。
【0085】
なお、本実施形態に係る情報処理システムにおける、情報処理装置100がカスタマイズデータを用いる処理は、図2に示す処理に限られない。例えば、サービス事業者のWebサイトを通じて取得される処理に関する情報に、カスタマイズデータ(またはカスタマイズデータの一部のデータ)が含まれる場合には、情報処理装置100は、サービス事業者のWebサイトを通じて取得されるカスタマイズデータを共有アプリケーションに適用して処理を行うことも可能である。
【0086】
ここで、本実施形態に係る情報処理方法に係る処理における、情報処理装置100とサーバ200などのサーバとの間におけるデータの授受の具体例について説明する。
【0087】
図3は、本実施形態に係る情報処理方法に係る処理における、情報処理装置100とサーバとの間におけるデータの授受の一例を示す説明図である。ここで、図3は、基本的には、図2を参照して説明した処理におけるデータの授受の一例を示しているが、説明の便宜上、情報処理装置100が、サーバ200からカスタマイズデータを取得する例を示している。
【0088】
Webブラウザは、共有アプリケーションに処理に関する情報を受け渡す(S300)。図3に示すD1は、処理に関する情報の一例を示している。ここで、ステップS300の処理は、図2のステップS202の処理に対応する。
【0089】
ステップS300において処理に関する情報を受け渡された共有アプリケーションは、図3のD2に示すように、スキーム名「kyoyu」を削除する(S302)。また、共有アプリケーションは、図3のD2に示すURLに基づいて、処理命令配布URL(図3に示すD3)と、カスタマイズデータ配布URL(図3に示すD4。カスタマイズ命令の一例)とに分解する(S304)。
【0090】
共有アプリケーションは、カスタマイズデータ配布URLが示すサーバに、カスタマイズデータの送信を要求する送信要求を送信する(S306)。ここで、ステップS306の処理は、図2のステップS206の処理に対応する。
【0091】
上記送信要求を受信したサーバは、送信要求に含まれるパラメータに対応するカスタマイズデータ(図3に示すD5)を共有アプリケーションに送信する(S308)。ここで、サーバは、上記送信要求を受信するごとに上記送信要求に含まれるパラメータに基づいてカスタマイズデータを生成し、生成したカスタマイズデータを送信してもよいし、予め記憶されているカスタマイズデータを送信してもよい。また、ステップS308の処理は、図2のステップS208の処理に対応する。
【0092】
また、共有アプリケーションは、処理命令配布URLが示すサーバに、処理命令の送信を要求する(S310)。ここで、ステップS310の処理は、図2のステップS212の処理に対応する。
【0093】
ステップS310で送信された要求を受信したサーバは、当該要求に含まれるパラメータに対応する処理命令を生成して、生成した処理命令を共有アプリケーションに送信する(S312)。ステップS312においてサーバが送信するデータには、例えば図3に示すD6に示すように、終了ページを指定するURLが含まれていてもよい。ここで、ステップS312の処理は、図2のステップS214の処理に対応する。
【0094】
ステップS308において取得されたカスタマイズデータ、およびステップS312において取得された処理命令に基づき処理を行った共有アプリケーションは、Webブラウザを介して処理結果(図3に示すD7)をサーバへ送信する(S314)。ここで、ステップS314の処理は、図2のステップS218、S220の処理に対応する。
【0095】
例えば図3に示すように、情報処理装置100とサーバとの間でデータの授受されることによって、図2に示すような本実施形態に係る情報処理方法に係る処理が実現される。
【0096】
なお、本実施形態に係る情報処理システムにおいて、情報処理装置100とサーバとの間で授受されるデータは、図3に示す例に限られない。図4は、本実施形態に係る情報処理方法に係る処理における、情報処理装置100とサーバとの間におけるデータの授受の他の例を示す説明図である。ここで、図4は、図3と同様のデータが情報処理装置100とサーバとの間で授受される場合を示している。
【0097】
Webブラウザは、図3のステップS300と同様に、共有アプリケーションに処理に関する情報を受け渡す(S400)。ここで、図4に示すD1は、図3に示すD1のスキーム名「kyoyu」以降のデータが16進数でエンコードされたものであり、処理に関する情報の一例を示している。例えば図4に示すD1のように、図3に示すD1のURL部分をエンコードすることによって、例えば図3に示すD1のようにスキーム名が2つ(「kyoyu」、「http」)存在することが回避される。
【0098】
ステップS400において処理に関する情報を受け渡された共有アプリケーションは、スキーム名「kyoyu」を削除し、図3のD2に示すように、16進数でデコードする(S402)。また、共有アプリケーションは、図4のD2に示すURLに基づいて、図3のステップS304と同様に、処理命令配布URL(図4に示すD3)と、カスタマイズデータ配布URL(図4に示すD4。カスタマイズ命令の一例)とに分解する(S404)。
【0099】
図4に示す例では、処理に関する情報の一部が16進数でエンコードされているが、例えば情報処理装置100においてステップS400〜S404の処理が行われることによって、図3のステップS304の処理が行われた状態と同一の状態が実現されている。したがって、情報処理システムでは、図3に示すステップS306の処理〜S314と同一の処理が、ステップS406の処理〜S414の処理として行われることによって、図2に示すような本実施形態に係る情報処理方法に係る処理が実現される。
【0100】
なお、本実施形態に係る情報処理システムにおいて、情報処理装置100とサーバとの間で授受されるデータが、図3、図4に示す例に限られないことは、言うまでもない。
【0101】
[III]第3の例
図5は、本実施形態に係る情報処理方法に係る処理の第3の例を示す説明図である。ここで、図5は、サービス事業者Webサイトを通じて取得した処理に関する情報に基づいて、共有アプリケーションのアップデートをさせる場合における処理の一例を示している。また、図5では、情報処理装置100と、ネットワーク300で接続されたサーバ200、共有アプリケーションサーバ500、およびマーケットサーバ600とを有する情報処理システムを示している。
【0102】
情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の開始ページを表示させる。ここで、上記開始ページには、例えば、サーバ200が、処理に関する情報を情報処理装置100などの外部装置に送信するトリガとなるリンクが設けられる。図1のステップS100と同様に、例えばユーザが情報処理装置100を操作して上記リンクをクリックすると、サーバ200から情報処理装置100へと処理に関する情報が送信される(S500)。
【0103】
ここで、ステップS200において送信される処理に関する情報には、少なくとも、処理命令または処理命令配布URL(特定情報の一例)と、必要バージョンの値(図5に示す例では、“2”を示す。条件情報の一例)とが含まれるものとする。また、上記必要バージョンの値は、サービス事業者が共有アプリケーションのバージョンを指定するために付与する値であり、サービス事業者により任意に付与される。
【0104】
ステップS500においてサーバ200から送信された処理に関する情報を受信した情報処理装置100は、図1のステップS102と同様に、Webブラウザから共有アプリケーションへと処理に関する情報を受け渡す(S502)。
【0105】
情報処理装置100は、処理に関する情報に必要バージョンの値が含まれているので、共有アプリケーションに、現在のバージョンの値と処理に関する情報に含まれる必要バージョンの値とを比較させる(S504)。図5の例では、現在のバージョンの値“1”が、処理に関する情報に含まれる必要バージョンの値“2”よりも小さいので、ステップS504の処理の結果、共有アプリケーションのバージョンアップが必要であると判定される。ここで、ステップS504の処理は、上記(1)の処理(判定処理)に該当する。
【0106】
なお、図5では、情報処理装置100が、サーバ200から取得した処理に関する情報に必要バージョンの値(条件情報の一例)が含まれている場合に、共有アプリケーションのバージョンアップが必要であるか否かを判定する例を示しているが、本実施形態に係る情報処理装置100における処理は、上記に限られない。例えば、本実施形態に係る情報処理装置100は、処理に関する情報が取得されるごとに、共有アプリケーションのアップデートが必要か否かを判定してもよい。より具体的には、情報処理装置100は、例えば、共有アプリケーションの最新のバージョンの値の送信を要求する送信要求や、取得された処理に関する情報に対応するサービスに係る処理を実行するために必要な共有アプリケーションのバージョンの値の送信を要求する送信要求を、予め規定されたサーバに対して送信する。そして、情報処理装置100は、上記サーバから上記送信要求に応じて送信されたバージョンの値と、現在のバージョンの値とに基づいて、ステップS504の処理を行うことによって、共有アプリケーションのアップデートが必要か否かを判定する。
【0107】
また、本実施形態に係る情報処理システムでは、例えば、必要バージョンが共有アプリケーションサーバ500側で指定されてもよい。共有アプリケーションサーバ500における必要バージョンの指定は、例えば、共有アプリケーションを管理する管理者によって行われる。上記の場合、情報処理装置100は、例えば、共有アプリケーションによって、共有アプリケーションサーバ500に必要バージョンを確認する。ここで、情報処理装置100は、例えば、共有アプリケーションが起動されるごとに必要バージョンの確認を行うが、本実施形態に係る必要バージョンの確認のタイミングは、上記に限られない。例えば、情報処理装置100は、共有アプリケーションが所定の回数起動されるごとに必要バージョンを確認してもよいし(例えば、数回に1回の頻度)、必要バージョンの確認後所定の日数が経過した後に共有アプリケーションが起動されたときに、必要バージョンを確認してもよい(例えば、数日に1回の頻度)。
【0108】
さらに、本実施形態に係る情報処理システムでは、例えば、共有アプリケーションにおける現在のバージョンの値と、必要バージョンの値との比較処理を、共有アプリケーションサーバ500などのサーバ側で行うことも可能である。比較処理がサーバ側で行われる場合には、情報処理装置100は、サーバより行われた比較処理の結果に基づいて、共有アプリケーションのバージョンアップが必要であるか否かを判定する。
【0109】
ステップS504の処理の結果、共有アプリケーションのバージョンアップが必要であると判定されない場合には、情報処理装置100は、例えば、図1のステップS104からの処理や、図2のステップS204からの処理を行って、取得した処理に関する情報に基づく処理を行う。
【0110】
また、ステップS504の処理の結果、共有アプリケーションのバージョンアップが必要であると判定された場合には、情報処理装置100は、例えば、サーバ200から取得した処理に関する情報に含まれる処理命令または処理命令配布URLと、処理再開ページ作成命令とを、URLパラメータの形式でWebブラウザへ受け渡す(S506)。ここで、ステップS506におけるURLパラメータの受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0111】
情報処理装置100は、Webブラウザを介してステップS506において受け渡されたURLパラメータを共有アプリケーションサーバ500へ送信する(S508)。なお、図5では、情報処理装置100がURLパラメータを共有アプリケーションサーバ500へ送信する例を示しているが、情報処理装置100がURLパラメータを送信する外部装置は、共有アプリケーションサーバ500に限られない。例えば、情報処理装置100は、処理を中断しているサービスに対応するサーバ200に対して、URLパラメータを送信してもよい。
【0112】
ステップS508の処理によって送信されたURLパラメータを受信した共有アプリケーションサーバ500は、URLパラメータを用いて、共有アプリケーションのアップデート処理に伴い中断されたサービスに係る処理をアップデート処理の完了後に再開させるための処理再開ページ(Webページ)を動的に生成する。そして、情報処理装置100は、例えばWebブラウザによって、処理再開ページを表示させる(S510)。
【0113】
ここで、共有アプリケーションサーバ500は、例えば、共有アプリケーションをバージョンアップさせるための更新データを所定のサーバから取得させるための所定のアプリケーションを起動させるための起動命令を、処理再開ページに埋め込む。上記のように、処理再開ページに起動命令が埋め込まれることによって、情報処理装置100は、起動命令に対応するアプリケーションを起動して、更新データを所定のサーバから取得することが可能となる。図5では、共有アプリケーションサーバ500が、マーケットアプリケーションを起動させるためのマーケットアプリケーション起動命令を、処理再開ページに埋め込む例を示している。
【0114】
なお、図5では、情報処理装置100が、ステップS508、S510の処理によって、共有アプリケーションのアップデート処理が完了する前に処理再開ページを表示する例を示している。上記は、情報処理システムの態様によっては、Webブラウザにより表示されるWebページの表示、および非表示が、いわゆるFILO(First In Last Out)の形式で行われることが起こりうるからである。
【0115】
図6は、本実施形態に係る情報処理方法に係る処理の一例を補足するための説明図である。ここで、図6は、本実施形態に係る情報処理方法に係る処理の第3の例、および後述する本実施形態に係る情報処理方法に係る処理の第4の例の結果、表示画面に表示される画面の一例を示している。
【0116】
例えば図6のAに示す画面において、“はい”ボタンが選択されると、情報処理装置100では、サービスAに係る処理が開始される。ここで、図6のAに示す画面は、例えば図5のステップS500の処理に関して表示される画面に相当する。
【0117】
共有アプリケーションのアップデートが必要であると判定された場合には、例えば図6のBに示すように、中断されたサービスAに係る画面SC1に重なるように、共有アプリケーションのアップデート処理に係る画面SC2が表示画面に表示される。ここで、図6のBに示す画面は、例えば、図5のステップS504の処理に関して表示される画面に相当する。なお、図6では、画面SC1と画面SC2とをずらして表現しているが、これは、説明の便宜上の表現である。
【0118】
例えば図6のBに示す画面SC2において、“はい”ボタンが選択されると、情報処理装置100では、共有アプリケーションのアップデート処理が開始される(図6に示すC)。ここで、図6のCに示す画面は、例えば、図5のステップS516の処理により表示される画面に相当する。そして、共有アプリケーションのアップデート処理が完了すると、共有アプリケーションのアップデート処理に係る画面SC2は、非表示となる(図6に示すD)。
【0119】
上記のように、Webブラウザにより表示されるWebページの表示、および非表示が、いわゆるFILOの形式で行われる場合には、共有アプリケーションのアップデート処理に係る画面SC2が非表示となったときに、図6のDに示すように、処理再開ページが表示画面に表示されることが望ましい。共有アプリケーションのアップデート処理の完了後に処理再開ページが表示画面に表示されない場合には、例えば、ユーザが再度サービスAの開始ページにアクセスしなければならないなど、ユーザの利便性を損ねる恐れがあるからである。また、ユーザの利便性の低下が生じた場合には、例えば、サービスの再開が行われないことによるサービスの利用率の低下も起こりうる。
【0120】
例えば図6のDに示すように、共有アプリケーションのアップデート処理の完了後に処理再開ページが表示画面に表示される場合には、図6のDに示す画面SC1において、“再開”ボタンが選択されることによって、サービスAに係る処理を再開、完了させることが可能となる(図6に示すE、F)。
【0121】
上記のように、共有アプリケーションのアップデート処理の完了後に処理再開ページが表示画面に表示されない場合には、ユーザの利便性を損ねる恐れがある。そこで、図5では、Webブラウザにより表示されるWebページの表示、および非表示が、図6に示すようなFILOの形式で行われる場合において、ユーザの利便性の低下や、サービスの利用率の低下を防止するための処理の一例を示している。なお、Webブラウザにより表示されるWebページの表示、および非表示が、図6に示すようなFILOの形式で行われない場合には、本実施形態に係る情報処理システムは、例えば、共有アプリケーションのアップデート処理の完了後に、図5のステップS508の処理、およびS510の処理を行ってもよい。
【0122】
ここで、本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の具体例について説明する。図7は、本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の一例を示す説明図である。
【0123】
Webブラウザは、共有アプリケーションに処理に関する情報を受け渡す(S600)。図7に示すD1は、処理に関する情報の一例を示している。ここで、ステップS600の処理は、図5のステップS502の処理に対応する。
【0124】
ステップS600において処理に関する情報を受け渡された共有アプリケーションは、図7のD2に示すように、スキーム名「kyoyu」を削除する(S602)。また、共有アプリケーションは、現在のバージョンの値と処理に関する情報に含まれる必要バージョンの値とを比較する。図7の例では、共有アプリケーションは、現在のバージョンの値“1”と処理に関する情報に含まれる必要バージョンの値“2”とを比較し、アップデートが必要であると判定する。
【0125】
共有アプリケーションは、例えば、図7のD2に示すURLパラメータを16進数でエンコードし、Webブラウザを介してエンコードされたURLパラメータを(図7に示すD3)をサーバへ送信する(S604)。ここで、ステップS604の処理は、図5のステップS506、S508の処理に対応する。
【0126】
例えば図7に示すようにデータの授受が行われることによって、処理再開ページの表示画面への表示が実現される。
【0127】
なお、本実施形態に係る情報処理システムにおける、処理再開ページの表示画面への表示に係るデータの授受は、図7に示す例に限られない。図8は、本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の他の例を示す説明図である。ここで、図8は、図7と同様のデータが情報処理装置100とサーバとの間で授受される場合を示している。
【0128】
Webブラウザは、図7のステップS600と同様に、共有アプリケーションに処理に関する情報を受け渡す(S700)。ここで、図8に示すD1は、図7に示すD1のスキーム名「kyoyu」以降のデータが16進数でエンコードされたものであり、処理に関する情報の一例を示している。
【0129】
ステップS700において処理に関する情報を受け渡された共有アプリケーションは、スキーム名「kyoyu」を削除し、図8のD2に示すように、16進数でデコードする(S702)。また、共有アプリケーションは、現在のバージョンの値と処理に関する情報に含まれる必要バージョンの値とを比較する。図8の例では、共有アプリケーションは、現在のバージョンの値“1”と処理に関する情報に含まれる必要バージョンの値“2”とを比較し、アップデートが必要であると判定する。
【0130】
共有アプリケーションは、例えば、図8のD2に示すURLパラメータを16進数でエンコードし(S704)、Webブラウザを介してエンコードされたURLパラメータを(図8に示すD3)をサーバへ送信する(S706)。ここで、ステップS706の処理は、図5のステップS506、S508の処理に対応する。
【0131】
例えば図8に示すようにデータの授受が行われることによって、処理再開ページの表示画面への表示が実現される。なお、本実施形態に係る情報処理システムにおける、処理再開ページの表示画面への表示に係るデータの授受が、図7、図8に示す例に限られないことは、言うまでもない。
【0132】
ここで、例えば図7、図8に示すように、処理再開ページの表示画面への表示に係るデータの授受が行われる意義について説明する。共有アプリケーションのアップデート後に、サービス事業者Webサイトを通じて受け取ったパラメータを用いてサービスに係る処理を再開する方法としては、例えば、下記の(a)〜(c)の3通りの方法が挙げられる。
【0133】
(a)共有アプリケーションのアップデート前に情報処理装置内にパラメータを記憶しておき、アップデート後の共有アプリケーション起動時に、記憶しているパラメータを利用してサービスに係る処理を再開する。
(b)サービス事業者Webサイトの開始ページをそのまま残しておき、共有アプリケーションのアップデート後に、ユーザがサービス事業者Webサイトの開始ページを操作して再度サービスに係る処理を情報処理装置に実行させる。
(c)処理再開ページを生成し、共有アプリケーションのアップデート後に、ユーザが処理再開ページを操作して再度サービスに係る処理を情報処理装置に実行させる(上述した本実施形態に係る方法)。
【0134】
例えば(a)の方法が用いられる場合には、情報処理装置において、実行するサービスに係る処理を判定する処理がさらに必要となる。例えば、共有アプリケーションのアップデート前に記憶していたパラメータがサービス事業者Aに対応するものであり、アップデート後にサービス事業者Bの開始ページから共有アプリケーションが起動された場合には、情報処理装置は、サービス事業者Aの処理とサービス事業者Bの処理とのどちらの処理を実施するかや、双方の処理を行うかについての判定を行わなけらばならない。
【0135】
ここで、仮に上記判定の結果に誤りが生じた場合には、ユーザが意図しないサービスに係る処理が実行されることとなる。よって、例えば(a)の方法が用いられる場合には、ユーザの利便性が低下する恐れがある。
【0136】
また、例えば(b)の方法が用いられる場合には、共有アプリケーションのアップデート後にユーザがサービス事業者Webサイトの開始ページを操作することによって、サービスに係る処理を再度情報処理装置に実行させる必要がある。そのため、サービスに係る処理が、例えば、電子マネー(電子バリューの一例)を1000円分チャージする処理である場合には、ユーザが再度の操作をためらうことが起こりうる。例えば、ユーザが“2000円分チャージされる(サービスに係る処理が二重に行われる)”と解釈することがありうるからである。
【0137】
よって、例えば(b)の方法が用いられる場合には、ユーザが再度サービスの開始ページにアクセスしなければならないことから、上述したように、ユーザの利便性の低下や、サービスの利用率の低下が生じうる。
【0138】
これに対して、本実施形態に係る(c)の方法を用いる場合には、上記(a)、(b)において生じうる問題は、生じない。つまり、本実施形態に係る(c)の方法を用いることによって、上記(a)、(b)において生じうる問題の解決を図ることができる。
【0139】
ここで、情報処理装置100において共有アプリケーションがアップデートされる場合には、共有アプリケーション自身が更新されるので、共有アプリケーションが処理再開ページの生成に係る処理を行うことができない。そこで、本実施形態に係る情報処理システムでは、情報処理装置100の外部装置であるサーバ(例えば共有アプリケーションサーバ500)に処理再開ページの生成を行わせる。
【0140】
例えば図7、図8に示すように、情報処理装置100からサーバへとサービスの開始ページを通じて取得されたパラメータが引き渡されることによって、上記(a)、(b)において生じうる問題の解決を図ることが可能な、本実施形態に係る(c)の方法を実現することができる。
【0141】
再度図5を参照して、本実施形態に係る情報処理方法に係る処理の第3の例について説明する。ステップS510において処理再開ページが表示されると、情報処理装置100は、処理再開ページに埋め込まれているマーケットアプリケーション起動命令に基づいて、マーケットアプリケーションを起動させる(S512)。ここで、ステップS512は、例えば、更新情報が記憶されているサーバのURLと処理パラメータとが規定された、URLパラメータの受け渡しにより行われる。また、上記URLパラメータの受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0142】
なお、図5では、情報処理装置100が、Webブラウザを介してマーケットアプリケーションを起動させる例を示しているが、情報処理装置100における処理は、上記に限られない。例えば、情報処理装置100は、共有アプリケーションを介してマーケットアプリケーションを起動させてもよい。
【0143】
情報処理装置100は、マーケットアプリケーションを介して、マーケットサーバ600に対し、例えば共有アプリケーションの最新バージョンの情報を要求する(S514)。なお、情報処理装置100がマーケットサーバ600に対して要求する共有アプリケーションのバージョンの情報は、最新バージョンの情報に限られず、例えば、処理に関する情報に含まれていた必要バージョンの値(条件情報の一例)に対応する共有アプリケーションのバージョンの情報であってもよい。また、本実施形態に係る情報処理システムにおいて、更新データを記憶する装置が、マーケットサーバ600に限られないことは、言うまでもない。
【0144】
ステップS514において送信された要求を受信したマーケットサーバ600は、当該要求に対応する共有アプリケーションのバージョンの情報を、情報処理装置100へ送信する(S516)。ステップS516の処理によって、例えば図6のCのSC2に示す画面が表示画面に表示される。
【0145】
例えば図6のCのSC2に示す画面において、“アップデート”ボタンが選択されると、情報処理装置100は、マーケットアプリケーションを介して、マーケットサーバ600に対し、更新情報の送信要求(すなわち、共有アプリケーションのアップデート要求)を送信する(S518)。
【0146】
ステップS518において送信された更新情報の送信要求を受信したマーケットサーバ600は、当該送信要求に応じて更新情報を情報処理装置100へ送信する(S520)。
【0147】
ステップS520において送信された更新情報を受信した情報処理装置100は、受信した更新情報を用いて、共有アプリケーションを更新する(S522)。また、ステップS522の処理が行われると、情報処理装置100は、例えば、後述する本実施形態に係る情報処理方法における第4の例に係る処理を行う。
【0148】
ここで、例えば、情報処理装置100におけるステップS506の処理、ステップS508の処理、ステップS512の処理、ステップS514の処理、ステップS518の処理、およびステップS522の処理は、上記(2)の処理(実行制御処理)に該当する。
【0149】
例えば図5に示す処理が行われることによって、情報処理装置100は、サービス事業者Webサイトを通じて取得した処理に関する情報に基づいて、共有アプリケーションのアップデートを行うことができる。なお、本実施形態に係る情報処理システムにおける、取得した処理に関する情報に基づく共有アプリケーションのアップデートに係る処理が、図5に示す例に限られないことは、言うまでもない。
【0150】
[IV]第4の例
図9は、本実施形態に係る情報処理方法に係る処理の第4の例を示す説明図である。ここで、図9は、上述した第3の例に係る処理における共有アプリケーションのアップデート後に、中断されているサービスに係る処理が再開される場合の処理の一例を示している。また、図9では、情報処理装置100と、ネットワーク300で接続されたサーバ200、および共有アプリケーションサーバ500とを示している。
【0151】
情報処理装置100は、例えばWebブラウザによって、共有アプリケーションサーバ500により動的に生成された処理再開ページを表示する(S800)。ここで、ステップS800の処理は、図5のステップS510の処理に該当する。また、上述した第3の例に係る処理における共有アプリケーションのアップデートが完了することによって、表示画面には、例えば図6のDに示す画面が表示される。
【0152】
例えば図6のDに示す“再開”ボタンが選択されると、情報処理装置100は、選択されたボタンに対応付けられたURLパラメータ(図5のステップS508において、情報処理装置100が送信したURLパラメータに対応する。)を、Webブラウザから共有アプリケーションへと受け渡す(S802)。ステップS802におけるURLパラメータの受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0153】
情報処理装置100は、共有アプリケーションによって、URLパラメータ(例えば図5のステップS500において取得された、処理に関する情報に基づくURLパラメータ)を用いてサービスに係る処理を行うことができるか否かを判定する(S804)。ここで、ステップS804の処理は、上記(1)の処理(判定処理)に該当する。
【0154】
より具体的には、情報処理装置100は、例えばURLパラメータに処理命令配布URLが含まれている場合には、URLパラメータを用いてサービスに係る処理を行うことができると判定せず、後述するステップS806の処理を行う。また、情報処理装置100は、例えばURLパラメータに処理命令が含まれている場合には、後述するステップS806の処理は行わずに、後述するステップS810の処理を行う。
【0155】
ステップS804において、サービスに係る処理を行うことができると判定されない場合には、情報処理装置100は、図1のステップS106と同様に、サーバ200に処理命令(または、処理命令および許可情報)を要求する(S806)。ここで、ステップS806の処理は、上記(2)の処理(実行制御処理)に該当する。
【0156】
ステップS806において情報処理装置100から送信された要求を受信したサーバ200は、図1のステップS108と同様に、当該要求に対応する処理命令を生成し、情報処理装置100へと送信する(S808)。なお、サーバ200は、ステップS808において、許可情報をさらに送信してもよい。
【0157】
ステップS804においてURLパラメータに処理命令が含まれていると判定された場合、または、ステップS808において処理命令を受信した場合、情報処理装置100は、共有アプリケーションによって処理命令に対応する処理を行う(S810)。ここで、ステップS810の処理は、上記(3)の処理(実行処理)に該当する。
【0158】
ステップS810の処理を行った情報処理装置100は、図1のステップS118と同様に、共有アプリケーションからWebブラウザへと処理結果を受け渡す(S812)。そして、情報処理装置100は、Webブラウザを介してURLパラメータ(処理結果の一例)をサーバ200へ送信する(S814)。
【0159】
ステップS814の処理によって送信されたURLパラメータを受信したサーバ200は、URLパラメータを用いてサービスに係る処理の終了を示す終了ページ(Webページ)を動的に生成する。そして、情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の終了ページを表示させる。
【0160】
本実施形態に係る情報処理システムでは、共有アプリケーションのアップデート処理(例えば上記第3の例に係る処理)により中断されているサービスに係る処理を再開させる場合に、例えば図9に示す処理が行われる。ここで、図9に示すステップS804以降の処理は、図1に示すステップS104以降の処理と同様の処理である。よって、例えば図9に示す処理によって、情報処理装置100は、共有アプリケーションのアップデート処理後に、サービスに係る処理(取得された処理に関する情報に基づく処理)を完了させることができる。
【0161】
なお、本実施形態に係る情報処理システムにおける、共有アプリケーションのアップデート後に中断されているサービスに係る処理を再開させる方法は、上記に限られない。例えば、情報処理装置100が、共有アプリケーションのアップデート処理の開始前に、取得された処理に関する情報を記録媒体に記録し、共有アプリケーションのアップデート処理の完了後に、当該記録媒体から処理に関する情報を読み出して処理を行うことも可能である。
【0162】
例えば上述した第1の例に係る処理〜第4の例に係る処理が行われることによって、本実施形態に係る情報処理方法に係る処理が実現される。なお、本実施形態に係る情報処理方法に係る処理の例が、上述した第1の例に係る処理〜第4の例に係る処理に限られないことは、言うまでもない。
【0163】
(本実施形態に係る情報処理装置)
次に、上述した本実施形態に係る情報処理方法に係る処理を行うことが可能な、本実施形態に係る情報処理装置100の構成の一例について、説明する。
【0164】
図10は、本実施形態に係る情報処理装置100の構成の一例を示すブロック図である。情報処理装置100は、例えば、通信部102と、制御部104とを備える。
【0165】
また、情報処理装置100は、例えば、ROM(Read Only Memory;図示せず)や、RAM(Random Access Memory;図示せず)、記憶部(図示せず)、ユーザが操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。情報処理装置100は、例えば、データの伝送路としてのバス(bus)により上記各構成要素間を接続する。
【0166】
ここで、ROM(図示せず)は、制御部104が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部104により実行されるプログラムなどを一時的に記憶する。
【0167】
記憶部(図示せず)は、情報処理装置100が備える記憶手段であり、例えば、電子マネーやサービスに付随する特典を享受するためのデータなどサービスに係るデータや、アプリケーションなど様々なデータを記憶する。ここで、記憶部(図示せず)としては、例えば、ハードディスク(Hard Disk)などの磁気記録媒体や、EEPROM(Electrically Erasable and Programmable Read Only Memory)、フラッシュメモリ(flash memory)などの不揮発性メモリ(nonvolatile memory)などが挙げられる。また、記憶部(図示せず)は、例えば、リーダ/ライタと非接触式に通信可能なICチップ内に設けられた、耐タンパ性を有する記録媒体であってもよい。また、記憶部(図示せず)は、情報処理装置100から着脱可能であってもよい。
【0168】
操作部(図示せず)としては、例えば、ボタンや、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられる。また、情報処理装置100は、例えば、情報処理装置100の外部装置としての操作入力デバイス(例えば、キーボードやマウスなど)と接続することもできる。
【0169】
表示部(図示せず)としては、例えば、液晶ディスプレイ(Liquid Crystal Display;LCD)や有機ELディスプレイ(organic ElectroLuminescence display。または、OLEDディスプレイ(Organic Light Emitting Diode display)ともよばれる。)などが挙げられる。なお、表示部(図示せず)は、例えばタッチスクリーンなどのように、表示とユーザ操作とが可能なデバイスであってもよい。また、情報処理装置100は、表示部(図示せず)の有無に関わらず、情報処理装置100の外部装置としての表示デバイス(例えば、外部ディスプレイなど)と接続することもできる。
【0170】
[情報処理装置100のハードウェア構成例]
図11は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示す説明図である。情報処理装置100は、例えば、MPU150と、ROM152と、RAM154と、記録媒体156と、入出力インタフェース158と、操作入力デバイス160と、表示デバイス162と、通信インタフェース164とを備える。また、情報処理装置100は、例えば、データの伝送路としてのバス166で各構成要素間を接続する。
【0171】
MPU150は、例えば、MPU(Micro Processing Unit)や、各種処理回路などで構成され情報処理装置100全体を制御する制御部104として機能する。また、MPU150は、情報処理装置100において、例えば、後述する判定部110、処理制御部112、および処理部114の役目を果たす。
【0172】
ROM152は、MPU150が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。RAM154は、例えば、MPU150により実行されるプログラムなどを一時的に記憶する。
【0173】
記録媒体156は、記憶部(図示せず)として機能し、例えば、サービスに係るデータや、アプリケーションなど様々なデータを記憶する。ここで、記録媒体156としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体156は、情報処理装置100から着脱可能であってもよい。
【0174】
入出力インタフェース158は、例えば、操作入力デバイス160や、表示デバイス162を接続する。操作入力デバイス160は、操作部(図示せず)として機能し、また、表示デバイス162は、表示部(図示せず)として機能する。ここで、入出力インタフェース158としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)端子、各種処理回路などが挙げられる。また、操作入力デバイス160は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース158と接続される。操作入力デバイス160としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられる。また、表示デバイス162は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース158と接続される。表示デバイス162としては、例えば、液晶ディスプレイや有機ELディスプレイなどが挙げられる。
【0175】
なお、入出力インタフェース158が、情報処理装置100の外部装置としての操作入力デバイス(例えば、キーボードやマウスなど)や、表示デバイス、撮像デバイスなどの、外部デバイスと接続することもできることは、言うまでもない。また、表示デバイス162は、例えばタッチスクリーンなど、表示とユーザ操作とが可能なデバイスであってもよい。
【0176】
通信インタフェース164は、情報処理装置100が備える通信手段であり、ネットワーク300を介して(あるいは、直接的に)、例えば、サーバ200、共有アプリケーションサーバ500、マーケットサーバ600などのサーバなど、外部装置と無線/有線で通信を行うための通信部102として機能する。ここで、通信インタフェース164としては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11bポートおよび送受信回路(無線通信)、あるいはLAN(Local Area Network)端子および送受信回路(有線通信)などが挙げられる。
【0177】
情報処理装置100は、例えば図11に示す構成によって、本実施形態に係る情報処理方法に係る処理を行う。なお、本実施形態に係る情報処理装置100のハードウェア構成は、図11に示す構成に限られない。
【0178】
例えば、情報処理装置100は、13.56[MHz]など所定の周波数の搬送波を通信に用いるNFC(Near Field Communication)によって形成される通信路によって、外部端末400などの外部装置と通信を行うための、無線通信アンテナ回路および搬送波送信回路を、さらに備えていてもよい。
【0179】
ここで、無線通信アンテナ回路は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルおよび所定の静電容量をもつキャパシタからなる共振回路と、復調回路とから構成される。また、搬送波送信回路は、例えば、ASK変調(Amplitude Shift Keying)を行う変調回路と、変調回路の出力を増幅する増幅回路とから構成され、無線通信アンテナ回路の送受信アンテナから搬送波信号をのせた搬送波を送信する。
【0180】
例えば上記のような無線通信アンテナ回路および搬送波送信回路を備えることによって、情報処理装置100は、いわゆるリーダ/ライタ機能を有することができる。
【0181】
また、情報処理装置100は、リーダ/ライタと非接触式に通信可能なICチップを備えていてもよい。ICチップを備えることによって、情報処理装置100は、(3)の処理(実行処理)において、例えば図1に示すステップS110の処理、S112の処理を行うことができる。
【0182】
また、情報処理装置100は、例えば、DSP(Digital Signal Processor)と、増幅器(アンプ)やスピーカなどから構成される音声出力デバイスとをさらに備えていてもよい。上記DSPと音声出力デバイスとをさらに備える場合には、情報処理装置100は、ユーザに対する音声による聴覚的な提示を実現することが可能となる。
【0183】
さらに、情報処理装置100は、例えば、操作デバイス160や表示デバイス162を備えない構成をとることも可能である。
【0184】
再度図10を参照して、情報処理装置100の構成の一例について説明する。通信部102は、情報処理装置100が備える通信手段であり、ネットワーク300を介して(あるいは、直接的に)、サーバなどの外部装置と無線/有線で通信を行う。また、通信部102は、例えば制御部104により通信が制御される。ここで、通信部102としては、例えば、通信アンテナおよびRF回路や、LAN端子および送受信回路などが挙げられるが、通信部102の構成は、上記に限られない。例えば、通信部102は、USB端子および送受信回路など通信を行うことが可能な任意の規格に対応する構成や、ネットワーク300に対応する構成をとることができる。
【0185】
制御部104は、例えばMPUなどで構成され、情報処理装置100全体を制御する役目を果たす。また、制御部104は、例えば、判定部110と、処理制御部112と、処理部114とを備え、本実施形態に係る情報処理方法に係る処理を主導的に行う役目を果たす。
【0186】
判定部110は、上記(1)の処理(判定処理)を主導的に行う役目を果たし、サーバ200などのサービスを提供するサーバ(第1のサーバ)から取得された、処理に関する情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるかを判定する。
【0187】
処理制御部112は、上記(2)の処理(実行制御処理)を主導的に行う役目を果たし、判定部110において処理を実行することが可能ではないと判定された場合に、処理に関する情報に基づく処理の実行を可能にさせる。ここで、判定部110において処理を実行することが可能ではないと判定された場合、処理制御部112は、例えば、処理に関する情報に基づいて、処理に関する情報に基づく処理命令をサーバ(第2のサーバ)に生成させる。処理制御部112がサーバに生成させた処理に関する情報に基づく処理命令を生成させることによって、処理部114は、処理制御部112がサーバに生成させた処理命令に基づいて、処理に関する情報に基づく処理を行うことができる。
【0188】
処理部114は、上記(3)の処理(実行処理)を主導的に行う役目を果たし、共有アプリケーションに、処理に関する情報に基づく処理を実行させる。
【0189】
より具体的には、例えば、処理に関する情報が、特定情報と処理の種別を規定するパラメータとを含む場合には、判定部110は、処理を実行することが可能ではないと判定する。上記の場合、処理制御部112は、例えば、パラメータを含む生成要求を特定情報が示すサーバへと送信させて、パラメータに対応する処理命令をサーバに生成させる。そして、処理部114は、取得された処理命令が示す処理を共有アプリケーションに実行させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第1の例に係る処理に対応する。
【0190】
また、例えば、処理に関する情報が処理命令を含む場合には、判定部110は、処理を実行することが可能であると判定する。そして、処理部114は、処理命令に基づく処理を共有アプリケーションに実行させる。ここで、処理に関する情報が、さらに許可情報とを含む場合には、処理部114は、許可情報が示す制限内において、処理命令に基づく処理を共有アプリケーションに実行させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第1の例に係る処理に対応する。
【0191】
また、例えば、処理に関する情報が実行する処理を変更させるための設定命令をさらに含む場合には、判定部110は、処理を実行することが可能ではないと判定する。上記の場合、処理制御部112は、設定命令が示すサーバに、設定命令に対応する設定データを送信させる。また、処理制御部112は、処理に関する情報が特定情報と処理の種別を規定するパラメータとを含む場合には、上記のように、パラメータに対応する処理命令をサーバに生成させる。そして、処理部114は、取得された設定データと処理命令とに基づく処理を、共有アプリケーションに実行させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第2の例に係る処理に対応する。
【0192】
また、例えば、処理に関する情報が条件情報をさらに含む場合には、判定部110は、共有アプリケーションが条件情報が示す条件を満たすかを判定する。判定部110の判定において共有アプリケーションが条件を満たすと判定されない場合には、処理制御部112は、更新データを記憶するサーバに更新データを送信させる。そして、処理制御部112は、取得した更新データを用いて共有アプリケーションを更新する。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第3の例に係る処理に対応する。
【0193】
また、判定部110の判定において共有アプリケーションが条件を満たすと判定されない場合には、処理制御部112は、共有アプリケーションによる処理に関する情報に基づく処理の実行を中断させる。そして、処理制御部112は、共有アプリケーションの更新が完了した後に、共有アプリケーションによる処理に関する情報に基づく処理を再開させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第3の例に係る処理、および本実施形態に係る情報処理方法の第3の例に係る処理に対応する。
【0194】
制御部104は、例えば上記のような処理をそれぞれ行う、判定部110、処理制御部112、および処理部114を備えることによって、本実施形態に係る情報処理方法に係る処理を主導的に行う。
【0195】
情報処理装置100は、例えば図10に示す構成によって、本実施形態に係る情報処理方法に係る処理(例えば、(1)の処理(判定処理)〜(3)の処理(実行処理))を行う。したがって、情報処理装置100は、例えば図10に示す構成によって、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0196】
以上のように、本実施形態に係る情報処理装置100は、本実施形態に係る情報処理方法に係る処理として、例えば、(1)の処理(判定処理)〜(3)の処理(実行処理)を行う。ここで、情報処理装置100において(2)の処理(実行制御処理)が行われない場合には、共有アプリケーションは、サービスを提供するサーバ(第1のサーバ)から取得された処理に関する情報に基づいて処理を実行する。また、情報処理装置100において(2)の処理(実行制御処理)が行われた場合には、処理に関する情報に基づく処理の実行が可能な状態となっているので、共有アプリケーションは、取得された処理に関する情報に基づく処理を実行することができる。
【0197】
したがって、情報処理装置100は、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0198】
また、本実施形態に係る情報処理システムにおいて、情報処理装置100が本実施形態に係る情報処理方法に係る処理を行うことによって、例えば下記(i)〜(iv)が実現される。
【0199】
(i)サービス事業者Webサイトの開始ページに記述したURLパラメータを、サービス事業者Webサイトから起動されて利用される共有アプリケーションに引き継ぐことによって、サービス事業者ごとに異なる振る舞いを共有アプリケーションに行わせること。
【0200】
(ii)共有アプリケーションのカスタマイズを、サービス事業者WebサイトからURLパラメータによって指示すること。また、共有アプリケーションがURLパラメータによってサーバにカスタマイズデータの動的生成を指示することによって、共有アプリケーションが、サービス事業者ごとのカスタマイズデータを適用した上で動作すること。
【0201】
(iii)処理の実行に必要な共有アプリケーションのバージョンを、サービス事業者WebサイトからURLパラメータによって指示すること。また、共有アプリケーションが処理の実行に必要な共有アプリケーションのバージョンに満たない場合に、共有アプリケーションをアップデートするように誘導すること。
【0202】
例えば上記(iii)が実現されることによって、サービス事業者は、特定バージョンの共有アプリケーションが情報処理装置100に存在することを前提として、共有アプリケーションに対する処理命令を生成することができる。
【0203】
(iv)共有アプリケーションのアップデート後に、サービスに係る処理を再開させる処理再開ページを表示させること
【0204】
例えば上記(iv)が実現されることによって、ユーザは、サービスに係る処理を再開しやすくなるので、ユーザの利便性の低下や、サービスの利用率の低下を防止することが可能となる。
【0205】
以上、本実施形態に係る情報処理システムを構成する要素として、情報処理装置100を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、携帯電話やスマートフォンなどの通信装置や、映像/音楽再生装置(または映像/音楽記録再生装置)、ゲーム機、PC(Personal Computer)などのコンピュータなど、様々な機器に適用することができる。
【0206】
また、本実施形態に係る情報処理システムを構成する他の要素として、サーバ200、共有アプリケーションサーバ500、マーケットサーバ600を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、PCやサーバなどのコンピュータなど、様々な機器に適用することができる。また、サーバ200、共有アプリケーションサーバ500、マーケットサーバ600それぞれは、例えば、図11に示すハードウェア構成で実現することが可能である。
【0207】
また、本実施形態に係る情報処理システムを構成する他の要素として、外部端末400を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、携帯電話などの通信装置や、ICカード、映像/音楽再生装置(または映像/音楽記録再生装置)、ゲーム機、PCなどのコンピュータなど、様々な機器に適用することができる。また、外部端末400は、例えば、情報処理装置100と同様のハードウェア構成で実現することが可能である。
【0208】
(本実施形態に係るプログラム)
コンピュータを、本実施形態に係る情報処理装置として機能させるためのプログラム(例えば、(1)の処理(判定処理)〜(3)の処理(実行処理)など、本実施形態に係る情報処理方法に係る処理を実行することが可能なプログラム)によって、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0209】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0210】
例えば、本実施形態に係る情報処理装置は、図10に示す判定部110、処理制御部112、および処理部114を個別に備える(例えば、それぞれを個別の処理回路で実現する)ことができる。
【0211】
また、上記では、例えば、コンピュータを、本実施形態に係る情報処理装置として機能させるためのプログラム(コンピュータプログラム)が提供されることを示したが、本実施形態は、さらに、上記プログラムをそれぞれ記憶させた記録媒体も併せて提供することができる。
【0212】
上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
【0213】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理装置。
(2)
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、前記第2のサーバを特定する特定情報と、処理の種別を規定するパラメータとを含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記通信部に、前記パラメータを含む生成要求を前記特定情報が示すサーバへと送信させて、前記パラメータに対応する前記処理命令を前記サーバに生成させる、(1)に記載の情報処理装置。
(3)
前記処理に関する情報が、前記処理命令と、前記処理命令が示す処理を制限する許可情報とを含む場合、
前記判定部は、処理を実行することが可能であると判定し、
前記処理部は、前記許可情報が示す制限内において、前記処理命令に基づく処理を前記アプリケーションに実行させる、(1)または(2)に記載の情報処理装置。
(4)
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、実行する処理を変更させるための設定命令をさらに含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記設定命令が示すサーバに、前記設定命令に対応する設定データを送信させ、
前記処理部は、取得された前記設定データを用いた処理を前記アプリケーションに実行させる、(2)または(3)に記載の情報処理装置。
(5)
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、処理の実行が許可される前記アプリケーションのバージョンに関する条件を示す条件情報をさらに含む場合、
前記判定部は、前記アプリケーションが、前記条件情報が示す条件を満たすかを判定し、
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションを更新するための更新データを記憶するサーバに、前記更新データを送信させ、
取得した更新データを用いて前記アプリケーションを更新する、(2)〜(4)のいずれか1つに記載の情報処理装置。
(6)
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションによる前記処理に関する情報に基づく処理の実行を中断させ、
前記アプリケーションの更新が完了した後に、前記アプリケーションによる前記処理に関する情報に基づく処理を再開させる、(5)に記載の情報処理装置。
(7)
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップと、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップと、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップと、
を有し、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、情報処理方法。
(8)
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップ、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップ、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップ、
をコンピュータに実行させ、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、プログラム。
(9)
情報処理装置と、
前記情報処理装置と通信を行うことが可能なサーバと、
を有し、
前記情報処理装置は、
前記サーバと通信を行う通信部と、
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理システム。
【符号の説明】
【0214】
100 情報処理装置
102 通信部
104 制御部
110 判定部
112 処理制御部
114 処理部
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、プログラム、および情報処理システムに関する。
【背景技術】
【0002】
近年、例えば、非接触式IC(Integrated Circuit)カードや非接触式ICチップを搭載した携帯電話など、リーダ/ライタ(または、リーダ/ライタ機能を有する情報処理装置)と非接触式に通信可能な情報処理装置が普及している。リーダ/ライタと、ICカード、携帯電話などの情報処理装置とは、例えば13.56[MHz]など所定の周波数の磁界(搬送波)を通信に使用している。具体的には、リーダ/ライタが搬送波信号をのせた搬送波を送信し、搬送波をアンテナで受信したICカードなどの情報処理装置が負荷変調によって受信した搬送波信号に対する応答信号を返信することにより、リーダ/ライタと情報処理装置とは通信を行うことができる。
【0003】
また、上記のような情報処理装置は、耐タンパ性を有するICチップを備えることにより、例えば、電子マネーやサービスに付随する特典を享受するためのデータなど、データの改竄が問題となるデータの送受信や更新を安全に行うことができる。したがって、上記のようなリーダ/ライタと非接触式に通信可能なICチップを搭載した情報処理装置を利用した様々なサービスの提供が社会的に広がっており、また、ユーザは、1つの情報処理装置を用いて様々なサービスを享受することが可能となっている。
【0004】
ここで、情報処理装置に様々なサービスに対応する処理を行わせるための方法としては、例えば、サービスごとに、異なるアプリケーションを情報処理装置に実行させることが挙げられる。しかしながら、上記の方法を用いる場合には、情報処理装置に各サービスに対応するアプリケーションをそれぞれ実装しておかなければならない。
【0005】
このような中、1つのアプリケーションに異なる振る舞いをさせる技術が開発されている。エージェント(1つのアプリケーション)の振る舞いを規定するロールをサーバから取得することによって、エージェントに取得したロールに対応する処理を行わせる技術としては、例えば、特許文献1に記載の技術が挙げられる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−244168号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
例えば特許文献1に記載されている、1つのアプリケーションに異なる振る舞いをさせる技術(以下、「従来の技術」と示す場合がある。)では、情報処理装置は、エージェントの振る舞いを規定するロールをサーバから取得し、エージェントに取得したロールに対応する処理を行わせる。ここで、従来の技術におけるロールとは、処理の内容の一部が記述されたスクリプトデータである。よって、従来の技術を用いることによって、エージェント(1つのアプリケーション)に異なる振る舞いをさせることができる。
【0008】
ここで、情報処理装置において実行される処理によっては、特定の条件に合致するアプリケーションでしか実行することができないことがある。しかしながら、例えば特許文献1に記載の技術では、情報処理装置側において特定の条件に合致するアプリケーションを把握する手段についての考慮がなされていない。したがって、従来の技術を用いたとしても、情報処理装置が実行する1つのアプリケーションであるエージェントに、条件に応じてサービスごとに異なる振る舞いをさせることができない恐れがある。
【0009】
本開示では、複数のサービスに対応する処理を行うことが可能なアプリケーションに、サービスごとに異なる振る舞いをさせることが可能な、新規かつ改良された情報処理装置、情報処理方法、プログラム、および情報処理システムを提案する。
【課題を解決するための手段】
【0010】
本開示によれば、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、上記処理に関する情報に基づく処理を上記アプリケーションに実行させる処理部と、を備え、上記処理制御部は、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記処理部は、生成された上記処理命令が示す処理を上記アプリケーションに実行させる、情報処理装置が提供される。
【0011】
また、本開示によれば、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップと、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせるステップと、
上記アプリケーションにより、上記処理に関する情報に基づく処理を実行するステップと、を有し、上記処理の実行を可能にさせるステップでは、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記実行するステップでは、生成された上記処理命令が示す処理が実行される、情報処理方法が提供される。
【0012】
また、本開示によれば、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップ、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせるステップ、上記アプリケーションにより、上記処理に関する情報に基づく処理を実行するステップ、をコンピュータに実行させ、上記処理の実行を可能にさせるステップでは、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記実行するステップでは、生成された上記処理命令が示す処理が実行される、プログラムが提供される。
【0013】
また、本開示によれば、情報処理装置と、上記情報処理装置と通信を行うことが可能なサーバと、を有し、上記情報処理装置は、上記サーバと通信を行う通信部と、サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、上記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる上記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、上記処理に関する情報に基づく処理を上記アプリケーションに実行させる処理部と、を備え、上記処理制御部は、上記処理に関する情報に基づいて、上記処理に関する情報に基づく処理命令を第2のサーバに生成させ、上記処理部は、生成された上記処理命令が示す処理を上記アプリケーションに実行させる、情報処理システムが提供される。
【発明の効果】
【0014】
本開示によれば、複数のサービスに対応する処理を行うことが可能なアプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【図面の簡単な説明】
【0015】
【図1】本実施形態に係る情報処理方法に係る処理の第1の例を示す説明図である。
【図2】本実施形態に係る情報処理方法に係る処理の第2の例を示す説明図である。
【図3】本実施形態に係る情報処理方法に係る処理における、情報処理装置とサーバとの間におけるデータの授受の一例を示す説明図である。
【図4】本実施形態に係る情報処理方法に係る処理における、情報処理装置とサーバとの間におけるデータの授受の他の例を示す説明図である。
【図5】本実施形態に係る情報処理方法に係る処理の第3の例を示す説明図である。
【図6】本実施形態に係る情報処理方法に係る処理の一例を補足するための説明図である。
【図7】本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の一例を示す説明図である。
【図8】本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の他の例を示す説明図である。
【図9】本実施形態に係る情報処理方法に係る処理の第4の例を示す説明図である。
【図10】本実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図11】本実施形態に係る情報処理装置のハードウェア構成の一例を示す説明図である。
【発明を実施するための形態】
【0016】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0017】
また、以下では、下記に示す順序で説明を行う。
1.本実施形態に係る情報処理方法
2.本実施形態に係る情報処理装置
3.本実施形態に係るプログラム
【0018】
(本実施形態に係る情報処理方法)
本実施形態に係る情報処理装置(以下、「情報処理装置100」と示す場合がある。)の構成について説明する前に、本実施形態に係る情報処理方法について説明する。また、以下では、本実施形態に係る情報処理装置が、本実施形態に係る情報処理方法に係る処理を行うものとして説明する。
【0019】
[本実施形態に係る情報処理方法の概要]
上述したように、サービス事業者が運営するサーバの機能や、サービスの提供方法が、サービス事業者間で同一であるとは限られない。そこで、本実施形態に係る情報処理装置100は、サービスを提供するサーバ(第1のサーバ)から取得された処理に関する情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるか否かを判定する(判定処理)。また、情報処理装置100は、処理を実行することが可能ではないと判定された場合には、処理に関する情報に基づく処理の実行を可能にさせる(実行制御処理)。そして、情報処理装置100は、複数のサービスに対応する処理を行うことが可能なアプリケーション(以下、「共有アプリケーション」と示す。)により、処理に関する情報に基づく処理を実行する(実行処理)。
【0020】
上記のように、情報処理装置100は、判定処理を行い、判定処理の結果に応じて実行制御処理を選択的に行った上で、実行処理を行う。ここで、情報処理装置100において実行制御処理が行われない場合には、共有アプリケーションは、取得された処理に関する情報に基づいて処理を実行することができる。また、情報処理装置100において実行制御処理が行われた場合には、処理に関する情報に基づく処理の実行が可能な状態となっているので、共有アプリケーションは、取得された処理に関する情報に基づく処理を実行することができる。
【0021】
したがって、本実施形態に係る情報処理装置100は、(1)判定処理、(2)実行制御処理、および(3)実行処理、を行うことによって、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0022】
以下、より具体的に、本実施形態に係る情報処理方法に係る処理について説明する。
【0023】
(1)判定処理
情報処理装置100は、例えば、共有アプリケーションが取得された処理に関する情報を用いてサービスに係る処理を行うことができるか否かを、取得された処理に関する情報に基づいて判定する。
【0024】
ここで、本実施形態に係る処理に関する情報とは、例えば、情報処理装置100に何らかの処理を行わせるための情報(データ)である。本実施形態に係る処理に関する情報としては、例えば、「処理命令」や、「許可情報」、「特定情報、および処理の種別を規定するパラメータ」、「設定命令」、「条件情報」などが挙げられる。
【0025】
本実施形態に係る処理命令とは、サービス事業者が定義する、共有アプリケーションに行わせる処理を規定するデータである。処理命令としては、例えば、スクリプトデータが挙げられる。
【0026】
情報処理装置100は、例えば処理に関する情報が処理命令を示す場合には、処理を実行することが可能であると判定する。上記の場合には、情報処理装置100は、(3)の処理(実行処理)において、処理命令に対応する処理を共有アプリケーションに行わせる。
【0027】
また、本実施形態に係る許可情報とは、共有アプリケーションがサービス事業者を認証し、サービス事業者の権限に応じた処理のみを共有アプリケーションが行えるよう制御するデータである。本実施形態に係る許可情報としては、例えば、アプリケーションがアクセスすることが可能な記憶媒体の領域を示す情報や、許可情報の有効期限を示す情報などが挙げられる。また、本実施形態に係る許可情報は、例えば、共有アプリケーションを管理する管理者が、サービス事業者に対して発行する。
【0028】
情報処理装置100は、例えば処理に関する情報が処理命令と許可情報とを示す場合には、処理を実行することが可能であると判定し、(3)の処理(実行処理)において、許可情報が示す制限内において処理命令に対応する処理を共有アプリケーションに行わせる。
【0029】
また、本実施形態に係る特定情報とは、処理に関する情報に基づく処理命令を生成するサーバ(第2のサーバ)を特定するデータであり、本実施形態に係る処理の種別を規定するパラメータとは、第2のサーバに特定の処理に係る処理命令を生成させるためのパラメータである。本実施形態に係る特定情報としては、例えば、第2サーバを示すURLや、IP(Internet Protcol)アドレスなどが挙げられる。以下では、特定情報がURLである場合を例に挙げて説明し、特定情報を「処理命令配布URL」と示す場合がある。なお、情報処理装置100が処理に関する情報を取得するサーバ(第1のサーバ)と、処理に関する情報に基づく処理命令を生成するサーバ(第2のサーバ)とは、同一のサーバであってもよいし、異なるサーバ(例えば、物理的に異なるサーバ、または、管理者が異なるサーバ)であってもよい(以下、同様とする。)。
【0030】
情報処理装置100は、例えば処理に関する情報が特定情報と処理の種別を規定するパラメータとを示す場合には、処理を実行することが可能でないと判定する。上記の場合には、情報処理装置100は、(2)の処理(実行制御処理)を行った上で、(3)の処理(実行処理)を行う。
【0031】
また、本実施形態に係る設定命令とは、例えば、共有アプリケーションが実行する処理を変更させるためのデータである。ここで、本実施形態に係る設定命令としては、例えば、共有アプリケーションが実行する処理の変更に係る実データ(以下、「カスタマイズデータ」)を生成するサーバを特定する情報や、生成に係るパラメータが挙げられる。以下では、設定命令を「カスタマイズ命令」と示す場合がある。なお、本実施形態に係る設定命令は、上記に限られず、例えば、カスタマイズデータそのものであってもよい。カスタマイズデータは、サービス事業者が定義する処理を共有アプリケーションが行うにあたって必要となるデータと換言することができる。
【0032】
情報処理装置100は、例えば、処理に関する情報が、「処理命令」または「特定情報、および処理の種別を規定するパラメータ」に加え、設定命令をさらに含む場合には、処理を実行することが可能でないと判定する。上記の場合には、情報処理装置100は、(2)の処理(実行制御処理)を行った上で、(3)の処理(実行処理)を行う。
【0033】
また、本実施形態に係る「条件情報」とは、例えば、処理の実行が許可される共有アプリケーションのバージョンに関する条件を示すデータである。本実施形態に係る条件情報としては、例えば、処理の実行に必要な共有アプリケーションのバージョンの値を示すパラメータが挙げられる。つまり、本実施形態に係る条件情報は、サービス事業者が定義する処理を行うにあたり必要な共有アプリのバージョンを示すものである。
【0034】
情報処理装置100は、例えば処理に関する情報に条件情報が含まれる場合には、共有アプリケーションが、条件情報が示す条件を満たすか否かを判定する。ここで、情報処理装置100は、例えば、共有アプリケーションのバージョンの値と、条件情報が示すバージョンの値とを比較し、共有アプリケーションのバージョンの値が条件情報が示すバージョンの値以上である場合に、条件情報が示す条件を満たすと判定する。
【0035】
共有アプリケーションが条件情報が示す条件を満たすと判定された場合には、情報処理装置100は、処理に関する情報が条件情報に含まれる他の情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるか否かを判定する。また、情報処理装置100は、共有アプリケーションが条件情報が示す条件を満たさないと判定した場合には、(2)の処理(実行制御処理)において、共有アプリケーションの更新を行う。そして、情報処理装置100は、例えば、共有アプリケーションが条件情報が示す条件を満たすかを再度判定する。
【0036】
情報処理装置100は、判定処理において、例えば上記のように、処理に関する情報に基づく処理を実行することが可能であるか否かを判定する。なお、本実施形態に係る情報処理装置100における(1)の処理(判定処理)は、上記に限られない。例えば、処理に関する情報には、上記各情報が複数組み合わせて含まれうる。上記の場合には、情報処理装置100は、例えば、処理に関する情報に含まれる情報それぞれに基づく判定を行い、いずれかの判定結果が“処理を実行することが可能でない”ことを示す場合には、処理を実行することが可能でないと判定する。そして、情報処理装置100は、処理に関する情報に含まれる情報それぞれに基づく判定の結果に対応して(2)の処理(実行制御処理)を行った上で、(3)の処理(実行処理)を行う。
【0037】
(2)実行制御処理
情報処理装置100は、上記(1)の処理(判定処理)において、処理を実行することが可能でないと判定された場合には、例えば、処理に関する情報に基づいて、処理に関する情報に基づく処理命令をサーバ(第2のサーバ)に生成させる。情報処理装置100が、サーバに処理命令(例えばスクリプトデータ)を生成させ、当該サーバから処理命令を取得することによって、情報処理装置100は、共有アプリケーションに当該処理命令に応じた処理を行わせることが可能となる。よって、情報処理装置100は、(2)の処理(実行制御処理)によって、共有アプリケーションによる処理に関する情報に基づく処理の実行を可能とすることができる。
【0038】
より具体的には、例えば、処理に関する情報が、特定情報と処理の種別を規定するパラメータとを含む場合には、情報処理装置100は、特定情報が示すサーバへとパラメータを含む生成要求を送信する。上記生成要求を送信することによって、情報処理装置100は、当該生成要求を受信したサーバにパラメータに対応する処理命令を生成させ、生成された処理命令を情報処理装置100へ送信させることができる。よって、情報処理装置100は、特定情報が示すサーバ(第2のサーバ)から処理命令を取得することができる。
【0039】
また、処理に関する情報が、「処理命令」または「特定情報、および処理の種別を規定するパラメータ」に加え、設定命令をさらに含む場合には、情報処理装置100は、例えば、設定命令が示すサーバに対して設定データの送信要求を送信して、当該サーバに設定命令に対応する設定データを送信させる。上記によって、情報処理装置100は、(3)の処理(実行処理)において、取得した設定データを用いた処理を共有アプリケーションに実行させることができる。
【0040】
また、情報処理装置100は、上記(1)の処理(判定処理)において、共有アプリケーションが条件情報が示す条件を満たすと判定されなかった場合には、共有アプリケーションを更新するための更新データを記憶するサーバに、更新データを送信させる。そして、情報処理装置100は、取得した更新データを用いて共有アプリケーションを更新する。ここで、情報処理装置100は、例えば、共有アプリケーションの更新処理の実行に際して中断されるサービスに係る処理を再開させるためのWebページ(後述する処理再開ページ)に含まれる、更新データを記憶するサーバを特定する情報を参照する。そして、情報処理装置100は、参照した情報が示すサーバに更新データの送信要求を送信することによって、当該サーバに更新データを送信させる。上記更新データを記憶するサーバを特定する情報としては、例えば、URLやIPアドレス、処理パラメータなどを示すデータが挙げられる。
【0041】
なお、本実施形態に係る情報処理装置100における、更新データの送信要求の送信方法は、上記に限られない。例えば、情報処理装置100は、例えば記憶部(後述する)などに予め記憶された、更新データを記憶するサーバを特定する情報を参照し、当該情報が示すサーバに更新データの送信要求を送信することによって、当該サーバに更新データを送信させてもよい。また、情報処理装置100は、例えば、更新データを記憶するサーバを特定する情報が、条件情報に含まれている場合には、条件情報を参照して更新データの送信要求を送信してもよい。
【0042】
さらに、上記(1)の処理(判定処理)において、共有アプリケーションが条件情報が示す条件を満たすと判定されなかった場合には、情報処理装置100は、共有アプリケーションによる処理に関する情報に基づく処理の実行を中断させる。そして、情報処理装置100は、共有アプリケーションの更新が完了した後に、共有アプリケーションによる処理に関する情報に基づく処理を再開させる。
【0043】
情報処理装置100は、(2)の処理(実行制御処理)において、例えば上記のような処理を行う。
【0044】
(3)実行処理
情報処理装置100は、共有アプリケーションに第1のサーバから取得された処理に関する情報に基づく処理を実行させる。
【0045】
より具体的には、上記(1)の処理(判定処理)において処理を実行することが可能であると判定された場合には、情報処理装置100は、例えば、サービスを提供するサーバ(第1のサーバ)から取得された処理命令(処理に関する情報の一例)に基づく処理を、共有アプリケーションに実行させる。また、上記の場合において、サーバから取得された処理に関する情報に許可情報がさらに含まれている場合には、情報処理装置100は、例えば、許可情報が示す制限内において、処理命令に基づく処理を共有アプリケーションに実行させる。
【0046】
また、上記(1)の処理(判定処理)において処理を実行することが可能でないと判定された場合には、情報処理装置100は、上記(2)の処理(実行制御処理)によって実行が可能となった、取得された処理に関する情報に基づく処理を、共有アプリケーションに実行させる。
【0047】
情報処理装置100は、本実施形態に係る情報処理方法に係る処理として、例えば、上記のような(1)の処理(判定処理)〜(3)の処理(実行処理)を行う。ここで、情報処理装置100において(2)の処理(実行制御処理)が行われない場合には、共有アプリケーションは、サービスを提供するサーバ(第1のサーバ)から取得された処理に関する情報に基づいて処理を実行する。また、情報処理装置100において(2)の処理(実行制御処理)が行われた場合には、処理に関する情報に基づく処理の実行が可能な状態となっているので、共有アプリケーションは、取得された処理に関する情報に基づく処理を実行することができる。
【0048】
したがって、上記のような(1)の処理(判定処理)〜(3)の処理(実行処理)によって、情報処理装置100は、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0049】
[本実施形態に係る情報処理方法に係る処理の具体例]
次に、本実施形態に係る情報処理方法に係る処理について、より具体的に説明する。なお、以下では、情報処理装置100が、サービスそれぞれに対応する複数の領域が設定されているICチップを備え、情報処理装置100は、共有アプリケーションによって、サービスに対応するICチップの領域へのデータの書き込みや当該領域からのデータの読み出しを、サービスに対応する処理として行う場合を主に例に挙げて説明する。なお、本実施形態に係るサービスに対応する処理は、上記の例に限られない。本実施形態に係るサービスに対応する処理の内容は、サービス事業者が処理に関する情報に規定することが可能である。よって、本実施形態に係るサービスに対応する処理としては、サービスの提供に係る任意の処理が挙げられる。
【0050】
また、以下では、情報処理装置100が、実行する共有アプリケーションによって、上記(1)の処理(判定処理)〜(3)の処理(実行処理)を行う場合を例に挙げて説明する。なお、本実施形態に係る情報処理方法に係る処理が、実行する共有アプリケーションによって上記(1)の処理(判定処理)〜(3)の処理(実行処理)を行う場合に限られないことは、言うまでもない。
【0051】
[I]第1の例
図1は、本実施形態に係る情報処理方法に係る処理の第1の例を示す説明図である。ここで、図1は、情報処理装置100が、サービス事業者のWebサイトを通じて処理に関する情報を取得し、共有アプリケーションにより処理に関する情報に基づく処理を行う例を示している。
【0052】
図1では、情報処理装置100と、ネットワーク300で接続されたサーバ200(または、サーバ群。以下、同様とする。)とを有する情報処理システムを示している。また、図1では、情報処理装置100と有線/無線で通信を行う外部端末400を併せて示している。ここで、本実施形態に係るネットワーク300としては、例えば、LAN(Local Area Network)やWAN(Wide Area Network)などの有線ネットワーク、無線LAN(WLAN;Wireless Local Area Network)や基地局を介した無線WAN(WWAN;Wireless Wide Area Network)などの無線ネットワーク、あるいは、TCP/IP(Transmission Control Protocol/Internet Protocol)などの通信プロトコルを用いたインターネットなどが挙げられる。
【0053】
情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の開始ページを表示させる。ここで、上記開始ページには、例えば、サーバ200が処理に関する情報を情報処理装置100などの外部装置に送信するトリガとなるリンクが、設けられる。例えばユーザが情報処理装置100を操作して上記リンクをクリックすると、サーバ200から情報処理装置100へと処理に関する情報が送信される(S100)。ここで、ステップS100において送信される処理に関する情報には、少なくとも、処理命令または処理命令配布URL(特定情報の一例)が含まれるものとする。なお、Webブラウザは、サービス事業者に対応するアプリケーションであってもよい(以下、同様とする。)。
【0054】
ステップS100においてサーバ200から送信された処理に関する情報を受信した情報処理装置100は、Webブラウザから共有アプリケーションへと処理に関する情報を受け渡す(S102)。ここで、ステップS102における処理に関する情報の受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられるが、処理に関する情報の受け渡し方法は、上記に限られない。
【0055】
情報処理装置100は、共有アプリケーションによって処理に関する情報を用いてサービスに係る処理を行うことができるか否かを判定する(S104)。情報処理装置100は、例えば、処理に関する情報に処理命令が含まれている場合に処理に関する情報を用いてサービスに係る処理を行うことができると判定し、また、処理に関する情報に処理命令配布URLが含まれている場合に処理に関する情報を用いてサービスに係る処理を行うことができないと判定する。ここで、ステップS104の処理は、上記(1)の処理(判定処理)に該当する。
【0056】
ステップS104において、サービスに係る処理を行うことができると判定された場合には、情報処理装置100は、共有アプリケーションによって、後述するステップS110の処理およびS112の処理、または、後述するステップS114の処理およびS116の処理を行う。
【0057】
また、ステップS104において、サービスに係る処理を行うことができると判定されない場合には、情報処理装置100は、サーバ200に処理命令(または、処理命令および許可情報)を要求する(S106)。情報処理装置100は、例えば、処理命令配布URLと処理の種別を規定するパラメータとに基づいて、サーバ200に処理命令の生成要求を送信する。ここで、ステップS106の処理は、上記(2)の処理(実行制御処理)に該当する。
【0058】
ステップS106において情報処理装置100から送信された要求を受信したサーバ200は、処理命令配布機能によって、当該要求に対応する処理命令を生成し、情報処理装置100へと送信する(S108)。ここで、サーバ200における処理命令配布機能とは、サーバ200における、処理命令を生成、配信する機能である。なお、サーバ200は、ステップS108において、許可情報をさらに送信してもよい。
【0059】
ステップS100においてサーバ200から処理命令を処理に関する情報として取得した場合、または、ステップS108において処理命令を受信した場合、情報処理装置100は、共有アプリケーションによって処理命令に対応する処理を行う。ここで、上記処理命令は、サーバ200によって生成されたものである。よって、情報処理装置100は、サービスごとに異なる振る舞いを共有アプリケーションにさせることができる。また、処理命令に対応する処理の実行は、上記(3)の処理(実行処理)に該当する。
【0060】
より具体的には、例えば、処理命令が、サービス事業者Aに対応するICチップの領域に対するデータの読み書きを規定している場合には、情報処理装置100は、共有アプリケーションにより、ICチップにおける処理命令に対応する領域Aに対するデータの書き込みや領域A読み出しを行う(S110、S112)。また、上記の場合において、情報処理装置100は、共有アプリケーションにより、外部端末400が備えるICチップにおける、処理命令に対応する領域Aに対するデータの書き込みや領域A読み出しを行ってもよい(S114、S116)。ステップS114、S116の処理を行う場合、情報処理装置100は、例えば、13.56[MHz]などの所定の周波数の搬送波を送信するリーダ/ライタ機能を有する。
【0061】
また、情報処理装置100が許可情報をさらに受信している場合には、情報処理装置100は、例えば、許可情報により許可された処理のみを共有アプリケーションに行わせる。ここで、本実施形態に係る許可情報は、例えば、共有アプリケーションを管理する管理者が、サービス事業者に対して発行するデータであり、許可情報には、共有アプリケーションを管理する管理者の署名が付与される。また、情報処理装置100は、例えば、共有アプリケーションにより許可情報の署名を検証し、検証結果が正常である場合に、許可情報が示す制限内において処理を行う。さらに、情報処理装置100は、許可情報の有効性を判定した上で、許可情報の検証を行ってもよい。
【0062】
ここで、許可情報の有効性の判定方法としては、例えば、許可情報の失効リストを記憶するサーバと通信を行い、取得された許可情報が失効しているか否かを判定する方法や、許可情報に設定されている有効期限が有効であるか否かを判定する方法などが挙げられる。上記取得された許可情報が失効しているか否かを判定する方法における判定処理は、サーバにおいて行われてもよいし、共有アプリケーションが行ってもよい。また、情報処理装置100が、上記判定処理を開始する前にサーバから許可情報の失効リストを取得し、取得した許可情報の失効リストを記憶している場合には、情報処理装置100は、許可情報の失効リストを記憶するサーバと通信を行わなくてもよい。
【0063】
例えば上記のように許可情報に基づく処理を行うことによって、情報処理装置100では、例えば、他のサービス事業者に対応するICチップの領域へのデータの読み書きが防止される。よって、情報処理装置100は、共有アプリケーションに、サービスごとに異なる振る舞いをより正常に行わせることができる。
【0064】
共有アプリケーションによって処理命令に対応する処理を行った情報処理装置100は、共有アプリケーションからWebブラウザへと処理結果を受け渡す(S118)。ここで、共有アプリケーションからWebブラウザへと受け渡される処理結果としては、例えば、URLパラメータが挙げられる。また、ステップS118における処理結果の受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0065】
なお、本実施形態に係る情報処理装置100における処理は、上記に限られない。例えば、情報処理装置100は、共有アプリケーションによって処理命令に対応する処理を行った後に、ステップS106の処理をさらに行うことによって、処理命令に対応する処理を複数回行うことも可能である。上記のように、共有アプリケーションによって処理命令に対応する処理が複数回行われる場合には、情報処理装置100では、例えば、複数回行われた処理命令に対応する処理の結果、すなわち、共有アプリケーションによって複数回行われた処理命令に対応する処理の最終的な結果が、共有アプリケーションからWebブラウザへと受け渡される。上記のように、複数回行われた処理命令に対応する処理の結果がステップS118において受け渡されることによって、後述するステップS120の処理により複数回行われた処理の結果が反映された終了ページが表示されることとなる。
【0066】
また、共有アプリケーションによって処理命令に対応する処理が複数回行われる場合には、情報処理装置100では、例えば、再度行われるステップS106の処理と同期して、共有アプリケーションからWebブラウザへと行われた処理命令に対応する処理の結果が受け渡されてもよい。上記のように、共有アプリケーションによって処理命令に対応する処理が複数回行われると共に、処理命令に対応する処理が行われるごとに、処理の結果がステップS118において共有アプリケーションからWebブラウザへと受け渡される場合には、例えば、処理命令に対応する処理が行われるごとに、後述するステップS120の処理により処理結果が情報処理装置100からサーバ200へと送信される。そして、例えば、共有アプリケーションによって最後に行われた処理(例えば、サーバ200からステップS108において送信される、サービスに係る処理の終了要求に対応する処理)の結果が、後述するステップS120の処理によりサーバ200へと送信されたときに、複数回行われた処理の結果が反映された終了ページが表示される。
【0067】
情報処理装置100は、Webブラウザを介してURLパラメータ(処理結果の一例)をサーバ200へ送信する(S120)。
【0068】
ステップS120の処理によって送信されたURLパラメータを受信したサーバ200は、URLパラメータを用いてサービスに係る処理の終了を示す終了ページ(Webページ)を動的に生成する。なお、上述したように、共有アプリケーションによって処理命令に対応する処理が複数回行われる場合には、サーバ200は、例えば、サービスに係る処理の終了要求に対応する処理の結果を受信したときに、終了ページを動的に生成してもよい。そして、情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の終了ページを表示させる。
【0069】
本実施形態に係る情報処理システムでは、例えば図1に示す処理が行われる。図1に示す処理によって、情報処理装置100は、サービス事業者のWebサイトを通じて処理に関する情報を取得し、共有アプリケーションによって処理に関する情報に基づく処理を行うことができる。なお、情報処理装置100とサーバ200などのサーバとの間におけるデータの授受の具体例については、後述する本実施形態に係る情報処理方法に係る処理の第2の例におけるデータの授受の具体例と併せて説明する。
【0070】
[II]第2の例
図2は、本実施形態に係る情報処理方法に係る処理の第2の例を示す説明図である。ここで、図2は、情報処理装置100が、上記第1の例に係る処理に加え、さらにカスタマイズデータを取得して処理に関する情報に基づく処理を行う例を示している。図2では、情報処理装置100と、ネットワーク300で接続されたサーバ200、および共有アプリケーションサーバ500とを有する情報処理システムを示している。
【0071】
情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の開始ページを表示させる。ここで、上記開始ページには、例えば、サーバ200が処理に関する情報を情報処理装置100などの外部装置に送信するトリガとなるリンクが、設けられる。図1のステップS100と同様に、例えばユーザが情報処理装置100を操作して上記リンクをクリックすると、サーバ200から情報処理装置100へと処理に関する情報が送信される(S200)。ここで、ステップS200において送信される処理に関する情報には、少なくとも、処理命令または処理命令配布URL(特定情報の一例)と、カスタマイズ命令(設定命令)とが含まれるものとする。
【0072】
ステップS200においてサーバ200から送信された処理に関する情報を受信した情報処理装置100は、図1のステップS102と同様に、Webブラウザから共有アプリケーションへと処理に関する情報を受け渡す(S202)。
【0073】
情報処理装置100は、共有アプリケーションによって、処理に関する情報を用いてサービスに係る処理を行うことができるか否かを判定する(S204)。ここで、ステップS204の処理は、上記(1)の処理(判定処理)に該当する。
【0074】
図2の例では、処理に関する情報にカスタマイズ命令が含まれているので、情報処理装置100は、処理に関する情報を用いてサービスに係る処理を行うことができると判定しない。また、情報処理装置100は、処理に関する情報に処理命令が含まれているか、または、処理に関する情報に処理命令配布URLが含まれているかによって、後述するステップS212の処理が必要であるか否かを判定する。
【0075】
情報処理装置100は、カスタマイズ命令に基づいて、カスタマイズ命令が指定するサーバに、カスタマイズデータの送信を要求する送信要求を送信する(S206)。ここで、図2では、共有アプリケーションサーバ500にカスタマイズデータが記憶されている例を示しているが、本実施形態に係る情報処理システムは、図2に示す例に限られない。例えば、本実施形態に係る情報処理システムでは、サーバ200にカスタマイズデータが記憶されていてもよい。
【0076】
ステップS206において情報処理装置100から送信された要求を受信したサーバは、当該要求に対応するカスタマイズデータを情報処理装置100へと送信する(S208)。
【0077】
ステップS208において送信されたカスタマイズデータを受信した情報処理装置100は、カスタマイズデータを共有アプリケーションに適用する(S210)。ステップS210の処理を行うことによって、情報処理装置100は、共有アプリケーションがあたかも提供されるサービス専用のアプリケーションであるように、ユーザに認識させることが可能となる。また、共有アプリケーションにカスタマイズデータを適用をすることによって、例えば、共有アプリケーションが処理実行中にユーザに提示する提示内容や提示方法を変えることができる。したがって、共有アプリケーションへのカスタマイズデータの適用を可能とすることによって、例えばユーザへの提示内容や提示方法を、サービス事業者が制御することが可能となる。ここで、カスタマイズデータにより制御される提示方法としては、例えば、表示画面に文字等を表示させる視覚的な提示や、音声による聴覚的な提示が挙げられる。
【0078】
ステップS210の処理が完了すると、情報処理装置100は、ステップS204の処理における判定結果に応じて、図1のステップS106と同様に、サーバ200に処理命令(または、処理命令および許可情報)を要求する(S212)。情報処理装置100は、例えば、ステップS204の処理において処理に関する情報に処理命令配布URLが含まれていると判定された場合に、ステップS212の処理を行う。
【0079】
ここで、例えば、情報処理装置100におけるステップS206の処理、ステップS210の処理、およびステップS212の処理は、上記(2)の処理(実行制御処理)に該当する。
【0080】
ステップS212において情報処理装置100から送信された要求を受信したサーバ200は、図1のステップS108と同様に、生成した処理命令を情報処理装置100へと送信する(S214)。なお、サーバ200は、ステップS214において、許可情報をさらに送信してもよい。
【0081】
ステップS200においてサーバ200から処理命令を処理に関する情報として取得した場合、または、ステップS214において処理命令を受信した場合、情報処理装置100は、共有アプリケーションによって、カスタマイズデータと処理命令とに対応する処理を行う(S216)。ここで、ステップS216の処理は、上記(3)の処理(実行処理)に該当する。
【0082】
ステップS216の処理を行った情報処理装置100は、図1のステップS118と同様に、共有アプリケーションからWebブラウザへと処理結果を受け渡す(S218)。そして、情報処理装置100は、Webブラウザを介してURLパラメータ(処理結果の一例)をサーバ200へ送信する(S220)。
【0083】
ステップS220の処理によって送信されたURLパラメータを受信したサーバ200は、URLパラメータを用いてサービスに係る処理の終了を示す終了ページ(Webページ)を動的に生成する。そして、情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の終了ページを表示させる。
【0084】
本実施形態に係る情報処理システムでは、例えば図2に示す処理が行われる。図2に示す処理によって、情報処理装置100は、上記第1の例に係る処理に加え、さらにカスタマイズデータを取得して処理に関する情報に基づく処理を行うことができる。
【0085】
なお、本実施形態に係る情報処理システムにおける、情報処理装置100がカスタマイズデータを用いる処理は、図2に示す処理に限られない。例えば、サービス事業者のWebサイトを通じて取得される処理に関する情報に、カスタマイズデータ(またはカスタマイズデータの一部のデータ)が含まれる場合には、情報処理装置100は、サービス事業者のWebサイトを通じて取得されるカスタマイズデータを共有アプリケーションに適用して処理を行うことも可能である。
【0086】
ここで、本実施形態に係る情報処理方法に係る処理における、情報処理装置100とサーバ200などのサーバとの間におけるデータの授受の具体例について説明する。
【0087】
図3は、本実施形態に係る情報処理方法に係る処理における、情報処理装置100とサーバとの間におけるデータの授受の一例を示す説明図である。ここで、図3は、基本的には、図2を参照して説明した処理におけるデータの授受の一例を示しているが、説明の便宜上、情報処理装置100が、サーバ200からカスタマイズデータを取得する例を示している。
【0088】
Webブラウザは、共有アプリケーションに処理に関する情報を受け渡す(S300)。図3に示すD1は、処理に関する情報の一例を示している。ここで、ステップS300の処理は、図2のステップS202の処理に対応する。
【0089】
ステップS300において処理に関する情報を受け渡された共有アプリケーションは、図3のD2に示すように、スキーム名「kyoyu」を削除する(S302)。また、共有アプリケーションは、図3のD2に示すURLに基づいて、処理命令配布URL(図3に示すD3)と、カスタマイズデータ配布URL(図3に示すD4。カスタマイズ命令の一例)とに分解する(S304)。
【0090】
共有アプリケーションは、カスタマイズデータ配布URLが示すサーバに、カスタマイズデータの送信を要求する送信要求を送信する(S306)。ここで、ステップS306の処理は、図2のステップS206の処理に対応する。
【0091】
上記送信要求を受信したサーバは、送信要求に含まれるパラメータに対応するカスタマイズデータ(図3に示すD5)を共有アプリケーションに送信する(S308)。ここで、サーバは、上記送信要求を受信するごとに上記送信要求に含まれるパラメータに基づいてカスタマイズデータを生成し、生成したカスタマイズデータを送信してもよいし、予め記憶されているカスタマイズデータを送信してもよい。また、ステップS308の処理は、図2のステップS208の処理に対応する。
【0092】
また、共有アプリケーションは、処理命令配布URLが示すサーバに、処理命令の送信を要求する(S310)。ここで、ステップS310の処理は、図2のステップS212の処理に対応する。
【0093】
ステップS310で送信された要求を受信したサーバは、当該要求に含まれるパラメータに対応する処理命令を生成して、生成した処理命令を共有アプリケーションに送信する(S312)。ステップS312においてサーバが送信するデータには、例えば図3に示すD6に示すように、終了ページを指定するURLが含まれていてもよい。ここで、ステップS312の処理は、図2のステップS214の処理に対応する。
【0094】
ステップS308において取得されたカスタマイズデータ、およびステップS312において取得された処理命令に基づき処理を行った共有アプリケーションは、Webブラウザを介して処理結果(図3に示すD7)をサーバへ送信する(S314)。ここで、ステップS314の処理は、図2のステップS218、S220の処理に対応する。
【0095】
例えば図3に示すように、情報処理装置100とサーバとの間でデータの授受されることによって、図2に示すような本実施形態に係る情報処理方法に係る処理が実現される。
【0096】
なお、本実施形態に係る情報処理システムにおいて、情報処理装置100とサーバとの間で授受されるデータは、図3に示す例に限られない。図4は、本実施形態に係る情報処理方法に係る処理における、情報処理装置100とサーバとの間におけるデータの授受の他の例を示す説明図である。ここで、図4は、図3と同様のデータが情報処理装置100とサーバとの間で授受される場合を示している。
【0097】
Webブラウザは、図3のステップS300と同様に、共有アプリケーションに処理に関する情報を受け渡す(S400)。ここで、図4に示すD1は、図3に示すD1のスキーム名「kyoyu」以降のデータが16進数でエンコードされたものであり、処理に関する情報の一例を示している。例えば図4に示すD1のように、図3に示すD1のURL部分をエンコードすることによって、例えば図3に示すD1のようにスキーム名が2つ(「kyoyu」、「http」)存在することが回避される。
【0098】
ステップS400において処理に関する情報を受け渡された共有アプリケーションは、スキーム名「kyoyu」を削除し、図3のD2に示すように、16進数でデコードする(S402)。また、共有アプリケーションは、図4のD2に示すURLに基づいて、図3のステップS304と同様に、処理命令配布URL(図4に示すD3)と、カスタマイズデータ配布URL(図4に示すD4。カスタマイズ命令の一例)とに分解する(S404)。
【0099】
図4に示す例では、処理に関する情報の一部が16進数でエンコードされているが、例えば情報処理装置100においてステップS400〜S404の処理が行われることによって、図3のステップS304の処理が行われた状態と同一の状態が実現されている。したがって、情報処理システムでは、図3に示すステップS306の処理〜S314と同一の処理が、ステップS406の処理〜S414の処理として行われることによって、図2に示すような本実施形態に係る情報処理方法に係る処理が実現される。
【0100】
なお、本実施形態に係る情報処理システムにおいて、情報処理装置100とサーバとの間で授受されるデータが、図3、図4に示す例に限られないことは、言うまでもない。
【0101】
[III]第3の例
図5は、本実施形態に係る情報処理方法に係る処理の第3の例を示す説明図である。ここで、図5は、サービス事業者Webサイトを通じて取得した処理に関する情報に基づいて、共有アプリケーションのアップデートをさせる場合における処理の一例を示している。また、図5では、情報処理装置100と、ネットワーク300で接続されたサーバ200、共有アプリケーションサーバ500、およびマーケットサーバ600とを有する情報処理システムを示している。
【0102】
情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の開始ページを表示させる。ここで、上記開始ページには、例えば、サーバ200が、処理に関する情報を情報処理装置100などの外部装置に送信するトリガとなるリンクが設けられる。図1のステップS100と同様に、例えばユーザが情報処理装置100を操作して上記リンクをクリックすると、サーバ200から情報処理装置100へと処理に関する情報が送信される(S500)。
【0103】
ここで、ステップS200において送信される処理に関する情報には、少なくとも、処理命令または処理命令配布URL(特定情報の一例)と、必要バージョンの値(図5に示す例では、“2”を示す。条件情報の一例)とが含まれるものとする。また、上記必要バージョンの値は、サービス事業者が共有アプリケーションのバージョンを指定するために付与する値であり、サービス事業者により任意に付与される。
【0104】
ステップS500においてサーバ200から送信された処理に関する情報を受信した情報処理装置100は、図1のステップS102と同様に、Webブラウザから共有アプリケーションへと処理に関する情報を受け渡す(S502)。
【0105】
情報処理装置100は、処理に関する情報に必要バージョンの値が含まれているので、共有アプリケーションに、現在のバージョンの値と処理に関する情報に含まれる必要バージョンの値とを比較させる(S504)。図5の例では、現在のバージョンの値“1”が、処理に関する情報に含まれる必要バージョンの値“2”よりも小さいので、ステップS504の処理の結果、共有アプリケーションのバージョンアップが必要であると判定される。ここで、ステップS504の処理は、上記(1)の処理(判定処理)に該当する。
【0106】
なお、図5では、情報処理装置100が、サーバ200から取得した処理に関する情報に必要バージョンの値(条件情報の一例)が含まれている場合に、共有アプリケーションのバージョンアップが必要であるか否かを判定する例を示しているが、本実施形態に係る情報処理装置100における処理は、上記に限られない。例えば、本実施形態に係る情報処理装置100は、処理に関する情報が取得されるごとに、共有アプリケーションのアップデートが必要か否かを判定してもよい。より具体的には、情報処理装置100は、例えば、共有アプリケーションの最新のバージョンの値の送信を要求する送信要求や、取得された処理に関する情報に対応するサービスに係る処理を実行するために必要な共有アプリケーションのバージョンの値の送信を要求する送信要求を、予め規定されたサーバに対して送信する。そして、情報処理装置100は、上記サーバから上記送信要求に応じて送信されたバージョンの値と、現在のバージョンの値とに基づいて、ステップS504の処理を行うことによって、共有アプリケーションのアップデートが必要か否かを判定する。
【0107】
また、本実施形態に係る情報処理システムでは、例えば、必要バージョンが共有アプリケーションサーバ500側で指定されてもよい。共有アプリケーションサーバ500における必要バージョンの指定は、例えば、共有アプリケーションを管理する管理者によって行われる。上記の場合、情報処理装置100は、例えば、共有アプリケーションによって、共有アプリケーションサーバ500に必要バージョンを確認する。ここで、情報処理装置100は、例えば、共有アプリケーションが起動されるごとに必要バージョンの確認を行うが、本実施形態に係る必要バージョンの確認のタイミングは、上記に限られない。例えば、情報処理装置100は、共有アプリケーションが所定の回数起動されるごとに必要バージョンを確認してもよいし(例えば、数回に1回の頻度)、必要バージョンの確認後所定の日数が経過した後に共有アプリケーションが起動されたときに、必要バージョンを確認してもよい(例えば、数日に1回の頻度)。
【0108】
さらに、本実施形態に係る情報処理システムでは、例えば、共有アプリケーションにおける現在のバージョンの値と、必要バージョンの値との比較処理を、共有アプリケーションサーバ500などのサーバ側で行うことも可能である。比較処理がサーバ側で行われる場合には、情報処理装置100は、サーバより行われた比較処理の結果に基づいて、共有アプリケーションのバージョンアップが必要であるか否かを判定する。
【0109】
ステップS504の処理の結果、共有アプリケーションのバージョンアップが必要であると判定されない場合には、情報処理装置100は、例えば、図1のステップS104からの処理や、図2のステップS204からの処理を行って、取得した処理に関する情報に基づく処理を行う。
【0110】
また、ステップS504の処理の結果、共有アプリケーションのバージョンアップが必要であると判定された場合には、情報処理装置100は、例えば、サーバ200から取得した処理に関する情報に含まれる処理命令または処理命令配布URLと、処理再開ページ作成命令とを、URLパラメータの形式でWebブラウザへ受け渡す(S506)。ここで、ステップS506におけるURLパラメータの受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0111】
情報処理装置100は、Webブラウザを介してステップS506において受け渡されたURLパラメータを共有アプリケーションサーバ500へ送信する(S508)。なお、図5では、情報処理装置100がURLパラメータを共有アプリケーションサーバ500へ送信する例を示しているが、情報処理装置100がURLパラメータを送信する外部装置は、共有アプリケーションサーバ500に限られない。例えば、情報処理装置100は、処理を中断しているサービスに対応するサーバ200に対して、URLパラメータを送信してもよい。
【0112】
ステップS508の処理によって送信されたURLパラメータを受信した共有アプリケーションサーバ500は、URLパラメータを用いて、共有アプリケーションのアップデート処理に伴い中断されたサービスに係る処理をアップデート処理の完了後に再開させるための処理再開ページ(Webページ)を動的に生成する。そして、情報処理装置100は、例えばWebブラウザによって、処理再開ページを表示させる(S510)。
【0113】
ここで、共有アプリケーションサーバ500は、例えば、共有アプリケーションをバージョンアップさせるための更新データを所定のサーバから取得させるための所定のアプリケーションを起動させるための起動命令を、処理再開ページに埋め込む。上記のように、処理再開ページに起動命令が埋め込まれることによって、情報処理装置100は、起動命令に対応するアプリケーションを起動して、更新データを所定のサーバから取得することが可能となる。図5では、共有アプリケーションサーバ500が、マーケットアプリケーションを起動させるためのマーケットアプリケーション起動命令を、処理再開ページに埋め込む例を示している。
【0114】
なお、図5では、情報処理装置100が、ステップS508、S510の処理によって、共有アプリケーションのアップデート処理が完了する前に処理再開ページを表示する例を示している。上記は、情報処理システムの態様によっては、Webブラウザにより表示されるWebページの表示、および非表示が、いわゆるFILO(First In Last Out)の形式で行われることが起こりうるからである。
【0115】
図6は、本実施形態に係る情報処理方法に係る処理の一例を補足するための説明図である。ここで、図6は、本実施形態に係る情報処理方法に係る処理の第3の例、および後述する本実施形態に係る情報処理方法に係る処理の第4の例の結果、表示画面に表示される画面の一例を示している。
【0116】
例えば図6のAに示す画面において、“はい”ボタンが選択されると、情報処理装置100では、サービスAに係る処理が開始される。ここで、図6のAに示す画面は、例えば図5のステップS500の処理に関して表示される画面に相当する。
【0117】
共有アプリケーションのアップデートが必要であると判定された場合には、例えば図6のBに示すように、中断されたサービスAに係る画面SC1に重なるように、共有アプリケーションのアップデート処理に係る画面SC2が表示画面に表示される。ここで、図6のBに示す画面は、例えば、図5のステップS504の処理に関して表示される画面に相当する。なお、図6では、画面SC1と画面SC2とをずらして表現しているが、これは、説明の便宜上の表現である。
【0118】
例えば図6のBに示す画面SC2において、“はい”ボタンが選択されると、情報処理装置100では、共有アプリケーションのアップデート処理が開始される(図6に示すC)。ここで、図6のCに示す画面は、例えば、図5のステップS516の処理により表示される画面に相当する。そして、共有アプリケーションのアップデート処理が完了すると、共有アプリケーションのアップデート処理に係る画面SC2は、非表示となる(図6に示すD)。
【0119】
上記のように、Webブラウザにより表示されるWebページの表示、および非表示が、いわゆるFILOの形式で行われる場合には、共有アプリケーションのアップデート処理に係る画面SC2が非表示となったときに、図6のDに示すように、処理再開ページが表示画面に表示されることが望ましい。共有アプリケーションのアップデート処理の完了後に処理再開ページが表示画面に表示されない場合には、例えば、ユーザが再度サービスAの開始ページにアクセスしなければならないなど、ユーザの利便性を損ねる恐れがあるからである。また、ユーザの利便性の低下が生じた場合には、例えば、サービスの再開が行われないことによるサービスの利用率の低下も起こりうる。
【0120】
例えば図6のDに示すように、共有アプリケーションのアップデート処理の完了後に処理再開ページが表示画面に表示される場合には、図6のDに示す画面SC1において、“再開”ボタンが選択されることによって、サービスAに係る処理を再開、完了させることが可能となる(図6に示すE、F)。
【0121】
上記のように、共有アプリケーションのアップデート処理の完了後に処理再開ページが表示画面に表示されない場合には、ユーザの利便性を損ねる恐れがある。そこで、図5では、Webブラウザにより表示されるWebページの表示、および非表示が、図6に示すようなFILOの形式で行われる場合において、ユーザの利便性の低下や、サービスの利用率の低下を防止するための処理の一例を示している。なお、Webブラウザにより表示されるWebページの表示、および非表示が、図6に示すようなFILOの形式で行われない場合には、本実施形態に係る情報処理システムは、例えば、共有アプリケーションのアップデート処理の完了後に、図5のステップS508の処理、およびS510の処理を行ってもよい。
【0122】
ここで、本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の具体例について説明する。図7は、本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の一例を示す説明図である。
【0123】
Webブラウザは、共有アプリケーションに処理に関する情報を受け渡す(S600)。図7に示すD1は、処理に関する情報の一例を示している。ここで、ステップS600の処理は、図5のステップS502の処理に対応する。
【0124】
ステップS600において処理に関する情報を受け渡された共有アプリケーションは、図7のD2に示すように、スキーム名「kyoyu」を削除する(S602)。また、共有アプリケーションは、現在のバージョンの値と処理に関する情報に含まれる必要バージョンの値とを比較する。図7の例では、共有アプリケーションは、現在のバージョンの値“1”と処理に関する情報に含まれる必要バージョンの値“2”とを比較し、アップデートが必要であると判定する。
【0125】
共有アプリケーションは、例えば、図7のD2に示すURLパラメータを16進数でエンコードし、Webブラウザを介してエンコードされたURLパラメータを(図7に示すD3)をサーバへ送信する(S604)。ここで、ステップS604の処理は、図5のステップS506、S508の処理に対応する。
【0126】
例えば図7に示すようにデータの授受が行われることによって、処理再開ページの表示画面への表示が実現される。
【0127】
なお、本実施形態に係る情報処理システムにおける、処理再開ページの表示画面への表示に係るデータの授受は、図7に示す例に限られない。図8は、本実施形態に係る情報処理方法に係る処理における、処理再開ページの表示画面への表示に係るデータの授受の他の例を示す説明図である。ここで、図8は、図7と同様のデータが情報処理装置100とサーバとの間で授受される場合を示している。
【0128】
Webブラウザは、図7のステップS600と同様に、共有アプリケーションに処理に関する情報を受け渡す(S700)。ここで、図8に示すD1は、図7に示すD1のスキーム名「kyoyu」以降のデータが16進数でエンコードされたものであり、処理に関する情報の一例を示している。
【0129】
ステップS700において処理に関する情報を受け渡された共有アプリケーションは、スキーム名「kyoyu」を削除し、図8のD2に示すように、16進数でデコードする(S702)。また、共有アプリケーションは、現在のバージョンの値と処理に関する情報に含まれる必要バージョンの値とを比較する。図8の例では、共有アプリケーションは、現在のバージョンの値“1”と処理に関する情報に含まれる必要バージョンの値“2”とを比較し、アップデートが必要であると判定する。
【0130】
共有アプリケーションは、例えば、図8のD2に示すURLパラメータを16進数でエンコードし(S704)、Webブラウザを介してエンコードされたURLパラメータを(図8に示すD3)をサーバへ送信する(S706)。ここで、ステップS706の処理は、図5のステップS506、S508の処理に対応する。
【0131】
例えば図8に示すようにデータの授受が行われることによって、処理再開ページの表示画面への表示が実現される。なお、本実施形態に係る情報処理システムにおける、処理再開ページの表示画面への表示に係るデータの授受が、図7、図8に示す例に限られないことは、言うまでもない。
【0132】
ここで、例えば図7、図8に示すように、処理再開ページの表示画面への表示に係るデータの授受が行われる意義について説明する。共有アプリケーションのアップデート後に、サービス事業者Webサイトを通じて受け取ったパラメータを用いてサービスに係る処理を再開する方法としては、例えば、下記の(a)〜(c)の3通りの方法が挙げられる。
【0133】
(a)共有アプリケーションのアップデート前に情報処理装置内にパラメータを記憶しておき、アップデート後の共有アプリケーション起動時に、記憶しているパラメータを利用してサービスに係る処理を再開する。
(b)サービス事業者Webサイトの開始ページをそのまま残しておき、共有アプリケーションのアップデート後に、ユーザがサービス事業者Webサイトの開始ページを操作して再度サービスに係る処理を情報処理装置に実行させる。
(c)処理再開ページを生成し、共有アプリケーションのアップデート後に、ユーザが処理再開ページを操作して再度サービスに係る処理を情報処理装置に実行させる(上述した本実施形態に係る方法)。
【0134】
例えば(a)の方法が用いられる場合には、情報処理装置において、実行するサービスに係る処理を判定する処理がさらに必要となる。例えば、共有アプリケーションのアップデート前に記憶していたパラメータがサービス事業者Aに対応するものであり、アップデート後にサービス事業者Bの開始ページから共有アプリケーションが起動された場合には、情報処理装置は、サービス事業者Aの処理とサービス事業者Bの処理とのどちらの処理を実施するかや、双方の処理を行うかについての判定を行わなけらばならない。
【0135】
ここで、仮に上記判定の結果に誤りが生じた場合には、ユーザが意図しないサービスに係る処理が実行されることとなる。よって、例えば(a)の方法が用いられる場合には、ユーザの利便性が低下する恐れがある。
【0136】
また、例えば(b)の方法が用いられる場合には、共有アプリケーションのアップデート後にユーザがサービス事業者Webサイトの開始ページを操作することによって、サービスに係る処理を再度情報処理装置に実行させる必要がある。そのため、サービスに係る処理が、例えば、電子マネー(電子バリューの一例)を1000円分チャージする処理である場合には、ユーザが再度の操作をためらうことが起こりうる。例えば、ユーザが“2000円分チャージされる(サービスに係る処理が二重に行われる)”と解釈することがありうるからである。
【0137】
よって、例えば(b)の方法が用いられる場合には、ユーザが再度サービスの開始ページにアクセスしなければならないことから、上述したように、ユーザの利便性の低下や、サービスの利用率の低下が生じうる。
【0138】
これに対して、本実施形態に係る(c)の方法を用いる場合には、上記(a)、(b)において生じうる問題は、生じない。つまり、本実施形態に係る(c)の方法を用いることによって、上記(a)、(b)において生じうる問題の解決を図ることができる。
【0139】
ここで、情報処理装置100において共有アプリケーションがアップデートされる場合には、共有アプリケーション自身が更新されるので、共有アプリケーションが処理再開ページの生成に係る処理を行うことができない。そこで、本実施形態に係る情報処理システムでは、情報処理装置100の外部装置であるサーバ(例えば共有アプリケーションサーバ500)に処理再開ページの生成を行わせる。
【0140】
例えば図7、図8に示すように、情報処理装置100からサーバへとサービスの開始ページを通じて取得されたパラメータが引き渡されることによって、上記(a)、(b)において生じうる問題の解決を図ることが可能な、本実施形態に係る(c)の方法を実現することができる。
【0141】
再度図5を参照して、本実施形態に係る情報処理方法に係る処理の第3の例について説明する。ステップS510において処理再開ページが表示されると、情報処理装置100は、処理再開ページに埋め込まれているマーケットアプリケーション起動命令に基づいて、マーケットアプリケーションを起動させる(S512)。ここで、ステップS512は、例えば、更新情報が記憶されているサーバのURLと処理パラメータとが規定された、URLパラメータの受け渡しにより行われる。また、上記URLパラメータの受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0142】
なお、図5では、情報処理装置100が、Webブラウザを介してマーケットアプリケーションを起動させる例を示しているが、情報処理装置100における処理は、上記に限られない。例えば、情報処理装置100は、共有アプリケーションを介してマーケットアプリケーションを起動させてもよい。
【0143】
情報処理装置100は、マーケットアプリケーションを介して、マーケットサーバ600に対し、例えば共有アプリケーションの最新バージョンの情報を要求する(S514)。なお、情報処理装置100がマーケットサーバ600に対して要求する共有アプリケーションのバージョンの情報は、最新バージョンの情報に限られず、例えば、処理に関する情報に含まれていた必要バージョンの値(条件情報の一例)に対応する共有アプリケーションのバージョンの情報であってもよい。また、本実施形態に係る情報処理システムにおいて、更新データを記憶する装置が、マーケットサーバ600に限られないことは、言うまでもない。
【0144】
ステップS514において送信された要求を受信したマーケットサーバ600は、当該要求に対応する共有アプリケーションのバージョンの情報を、情報処理装置100へ送信する(S516)。ステップS516の処理によって、例えば図6のCのSC2に示す画面が表示画面に表示される。
【0145】
例えば図6のCのSC2に示す画面において、“アップデート”ボタンが選択されると、情報処理装置100は、マーケットアプリケーションを介して、マーケットサーバ600に対し、更新情報の送信要求(すなわち、共有アプリケーションのアップデート要求)を送信する(S518)。
【0146】
ステップS518において送信された更新情報の送信要求を受信したマーケットサーバ600は、当該送信要求に応じて更新情報を情報処理装置100へ送信する(S520)。
【0147】
ステップS520において送信された更新情報を受信した情報処理装置100は、受信した更新情報を用いて、共有アプリケーションを更新する(S522)。また、ステップS522の処理が行われると、情報処理装置100は、例えば、後述する本実施形態に係る情報処理方法における第4の例に係る処理を行う。
【0148】
ここで、例えば、情報処理装置100におけるステップS506の処理、ステップS508の処理、ステップS512の処理、ステップS514の処理、ステップS518の処理、およびステップS522の処理は、上記(2)の処理(実行制御処理)に該当する。
【0149】
例えば図5に示す処理が行われることによって、情報処理装置100は、サービス事業者Webサイトを通じて取得した処理に関する情報に基づいて、共有アプリケーションのアップデートを行うことができる。なお、本実施形態に係る情報処理システムにおける、取得した処理に関する情報に基づく共有アプリケーションのアップデートに係る処理が、図5に示す例に限られないことは、言うまでもない。
【0150】
[IV]第4の例
図9は、本実施形態に係る情報処理方法に係る処理の第4の例を示す説明図である。ここで、図9は、上述した第3の例に係る処理における共有アプリケーションのアップデート後に、中断されているサービスに係る処理が再開される場合の処理の一例を示している。また、図9では、情報処理装置100と、ネットワーク300で接続されたサーバ200、および共有アプリケーションサーバ500とを示している。
【0151】
情報処理装置100は、例えばWebブラウザによって、共有アプリケーションサーバ500により動的に生成された処理再開ページを表示する(S800)。ここで、ステップS800の処理は、図5のステップS510の処理に該当する。また、上述した第3の例に係る処理における共有アプリケーションのアップデートが完了することによって、表示画面には、例えば図6のDに示す画面が表示される。
【0152】
例えば図6のDに示す“再開”ボタンが選択されると、情報処理装置100は、選択されたボタンに対応付けられたURLパラメータ(図5のステップS508において、情報処理装置100が送信したURLパラメータに対応する。)を、Webブラウザから共有アプリケーションへと受け渡す(S802)。ステップS802におけるURLパラメータの受け渡し方法としては、例えば、インテントや、オブジェクトタグなどの方法が挙げられる。
【0153】
情報処理装置100は、共有アプリケーションによって、URLパラメータ(例えば図5のステップS500において取得された、処理に関する情報に基づくURLパラメータ)を用いてサービスに係る処理を行うことができるか否かを判定する(S804)。ここで、ステップS804の処理は、上記(1)の処理(判定処理)に該当する。
【0154】
より具体的には、情報処理装置100は、例えばURLパラメータに処理命令配布URLが含まれている場合には、URLパラメータを用いてサービスに係る処理を行うことができると判定せず、後述するステップS806の処理を行う。また、情報処理装置100は、例えばURLパラメータに処理命令が含まれている場合には、後述するステップS806の処理は行わずに、後述するステップS810の処理を行う。
【0155】
ステップS804において、サービスに係る処理を行うことができると判定されない場合には、情報処理装置100は、図1のステップS106と同様に、サーバ200に処理命令(または、処理命令および許可情報)を要求する(S806)。ここで、ステップS806の処理は、上記(2)の処理(実行制御処理)に該当する。
【0156】
ステップS806において情報処理装置100から送信された要求を受信したサーバ200は、図1のステップS108と同様に、当該要求に対応する処理命令を生成し、情報処理装置100へと送信する(S808)。なお、サーバ200は、ステップS808において、許可情報をさらに送信してもよい。
【0157】
ステップS804においてURLパラメータに処理命令が含まれていると判定された場合、または、ステップS808において処理命令を受信した場合、情報処理装置100は、共有アプリケーションによって処理命令に対応する処理を行う(S810)。ここで、ステップS810の処理は、上記(3)の処理(実行処理)に該当する。
【0158】
ステップS810の処理を行った情報処理装置100は、図1のステップS118と同様に、共有アプリケーションからWebブラウザへと処理結果を受け渡す(S812)。そして、情報処理装置100は、Webブラウザを介してURLパラメータ(処理結果の一例)をサーバ200へ送信する(S814)。
【0159】
ステップS814の処理によって送信されたURLパラメータを受信したサーバ200は、URLパラメータを用いてサービスに係る処理の終了を示す終了ページ(Webページ)を動的に生成する。そして、情報処理装置100は、例えばWebブラウザによって、サービス事業者WebサイトAにおけるサービスに係る処理の終了ページを表示させる。
【0160】
本実施形態に係る情報処理システムでは、共有アプリケーションのアップデート処理(例えば上記第3の例に係る処理)により中断されているサービスに係る処理を再開させる場合に、例えば図9に示す処理が行われる。ここで、図9に示すステップS804以降の処理は、図1に示すステップS104以降の処理と同様の処理である。よって、例えば図9に示す処理によって、情報処理装置100は、共有アプリケーションのアップデート処理後に、サービスに係る処理(取得された処理に関する情報に基づく処理)を完了させることができる。
【0161】
なお、本実施形態に係る情報処理システムにおける、共有アプリケーションのアップデート後に中断されているサービスに係る処理を再開させる方法は、上記に限られない。例えば、情報処理装置100が、共有アプリケーションのアップデート処理の開始前に、取得された処理に関する情報を記録媒体に記録し、共有アプリケーションのアップデート処理の完了後に、当該記録媒体から処理に関する情報を読み出して処理を行うことも可能である。
【0162】
例えば上述した第1の例に係る処理〜第4の例に係る処理が行われることによって、本実施形態に係る情報処理方法に係る処理が実現される。なお、本実施形態に係る情報処理方法に係る処理の例が、上述した第1の例に係る処理〜第4の例に係る処理に限られないことは、言うまでもない。
【0163】
(本実施形態に係る情報処理装置)
次に、上述した本実施形態に係る情報処理方法に係る処理を行うことが可能な、本実施形態に係る情報処理装置100の構成の一例について、説明する。
【0164】
図10は、本実施形態に係る情報処理装置100の構成の一例を示すブロック図である。情報処理装置100は、例えば、通信部102と、制御部104とを備える。
【0165】
また、情報処理装置100は、例えば、ROM(Read Only Memory;図示せず)や、RAM(Random Access Memory;図示せず)、記憶部(図示せず)、ユーザが操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。情報処理装置100は、例えば、データの伝送路としてのバス(bus)により上記各構成要素間を接続する。
【0166】
ここで、ROM(図示せず)は、制御部104が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部104により実行されるプログラムなどを一時的に記憶する。
【0167】
記憶部(図示せず)は、情報処理装置100が備える記憶手段であり、例えば、電子マネーやサービスに付随する特典を享受するためのデータなどサービスに係るデータや、アプリケーションなど様々なデータを記憶する。ここで、記憶部(図示せず)としては、例えば、ハードディスク(Hard Disk)などの磁気記録媒体や、EEPROM(Electrically Erasable and Programmable Read Only Memory)、フラッシュメモリ(flash memory)などの不揮発性メモリ(nonvolatile memory)などが挙げられる。また、記憶部(図示せず)は、例えば、リーダ/ライタと非接触式に通信可能なICチップ内に設けられた、耐タンパ性を有する記録媒体であってもよい。また、記憶部(図示せず)は、情報処理装置100から着脱可能であってもよい。
【0168】
操作部(図示せず)としては、例えば、ボタンや、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられる。また、情報処理装置100は、例えば、情報処理装置100の外部装置としての操作入力デバイス(例えば、キーボードやマウスなど)と接続することもできる。
【0169】
表示部(図示せず)としては、例えば、液晶ディスプレイ(Liquid Crystal Display;LCD)や有機ELディスプレイ(organic ElectroLuminescence display。または、OLEDディスプレイ(Organic Light Emitting Diode display)ともよばれる。)などが挙げられる。なお、表示部(図示せず)は、例えばタッチスクリーンなどのように、表示とユーザ操作とが可能なデバイスであってもよい。また、情報処理装置100は、表示部(図示せず)の有無に関わらず、情報処理装置100の外部装置としての表示デバイス(例えば、外部ディスプレイなど)と接続することもできる。
【0170】
[情報処理装置100のハードウェア構成例]
図11は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示す説明図である。情報処理装置100は、例えば、MPU150と、ROM152と、RAM154と、記録媒体156と、入出力インタフェース158と、操作入力デバイス160と、表示デバイス162と、通信インタフェース164とを備える。また、情報処理装置100は、例えば、データの伝送路としてのバス166で各構成要素間を接続する。
【0171】
MPU150は、例えば、MPU(Micro Processing Unit)や、各種処理回路などで構成され情報処理装置100全体を制御する制御部104として機能する。また、MPU150は、情報処理装置100において、例えば、後述する判定部110、処理制御部112、および処理部114の役目を果たす。
【0172】
ROM152は、MPU150が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。RAM154は、例えば、MPU150により実行されるプログラムなどを一時的に記憶する。
【0173】
記録媒体156は、記憶部(図示せず)として機能し、例えば、サービスに係るデータや、アプリケーションなど様々なデータを記憶する。ここで、記録媒体156としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体156は、情報処理装置100から着脱可能であってもよい。
【0174】
入出力インタフェース158は、例えば、操作入力デバイス160や、表示デバイス162を接続する。操作入力デバイス160は、操作部(図示せず)として機能し、また、表示デバイス162は、表示部(図示せず)として機能する。ここで、入出力インタフェース158としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)端子、各種処理回路などが挙げられる。また、操作入力デバイス160は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース158と接続される。操作入力デバイス160としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられる。また、表示デバイス162は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース158と接続される。表示デバイス162としては、例えば、液晶ディスプレイや有機ELディスプレイなどが挙げられる。
【0175】
なお、入出力インタフェース158が、情報処理装置100の外部装置としての操作入力デバイス(例えば、キーボードやマウスなど)や、表示デバイス、撮像デバイスなどの、外部デバイスと接続することもできることは、言うまでもない。また、表示デバイス162は、例えばタッチスクリーンなど、表示とユーザ操作とが可能なデバイスであってもよい。
【0176】
通信インタフェース164は、情報処理装置100が備える通信手段であり、ネットワーク300を介して(あるいは、直接的に)、例えば、サーバ200、共有アプリケーションサーバ500、マーケットサーバ600などのサーバなど、外部装置と無線/有線で通信を行うための通信部102として機能する。ここで、通信インタフェース164としては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11bポートおよび送受信回路(無線通信)、あるいはLAN(Local Area Network)端子および送受信回路(有線通信)などが挙げられる。
【0177】
情報処理装置100は、例えば図11に示す構成によって、本実施形態に係る情報処理方法に係る処理を行う。なお、本実施形態に係る情報処理装置100のハードウェア構成は、図11に示す構成に限られない。
【0178】
例えば、情報処理装置100は、13.56[MHz]など所定の周波数の搬送波を通信に用いるNFC(Near Field Communication)によって形成される通信路によって、外部端末400などの外部装置と通信を行うための、無線通信アンテナ回路および搬送波送信回路を、さらに備えていてもよい。
【0179】
ここで、無線通信アンテナ回路は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルおよび所定の静電容量をもつキャパシタからなる共振回路と、復調回路とから構成される。また、搬送波送信回路は、例えば、ASK変調(Amplitude Shift Keying)を行う変調回路と、変調回路の出力を増幅する増幅回路とから構成され、無線通信アンテナ回路の送受信アンテナから搬送波信号をのせた搬送波を送信する。
【0180】
例えば上記のような無線通信アンテナ回路および搬送波送信回路を備えることによって、情報処理装置100は、いわゆるリーダ/ライタ機能を有することができる。
【0181】
また、情報処理装置100は、リーダ/ライタと非接触式に通信可能なICチップを備えていてもよい。ICチップを備えることによって、情報処理装置100は、(3)の処理(実行処理)において、例えば図1に示すステップS110の処理、S112の処理を行うことができる。
【0182】
また、情報処理装置100は、例えば、DSP(Digital Signal Processor)と、増幅器(アンプ)やスピーカなどから構成される音声出力デバイスとをさらに備えていてもよい。上記DSPと音声出力デバイスとをさらに備える場合には、情報処理装置100は、ユーザに対する音声による聴覚的な提示を実現することが可能となる。
【0183】
さらに、情報処理装置100は、例えば、操作デバイス160や表示デバイス162を備えない構成をとることも可能である。
【0184】
再度図10を参照して、情報処理装置100の構成の一例について説明する。通信部102は、情報処理装置100が備える通信手段であり、ネットワーク300を介して(あるいは、直接的に)、サーバなどの外部装置と無線/有線で通信を行う。また、通信部102は、例えば制御部104により通信が制御される。ここで、通信部102としては、例えば、通信アンテナおよびRF回路や、LAN端子および送受信回路などが挙げられるが、通信部102の構成は、上記に限られない。例えば、通信部102は、USB端子および送受信回路など通信を行うことが可能な任意の規格に対応する構成や、ネットワーク300に対応する構成をとることができる。
【0185】
制御部104は、例えばMPUなどで構成され、情報処理装置100全体を制御する役目を果たす。また、制御部104は、例えば、判定部110と、処理制御部112と、処理部114とを備え、本実施形態に係る情報処理方法に係る処理を主導的に行う役目を果たす。
【0186】
判定部110は、上記(1)の処理(判定処理)を主導的に行う役目を果たし、サーバ200などのサービスを提供するサーバ(第1のサーバ)から取得された、処理に関する情報に基づいて、処理に関する情報に基づく処理を実行することが可能であるかを判定する。
【0187】
処理制御部112は、上記(2)の処理(実行制御処理)を主導的に行う役目を果たし、判定部110において処理を実行することが可能ではないと判定された場合に、処理に関する情報に基づく処理の実行を可能にさせる。ここで、判定部110において処理を実行することが可能ではないと判定された場合、処理制御部112は、例えば、処理に関する情報に基づいて、処理に関する情報に基づく処理命令をサーバ(第2のサーバ)に生成させる。処理制御部112がサーバに生成させた処理に関する情報に基づく処理命令を生成させることによって、処理部114は、処理制御部112がサーバに生成させた処理命令に基づいて、処理に関する情報に基づく処理を行うことができる。
【0188】
処理部114は、上記(3)の処理(実行処理)を主導的に行う役目を果たし、共有アプリケーションに、処理に関する情報に基づく処理を実行させる。
【0189】
より具体的には、例えば、処理に関する情報が、特定情報と処理の種別を規定するパラメータとを含む場合には、判定部110は、処理を実行することが可能ではないと判定する。上記の場合、処理制御部112は、例えば、パラメータを含む生成要求を特定情報が示すサーバへと送信させて、パラメータに対応する処理命令をサーバに生成させる。そして、処理部114は、取得された処理命令が示す処理を共有アプリケーションに実行させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第1の例に係る処理に対応する。
【0190】
また、例えば、処理に関する情報が処理命令を含む場合には、判定部110は、処理を実行することが可能であると判定する。そして、処理部114は、処理命令に基づく処理を共有アプリケーションに実行させる。ここで、処理に関する情報が、さらに許可情報とを含む場合には、処理部114は、許可情報が示す制限内において、処理命令に基づく処理を共有アプリケーションに実行させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第1の例に係る処理に対応する。
【0191】
また、例えば、処理に関する情報が実行する処理を変更させるための設定命令をさらに含む場合には、判定部110は、処理を実行することが可能ではないと判定する。上記の場合、処理制御部112は、設定命令が示すサーバに、設定命令に対応する設定データを送信させる。また、処理制御部112は、処理に関する情報が特定情報と処理の種別を規定するパラメータとを含む場合には、上記のように、パラメータに対応する処理命令をサーバに生成させる。そして、処理部114は、取得された設定データと処理命令とに基づく処理を、共有アプリケーションに実行させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第2の例に係る処理に対応する。
【0192】
また、例えば、処理に関する情報が条件情報をさらに含む場合には、判定部110は、共有アプリケーションが条件情報が示す条件を満たすかを判定する。判定部110の判定において共有アプリケーションが条件を満たすと判定されない場合には、処理制御部112は、更新データを記憶するサーバに更新データを送信させる。そして、処理制御部112は、取得した更新データを用いて共有アプリケーションを更新する。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第3の例に係る処理に対応する。
【0193】
また、判定部110の判定において共有アプリケーションが条件を満たすと判定されない場合には、処理制御部112は、共有アプリケーションによる処理に関する情報に基づく処理の実行を中断させる。そして、処理制御部112は、共有アプリケーションの更新が完了した後に、共有アプリケーションによる処理に関する情報に基づく処理を再開させる。ここで、上記の処理は、例えば上述した本実施形態に係る情報処理方法の第3の例に係る処理、および本実施形態に係る情報処理方法の第3の例に係る処理に対応する。
【0194】
制御部104は、例えば上記のような処理をそれぞれ行う、判定部110、処理制御部112、および処理部114を備えることによって、本実施形態に係る情報処理方法に係る処理を主導的に行う。
【0195】
情報処理装置100は、例えば図10に示す構成によって、本実施形態に係る情報処理方法に係る処理(例えば、(1)の処理(判定処理)〜(3)の処理(実行処理))を行う。したがって、情報処理装置100は、例えば図10に示す構成によって、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0196】
以上のように、本実施形態に係る情報処理装置100は、本実施形態に係る情報処理方法に係る処理として、例えば、(1)の処理(判定処理)〜(3)の処理(実行処理)を行う。ここで、情報処理装置100において(2)の処理(実行制御処理)が行われない場合には、共有アプリケーションは、サービスを提供するサーバ(第1のサーバ)から取得された処理に関する情報に基づいて処理を実行する。また、情報処理装置100において(2)の処理(実行制御処理)が行われた場合には、処理に関する情報に基づく処理の実行が可能な状態となっているので、共有アプリケーションは、取得された処理に関する情報に基づく処理を実行することができる。
【0197】
したがって、情報処理装置100は、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0198】
また、本実施形態に係る情報処理システムにおいて、情報処理装置100が本実施形態に係る情報処理方法に係る処理を行うことによって、例えば下記(i)〜(iv)が実現される。
【0199】
(i)サービス事業者Webサイトの開始ページに記述したURLパラメータを、サービス事業者Webサイトから起動されて利用される共有アプリケーションに引き継ぐことによって、サービス事業者ごとに異なる振る舞いを共有アプリケーションに行わせること。
【0200】
(ii)共有アプリケーションのカスタマイズを、サービス事業者WebサイトからURLパラメータによって指示すること。また、共有アプリケーションがURLパラメータによってサーバにカスタマイズデータの動的生成を指示することによって、共有アプリケーションが、サービス事業者ごとのカスタマイズデータを適用した上で動作すること。
【0201】
(iii)処理の実行に必要な共有アプリケーションのバージョンを、サービス事業者WebサイトからURLパラメータによって指示すること。また、共有アプリケーションが処理の実行に必要な共有アプリケーションのバージョンに満たない場合に、共有アプリケーションをアップデートするように誘導すること。
【0202】
例えば上記(iii)が実現されることによって、サービス事業者は、特定バージョンの共有アプリケーションが情報処理装置100に存在することを前提として、共有アプリケーションに対する処理命令を生成することができる。
【0203】
(iv)共有アプリケーションのアップデート後に、サービスに係る処理を再開させる処理再開ページを表示させること
【0204】
例えば上記(iv)が実現されることによって、ユーザは、サービスに係る処理を再開しやすくなるので、ユーザの利便性の低下や、サービスの利用率の低下を防止することが可能となる。
【0205】
以上、本実施形態に係る情報処理システムを構成する要素として、情報処理装置100を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、携帯電話やスマートフォンなどの通信装置や、映像/音楽再生装置(または映像/音楽記録再生装置)、ゲーム機、PC(Personal Computer)などのコンピュータなど、様々な機器に適用することができる。
【0206】
また、本実施形態に係る情報処理システムを構成する他の要素として、サーバ200、共有アプリケーションサーバ500、マーケットサーバ600を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、PCやサーバなどのコンピュータなど、様々な機器に適用することができる。また、サーバ200、共有アプリケーションサーバ500、マーケットサーバ600それぞれは、例えば、図11に示すハードウェア構成で実現することが可能である。
【0207】
また、本実施形態に係る情報処理システムを構成する他の要素として、外部端末400を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、携帯電話などの通信装置や、ICカード、映像/音楽再生装置(または映像/音楽記録再生装置)、ゲーム機、PCなどのコンピュータなど、様々な機器に適用することができる。また、外部端末400は、例えば、情報処理装置100と同様のハードウェア構成で実現することが可能である。
【0208】
(本実施形態に係るプログラム)
コンピュータを、本実施形態に係る情報処理装置として機能させるためのプログラム(例えば、(1)の処理(判定処理)〜(3)の処理(実行処理)など、本実施形態に係る情報処理方法に係る処理を実行することが可能なプログラム)によって、複数のサービスに対応する処理を行うことが可能な共有アプリケーションに、サービスごとに異なる振る舞いをさせることができる。
【0209】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0210】
例えば、本実施形態に係る情報処理装置は、図10に示す判定部110、処理制御部112、および処理部114を個別に備える(例えば、それぞれを個別の処理回路で実現する)ことができる。
【0211】
また、上記では、例えば、コンピュータを、本実施形態に係る情報処理装置として機能させるためのプログラム(コンピュータプログラム)が提供されることを示したが、本実施形態は、さらに、上記プログラムをそれぞれ記憶させた記録媒体も併せて提供することができる。
【0212】
上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
【0213】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理装置。
(2)
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、前記第2のサーバを特定する特定情報と、処理の種別を規定するパラメータとを含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記通信部に、前記パラメータを含む生成要求を前記特定情報が示すサーバへと送信させて、前記パラメータに対応する前記処理命令を前記サーバに生成させる、(1)に記載の情報処理装置。
(3)
前記処理に関する情報が、前記処理命令と、前記処理命令が示す処理を制限する許可情報とを含む場合、
前記判定部は、処理を実行することが可能であると判定し、
前記処理部は、前記許可情報が示す制限内において、前記処理命令に基づく処理を前記アプリケーションに実行させる、(1)または(2)に記載の情報処理装置。
(4)
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、実行する処理を変更させるための設定命令をさらに含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記設定命令が示すサーバに、前記設定命令に対応する設定データを送信させ、
前記処理部は、取得された前記設定データを用いた処理を前記アプリケーションに実行させる、(2)または(3)に記載の情報処理装置。
(5)
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、処理の実行が許可される前記アプリケーションのバージョンに関する条件を示す条件情報をさらに含む場合、
前記判定部は、前記アプリケーションが、前記条件情報が示す条件を満たすかを判定し、
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションを更新するための更新データを記憶するサーバに、前記更新データを送信させ、
取得した更新データを用いて前記アプリケーションを更新する、(2)〜(4)のいずれか1つに記載の情報処理装置。
(6)
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションによる前記処理に関する情報に基づく処理の実行を中断させ、
前記アプリケーションの更新が完了した後に、前記アプリケーションによる前記処理に関する情報に基づく処理を再開させる、(5)に記載の情報処理装置。
(7)
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップと、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップと、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップと、
を有し、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、情報処理方法。
(8)
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップ、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップ、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップ、
をコンピュータに実行させ、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、プログラム。
(9)
情報処理装置と、
前記情報処理装置と通信を行うことが可能なサーバと、
を有し、
前記情報処理装置は、
前記サーバと通信を行う通信部と、
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理システム。
【符号の説明】
【0214】
100 情報処理装置
102 通信部
104 制御部
110 判定部
112 処理制御部
114 処理部
【特許請求の範囲】
【請求項1】
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理装置。
【請求項2】
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、前記第2のサーバを特定する特定情報と、処理の種別を規定するパラメータとを含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記通信部に、前記パラメータを含む生成要求を前記特定情報が示すサーバへと送信させて、前記パラメータに対応する前記処理命令を前記サーバに生成させる、請求項1に記載の情報処理装置。
【請求項3】
前記処理に関する情報が、前記処理命令と、前記処理命令が示す処理を制限する許可情報とを含む場合、
前記判定部は、処理を実行することが可能であると判定し、
前記処理部は、前記許可情報が示す制限内において、前記処理命令に基づく処理を前記アプリケーションに実行させる、請求項1に記載の情報処理装置。
【請求項4】
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、実行する処理を変更させるための設定命令をさらに含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記設定命令が示すサーバに、前記設定命令に対応する設定データを送信させ、
前記処理部は、取得された前記設定データを用いた処理を前記アプリケーションに実行させる、請求項2に記載の情報処理装置。
【請求項5】
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、処理の実行が許可される前記アプリケーションのバージョンに関する条件を示す条件情報をさらに含む場合、
前記判定部は、前記アプリケーションが、前記条件情報が示す条件を満たすかを判定し、
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションを更新するための更新データを記憶するサーバに、前記更新データを送信させ、
取得した更新データを用いて前記アプリケーションを更新する、請求項2に記載の情報処理装置。
【請求項6】
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションによる前記処理に関する情報に基づく処理の実行を中断させ、
前記アプリケーションの更新が完了した後に、前記アプリケーションによる前記処理に関する情報に基づく処理を再開させる、請求項5に記載の情報処理装置。
【請求項7】
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップと、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップと、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップと、
を有し、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、情報処理方法。
【請求項8】
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップ、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップ、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップ、
をコンピュータに実行させ、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、プログラム。
【請求項9】
情報処理装置と、
前記情報処理装置と通信を行うことが可能なサーバと、
を有し、
前記情報処理装置は、
前記サーバと通信を行う通信部と、
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理システム。
【請求項1】
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理装置。
【請求項2】
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、前記第2のサーバを特定する特定情報と、処理の種別を規定するパラメータとを含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記通信部に、前記パラメータを含む生成要求を前記特定情報が示すサーバへと送信させて、前記パラメータに対応する前記処理命令を前記サーバに生成させる、請求項1に記載の情報処理装置。
【請求項3】
前記処理に関する情報が、前記処理命令と、前記処理命令が示す処理を制限する許可情報とを含む場合、
前記判定部は、処理を実行することが可能であると判定し、
前記処理部は、前記許可情報が示す制限内において、前記処理命令に基づく処理を前記アプリケーションに実行させる、請求項1に記載の情報処理装置。
【請求項4】
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、実行する処理を変更させるための設定命令をさらに含む場合、
前記判定部は、処理を実行することが可能ではないと判定し、
前記処理制御部は、前記設定命令が示すサーバに、前記設定命令に対応する設定データを送信させ、
前記処理部は、取得された前記設定データを用いた処理を前記アプリケーションに実行させる、請求項2に記載の情報処理装置。
【請求項5】
サーバと通信を行う通信部をさらに備え、
前記処理に関する情報が、処理の実行が許可される前記アプリケーションのバージョンに関する条件を示す条件情報をさらに含む場合、
前記判定部は、前記アプリケーションが、前記条件情報が示す条件を満たすかを判定し、
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションを更新するための更新データを記憶するサーバに、前記更新データを送信させ、
取得した更新データを用いて前記アプリケーションを更新する、請求項2に記載の情報処理装置。
【請求項6】
前記処理制御部は、前記アプリケーションが前記条件を満たすと判定されない場合には、
前記アプリケーションによる前記処理に関する情報に基づく処理の実行を中断させ、
前記アプリケーションの更新が完了した後に、前記アプリケーションによる前記処理に関する情報に基づく処理を再開させる、請求項5に記載の情報処理装置。
【請求項7】
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップと、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップと、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップと、
を有し、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、情報処理方法。
【請求項8】
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定するステップ、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせるステップ、
前記アプリケーションにより、前記処理に関する情報に基づく処理を実行するステップ、
をコンピュータに実行させ、
前記処理の実行を可能にさせるステップでは、
前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記実行するステップでは、
生成された前記処理命令が示す処理が実行される、プログラム。
【請求項9】
情報処理装置と、
前記情報処理装置と通信を行うことが可能なサーバと、
を有し、
前記情報処理装置は、
前記サーバと通信を行う通信部と、
サービスを提供する第1のサーバから取得された処理に関する情報に基づいて、前記処理に関する情報に基づく処理を実行することが可能であるかを判定する判定部と、
処理を実行することが可能ではないと判定された場合に、複数のサービスに対応する処理を行うことが可能なアプリケーションによる前記処理に関する情報に基づく処理の実行を可能にさせる処理制御部と、
前記処理に関する情報に基づく処理を前記アプリケーションに実行させる処理部と、
を備え、
前記処理制御部は、前記処理に関する情報に基づいて、前記処理に関する情報に基づく処理命令を第2のサーバに生成させ、
前記処理部は、生成された前記処理命令が示す処理を前記アプリケーションに実行させる、情報処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−41396(P2013−41396A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−177517(P2011−177517)
【出願日】平成23年8月15日(2011.8.15)
【出願人】(504134520)フェリカネットワークス株式会社 (129)
【Fターム(参考)】
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願日】平成23年8月15日(2011.8.15)
【出願人】(504134520)フェリカネットワークス株式会社 (129)
【Fターム(参考)】
[ Back to top ]