(57)【要約】【課題】プログラムの共有が終わったあとに、そのプログラムによって記憶装置の空き容量が減らされないようにすること。【解決手段】取得部１０２は、共有プログラムを子機である第２の通信装置２０と共有する際の状況を示す状況情報を取得する。送信部１０３は、子機から共有プログラムの共有を要求された場合に、共有プログラムを実行するために用いられる実行用データを子機に送信する。この実行用データは、共有を要求してきた子機について取得部１０２が取得した状況情報に応じたものである。制御部２０２は、前述した要求に応答して送信されてきた共有プログラムを記憶装置２２に記憶させる。また、制御部２０２は、親機との通信が可能な範囲から自装置が離れたと判断した場合に、共有プログラムを記憶装置２２から削除する。実行部２０３は、記憶装置２２に記憶されている共有プログラムを実行する。【選択図】図４
2014222383.tif 000002
【特許請求の範囲】
【請求項１】
無線通信を行う通信手段と、
記憶手段と、
他の通信装置に記憶されており自装置において実行可能なプログラムの共有を、前記通信手段を用いて当該他の通信装置に要求する要求手段と、
前記要求手段による要求に応答して送信されてきた前記プログラムを前記記憶手段に記憶させ、前記他の通信装置との前記通信手段を用いた通信が可能な範囲から自装置が離れたと判断した場合に、当該プログラムを前記記憶手段から削除する制御手段と、
前記記憶手段に記憶されている前記プログラムを実行する実行手段と
を備えることを特徴とする通信装置。
【請求項２】
前記制御手段は、前記他の通信装置から送信される無線の受信強度が所定のレベル以下になった場合、または、当該受信強度が当該レベル以下になってから第１の時間が経過した場合に、前記通信が可能な範囲から自装置が離れたと判断する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御手段は、所定の条件が満たされた場合には、前記判断をしたタイミングにかかわらず、前記プログラムを記憶させてから第２の時間が経過したときに当該プログラムを削除する
ことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記プログラムは、複数の種類あり、
前記要求手段は、複数の前記プログラムのうちのいずれかの共有を要求し、
前記制御手段は、当該要求手段による要求に応答して送信されてきた前記プログラムの種類に応じて前記時間の長さを変える
ことを特徴とする請求項２または３に記載の通信装置。
【請求項５】
前記制御手段は、前記実行手段により前記プログラムが実行されることにより行われる処理がユーザの操作に応じて行われる状態であるか否かによって前記時間の長さを変える
ことを特徴とする請求項２乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記制御手段は、前記実行手段により前記プログラムが実行されることにより行われる処理の量に応じて前記時間の長さを変える
ことを特徴とする請求項２乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記制御手段は、前記他の通信装置からの電波の状況に応じて前記時間の長さを変える
ことを特徴とする請求項２乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記制御手段は、前記実行手段により前記プログラムが実行されて特定の処理が行われたときに当該プログラムを削除する
ことを特徴とする請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
無線通信を行う通信手段と、記憶手段とを備える通信装置が、他の通信装置に記憶されており自装置において実行可能なプログラムの共有を、前記通信手段を用いて当該他の通信装置に要求する要求ステップと、
前記通信装置が、前記要求ステップにおける要求に応答して送信されてきた前記プログラムを前記記憶手段に記憶させ、前記他の通信装置との前記通信手段を用いた通信が可能な範囲から自装置が離れたと判断した場合に、当該プログラムを前記記憶手段から削除する制御ステップと、
前記通信装置が、前記記憶手段に記憶されている前記プログラムを実行する実行ステップと
を備えることを特徴とする情報処理方法。
【請求項１０】
無線通信を行う通信手段と、記憶手段とを備える通信装置を制御するコンピュータに、
他の通信装置に記憶されており自装置において実行可能なプログラムの共有を、前記通信手段を用いて当該他の通信装置に要求する要求ステップと、
前記通信装置が、前記要求ステップにおける要求に応答して送信されてきた前記プログラムを前記記憶手段に記憶させ、前記他の通信装置との前記通信手段を用いた通信が可能な範囲から自装置が離れたと判断した場合に、当該プログラムを前記記憶手段から削除する制御ステップと、
前記通信装置が、前記記憶手段に記憶されている前記プログラムを実行する実行ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを共有するための技術に関する。
【背景技術】
【０００２】
プログラムを共有するための技術がある。特許文献１には、募集する側のゲーム装置から送信されたゲームプログラムを応募する側のゲーム装置が受信して実行することで、応募する側及び募集する側のゲーム装置の間で通信ゲームを実行する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３６７９１１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、ゲームカーリッジを着脱するゲーム装置については記載されているが、フラッシュメモリなどの記憶装置にプログラムを記憶させる（いわゆるインストール）という動作については記載されていない。しかし、スマートフォンなどの通信装置では、記憶装置にプログラムをインストールして実行することが一般的である。その場合に、共有したプログラムをそのままにしておくと、共有が終わったあともそのプログラムが記憶装置に記憶されたままになり、記憶装置の空き容量を減らしてしまう。
そこで、本発明は、プログラムの共有が終わったあとに、そのプログラムによって記憶装置の空き容量が減らされないようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、無線通信を行う通信手段と、記憶手段と、他の通信装置に記憶されており自装置において実行可能なプログラムの共有を、前記通信手段を用いて当該他の通信装置に要求する要求手段と、前記要求手段による要求に応答して送信されてきた前記プログラムを前記記憶手段に記憶させ、前記他の通信装置との前記通信手段を用いた通信が可能な範囲から自装置が離れたと判断した場合に、当該プログラムを前記記憶手段から削除する制御手段と、前記記憶手段に記憶されている前記プログラムを実行する実行手段とを備えることを特徴とする通信装置を提供する。
【０００６】
また、前記制御手段は、前記他の通信装置から送信される無線の受信強度が所定のレベル以下になった場合、または、当該受信強度が当該レベル以下になってから第１の時間が経過した場合に、前記通信が可能な範囲から自装置が離れたと判断してもよい。
さらに、前記制御手段は、所定の条件が満たされた場合には、前記判断をしたタイミングにかかわらず、前記プログラムを記憶させてから第２の時間が経過したときに当該プログラムを削除してもよい。
【０００７】
また、前記プログラムは、複数の種類あり、前記要求手段は、複数の前記プログラムのうちのいずれかの共有を要求し、前記制御手段は、当該要求手段による要求に応答して送信されてきた前記プログラムの種類に応じて前記時間の長さを変えてもよい。
さらに、前記制御手段は、前記実行手段により前記プログラムが実行されることにより行われる処理がユーザの操作に応じて行われる状態であるか否かによって前記時間の長さを変えてもよい。
【０００８】
また、前記制御手段は、前記実行手段により前記プログラムが実行されることにより行われる処理の量に応じて前記時間の長さを変えてもよい。
さらに、前記制御手段は、前記他の通信装置からの電波の状況に応じて前記時間の長さを変えてもよい。
また、前記制御手段は、前記実行手段により前記プログラムが実行されて特定の処理が行われたときに当該プログラムを削除してもよい。
【０００９】
本発明は、無線通信を行う通信手段と、記憶手段とを備える通信装置が、他の通信装置に記憶されており自装置において実行可能なプログラムの共有を、前記通信手段を用いて当該他の通信装置に要求する要求ステップと、前記通信装置が、前記要求ステップにおける要求に応答して送信されてきた前記プログラムを前記記憶手段に記憶させ、前記他の通信装置との前記通信手段を用いた通信が可能な範囲から自装置が離れたと判断した場合に、当該プログラムを前記記憶手段から削除する制御ステップと、前記通信装置が、前記記憶手段に記憶されている前記プログラムを実行する実行ステップとを備えることを特徴とする情報処理方法を提供する。
【００１０】
本発明は、無線通信を行う通信手段と、記憶手段とを備える通信装置を制御するコンピュータに、他の通信装置に記憶されており自装置において実行可能なプログラムの共有を、前記通信手段を用いて当該他の通信装置に要求する要求ステップと、前記通信装置が、前記要求ステップにおける要求に応答して送信されてきた前記プログラムを前記記憶手段に記憶させ、前記他の通信装置との前記通信手段を用いた通信が可能な範囲から自装置が離れたと判断した場合に、当該プログラムを前記記憶手段から削除する制御ステップと、前記通信装置が、前記記憶手段に記憶されている前記プログラムを実行する実行ステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１１】
本発明によれば、プログラムの共有が終わったあとに、そのプログラムによって記憶装置の空き容量が減らされないようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る情報処理システムの全体構成の一例を示す図。
【図２】第１の通信装置のハードウェア構成の一例を示す図。
【図３】第２の通信装置のハードウェア構成の一例を示す図。
【図４】情報処理システムの各通信装置が実現する機能構成の一例を示す図。
【図５】通知画像の一例を示す図。
【図６】要求画像の一例を示す図。
【図７】結果情報が示す処理の結果を引き継いだ再開の一例を示す図。
【図８】共有処理における各装置の動作の一例を示すシーケンス図。
【図９】プログラム種類テーブルの一例を示す図である。
【図１０】共有プログラム状態テーブルの一例を示す図である。
【図１１】共有プログラム処理テーブルの例を示す図である。
【図１２】変動度テーブルの例を示す図である。
【発明を実施するための形態】
【００１３】
［１］第１実施形態
［１−１］全体構成
図１は、第１実施形態に係る情報処理システムの全体構成の一例を示す図である。図１では、第１の通信装置１０と、第２の通信装置２０とを備える情報処理システム１が示されている。情報処理システム１は、複数の通信端末（図１の例では第１の通信装置１０及び第２の通信装置２０）同士でプログラムを共有させるサービス（以下「共有サービス」という）を提供するシステムである。プログラムの共有とは、例えば、第１の通信装置１０にしか記憶されていないプログラムを、第２の通信装置２０にも記憶させて実行できるようにすることである。
【００１４】
共有サービスにおいて複数の通信装置（例えば第１の通信装置１０及び第２の通信装置２０）が互いに共有するプログラムのことを、以下では「共有プログラム」という。また、上記の例で共有プログラムを記憶している装置、すなわち共有プログラムを共有させる側の装置のことを「親機」といい、供給プログラムを記憶していない装置、すなわち共有プログラムを共有させてもらう装置のことを「子機」という。つまり、共有プログラムは、親機にとっては、自装置及び他の通信装置（子機のこと）で実行可能なプログラムであり、子機にとっては、他の通信装置（親機のこと）に記憶されており自装置において実行可能なプログラムである。情報処理システム１においては、子機は複数台であってもよいが、説明を簡潔にするために本実施形態では、第１の通信装置１０が親機、第２の通信装置２０が子機であり、例えば２人で対戦するカードゲームのプログラムが共有プログラムとして共有される場合について説明する。
【００１５】
第１の通信装置１０及び第２の通信装置２０は、いずれも、無線通信を行う機能を備えた装置であり、例えば、携帯電話やスマートフォン、タブレット端末、ノート型のパーソナルコンピュータなどである。本実施形態では、両装置は、無線ＬＡＮ（Local Area Network）の規格に準拠した無線通信を行う。図１では、親機である第１の通信装置１０との無線通信が可能な範囲（以下「親機通信範囲」という）であるＡ１が示されている。例えば、第２の通信装置２０が親機通信範囲Ａ１に所在していないと共有プログラムは共有されないが、第２の通信装置２０が親機通信範囲Ａ１に所在していると、第１の通信装置１０及び第２の通信装置２０が無線通信を行って、共有プログラムが共有される。
【００１６】
［１−２］ハードウェア構成
図２は、第１の通信装置１０のハードウェア構成の一例を示す図である。第１の通信装置１０は、制御装置１１と、記憶装置１２と、ＵＩ（User Interface）装置１３と、第１通信装置１４とを備えるコンピュータである。制御装置１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及びリアルタイムクロックを備えている。ＲＡＭは、データやプログラムなどを記憶する記憶手段であり、電力が供給されている間はデータを記憶し続ける。ＣＰＵは、ＲＡＭをワークエリアとして用いてＲＯＭや記憶装置１２に記憶されたプログラムを実行することによって各装置の動作を制御する。リアルタイムクロックは、現在の日時を算出する機能を有している。
【００１７】
記憶装置１２は、フラッシュメモリ等を備え、制御装置１１が制御に用いるデータやプログラムなどを記憶する記憶手段である。記憶装置１２は、電力が供給されなくなってもデータを記憶し続ける。また、記憶装置１２は、共有プログラムを記憶するとともに、本実施形態では、共有プログラムを実行するための基盤となるプログラム（以下「基盤プログラム」という）を記憶している。この基盤プログラムが実行されることで、共有プログラムを子機と共有するための親機としての機能が実現される。
【００１８】
ＵＩ装置１３は、表示面と表示面に重ねられたタッチパネルとを備え、ユーザからの操作を受け付けるとともに画像を表示する。ＵＩ装置１３は、受け付けたユーザの操作に応じた操作データを制御装置１１に供給し、制御装置１１は、この操作データに応じた処理を行う。第１通信装置１４は、無線ＬＡＮの規格に準拠した無線通信を行うための通信回路を備え、例えば第２の通信装置２０と無線通信を行う通信手段である。第１通信装置１４は、無線通信を行って受信した受信データを制御装置１１に供給する。
【００１９】
図３は、第２の通信装置２０のハードウェア構成の一例を示す図である。第２の通信装置２０は、制御装置２１と、記憶手段である記憶装置２２と、ＵＩ装置２３と、無線通信を行う通信手段である第１通信装置２４とを備えるコンピュータである。制御装置２１及び記憶装置２２は、図２に示す同名の各装置と共通する構成を有している。記憶装置２２は、共有プログラムを記憶していないが、第１の通信装置１０と同様に基盤プログラムを記憶している。この基盤プログラムが実行されることで、共有プログラムを共有するための子機としての機能が実現される。また、また、第１通信装置２４は、無線通信で送信されてきたデータを受信した場合に、その無線の受信電界強度を測定し、測定した結果を示す測定データを制御装置１１に供給する。
【００２０】
［１−３］機能構成
情報処理システム１は、以上のハードウェア構成に基づき、ユーザに上述した共有サービスを提供するための処理（以下「共有処理」という）を行う。第１の通信装置１０及び第２の通信装置２０がそれぞれ備える制御装置が、前述した基盤プログラムをそれぞれ実行して各通信装置のハードウェアを制御することで、以下に述べる機能が実現される。
図４は、情報処理システム１が備える各通信装置が実現する機能構成の一例を示す図である。第１の通信装置１０（親機）は、通知部１０１と、取得部１０２と、送信部１０３と、実行部１０４とを備え、第２の通信装置２０（子機）は、要求部２０１と、制御部２０２と、実行部２０３とを備える。
【００２１】
［１−３−１］通知部１０１
通知部１０１は、共有プログラムを共有を開始する旨と、その共有における親機を識別する情報（以下「親機識別情報」という）とを、第１通信装置１４を用いて通知する通知手段である。親機識別情報は、例えば、自装置の製造番号や、共有サービスにおいて自装置に割り当てられている固有のＩＤなどである。通知部１０１は、制御装置１１が第１通信装置１４を用いて実現する機能である。制御装置１１のＲＯＭまたは記憶装置１２には、親機識別情報が記憶されている。制御装置１１は、親機識別情報を読み出して、読み出した親機識別情報と、共有プログラムの名称（この例では単に「共有プログラム」という名称であるものとする）と、その共有プログラムの共有を開始しようとしていることを伝える文字列とを示す通知データを、第１通信装置１４を用いて発信する。通知部１０１は、このようにして上記の通知を行う。
【００２２】
［１−３−２］要求部２０１
要求部２０１は、上述した共有プログラムの共有を、第１通信装置１４を用いて他の通信装置（本実施形態では親機である第１の通信装置１０）に要求する要求手段である。要求部２０１は、制御装置２１及びＵＩ装置２３が協働し、且つ、制御装置２１が第１通信装置２４を用いて実現する機能である。第２の通信装置２０が図１に示す親機通信範囲Ａ１に所在していると、第１の通信装置１０から発信された通知データを第１通信装置２４が受信し、第１通信装置２４がその通知データを制御装置２１に供給する。制御装置２１は、例えば、供給された通知データが示す親機識別情報により識別される親機が共有を開始する旨を通知する画像（「通知画像」という）をＵＩ装置２３に表示させる。
【００２３】
図５は、通知画像の一例を示す図である。図５の例では、ＵＩ装置２３の表示面に、「第１の通信装置が共有プログラムの共有を開始しようとしています。」という文字列を表す通知画像Ｂ１と、「共有を要求する」及び「共有を要求しない」という文字列を含むボタンをそれぞれ示すボタン画像Ｃ１及びＣ２とが表示されている。ユーザがＵＩ装置２３を操作してボタン画像Ｃ１を選択すると、制御装置２１が、共有プログラムの共有を要求する旨を示す要求データを、第１通信装置２４を介して親機（第１の通信装置１０）に送信する。また、制御装置２１は、要求データとともに、自装置を識別する情報（情報処理システム１においては子機を識別する情報となる。以下「子機識別情報」という。）を親機に送信する。要求部２０１は、このようにして上記の要求を行う。なお、制御装置２１は、ボタン画像Ｃ２が選択された場合には、上記の要求を行わずに動作を終了する。
【００２４】
［１−３−３］取得部１０２
取得部１０２は、共有プログラムの実行に影響する状況を示す情報（以下「状況情報」という）を取得する取得手段である。共有プログラムの実行に影響する状況とは、例えば、今回共有を行う子機が過去に共有を行った子機と同じであるか否かという状況や、過去の共有においてどのような処理が行われたかという状況などである。本実施形態では、取得部１０２は、子機が過去に共有プログラムを実行したときに行われた処理の結果を示す情報（以下「結果情報」という）を状況情報として取得する。結果情報とは、例えば、上述した２人で対戦するカードゲームの場合、それまでの勝敗の結果や過去の共有において最後に配られたカードなどを示す情報である。この場合、取得部１０２は、制御装置１１が記憶装置１２及び第１通信装置１４を用いて実現する機能である。
【００２５】
後述する実行部１０４及び実行部２０３は、いずれも共有プログラムを実行する実行手段であり、互いに同期しながら共有プログラムを実行するために、同期のための情報（以下「同期情報」という）をやり取りする。同期情報は、例えば、実行部２０３が共有プログラムを実行したときに行われた処理の結果を示す情報である。制御装置１１には、第１通信装置１４を介して実行部２０３からの同期情報が、第２の通信装置２０の子機識別情報とともに、例えば決められた時間の間隔（１秒毎など）で供給されてくる。制御装置１１は、第２の通信装置２０との共有プログラムの共有が終了したときに、最後に供給された同期情報を結果情報として、ともに供給された子機識別情報に対応付けて記憶装置１２に記憶させる。取得部１０２は、このようにして上記の取得を行い、取得した状況情報（本実施形態では結果情報）を参照できるように、例えば状況情報を記憶させた記憶装置１２の領域を送信部１０３及び実行部１０４に通知する。
【００２６】
［１−３−４］送信部１０３
送信部１０３は、子機から共有プログラムの共有を要求された場合に、その共有プログラムを実行するために用いられる実行用データを、第１通信装置１４を用いて子機に送信する送信手段である。実行用データとは、例えば、共有プログラムそのもの、共有プログラムを実行可能に記憶させる（インストールする）際に用いられるデータ（以下「インストール用データ」という）、及び、インストールされた共有プログラムを有効にするために用いられるデータ（いわゆるライセンスキーやアクティベーションキーなど。以下「有効化キー」という）等のデータである。
【００２７】
また、送信部１０３は、共有を要求してきた子機について取得部１０２が取得した状況情報に応じた実行用データを送信する。本実施形態では、送信部１０３は、取得部１０２により取得された結果情報が示す処理の結果を引き継いで共有プログラムの実行を再開させるために用いられるデータ（以下「再開用データ」という）を、実行用データとして送信する。再開用データとは、上述した各データの他に、取得部１０２により取得された結果情報を加えたデータである。本実施形態では、送信部１０３は、共有プログラム、インストール用データ及び結果情報を再開用データ（すなわち実行用データ）として送信する。送信部１０３は、制御装置１１及びＵＩ装置１３が協働し、且つ、制御装置１１が記憶装置１２及び第１通信装置１４を用いて実現する機能である。
【００２８】
制御装置１１には、第２の通信装置２０から送信されてきた要求データ及び子機識別情報が第１通信装置１４を介して供給されてくる。制御装置１１は、例えば、供給された子機識別情報により識別される子機が共有を要求している旨を表す画像（「要求画像」という）をＵＩ装置１３に表示させる。
図６は、要求画像の一例を示す図である。図６の例では、ＵＩ装置１３の表示面に、「第２の通信装置が共有プログラムの共有を要求しています。」という文字列を表す要求画像Ｂ２と、「共有を許可する」及び「共有を許可しない」という文字列を含むボタンをそれぞれ示すボタン画像Ｃ３及びＣ４とが表示されている。ユーザがＵＩ装置１３を操作してボタン画像Ｃ３を選択すると、制御装置１１は、要求データとともに送信されてきた子機識別情報に対応付けられた結果情報が記憶されているか否かを判断し、記憶されている場合に、その結果情報を含む再開用データを、第１通信装置２４を介して共有を要求してきた子機（第２の通信装置２０）に送信する。送信部１０３は、このようにして上記の送信を行う。なお、制御装置１１は、ボタン画像Ｃ４が選択された場合には、上記の送信を行わずに動作を終了する。
【００２９】
［１−３−５］実行部１０４
実行部１０４は、記憶装置１２に記憶されている共有プログラムを、共有を要求してきた子機について取得部１０２により取得された状況情報に応じて実行する実行手段である。本実施形態においては、実行部１０４は、結果情報を状況情報として、共有プログラムを実行する。実行部１０４は、例えば、制御装置１１及びＵＩ装置１３が協働し、且つ、制御装置１１が記憶装置１２及び第１通信装置１４を用いて実現する機能である。制御装置１１は、要求データとともに送信されてきた子機識別情報に対応付けられた結果情報が記憶されているか否かを判断する。制御装置１１は、記憶されていると判断した場合に、その結果情報が示す処理の結果を引き継いで共有プログラムの実行を再開させる。制御装置１１は、上述した２人で対戦するカードゲームの場合、例えば、結果情報が示すカード、すなわち過去の共有において最後に配られたカードが配られた状態で再開させる。また、制御装置１１は、結果情報が示すそれまでの勝敗の結果も引き継いで再開させる。
【００３０】
図７は、結果情報が示す処理の結果を引き継いだ再開の一例を示す図である。図７（ａ）では、それまでの勝敗の結果として親機及び子機のユーザが「＄１，５００」及び「＄５００」をそれぞれ所持し、それぞれ５枚のカードが配られた状態が示されている（子機側はカードの裏側が示されている）。制御装置１１が上記のとおり結果情報が示す処理の結果を引き継いで共有プログラムの実行を再開させた場合、図７（ｂ）に示すように、図７（ａ）と同じ勝敗の結果及びカードを引き継いで再開される。一方、制御装置１１がこのような再開を行わない場合、例えば、図７（ｃ）に示すように、カードゲームの初期の状態、すなわち、親機及び子機の所持金が同じで新たにカードが配られた状態で共有プログラムが実行されることになる。実行部１０４は、このようにして上記の実行を行う。
【００３１】
また、実行部１０４は、共有を要求してきた子機と同期しながら共有プログラムを実行する。実行部１０４は、例えば、自装置が共有プログラムを実行したときに行われた処理の結果を示す情報を上述した同期情報として、親機識別情報とともに第２の通信装置２０に送信する。同期情報は、具体的には、例えば、ＵＩ装置１３をユーザが操作して選択した内容を示す情報（図７の例であれば、取り替えるカードや掛け金などを示す情報）である。また、後述する第２の通信装置２０の実行部２０３も、同期情報を子機識別情報とともに第１の通信装置１０に送信してくる。実行部１０４は、図７の例であれば、子機から送信されてきた同期情報に基づいて子機のユーザのカードを取り替えたり掛け金を決定したりする。実行部１０４は、同期情報のやり取りを、例えば決められた時間の間隔（１秒毎など）で行う。実行部１０４は、このようにして上記の同期を行いながら共有プログラムを実行する。
【００３２】
また、実行部１０４は、子機（本実施形態では第２の通信装置２０）が図１に示す親機通信範囲Ａ１から離れたか否かを判断し、離れたと判断した場合には、共有プログラムの実行を継続し、離れていないと判断した場合には、共有プログラムの実行を終了する。実行部１０４は、例えば、第２の通信装置２０から送信されてきた同期情報を受信した場合に、その無線の受信電界強度を測定し、測定した結果が所定のレベル以下であれば、親機通信範囲Ａ１から子機が離れたと判断する。
【００３３】
［１−３−６］制御部２０２
制御部２０２は、記憶装置２２へのデータの記憶や削除を制御する制御手段である。具体的には、制御部２０２は、要求部２０１による要求に応答して送信されてきた共有プログラムを記憶装置２２に記憶させる。本実施形態においては、制御部２０２は、送信部１０３から送信されてきた再開用データに含まれる共有プログラムを記憶装置２２に記憶させる。また、制御部２０２は、親機との第１通信装置２４を用いた通信が可能な範囲（上述した親機通信範囲）から自装置が離れたと判断した場合に、その共有プログラムを記憶装置２２から削除する。制御部２０２は、様々な方法でこの判断を行う。制御部２０２は、例えば、親機から送信される無線の受信強度が所定のレベル以下になった場合に、親機通信範囲から自装置が離れたと判断する。
【００３４】
制御部２０２は、制御装置１１が記憶装置１２及び第１通信装置１４を用いて実現する機能である。制御装置１１には、第１の通信装置１０から送信されてきた実行用データ（本実施形態では再開用データ）が第１通信装置１４を介して供給される。制御装置１１は、供給された再開用データに含まれる共有プログラムを、同じく含まれるインストール用データに基づいて、記憶装置２２に実行可能な状態で記憶させる。この共有プログラムは、要求部２０１による要求に応答して送信されてきたものである。
また、第１通信装置２４は、例えば、第１の通信装置１０から送信されてきた上述した同期情報を受信した場合に、その無線の受信電界強度を測定し、測定した結果を示す測定データを制御装置１１に供給する。制御装置１１は、供給された測定データが示す受信電界強度が所定のレベル以下であれば、親機通信範囲から自装置が離れたと判断して、記憶装置２２から共有プログラムを削除する。制御部２０２は、このようにして上記の記憶及び削除を行う。
【００３５】
［１−３−７］実行部２０３
実行部２０３は、記憶装置２２に記憶されている共有プログラムを実行する実行手段である。実行部２０３は、例えば、制御装置２１及びＵＩ装置２３が協働し、且つ、制御装置２１が記憶装置２２及び第１通信装置２４を用いて実現する機能である。制御装置２１には、第１の通信装置１０から送信されてきた再開用データが第１通信装置２４を介して供給される。制御装置２１は、供給された再開用データに含まれる結果情報が示す処理の結果を引き継いで共有プログラムの実行を再開させる。その結果、図７に示す親機の例と同様に、子機側でも同じ勝敗の結果及びカードが引き継がれて共有プログラムの実行が再開される。また、実行部２０３は、第１の通信装置１０の実行部１０４と決められた時間の間隔（例えば１秒毎）で同期情報をやり取りして、第１の通信装置１０と同期しながら共有プログラムを実行する。
【００３６】
［１−４］動作
情報処理システム１は、以上の構成に基づき上述した共有処理（共有サービスを提供するための処理）を行う。以下では、共有処理において情報処理システム１が備える各装置が行う動作について説明する。
図８は、共有処理における各装置の動作の一例を示すシーケンス図である。共有処理は、ユーザが第１の通信装置１０を操作して共有サービスの開始を通知することを契機に開始される。
【００３７】
まず、第１の通信装置１０は、ユーザが上述した通知を行うための操作（通知操作）を行うと（ステップＳ１１）、通知データ（共有を開始する旨と親機識別情報とを表したデータ）を発信する（ステップＳ１２）。ステップＳ１１及びＳ１２は通知部１０１が行う動作である。第２の通信装置２０は、ステップＳ１２において通知データを受信すると、図５に示すような通知画像を表示し、ユーザが共有プログラムを要求するための操作（要求操作）を行うと（ステップＳ１３）、共有プログラムの共有を要求する旨を示す要求データを子機識別情報とともに第１の通信装置１０に送信する（ステップＳ１４）。ステップＳ１３及びＳ１４は要求部２０１が行う動作である。
【００３８】
第１の通信装置１０は、ステップＳ１４において要求データを受信すると、共有を要求してきた第２の通信装置２０に上述した実行用データを送信する（ステップＳ１５）。ステップＳ１５は送信部１０３が行う動作である。第２の通信装置２０は、ステップＳ１５において実行用データを受信すると、本実施形態においては、受信した実行用データに含まれる共有プログラム、すなわち、要求部２０１による要求に応答して送信されてきた共有プログラムを記憶する（ステップＳ１６）。次に、第２の通信装置２０が、記憶した共有プログラムを実行し（ステップＳ１７）、第１の通信装置１０が、記憶している共有プログラムを実行する（ステップＳ１８）。本実施形態におけるステップＳ１７及びＳ１８では、第１の通信装置１０が第２の通信装置２０についての結果情報を取得していた場合には、第２の通信装置２０及び第１の通信装置１０が、いずれも、その結果情報が示す処理の結果を引き継いで共有プログラムの実行を再開させる。
【００３９】
次に、第１の通信装置１０及び第２の通信装置２０は、同期情報をやり取りして互いに同期しながら共有プログラムを実行する（ステップＳ１９）。続いて、第１の通信装置１０は、子機（第２の通信装置２０）が親機通信範囲から離れたか否かを判断する（ステップＳ２０）。第１の通信装置１０は、ステップＳ２０において離れていない（ＮＯ）と判断している間は、ステップＳ１９の動作を繰り返し行い、離れた（ＹＥＳ）と判断した場合に、共有プログラムの実行を終了する（ステップＳ２１）。そして、第１の通信装置１０は、ステップＳ１９において最後に受け取った同期情報、すなわち結果情報を取得する（ステップＳ２２）。ステップＳ１８、Ｓ１９、Ｓ２０及びＳ２１は、実行部１０４が行う動作であり、ステップＳ２２は、取得部１０２が行う動作である。
【００４０】
また、第２の通信装置２０は、自装置（子機）が親機通信範囲から離れた否かを判断する（ステップＳ２３）。第２の通信装置２０は、ステップＳ２３において離れていない（ＮＯ）と判断している間は、ステップＳ１９の動作を繰り返し行い、離れた（ＹＥＳ）と判断した場合に、共有プログラムを削除する（ステップＳ２４）。ステップＳ１６及びＳ２４は、制御部２０２が行う動作であり、ステップＳ１７、Ｓ１９及びＳ２３は、実行部２０３が行う動作である。
以上で、共有処理において情報処理システム１が備える各装置が行う動作が終了する。
【００４１】
［１−５］発明の効果
本実施形態では、子機が、親機通信範囲から自装置が離れたと判断した場合に、共有プログラムを記憶装置から削除するようになっている。この削除を行わなければ、ユーザが操作するなどして削除しなければ、共有が終わったあとも記憶装置に共有プログラムが記憶され続け、記憶装置の空き容量が共有プログラムによって減らされることになる。本実施形態によれば、プログラムの共有が終わったあとに、そのプログラムによって記憶装置の空き容量が減らされないようにすることができる。
【００４２】
［２］第２実施形態
本発明の第２実施形態について、以下、第１実施形態と異なる点を中心に説明する。第１実施形態では、制御部２０２が、親機から送信される無線の受信強度が所定のレベル以下になった場合に、親機通信範囲から自装置が離れたと判断したが、第２実施形態では、受信強度が所定のレベル以下になってもすぐにはその判断をせずに、所定の時間（以下「第１の時間」という）が経過した場合にその判断を行う。ここでいう第１の時間は、親機通信範囲から自装置が離れたことを判断する際の基準となる時間として予め定められる時間である。
【００４３】
本実施形態では、制御部２０２が、受信強度が所定のレベル以下になってから第１の時間が経過した場合に、親機通信範囲から自装置が離れたと判断する。
本実施形態によれば、例えば、第１の時間を１０秒や２０秒といった長さに定めることで、子機が親機通信範囲から離れていないにもかかわらず他の電波との干渉や親機と子機の間に壁が挟まるなどして受信強度が数秒間所定のレベル以下になってしまうような場合でも、共有を継続させることができる。また、第１の時間を５分や１０分といった長さに定めることで、例えば親機または子機を使用するユーザがトイレや電話などでしばらく席を外すような場合でも、共有を継続させることができる。
【００４４】
［３］第３実施形態
本発明の第３実施形態について、以下、第２実施形態と異なる点を中心に説明する。本実施形態では、第２実施形態で述べた第１の時間を、様々な方法で変化させる。例えば、共有プログラムが複数の種類ある場合に、第１の時間の長さを共有プログラムの種類に応じて変化させる。これを第１の方法という。以下では、カードゲームの共有プログラムαと、格闘ゲームの共有プログラムβと、デパートの内部で店舗を検索するための共有プログラムγとが共有される場合について説明する。
【００４５】
［３−１］第１の方法
第１の方法では、要求部２０１が、複数の共有プログラムのうちのいずれかの共有を要求する。要求部２０１は、複数の親機からの通知データを受信した場合には、それらの通知データが示す共有プログラムのうちのどちらを共有するかを選択するための画像を表示して、ユーザが選択した方の共有プログラムの共有を要求する。この要求に応答して、親機からは実行用データが送信されてくる。制御部２０２は、要求部２０１による要求に応答して送信されてきた共有プログラムの種類に応じて第１の時間の長さを変える。記憶装置２２には、共有プログラムの種類と第１の時間とが互いに対応付けられたプログラム種類テーブルが記憶されている。
【００４６】
図９は、プログラム種類テーブルの一例を示す図である。図９では、「α」、「β」及び「γ」という共有プログラムに、「５分」、「５秒」及び「２時間」という第１の時間が対応付けられている。制御部２０２は、測定した受信電界強度が所定のレベル以下になると時間の計測を開始して、例えば記憶装置２２に記憶させた共有プログラムがαだった場合、プログラム種類テーブルにおいてαに対応付けられた５分が経過する前に再び受信電界強度が所定のレベルを超えるか否かを判断する。制御部２０２は、受信電界強度が所定のレベルを超える前に５分が経過した場合には、親機通信範囲から自装置が離れたと判断し、共有プログラムαを記憶装置２２から削除する。また、制御部２０２は、５分を経過する前に受信電界強度が所定のレベルを超えた場合には、共有プログラムαの削除を行わない。
【００４７】
図９に示す例では、共有プログラムαでは、長時間共有されてトイレなどの中断があってもよいように第１の時間を５分とし、共有プログラムβでは、反対に長時間ゲームを行う場合でもトイレなどの中断時には共有を一度終了させるよう第１の時間を５秒としている。また、共有プログラムγでは、例えばデパート内の空間の一部しか親機通信範囲となっていない場合に、ユーザがデパート内を移動しても共有が継続されるように、第１の時間を２時間としている。このように、第１の方法によれば、共有プログラムの用途に応じた長さに第１の時間を変更したり、ユーザが共有プログラムの機能を利用する場所と親機通信範囲との広さの関係に応じた長さに第１の時間を変更したりすることができる。
【００４８】
［３−２］第２の方法
第２の方法では、制御部２０２が、実行部２０３により共有プログラムが実行されることにより行われる処理（以下「共有プログラム処理」という）がユーザの操作に応じて行われる状態であるか否かによって、第１の時間の長さを変える。共有プログラム処理とは、例えば、前述した共有プログラムαであればカードを配る処理やカードを選択する処理などであり、共有プログラムγであれば資料のページをめくる処理や資料に書き込みをする処理などである。この例では、複数のプログラムを同時に実行する（いわゆるマルチタスク処理を行う）ことができる通信装置が親機及び子機として用いられている。
【００４９】
これらの通信装置は、複数のプログラムを実行している場合に、そのうちの１つに関する処理をユーザの操作に応じて受け付け、それ以外のプログラムに関する処理は受け付けないようにする。このようにユーザの操作が受け付けられる実行中のプログラムの状態をアクティブといい、ユーザの操作が受け付けられる実行中のプログラムの状態を非アクティブという。つまり、第２の方法では、制御部２０２は、共有プログラムがアクティブであるか否かによって、第１の時間を変える。記憶装置２２には、共有プログラムの状態（アクティブまたは非アクティブ）と第１の時間とを対応付けた共有プログラム状態テーブルが記憶されている。
【００５０】
図１０は、共有プログラム状態テーブルの一例を示す図である。図１０では、「アクティブ」及び「非アクティブ」という共有プログラムの状態に、「５分」及び「５秒」という第１の時間が対応付けられている。制御部２０２は、実行部２０３により実行されている共有プログラムの状態に応じて変えた第１の時間を用いて共有プログラムを削除するか否かを判断する。この例では、制御部２０２は、共有プログラムがアクティブである場合には、第１の時間を５分として削除の判断を行い、共有プログラムが非アクティブである場合には、第１の時間を５秒として削除の判断を行う。
【００５１】
共有プログラムがアクティブな状態、すなわち共有プログラムが実行されることにより実現される機能をユーザが利用している状態では、非アクティブな状態、すなわちその機能をユーザが利用していない状態に比べて、共有が継続されやすいようになっていたほうがよい。上記の第２の方法によれば、例えば図１０の例の説明で述べたように第１の時間を変えることで、共有プログラムがアクティブな状態では、非アクティブな状態に比べて共有が継続されやすいようにすることができる。
【００５２】
［３−３］第３の方法
第３の方法では、制御部２０２が、前述した共有プログラム処理（実行部２０３により共有プログラムが実行されることにより行われる処理）の量に応じて第１の時間の長さを変える。共有プログラム処理の量は、例えば、共有プログラムを実行するためにＣＰＵが占有される時間の割合（ＣＰＵ使用率）や、共有プログラム処理において単位時間にメモリに対して読み書き（読み出し及び書き込み）がされるデータの量（以下「メモリ使用量」という）などにより表される。記憶装置２２には、共有プログラム処理の量と第１の時間とを対応付けた共有プログラム処理テーブルが記憶されている。
【００５３】
図１１は、共有プログラム処理テーブルの例を示す図である。図１１（ａ）では、「１％未満」及び「１％以上」という処理の量（この例ではＣＰＵ使用率）に、「５秒」及び「５分」という第１の時間が対応付けられている。図１１（ｂ）では、「１ＭＢ／秒未満」及び「１ＭＢ／秒以上」という処理の量（この例ではメモリ使用量）に、「５秒」及び「５分」という第１の時間が対応付けられている。１ＭＢ／秒とは、１秒間に１ＭＢのデータが読み書きされることを表している。制御部２０２は、ＣＰＵ使用率を用いる場合、共有プログラムによるＣＰＵ使用率を第１の時間の間隔（例えば１０秒毎）で計測し、計測したＣＰＵ使用率に応じて変えた第１の時間を用いて共有プログラムを削除するか否かを判断する。例えば、制御部２０２は、計測したＣＰＵ使用率が１０％である場合には、第１の時間を５分として削除の判断を行う。
【００５４】
共有プログラムによっては、非アクティブな状態でも何らかの共有プログラム処理が行われるようになっているものがある。例えば、共有プログラムが実現する機能により会議において資料が共有されている場合に、他の通信端末で編集された資料を更新する共有プログラム処理が非アクティブな状態でも行われるといった具合である。また、共有プログラム処理が行われると、非アクティブな状態であっても、ＣＰＵ使用率やメモリ使用量などで表される処理の量が増えることになる。第３の方法によれば、このような処理の量に応じて第１の時間を変えることで、アクティブまたは非アクティブという状態にかかわらず、共有プログラム処理の多い共有プログラムの共有が、共有プログラム処理の少ない共有プログラムの共有に比べて継続されやすいようにすることができる。
【００５５】
［３−４］第４の方法
第４の方法では、制御部２０２が、親機（本実施形態では第１の通信装置１０）からの電波の状況に応じて第１の時間の長さを変える。電波の状況とは、例えば、親機との無線通信における無線の受信電界強度が変動する度合い（以下「変動度」という）によって表される。制御部２０２は、所定の時間の間隔（例えば０．１秒毎）の受信電界強度を測定し、所定の時間（例えば５秒間）に測定された受信電界強度の分散を変動度として算出する。記憶装置２２には、変動度と第１の時間とを対応付けた変動度テーブルが記憶されている。
【００５６】
図１２は、変動度テーブルの例を示す図である。図１２では、「Ｖ１未満」、「Ｖ１以上Ｖ２未満」及び「Ｖ２以上」という変動度（Ｖ１＜Ｖ２とする）に、「１分」、「５分」及び「１０分」という第１の時間が対応付けられている。制御部２０２は、親機からの電波の状況、すなわち変動度に応じて変えた第１の時間を用いて共有プログラムを削除するか否かを判断する。この例では、制御部２０２は、例えば変動度がＶ１未満である場合には、「Ｖ１未満」という変動度に対応付けられている「１分」という第１の時間に変えて削除の判断を行い、変動度がＶ２以上である場合には、「Ｖ２以上」という変動度に対応付けられている「１０分」という第１の時間に変えて削除の判断を行う。Ｖ１及びＶ２は、例えば試験的な環境で測定される受信電界強度に基づいて予め定められる値である。
【００５７】
電波の状況は、例えば、親機が発信する第１電波と親機以外の装置から発信された第２電波とが混信すると、混信する前に比べて第１電波が弱くなることがある。そのため、第１電波が混信する状態では、そうでない状態に比べて、変動度が大きくなりやすい。変動度が大きくなると、親機通信範囲から子機が離れていなくても受信強度が所定のレベル以下になる状況が発生しやすくなる。第４の方法では、例えば図１２の説明で述べたように変動度が大きいほど第１の時間を長く変えることで、そのような状況が発生しにくいようにすることができる。
【００５８】
本実施形態で述べたように、親機通信範囲から自装置が離れたという子機による判断は、子機が親機と通信できなくなったときにすぐに行われるとは限らない。親機通信範囲はユーザの目に見えるものではないから、ユーザが共有を続けたいと考えていても、意図せず親機通信範囲の外に出てしまうこともあるし、前述した干渉や壁などの要因で通信ができなくなることもある。本発明においては、親機及び子機の無線通信が可能か否かという状況だけではなく、共有プログラムの共有を継続させるべきか否かという状況に応じてこの判断が行われる。共有を継続させるべき状況とは、例えば、前述したような要因で親機及び子機の無線通信が一旦できなくなっても、そのあと再び無線通信ができるようになり、ユーザが共有プログラムの共有を行うことが見込まれる状況である。本実施形態では、例えば上述した第１から第４までの方法を用いることで、このような状況に応じた判断を行うことができ、ユーザにとって望ましいように共有を継続させたり終了させたりすることができる。
【００５９】
［４］第４実施形態
本発明の第４実施形態について、以下、上記の各実施形態と異なる点を中心に説明する。第４実施形態では、子機は、親機通信範囲から自装置が離れたか否かという判断（以下「離脱判断」という）とは別の判断を行って、その判断の結果に基づいて共有プログラムを削除する。具体的には、本実施形態では、共有プログラムの削除を判断するために、共有プログラムが子機に記憶されてから経過した時間が用いられる。
【００６０】
［４−１］機能構成
本実施形態では、制御部２０２が、所定の条件が満たされた場合には、離脱判断（親機通信範囲から自装置が離れたか否かという判断）をしたタイミングにかかわらず、共有プログラムを記憶させてから所定の時間（以下「第２の時間」という）が経過したときに共有プログラムを削除する。所定の条件とは、例えば、共有プログラムが特定のプログラムである場合に満たされる条件や、共有が要求された時刻が特定の時間帯に含まれている場合に満たされる条件などである。これらの条件は、共有が開始されたときに満たされる条件であり、以下では「開始時条件」という。また、所定の条件として、他にも、ユーザにより特定の操作がされたときに満たされる条件や、親機から特定のデータが送信されてきたときに満たされる条件が用いられてもよい。これらの条件は、共有が開始されたあとでも共有中であればいつでも満たされることがある条件であり、以下では「共有中条件」という。
【００６１】
制御部２０２は、記憶装置２２に共有プログラムを記憶させると、所定の条件が満たされているか否かを判断する。制御部２０２は、開始時条件を用いる場合には、共有プログラムを記憶させたときにのみこの判断を行い、共有中条件を用いる場合には、共有プログラムを記憶させたあと、所定の時間の間隔（例えば５秒毎）でこの判断を行う。制御部２０２は、条件が満たされていないと判断した場合には、親機通信範囲から自装置が離れたか否かという判断（すなわち離脱判断）に基づいて共有プログラムを削除し、条件が満たされたと判断した場合には、共有プログラムを記憶させてから第２の時間が経過したか否かという判断（以下「経過判断」という）に基づいて共有プログラムを削除する。
【００６２】
［４−２］発明の効果
共有プログラムが実現する機能によっては、親機通信範囲から子機が離れたか否かにかかわらず、所定の時間（上記第２の時間）が経過するまでは、共有を継続させ、その時間が経過したときに共有を終了させた方がユーザにとって望ましい場合がある。例えば、制限時間付きのクイズに答えるための共有プログラムが共有され、その制限時間が経過して回答の結果（例えば正答率や得点）が通知されたところで共有を終了させるといった場合や、レストランで品物を注文をするための共有プログラムが共有され、且つ、時間帯によっては２時間しか注文できないようにレストランがしているときに、親機通信範囲から子機が離れたか否にかかわらず２時間が経過したところで共有を終了させるといった場合などである。本実施形態によれば、それらのような場合に、離脱判断を行うときに比べて、ユーザにとってより望ましいタイミングで共有を終了させることができる。
【００６３】
［４−３］その他の例
なお、制御部２０２は、所定の条件が満たされたか否かにかかわらず、共有プログラムを記憶させてから第２の時間が経過したときに共有プログラムを削除してもよい。その場合、制御部２０２は、離脱判断をしたときと経過判断をしたときとのいずれか早いほうのタイミングで共有プログラムを削除することになる。特にプログラムの提供者にとっては、そのようなタイミングで共有を終了させることが望ましい場合がある。その場合に、この方法によれば、プログラムの提供者にとってより望ましいタイミングで共有を終了させることができる。
【００６４】
また、第３実施形態で述べた第１から第４までの方法を用いて、第１の時間の長さと同様に第２の時間の長さを変えてもよい。第１の方法を用いる場合は、制御部２０２は、要求部２０１による要求に応答して送信されてきた共有プログラムの種類に応じて第２の時間の長さを変える。また、第２、第３及び第４の方法を用いる場合は、制御部２０２は、それぞれ、共有プログラム処理がユーザの操作に応じて行われる状態であるか否かによって第２の時間の長さを変え、共有プログラム処理の量に応じて第２の時間の長さを変え、及び、親機からの電波の状況に応じて第２の時間の長さを変える。このように第２の時間を変えることで、第２の時間を固定している場合に比べて、より望ましいタイミングで共有を終了させることができる。
【００６５】
［５］第５実施形態
本発明の第５実施形態について、以下、上記の各実施形態と異なる点を中心に説明する。第５実施形態では、制御部２０２が、実行部２０３により共有プログラムが実行されて特定の共有プログラム処理が行われたときに共有プログラムを削除する。特定の共有プログラム処理とは、共有プログラムが格闘ゲームのプログラムであれば、例えばユーザが操作するキャラクタが全て負けたときにゲームを終了させる処理である。他にも、共有プログラムが会議において資料を共有するためのプログラム（会議プログラム）であれば、例えばユーザが会議を抜けるための操作を行ったときにそのユーザが会議を抜けることを他のユーザに通知する処理が特定の共有プログラム処理として用いられる。なお、制御部２０２は、第４実施形態で述べた所定の条件が満たされた場合に、本実施形態における共有プログラムの削除を行ってもよい。
【００６６】
共有プログラムがゲームのプログラムであれば、プレーに何らかの区切りがついたとき（ゲームオーバーになったりイベントをクリアしたりしたときなど）に共有を終了させるとユーザにとって望ましい場合がある。また、共有プログラムが例えば前述した会議プログラムであれば、共有を終了させることを他のユーザに知らせたときに共有を終了させるとユーザにとって望ましい場合がある。本実施形態によれば、特定の共有プログラム処理が行われたときに共有プログラムを削除することで、これらの場合において、望ましいタイミングで共有を終了させることができる。
【００６７】
［６］変形例
上述した各実施形態は、それぞれ本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した各実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
【００６８】
［６−１］無線通信
上述した各実施形態では、親機及び子機が無線ＬＡＮの規格に準拠した無線通信を行ったが、これに限らない。親機及び子機は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）や赤外線で無線通信を行ってもよいし、ＮＦＣ（Near Field Communication）の規格またはＲＦＩＤ（Radio Frequency IDentification）の規格に準拠した無線通信を行ってもよい。要するに、親機及び子機は、互いに他の装置を介さずに直接無線通信を行うものであればよい。
【００６９】
［６−２］子機同士の通信
上述した各実施形態では、子機同士は無線通信を行っていなかったが、行ってもよい。例えば、親機から実行用データが送信されてきたあと、全ての子機が親機と同期情報をそれぞれやり取りする代わりに、子機同士が同期情報をやり取りする。これにより、無線通信による親機の負担が軽くなる。
【００７０】
［６−３］共有プログラムの送信元
上述した各実施形態では、親機が共有プログラムを含む実行用データを子機に送信した。つまり、親機が共有プログラムを子機に送信したが、これに限らず、例えば、共有プログラムを配信する配信サーバがネットワークに接続されており、この配信サーバからネットワークを介して子機に共有プログラムが送信されてもよい。その場合、親機は、上述した有効化キー（インストールされた共有プログラムを有効にするために用いられるデータ）を含む実行用データを子機に送信する。子機は、配信サーバから送信されてきた共有プログラムをインストールし、親機から送信されてきた実行用データに含まれる有効化キーを用いて、インストールした共有プログラムを有効にして、実行可能な状態にする。
【００７１】
［６−４］通信装置同士の同期
実行部１０４及び実行部２０３は、上述した各実施形態では、決められた時間の間隔（例えば１秒毎）で同期情報をやり取りしたが、これに限らず、例えばユーザが何らかの操作を行ったときにやり取りしてもよい。また、各実行部は、共有を開始するときにだけやり取りをしてそれ以降はやり取りしないようにしたり、最初から同期情報のやり取りを行わないようにしたりしてもよい。これらの場合、親機及び子機は、共有プログラムを共有するが、ユーザが行う操作に応じた処理の進み具合などは同期せずにそれぞれ独立して行われることになる。ただし、その場合でも、子機は、親機通信範囲から自装置が離れたと判断した場合に、その共有プログラムを記憶装置２２から削除する。
【００７２】
［６−５］共有プログラム
共有プログラムは、上述した各実施形態で述べたものに限らない。例えば、写真を共有するためのプログラムが共有プログラムとして用いられてもよい。また、レストランなどに設置された親機と、ユーザが所持するスマートフォンなどの子機とが、品物を注文するための共有プログラムを共有してもよい（第４実施形態で述べた例）。この場合、ユーザは、スマートフォンを所持してレストランに行けば、スマートフォンを操作することで品物を注文することができる。他にも、ゲームセンターなどに設置された親機と、ユーザが所持する携帯型ゲーム機やスマートフォンなどの子機とが、ゲームプログラムを共有プログラムとして共有してもよい。この場合、ゲームのプレー料金が課金されるようにしてもよい。要するに、親機及び子機の間で一時的に共有するという用途に用いられるのであれば、どのようなプログラムが共有プログラムとして用いられてもよい。
【００７３】
［６−６］共有プログラムの記憶先
制御部２０２は、上述した各実施形態では、記憶装置２２に共有プログラムを記憶させたが、これに限らず、例えば制御装置２１が備えるＲＡＭに記憶させてもよい。制御部２０２は、要するに、共有プログラムを実行可能な状態で記憶させることができるものであれば、どのような記憶手段に共有プログラムを記憶させてもよい。
【００７４】
［６−７］共有を開始する旨の通知
図１に示す第１の通信装置１０などの親機は、通知部１０１を備えていなくてもよい。その場合、例えば図８に示す例であれば、第２の通信装置２０（子機）を使用するユーザがステップＳ１３において要求操作を行い、ステップＳ１４において第２の通信装置２０が要求データを送信することで、以降の動作が行われて共有プログラムが共有される。
【００７５】
［６−８］テーブルを用いた動作
図９、１０、１１及び１２ではテーブルを用いた動作について説明したが、各動作で用いられるテーブルは各図に示したものに限らない。例えば、テーブルの行数は２つまたは３つに限らず４つ以上でもよい。また、昇順（または降順）に並べられているものを降順（または昇順）に並び替えてもよいし、そのような順番に関係なく並び替えをしてもよい。
また、テーブルを用いずに、各セルの内容を数値で表し、数式を用いて算出される値を用いてもよい。例えば、図１１の例であれば、処理の量を表すＣＰＵ使用率を５倍した秒数を第１の時間とする、といった具合である。
【００７６】
［６−９］発明のカテゴリ
本発明は、情報処理システムや第１の通信装置及び第２の通信装置等の通信装置、情報処理装置の他にも、通信装置や情報処理装置が実施する処理を実現するための処理方法としても捉えられるものである。ここでいう処理とは、例えば、図８等に示す共有処理である。また、本発明は、第１の通信装置及び第２の通信装置のようなコンピュータを、図４に示す手段として機能させるためのプログラムとしても捉えられるものである。これらのプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【符号の説明】
【００７７】
１…情報処理システム、２…ネットワーク、１０…第１の通信装置、２０…第２の通信装置、１１、２１…制御装置、１２、２２…記憶装置、１３、２３…第１通信装置、１０１…通知部、１０２…取得部、１０３…送信部、１０４…実行部、２０１…要求部、２０２…制御部、２０３…実行部
【図１】
2014222383.tif 000003
【図２】
2014222383.tif 000004
【図３】
2014222383.tif 000005
【図４】
2014222383.tif 000006
【図５】
2014222383.tif 000007
【図６】
2014222383.tif 000008
【図７】
2014222383.tif 000009
【図８】
2014222383.tif 000010
【図９】
2014222383.tif 000011
【図１０】
2014222383.tif 000012
【図１１】
2014222383.tif 000013
【図１２】
2014222383.tif 000014