(57)【特許請求の範囲】
【請求項１】
プログラムを識別するプログラム識別情報と、当該プログラムの実行時に用いられるパラメータとが記述された媒体から当該プログラム識別情報及びパラメータを読み取り可能な通信端末から、当該通信端末において実行されるブラウザの機能により送信されてくる前記プログラム識別情報、前記パラメータ及び当該通信端末を識別する端末識別情報を受信する受信手段と、
受信された前記端末識別情報によって識別される通信端末において実行される前記ブラウザに対して、受信された前記プログラム識別情報によって識別されるプログラムに、受信された前記パラメータを渡すように指示する第１指示手段と
を備えるサーバ装置。
【請求項２】
受信された前記プログラム識別情報及び前記パラメータを受信された前記端末識別情報に対応付けて記憶する記憶手段と、
受信された前記端末識別情報によって識別される通信端末に、受信された前記プログラム識別情報によって識別されるプログラムがインストールされていない場合に、当該通信端末において実行されるオペレーションシステムに対して当該プログラムをインストールするように指示する第２指示手段とを備え、
前記第１指示手段は、前記第２指示手段による指示に応じて前記通信端末に前記プログラムがインストールされた後に、前記記憶手段に記憶されているプログラム識別情報及び端末識別情報が前記受信手段により受信された場合には、当該通信端末において実行される前記ブラウザに対して、当該端末識別情報に対応付けて前記記憶手段に記憶されているパラメータを前記プログラムに渡すように指示する
請求項１に記載のサーバ装置。
【請求項３】
前記通信端末のＩＰ（Internet Protocol）アドレス及び当該通信端末において実行されるブラウザの属性を前記通信端末から取得する取得手段を備え、
前記記憶手段は、受信された前記パラメータを前記取得手段により取得されたＩＰアドレス及びブラウザの属性に対応付けて記憶し、
前記第１指示手段は、前記第２指示手段による指示に応じて前記通信端末に前記プログラムがインストールされた後に、前記記憶手段に記憶されているプログラム識別情報が前記受信手段により受信された場合には、当該通信端末において実行される前記ブラウザに対して、当該通信端末について前記取得手段により取得された前記ＩＰアドレス及び前記ブラウザの属性に対応付けて前記記憶手段に記憶されているパラメータを前記プログラムに渡すように指示する
請求項２に記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータを用いてプログラムを実行させるための技術に関する。
【背景技術】
【０００２】
パラメータを用いてプログラムを実行させるための技術がある。特許文献１には、アプリケーション起動パラメータを有するアプリ起動コマンドが携帯端末のＩＣチップに送信され、ＩＣチップとアプリケーションの情報のやりとりを仲介するミドルウェアがアプリケーション起動パラメータを付加したアプリ起動指示を与えてアプリケーションを起動させた後、起動したアプリケーションが、アプリケーション起動パラメータからパラメータを抽出し、抽出したパラメータを用いて処理を行う技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１８２４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年では、商品の検討や購入に際して店舗（オフライン）を利用しているユーザを、インターネット（オンライン）を利用するように誘導する、Ｏ２Ｏ（Offline to Online）と呼ばれる活動が増えている。Ｏ２Ｏを実現するために、例えば、店舗で扱う商品に付帯するＱＲ（登録商標：Quick Response）コードやＮＦＣ（Near Field Communication）チップなどを介して、ユーザが利用する通信端末にパラメータ（商品の種類やクーポンの種類などを示すパラメータ）を読み取らせ、通信端末で実行されるプログラムがそのパラメータを用いてインターネット上のコンテンツ（商品を紹介したサイトやクーポンを利用した商品の購入サイトなど）にアクセスする、という仕組みが提供されている。このような仕組みは、商品を販売する店舗毎やメーカー毎、場合によっては商品毎に提供されるため、通信端末が実行するプログラムも、多岐にわたる可能性がある。
【０００５】
そのため、通信端末がプログラムを実行し、実行したプログラムに読み取ったパラメータを渡す処理についても、例えばオペレーティングシステム（Operating System。以下「ＯＳ」という）だけで行える場合もあれば、特許文献１の技術のようにミドルウェアを必要とする場合もありえる。このように、実行させるプログラムによってパラメータを渡すために必要な環境が異なると、その環境を有していない通信端末のユーザは、わざわざサイトにアクセスしてダウンロードするなどのように、パラメータを渡すことができる環境を整えるための手間が生じる可能性がある。特許文献１の技術では、携帯端末が有するミドルウェアでパラメータを渡すことしか想定されておらず、このミドルウェアではパラメータを渡すことができないプログラムが実行される場合には、ユーザに手間が生じることになる。
そこで、本発明は、通信端末が読み取ったパラメータをプログラムに渡して実行させるときのユーザの手間を少なくすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、プログラムを識別するプログラム識別情報と、当該プログラムの実行時に用いられるパラメータとが記述された媒体から当該プログラム識別情報及びパラメータを読み取り可能な通信端末から、当該通信端末において実行されるブラウザの機能により送信されてくる前記プログラム識別情報、前記パラメータ及び当該通信端末を識別する端末識別情報を受信する受信手段と、受信された前記端末識別情報によって識別される通信端末において実行される前記ブラウザに対して、受信された前記プログラム識別情報によって識別されるプログラムに、受信された前記パラメータを渡すように指示する第１指示手段とを備えるサーバ装置を提供する。
【０００７】
上記のサーバ装置は、受信された前記プログラム識別情報及び前記パラメータを受信された前記端末識別情報に対応付けて記憶する記憶手段と、受信された前記端末識別情報によって識別される通信端末に、受信された前記プログラム識別情報によって識別されるプログラムがインストールされていない場合に、当該通信端末において実行されるオペレーションシステムに対して当該プログラムをインストールするように指示する第２指示手段とを備え、前記第１指示手段は、前記第２指示手段による指示に応じて前記通信端末に前記プログラムがインストールされた後に、前記記憶手段に記憶されているプログラム識別情報及び端末識別情報が前記受信手段により受信された場合には、当該通信端末において実行される前記ブラウザに対して、当該端末識別情報に対応付けて前記記憶手段に記憶されているパラメータを前記プログラムに渡すように指示してもよい。
【０００８】
また、上記のサーバ装置は、前記通信端末のＩＰ（Internet Protocol）アドレス及び当該通信端末において実行されるブラウザの属性を前記通信端末から取得する取得手段を備え、前記記憶手段は、受信された前記パラメータを前記取得手段により取得されたＩＰアドレス及びブラウザの属性に対応付けて記憶し、前記第１指示手段は、前記第２指示手段による指示に応じて前記通信端末に前記プログラムがインストールされた後に、前記記憶手段に記憶されているプログラム識別情報が前記受信手段により受信された場合には、当該通信端末において実行される前記ブラウザに対して、当該通信端末について前記取得手段により取得された前記ＩＰアドレス及び前記ブラウザの属性に対応付けて前記記憶手段に記憶されているパラメータを前記プログラムに渡すように指示してもよい。
【発明の効果】
【０００９】
本発明によれば、通信端末が読み取ったパラメータをプログラムに渡して実行させるときのユーザの手間を少なくすることができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の情報処理システムの全体構成の一例を示す図
【図２】通信端末のハードウェア構成の一例を示す図
【図３】サーバ装置のハードウェア構成の一例を示す図
【図４】サーバ装置の機能構成の一例を示す図
【図５】端末識別情報テーブルの一例を示す図
【図６】パラメータ引き渡し処理における各装置の動作の一例を示すシーケンス図
【図７】パラメータ引き渡し処理における各装置の動作の他の一例を示すシーケンス図
【図８】第２実施形態のサーバ装置の機能構成の一例を示す図
【図９】本実施形態の端末識別情報テーブルの一例を示す図
【発明を実施するための形態】
【００１１】
［１］第１実施形態
［１−１］全体構成
図１は、第１実施形態の情報処理システムの全体構成の一例を示す図である。図１の例では、サーバ装置１０と、通信端末２０と、アプリ提供装置３０と、これらの装置（通信端末２０を含む）を接続するネットワーク２とを備える情報処理システム１が示されている。ネットワーク２は、インターネット及び移動体通信網等を含むシステムであり、上記の各装置のデータのやり取りを仲介する。
【００１２】
アプリ提供装置３０は、通信端末２０にインストールして実行されるアプリケーションプログラム（以下「アプリ」という）を通信端末２０に提供する装置である。アプリ提供装置３０は、例えば画像を表示するための表示アプリや楽曲を再生するための再生アプリなどを提供する。アプリ提供装置３０は、ウェブサーバの機能を有しており、通信端末２０とＨＴＴＰ（Hypertext Transfer Protocol）通信を行ってアプリの要求を受け付け、その要求に応答して通信端末２０にアプリを送信する。
【００１３】
通信端末２０は、ネットワーク２を介してアプリ提供装置３０及びサーバ装置１０と通信を行う端末であり、例えばスマートフォン、タブレット端末またはパーソナルコンピュータ等の端末である。通信端末２０は、ウェブブラウザのプログラム（以下「ブラウザ」という）を記憶している。ここにおいて、ブラウザとは、ウェブサーバとＨＴＴＰ通信を行って動作の要求やデータのやり取りなどを行うためのプログラムである。通信端末２０は、このブラウザの機能によりアプリ提供装置３０にアプリを要求し、その応答で送信されてきたアプリを自端末にインストールする。通信端末２０は、インストールしたアプリを実行して、例えばそれが表示アプリであれば画像を表示し、再生アプリであれば楽曲を再生する。
【００１４】
また、通信端末２０は、図１に示す媒体３に記述されている情報（以下「媒体記述情報」という）を読み取り可能な端末であり、媒体３から媒体記述情報を読み取ることを契機にアプリを実行する。媒体３は、例えば、ＮＦＣの無線通信を行うＩＣ（Integrated Circuit）チップ（ＮＦＣチップ）が貼り付けられたカードやポスターなどである。その場合、媒体記述情報はＮＦＣチップに記憶されており、通信端末２０は、媒体３とＮＦＣの無線通信を行い、ＮＦＣチップに記憶されている媒体記述情報を読み取る。媒体３は、他にも、媒体記述情報を表すＱＲコードがプリントされたカードやポスターなどであってもよい。この場合、通信端末２０は、ＱＲコードを撮影して分析し、ＱＲコードが示す媒体記述情報を読み取る。
【００１５】
媒体記述情報には、サーバ装置１０のＵＲＬ（Uniform Resource Locator）の他、そのＵＲＬの引数として、アプリを識別する情報（以下「アプリ識別情報」という）と、そのアプリ識別情報によって識別されるアプリの実行時に用いられるパラメータとが含まれている。アプリ識別情報は、各アプリに割り当てられた情報であり、例えば、文字や記号、数字などによって表される。アプリ識別情報は、本発明の「プログラム識別情報」の一例である。パラメータは、例えば、表示アプリを実行するときに表示する対象となる画像データのファイル名及びパスを示す情報や、再生アプリを実行するときに再生する対象となる楽曲データのファイル名及びパスを示す情報など、アプリの実行時の処理の対象となるコンテンツを識別する情報（以下「コンテンツ識別情報」という）である。パラメータには、他にも、表示される画像の大きさ、色及び位置等の態様を示す情報や、再生される楽曲の音量、音質及びテンポ等の態様を示す情報などがある。
【００１６】
通信端末２０は、読み取った媒体記述情報に含まれているパラメータをアプリに渡した上で、そのアプリを実行する。ここでいう「渡す」とは、例えば、アプリの処理のためにＲＡＭ上に確保されたワークエリアに情報（例えばパラメータ）を記憶させ、記憶させた情報を用いてアプリが処理を行えるようにすることをいう。
サーバ装置１０は、この通信端末２０がアプリにパラメータを渡す処理を支援する装置である。つまり、情報処理システム１においては、サーバ装置１０及び通信端末２０が協働してアプリにパラメータが渡されることになる。以下では、このようにしてアプリにパラメータが渡される処理を「パラメータ引き渡し処理」という。サーバ装置１０は、ウェブサーバとしての機能を有しており、サーバ装置１０及び通信端末２０がＨＴＴＰ通信による動作の要求やデータのやり取りを行うことで、パラメータ引き渡し処理が行われる。パラメータ引き渡し処理の詳細は後述する。
【００１７】
［１−２］ハードウェア構成
図２は、通信端末２０のハードウェア構成の一例を示す図である。通信端末２０は、制御部２１と、記憶部２２と、ＵＩ（User Interface）部２３と、第１通信部２４と、第２通信部２５と、撮影部２６とを備えるコンピュータである。制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及びリアルタイムクロックを備え、ＣＰＵが、ＲＡＭをワークエリアとして用いてＲＯＭや記憶部２２に記憶されたプログラムを実行することによって各部の動作を制御する。リアルタイムクロックは、現在の日時を算出してＣＰＵに通知する。
【００１８】
記憶部２２は、フラッシュメモリ等を備え、上述したアプリのインストールが行われると、そのアプリを記憶する。また、記憶部２２は、自装置のハードウェアとのインターフェースをアプリに提供するＯＳ（オペレーティングシステム）のデータ、上述した媒体記述情報を読み取るためのプログラム（以下「読み取りプログラム」という）及びブラウザ等を記憶している。このブラウザの機能によりＨＴＴＰ通信が行われると、記憶部２２には、自装置に関する情報をサーバ装置１０などのウェブサーバに伝えるためのクッキーと呼ばれるデータが記憶される。クッキーには、例えば、サイトへのログインに用いられたユーザＩＤやアクセス済のリンク、通信端末２０を識別する情報（以下「端末識別情報」という）などが格納される。クッキーに格納された情報は、例えばＨＴＴＰ通信で送信されるＨＴＴＰリクエストのヘッダに記述されてウェブサーバに伝えられる。
【００１９】
ＵＩ部２３は、表示面とその表示面に重ねられたタッチパネルとを備え、ユーザからの操作を受け付けるとともに画像を表示する。ＵＩ部２３は、受け付けたユーザの操作に応じた操作データを制御部２１に供給し、制御部２１は、この操作データに応じた処理を行う。第１通信部２４は、移動体通信を行うための通信回路を備え、ネットワーク２を介したデータの送信及び受信を行う。第２通信部２５は、ＮＦＣの無線通信を行うための通信回路を備え、無線通信を行って受信したデータを制御部２１に供給する。第２通信部２５は、媒体３がＮＦＣの無線通信を行う場合における媒体記述情報の読み取りに用いられる。撮影部２６は、例えばデジタルカメラとしての機能を有し、ユーザの操作に応じて画像を撮影する。撮影部２６は、撮影した画像を示す画像データを制御部２１に供給する。撮影部２６は、媒体３がＱＲコードを表す場合における媒体記述情報の読み取りに用いられる。
【００２０】
図３は、サーバ装置１０のハードウェア構成の一例を示す図である。サーバ装置１０は、制御部１１と、記憶部１２と、通信部１３とを備えるコンピュータである。制御部１１は、通信端末２０の制御部２１と共通の構成を有する。記憶部１２は、ハードディスク等を備え、制御部１１が制御に用いるデータやプログラムを記憶する。通信部１３は、ネットワーク２と通信を行うための通信回路を備え、ネットワーク２を介して通信端末２０との間でデータの送信及び受信を行う。
【００２１】
［１−３］機能構成
サーバ装置１０及び通信端末２０は、以上のハードウェア構成に基づき、上述したパラメータ引き渡し処理を行う。サーバ装置１０においては、制御部１１が記憶部１２に記憶されているプログラムを実行して各部を制御することで、以下に述べる機能が実現され、それらの機能の働きによりパラメータ引き渡し処理が行われる。
図４は、サーバ装置１０の機能構成の一例を示す図である。サーバ装置１０は、受信手段１０１と、記憶手段１０２と、第１指示手段１０３と、第２指示手段１０４とを備える。
【００２２】
［１−３−１］受信手段１０１
受信手段１０１は、通信端末２０から、その通信端末２０において実行されるブラウザの機能により送信されてくるアプリ識別情報、パラメータ及びその通信端末２０を識別する端末識別情報を受信する手段である。通信端末２０の制御部２１は、読み取りプログラムの機能により媒体記述情報を読み取ると、読み取った媒体記述情報をＯＳに渡す。以下では、説明を簡潔にするため、読み取りプログラムがＯＳに媒体記述情報を渡す、というように、プログラムを動作の主体として表現するものとする。ただし、実際の動作の主体は、そのプログラムを実行する制御部２１である。
【００２３】
通信端末２０では、ＯＳが、読み取りプログラムから渡された媒体記述情報をブラウザに渡し、ブラウザが、媒体記述情報に含まれているＵＲＬに対して、媒体記述情報に含まれているアプリ識別情報及びパラメータと、端末識別情報とをヘッダに記述したＨＴＴＰリクエストを送信する。ブラウザがサーバ装置１０とＨＴＴＰ通信を行ったことがある場合には、サーバ装置１０とのＨＴＴＰ通信に用いるクッキーが記憶部２２に記憶されており、そのクッキーに自端末の端末識別情報が格納されている。この場合、ブラウザは、このクッキーに格納されている端末識別情報をＨＴＴＰリクエストのヘッダに記述する。
【００２４】
ブラウザがサーバ装置１０とのＨＴＴＰ通信を行ったことがない場合は、そのようなクッキーが記憶部２２に記憶されていない。その場合には、ブラウザは、上記ＵＲＬに対して一度ＨＴＴＰ通信を行い、サーバ装置１０とのＨＴＴＰ通信に用いるクッキーを生成する。その際、クッキーには端末識別情報が格納されるので、ブラウザは、そうして格納された端末識別情報をＨＴＴＰリクエストのヘッダに記述する。受信手段１０１は、こうしてブラウザの機能により送信されてくるＨＴＴＰリクエストのヘッダに記述されたアプリ識別情報、パラメータ及び端末識別情報を受信する。受信手段１０１は、受信したこれらの情報を記憶手段１０２、第１指示手段１０３及び第２指示手段１０４に供給する。
【００２５】
［１−３−２］記憶手段１０２
記憶手段１０２は、受信手段１０１により受信されたアプリ識別情報及びパラメータを、受信手段１０１により受信された端末識別情報に対応付けて記憶する手段である。記憶手段１０２は、例えば、端末識別情報にアプリ識別情報及びパラメータを対応付けた端末識別情報テーブルに格納してこれらの情報を記憶する。
図５は、端末識別情報テーブルの一例を示す図である。この例では、端末識別情報テーブルの１行目に「ＡＰＰ＿００１」、「ＣＯＮＴＥＮＴＳ＿０１」及び「ｘｘｘｘｘｘ」、２行目に「ＡＰＰ＿００１」、「ＣＯＮＴＥＮＴＳ＿０２」及び「ｙｙｙｙｙｙ」というアプリ識別情報、パラメータ及び端末識別情報が格納されている。記憶手段１０２は、端末識別情報テーブルを記憶した領域を第１指示手段１０３に通知する。
【００２６】
［１−３−３］第２指示手段１０４
第２指示手段１０４は、受信手段１０１により受信された端末識別情報によって識別される通信端末２０に、受信手段１０１により受信されたアプリ識別情報によって識別されるアプリがインストールされていない場合に、その通信端末２０において実行されるＯＳに対してそのアプリをインストールするように指示する手段である。以下では第２指示手段１０４が行うこの指示を「インストール指示」という。第２指示手段１０４は、例えば、ブラウザから送信されてきたＨＴＴＰリクエストに対する応答で送信されるＨＴＴＰレスポンスに、通信端末２０にこのインストール指示を実行させるＪａｖａ（登録商標）ｓｃｒｉｐｔとその引数としてアプリ識別情報を記述する。
【００２７】
通信端末２０で実行されているブラウザは、受信したＨＴＴＰレスポンスに記述されているＪａｖａｓｃｒｉｐｔを実行すると、その引数であるアプリ識別情報によって識別されるアプリが自端末にインストールされているか否かを判断し、インストールされていないと判断した場合に、アプリ提供装置３０にそのアプリ識別情報を記述したＨＴＴＰリクエストを送信する。通信端末２０のＯＳは、このＨＴＴＰリクエストに応答してアプリ提供装置３０から送信されてくるアプリを自端末にインストールする。第２指示手段１０４は、このように、ＪａｖａｓｃｒｉｐｔをＨＴＴＰレスポンスに記述することで、上記のインストール指示を行う。第２指示手段１０４は、インストール指示を行うと、その旨を第１指示手段１０３に通知する。
【００２８】
［１−３−４］第１指示手段１０３
第１指示手段１０３は、受信された端末識別情報によって識別される通信端末２０において実行されるブラウザに対して、受信されたアプリ識別情報によって識別されるアプリに、受信されたパラメータを渡すように指示する手段である。以下では第１指示手段１０３が行うこの指示を「パラメータ引き渡し指示」という。第１指示手段１０３は、例えば、上記のＨＴＴＰレスポンスに、受信されたアプリ識別情報によって識別されるアプリを起動させ、且つ、起動させたアプリに受信されたパラメータを渡すように指示する記述を追加する。
【００２９】
通信端末２０で実行されているブラウザは、ＨＴＴＰレスポンスを受信すると、そのＨＴＴＰレスポンスに記述されているとおり、アプリ識別情報によって識別されるアプリを起動して、起動したアプリにパラメータを渡す処理を行う。第１指示手段１０３は、このように、ＨＴＴＰレスポンスに上記の記述を追加することで、パラメータ引き渡し指示を行う。なお、通信端末２０のブラウザは、指示されたアプリが既にインストールされていれば、パラメータ引き渡し指示のとおりにパラメータを渡すが、インストールされていなければ、アプリの起動ができない。その場合は、上述した第２指示手段１０４のインストール指示により、アプリのインストールが行われることになる。
【００３０】
また、第１指示手段１０３は、第２指示手段１０４による指示に応じて通信端末２０にアプリがインストールされた後に、記憶手段１０２に記憶されているアプリ識別情報及び端末識別情報が受信手段１０１により受信された場合には、その通信端末２０において実行されるブラウザに対して、その端末識別情報に対応付けて記憶手段１０２に記憶されているパラメータをアプリに渡すように指示する。通信端末２０においては、ＯＳが第２指示手段１０４のインストール指示によるアプリのインストールを終了すると、インストールしたアプリを自動的に起動する。
【００３１】
起動されたアプリは、ＯＳによって初めて起動された場合に限り、ブラウザに対して、サーバ装置１０のＵＲＬと自アプリを識別するアプリ識別情報とを通知し、このアプリ識別情報と端末識別情報とをヘッダに記述したＨＴＴＰリクエストをサーバ装置１０のＵＲＬに送信するように要求する。通信端末２０で実行されているブラウザは、この要求を受けると、通知されたアプリ識別情報及びクッキーに格納されている端末識別情報をヘッダに記述したＨＴＴＰリクエストを通知されたサーバ装置１０のＵＲＬに送信する。
【００３２】
受信手段１０１は、こうして送信されてきたＨＴＴＰリクエストのヘッダに記述されているアプリ識別情報及び端末識別情報を受信する。第１指示手段１０３は、第２指示手段１０４からインストール指示が行われた旨が通知された後に、受信手段１０１からこれらのアプリ識別情報及び端末識別情報が供給されると、記憶手段１０２から通知された領域に記憶されている端末識別情報テーブルを参照し、受信された端末識別情報に対応付けて記憶されているパラメータを読み出す。第１指示手段１０３は、ＨＴＴＰレスポンスに、ＨＴＴＰリクエストのヘッダに記述されているアプリ識別情報によって識別されるアプリを起動させ、且つ、起動させたアプリに読み出したパラメータを渡すように指示する記述を追加する。以降は、前述したとおり、通信端末２０がパラメータ引き渡し指示に従って起動したアプリにパラメータを渡す処理を行う。
【００３３】
［１−４］動作
サーバ装置１０及び通信端末２０は、以上の構成に基づき、上述したパラメータ引き渡し処理を協働して行う。以下では、表示アプリがコンテンツを表示する場合を例に挙げ、パラメータ引き渡し処理における各装置の動作について図６及び図７を参照して説明する。図６では、通信端末２０にアプリが既にインストールされている場合の動作を説明する。
図６は、パラメータ引き渡し処理における各装置の動作の一例を示すシーケンス図である。以下では、通信端末２０の動作については、各動作を実現するプログラム（読み取りプログラム、ＯＳ、ブラウザ、アプリ）を主体として説明するものとする。
【００３４】
パラメータ引き渡し処理は、例えば、通信端末２０の読み取りプログラムが媒体３から媒体記述情報を読み取ることを契機に開始される（ステップＳ１１）。読み取りプログラムは、読み取った媒体記述情報をＯＳに渡し（ステップＳ１２）、ＯＳは、この媒体記述情報をブラウザに渡す（ステップＳ１３）。ブラウザは、媒体記述情報に記述されたサーバ装置１０のＵＲＬを宛先として、表示アプリを識別するアプリ識別情報、表示アプリに表示させるコンテンツを識別するコンテンツ識別情報（この例におけるパラメータ）及び通信端末２０の端末識別情報を記述したＨＴＴＰリクエストを送信する（ステップＳ１４）。サーバ装置１０は、ステップＳ１４において受信したＨＴＴＰリクエストに記述されているアプリ識別情報、コンテンツ識別情報及び端末識別情報を図５に示すような端末識別情報テーブルに格納する（ステップＳ１５）。ステップＳ１４は受信手段１０１が行う動作であり、ステップＳ１５は記憶手段１０２が行う動作である。
【００３５】
次に、サーバ装置１０は、ＨＴＴＰレスポンスに、表示アプリの起動及びその表示アプリにコンテンツ識別情報を渡すことを指示する記述を追加し、表示アプリがインストールされていない場合にその表示アプリをインストールさせるＪａｖａｓｃｒｉｐｔを記述して通信端末２０に送信する（ステップＳ１６）。ステップＳ１６は第１指示手段１０３及び第２指示手段１０４が行う動作である。通信端末２０のブラウザは、受信したＨＴＴＰレスポンスに記述されたＪａｖａｓｃｒｉｐｔを実行し、図６の例では、自端末に表示アプリがインストール済であることを判断する（ステップＳ１７）。そして、ブラウザは、ＨＴＴＰレスポンスに記述されたとおりに表示アプリを起動させ（ステップＳ１８）、起動させた表示アプリに、ＨＴＴＰレスポンスに記述されたコンテンツ識別情報を渡す（ステップＳ１９）。以上のとおりパラメータ引き渡し処理が行われることで、表示アプリにコンテンツ識別情報が渡され、渡されたコンテンツ識別情報により識別されるコンテンツが表示アプリによって表示される。
【００３６】
続いて、図７を参照して、通信端末２０に表示アプリがインストールされていない場合の動作を説明する。
図７は、パラメータ引き渡し処理における各装置の動作の他の一例を示すシーケンス図である。図７の例では、まず、図６に示すステップＳ１１（媒体記述情報の読み取り）からステップＳ１６（ＨＴＴＰレスポンスの送信）までと同じ動作が行われる。通信端末２０のブラウザは、ステップＳ１６で受信したＨＴＴＰレスポンスに記述されたＪａｖａｓｃｒｉｐｔを実行し、自端末に表示アプリがインストールされていない（未インストール）であることを判断する（ステップＳ２１）。
【００３７】
次に、ブラウザは、アプリ識別情報を記述したＨＴＴＰリクエストをアプリ提供装置３０に送信し（ステップＳ２２）、アプリ提供装置３０は、ＨＴＴＰリクエストにより要求された表示アプリを通信端末２０に送信する（ステップＳ２３）。通信端末２０のＯＳは、ステップＳ２３でダウンロードした表示アプリを自端末にインストールし（ステップＳ２４）、インストールが完了するとその表示アプリを起動させる（ステップＳ２５）。起動された表示アプリは、ブラウザに対してＨＴＴＰリクエストの送信を要求し（ステップＳ２６）、ブラウザは、その要求に応じて、アプリ識別情報及び端末識別情報を記述したＨＴＴＰリクエストをサーバ装置１０のＵＲＬを宛先として送信する（ステップＳ２７）。
【００３８】
ＨＴＴＰリクエストを受信したサーバ装置１０は、表示アプリにコンテンツ識別情報を渡すことを指示する記述を追加したＨＴＴＰレスポンスを通信端末２０に送信する（ステップＳ２８）。ステップＳ２７は受信手段１０１が行う動作であり、ステップＳ２８は第１指示手段１０３が行う動作である。通信端末２０のブラウザは、ステップＳ２５において起動された表示アプリに、ＨＴＴＰレスポンスに記述されたコンテンツ識別情報を渡す（ステップＳ２９）。以上のとおりパラメータ引き渡し処理が行われることで、図６の例と同様に、コンテンツ識別情報により識別されるコンテンツが表示アプリによって表示される。
【００３９】
［１−５］第１実施形態による効果
通信機能を有する通信端末には、インターネット上のコンテンツにアクセスするために、ブラウザがプリインストールされている（販売時に前もってインストールされている）ことが多い。本実施形態では、サーバ装置１０から通信端末２０のブラウザに対してパラメータ引き渡し指示が行われ、通信端末２０が実行するアプリに対してブラウザを介してパラメータが渡されるようになっている。そのため、通信端末を利用する大部分のユーザには、パラメータをプログラムに渡すための環境を整える手間（例えば特定のプログラムをインストールする手間）が生じない。
【００４０】
また、本実施形態では、サーバ装置１０からのインストール指示により、アプリがインストールされていない通信端末２０にそのアプリが自動的にインストールされる。これにより、アプリをユーザが手動でインストールする場合に比べて、ユーザの手間を少なくすることができる。また、手動でのインストールが必要となると、その手間を面倒がるユーザの通信端末２０にはアプリがインストールされないことも起こりうるが、本実施形態ではそのような通信端末２０にもアプリがインストールされるので、アプリが実行される通信端末２０の数を増やすことができる。
【００４１】
上記のようにアプリがインストールされる場合に、通信端末がインストールされたアプリにパラメータを渡すために、例えば、何らかのプログラムの機能によりインストール前に読み取った媒体記述情報に含まれるパラメータをインストール後まで保持するという方法がある。しかし、この方法を行うためには、例えば読み取りプログラムやブラウザにそのようなパラメータを保持する機能を追加するか、その機能を実現するためのプログラムを別途インストールしておく必要がある。
【００４２】
本実施形態では、アプリがインストールされる前にサーバ装置１０に記憶されたパラメータが、アプリがインストールされた後の通信端末２０に対して提供されてアプリに渡される。これにより、アプリのインストールの前後でパラメータを保持する機能を有しない通信端末であっても、インストール後のアプリにパラメータを渡すことができる。また、本実施形態では、サーバ装置１０と通信端末２０とのパラメータのやり取りにブラウザを用いることで、クッキーに格納される端末識別情報に基づいて、サーバ装置１０が、アプリのインストールの前後において同じ通信端末２０を識別することができる。
【００４３】
［２］第２実施形態
本発明の第２実施形態について、以下、第１実施形態と異なる点を中心に説明する。第１実施形態では、サーバ装置が、端末識別情報に基づいて通信端末を識別したが、第２実施形態では、通信端末のブラウザとの通信によって得られる他の情報に基づいて通信端末を識別する。
【００４４】
［２−１］機能構成
図８は、第２実施形態のサーバ装置の機能構成の一例を示す図である。図８では、図４に示す各手段に加え、取得手段１０５を備えるサーバ装置１０ａが示されている。
取得手段１０５は、通信端末２０のＩＰ（Internet Protocol）アドレス及び通信端末２０において実行されるブラウザの属性をその通信端末２０から取得する手段の一例である。取得手段１０５は、例えば、図６に示すステップＳ１４で送信されてきたパケットのヘッダに含まれる送信元のＩＰアドレスを、通信端末２０のＩＰアドレスとして取得する。
【００４５】
取得手段１０５は、ブラウザの属性として、例えば、ブラウザの種類（例えばブラウザの名称で表される）及びブラウザのバージョンを取得する。具体的には、取得手段１０５は、例えば、図６等に示すステップＳ１６で送信するＨＴＴＰレスポンスに、通信端末２０のブラウザの種類及びバージョンを自装置に通知させるＪａｖａｓｃｒｉｐｔを記述する。通信端末２０は、このＨＴＴＰレスポンスを受信すると、記述されているＪａｖａｓｃｒｉｐｔを実行し、自装置のブラウザの種類及びバージョンをサーバ装置１０ａに通知する。取得手段１０５は、こうして通知されたブラウザの種類及びバージョンをブラウザの属性として取得する。取得手段１０５は、取得したＩＰアドレス及びブラウザの属性を示す取得データを記憶手段１０２及び第１指示手段１０３に供給する。
【００４６】
記憶手段１０２は、受信手段１０１により受信されたパラメータを、取得手段１０５により取得されたＩＰアドレス及びブラウザの属性に対応付けて記憶する。具体的には、記憶手段１０２は、例えば、図５に示す各パラメータを記憶したときに取得手段１０５から供給された取得データが示すＩＰアドレス及びブラウザの属性を、端末識別情報テーブルにおけるそのパラメータの行に格納する。
図９は、本実施形態の端末識別情報テーブルの一例を示す図である。図９の例では、図４に示す「ＣＯＮＴＥＮＴＳ＿０１」及び「ＣＯＮＴＥＮＴＳ＿０２」というパラメータの行に、「ｘｘｘ．・・・．ｘｘｘ」及び「ｙｙｙ．・・・．ｙｙｙ」というＩＰアドレスと、「Ａブラウザ  ｖ８．１」及び「Ｂブラウザ  ｖ９．１」というブラウザの属性とが格納されている。
【００４７】
本実施形態では、第１指示手段１０３は、第２指示手段１０４による指示に応じて通信端末２０にアプリがインストールされた後に、記憶手段１０２に記憶されているアプリ識別情報が受信手段１０１により受信された場合、すなわち端末識別情報が受信されなかった場合には、第１実施形態とは異なる指示を行う。具体的には、第１指示手段１０３は、通信端末２０において実行されるブラウザに対して、その通信端末２０について取得手段１０５により取得されたＩＰアドレス及びブラウザの属性に対応付けて記憶手段１０２に記憶されているパラメータをアプリに渡すように指示する。
【００４８】
例えば、受信手段１０１が「ＡＰＰ＿００１」というアプリ識別情報を受信した場合、図９の例では、端末識別情報テーブルにおいてこのアプリ識別情報に対応付けられているパラメータが「ＣＯＮＴＥＮＴＳ＿０１」及び「ＣＯＮＴＥＮＴＳ＿０２」の２つある。ここで、取得手段１０５が、「ｙｙｙ．・・・．ｙｙｙ」というＩＰアドレスと「Ｂブラウザ  ｖ９．１」というブラウザの属性とを取得すると、第１指示手段１０３は、端末識別情報テーブルにおいてこれらに対応付けられている方のパラメータである「ＣＯＮＴＥＮＴＳ＿０２」をアプリに渡すようにパラメータ引き渡し指示を行う。
【００４９】
［２−２］第２実施形態による効果
サーバ装置が、クッキーに格納される端末識別情報に基づいて通信端末を識別する場合、クッキーが削除されたり、ブラウザの設定でクッキーの使用が許可されなくなったりすることで通信端末の識別ができなくなるおそれがある。本実施形態では、ＩＰアドレス及びブラウザの属性に基づいて通信端末を識別するので、クッキーに基づく通信端末の識別ができない場合でも、サーバ装置１０がアプリのインストールの前後において同じ通信端末２０を識別することができる。
【００５０】
なお、本実施形態においても、通信端末２０にアプリがインストールされた後に、アプリ識別情報及び端末識別情報の両方が受信される場合がある。その場合、第１指示手段１０３は、第１実施形態で述べたパラメータ引き渡し指示を行ってもよいし、第２実施形態で述べたパラメータ引き渡し指示を行ってもよい。
【００５１】
［３］変形例
上述した各実施形態は、各々が本発明の実施の一例に過ぎず、それぞれ以下のように変形させてもよい。また、上述した各実施形態及び以下に示す各変形例は、必要に応じてそれぞれ組み合わせて実施してもよい。
【００５２】
［３−１］アプリケーションプログラム
サーバ装置のパラメータ引き渡し指示によりパラメータが渡されるアプリケーションプログラムは、実施形態で述べた表示アプリ及び再生アプリに限定されない。これら以外にも、ＳＮＳ（Social Networking Service）のアプリ、地図アプリ、電子ブックのアプリ、ゲームのアプリ、通信端末の設定を行うアプリ及びアプリのバージョンを更新するアプリ等、通信端末でパラメータを用いて実行されるものであれば、どのようなアプリケーションプログラムであってもよい。
【００５３】
［３−２］パラメータ
サーバ装置のパラメータ引き渡し指示によりアプリに渡されるパラメータも、実施形態で述べたものに限定されない。前述した各アプリにおいて用いられるパラメータであれば、どのようなパラメータであってもよい。
【００５４】
［３−３］ＯＳ及びブラウザへの指示方法
サーバ装置がパラメータ引き渡し指示やインストール指示を行う方法は、実施形態で述べたＨＴＴＰレスポンスの記述やＪａｖａｓｃｒｉｐｔを用いた方法に限定されない。例えばＰＨＰ（Personal Home Page）スクリプトを用いた方法など、ブラウザやＯＳに対して上記の指示が行えるのであれば、どのような方法が用いられてもよい。
【００５５】
［３−４］発明のカテゴリ
本発明は、サーバ装置、通信端末及びそれらを備える情報処理システムとして捉えられる。また、本発明は、それらの他にも、サーバ装置や通信端末が実施する処理を実現するための情報処理方法としても捉えられる。ここでいう処理とは、例えば、図６及び図７に示すパラメータ引き渡し処理である。また、本発明は、サーバ装置のようなコンピュータを、図４に示す各手段として機能させるためのプログラムとしても捉えられるものである。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【符号の説明】
【００５６】
１…情報処理システム、２…ネットワーク、１０…サーバ装置、２０…通信端末、３０…アプリ提供装置、１１、２１…制御部、１２、２２…記憶部、１３…通信部、２３…ＵＩ部、２４…第１通信部、２５…第２通信部、２６…撮影部、１０１…受信手段、１０２…記憶手段、１０３…第１指示手段、１０４…第２指示手段、１０５…取得手段。
【要約】
【課題】通信端末が読み取ったパラメータをプログラムに渡して実行させるときのユーザの手間を少なくすること。
【解決手段】受信手段１０１は、ブラウザの機能により送信されてくるアプリ識別情報、パラメータ及び端末識別情報を受信する。記憶手段１０２は、受信されたアプリ識別情報及びパラメータを、端末識別情報に対応付けて記憶する。第２指示手段１０４は、通信端末２０に、受信されたアプリ識別情報によって識別されるアプリがインストールされていない場合に、そのアプリをインストールするように指示する。第１指示手段１０３は、第２指示手段１０４による指示に応じて通信端末２０にアプリがインストールされた後に、記憶されているアプリ識別情報及び端末識別情報が受信された場合には、通信端末２０のブラウザに対して、その端末識別情報に対応付けて記憶されているパラメータをアプリに渡すように指示する。
【選択図】図４【図１】
0005483244.tif 000002
【図２】
0005483244.tif 000003
【図３】
0005483244.tif 000004
【図４】
0005483244.tif 000005
【図５】
0005483244.tif 000006
【図６】
0005483244.tif 000007
【図７】
0005483244.tif 000008
【図８】
0005483244.tif 000009
【図９】
0005483244.tif 000010