(57)【要約】【課題】効率的に更新データを送信することを目的とする。【解決手段】クライアント装置に送信する送信データの更新を検出する検出手段と、更新が検出された場合に、クライアント装置における、更新後の送信データである更新データの利用状況に基づいて、更新データをクライアント装置に送信するか否かを判定する判定手段と、送信すると判定された場合に、更新データを含む更新通知をクライアント装置に送信し、送信しないと判定された場合に、更新データの識別情報を含む更新通知をクライアント装置に送信する送信手段とを備える。【選択図】図１
2015001969.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置に送信する送信データの更新を検出する検出手段と、
更新が検出された場合に、前記クライアント装置における、更新後の前記送信データである更新データの利用状況に基づいて、前記更新データを前記クライアント装置に送信するか否かを判定する判定手段と、
送信すると判定された場合に、更新データを含む更新通知を前記クライアント装置に送信し、送信しないと判定された場合に、前記更新データの識別情報を含む更新通知を前記クライアント装置に送信する送信手段と
を備えるサーバ装置。
【請求項２】
前記更新データを記憶する記憶手段をさらに備え、
前記送信手段は、送信しないと判定された場合に、前記識別情報として、前記更新データの記憶領域情報を含む前記更新通知を前記クライアント装置に送信する請求項１に記載のサーバ装置。
【請求項３】
前記利用状況を取得する取得手段をさらに備え、
前記判定手段は、前記取得手段が取得した前記利用状況に基づいて、前記更新データを送信するか否かを判定する請求項１又は２に記載のサーバ装置。
【請求項４】
前記判定手段は、前記更新データを利用するアプリケーションによる前記クライアント装置の表示画面への表示状況を示す前記利用状況に基づいて、前記更新データを送信するか否かを判定する請求項１乃至３何れか１項に記載のサーバ装置。
【請求項５】
前記判定手段は、前記クライアント装置において前記更新データを利用するアプリケーションが実行されているか否かを示す前記利用状況に基づいて、前記更新データを送信するか否かを判定する請求項１乃至４何れか１項に記載のサーバ装置。
【請求項６】
前記判定手段は、前記更新データに含まれる複数の部分データそれぞれの利用状況に基づいて、前記部分データを前記クライアント装置に送信するか否かを判定し、
前記送信手段は、少なくとも１つの前記部分データを送信すると判定された場合に、送信すると判定された前記部分データと、送信しないと判定された前記部分データの前記識別情報とを含む前記更新通知を前記クライアント装置に送信する請求項１に記載のサーバ装置。
【請求項７】
サーバ装置が実行する通信方法であって、
クライアント装置に送信する送信データの更新を検出する検出ステップと、
更新が検出された場合に、前記クライアント装置における、更新後の前記送信データである更新データの利用状況に基づいて、前記更新データを前記クライアント装置に送信するか否かを判定する判定ステップと、
送信すると判定された場合に、更新データを含む更新通知を前記クライアント装置に送信し、送信しないと判定された場合に、前記更新データの識別情報を含む更新通知を前記クライアント装置に送信する送信ステップと
を含む通信方法。
【請求項８】
前記更新データを記憶手段に記憶する記憶ステップをさらに有し、
前記送信ステップは、送信しないと判定された場合に、前記識別情報として、前記更新データの記憶領域情報を含む前記更新通知を前記クライアント装置に送信する請求項７に記載の通信方法。
【請求項９】
前記利用状況を取得する取得ステップをさらに有し、
前記判定ステップでは、前記取得ステップにおいて取得した前記利用状況に基づいて、前記更新データを送信するか否かを判定する請求項７又は８に記載の通信方法。
【請求項１０】
前記判定ステップでは、前記更新データを利用するアプリケーションによる前記クライアント装置の表示画面への表示状況を示す前記利用状況に基づいて、前記更新データを送信するか否かを判定する請求項７乃至９何れか１項に記載の通信方法。
【請求項１１】
前記判定ステップでは、前記クライアント装置において前記更新データを利用するアプリケーションが実行されているか否かを示す前記利用状況に基づいて、前記更新データを送信するか否かを判定する請求項７乃至１０何れか１項に記載の通信方法。
【請求項１２】
前記判定ステップでは、前記更新データに含まれる複数の部分データそれぞれの利用状況に基づいて、前記部分データを前記クライアント装置に送信するか否かを判定し、
前記送信ステップでは、少なくとも１つの前記部分データを送信すると判定された場合に、送信すると判定された前記部分データと、送信しないと判定された前記部分データの前記識別情報とを含む前記更新通知を前記クライアント装置に送信する請求項７に記載の通信方法。
【請求項１３】
コンピュータを、請求項１乃至６何れか１項に記載のサーバ装置が有する各手段と
して機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、通信方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、サーバ上で更新されたデータ（以下、更新データと称する）を、サーバからクライアントに送信する方法としては、以下の方法が存在する。すなわち、サーバがクライアントに対して更新データを送信するプッシュ方式と、サーバがクライアントに対してデータが更新されたことを通知し、クライアントがサーバに対して更新データを要求するプル方式である。
一般的に、サーバ上で更新されたデータをクライアントに送信する方式は、サーバクライアント間で予め設定されていることが多い。しかし、通信方式が予め設定されている場合には、状況によっては、最適な通信が行われない場合があるという問題があった。この問題を解決する技術として、例えば特許文献１には、プッシュ方式とプル方式を、切り替えることにより、データを送信する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７７２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、クライアントが必ずしも更新データを必要とするとは限らず、従来技術においては、クライアントが更新データを必要としない場合においても、更新データを送信する場合があるという問題があった。
本発明はこのような問題点に鑑みなされたもので、効率的に更新データを送信することのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明は、サーバ装置であって、クライアント装置に送信する送信データの更新を検出する検出手段と、更新が検出された場合に、前記クライアント装置における、更新後の前記送信データである更新データの利用状況に基づいて、前記更新データを前記クライアント装置に送信するか否かを判定する判定手段と、送信すると判定された場合に、更新データを含む更新通知を前記クライアント装置に送信し、送信しないと判定された場合に、前記更新データの識別情報を含む更新通知を前記クライアント装置に送信する送信手段とを備える。
【発明の効果】
【０００６】
本発明によれば、効率的に更新データを送信することができる。
【図面の簡単な説明】
【０００７】
【図１】通信システムを示す図である。
【図２】サーバ装置及びクライアント装置を示す図である。
【図３】表示画面の表示例を示す図である。
【図４】更新通知送信処理を示すフローチャートである。
【図５】更新通知受信処理を示すフローチャートである。
【図６】表示画面の表示例を示す図である。
【図７】更新通知送信処理を示すフローチャートである。
【図８】更新通知受信処理を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態にかかる通信システムを示す図である。通信システムは、サーバ装置１１０と、クライアント装置１２０とを備えている。サーバ装置１１０と、クライアント装置１２０は、ネットワーク２０を介して接続する。
サーバ装置１１０は、クライアント装置１２０に送信する送信データを管理する。サーバ装置１１０は、送信データを適宜更新し、更新後の送信データ、すなわち更新データを、適宜クライアント装置１２０に送信する。クライアント装置１２０は、サーバ装置１１０からデータを受信する。クライアント装置１２０はまた、複数のアプリケーション（ＡＰ）を搭載している。ＡＰは、サーバ装置１１０から受信したデータから表示ウィンドウ等を生成し、後述する表示画面に表示する。
【００１０】
サーバ装置１１０は、通信部１１１と、受付部１１２と、データ記憶部１１３と、利用状況記憶部１１４と、更新検出部１１５と、判定部１１６と、更新通知生成部１１７とを有している。
通信部１１１は、ネットワーク２０を介してクライアント装置１２０との間で各種情報の送受信を行う。通信部１１１は、例えば更新通知をクライアント装置１２０に送信する。ここで、更新通知とは、サーバ装置１１０において、データの更新が行われたことを示す情報である。更新通知については後述する。
通信部１１１はまた、利用状況をクライアント装置１２０から受信する。ここで、利用状況とは、クライアント装置１２０において更新が行われた送信データの利用状況を示す情報である。利用状況は、クライアント装置１２０に搭載された各ＡＰが利用する送信データを示す情報を含んでいる。利用状況はまた、各ＡＰが起動しているか否かを示す起動状況や、各ＡＰによる表示が行われているか否かを示す表示状況を含んでいる。利用状況はまた、各ＡＰが利用するメモリの記憶容量のサイズや、利用状況送信時の各ＡＰの負荷等の情報を含んでいる。
【００１１】
受付部１１２は、ユーザにより入力された情報を受け付ける。受付部１１２は、利用状況を受け付けてもよい。データ記憶部１１３は、クライアント装置１２０に送信する送信データを記憶する。利用状況記憶部１１４は、利用状況を記憶する。
例えば、通信部１１１は、定期的にクライアント装置１２０から利用状況を受信し、これを利用状況記憶部１１４に格納することとする。また、他の例としては、受付部１１２が操作者により入力された利用状況を受け付け、これを利用状況記憶部１１４に格納してもよい。
【００１２】
更新検出部１１５は、データ記憶部１１３を監視し、送信データの更新が行われた場合に、更新を検出する。判定部１１６は、利用状況記憶部１１４に記憶されている利用状況に基づいて、更新データをクライアント装置１２０に送信するか否かを判定する。
更新通知生成部１１７は、判定部１１６による判定結果に基づいて、更新通知を生成する。ここで、更新通知は、サーバ装置１１０において更新が行われたことを示す情報である。
判定部１１６により更新データを送信すると判定された場合には、更新通知生成部１１７は、更新データを含む更新通知を生成する。一方、判定部１１６により更新データを送信しないと判定された場合には、更新通知生成部１１７は、更新データに替えて、更新データの識別情報を含む更新通知を生成する。
【００１３】
なお、識別情報は、更新データを識別するための情報である。本実施形態に係る識別情報は、データ記憶部１１３における更新データの記憶領域のアドレスである。ここで、アドレスは、記憶領域を示す記憶領域情報の一例である。
更新通知生成部１１７により生成される更新通知は、更新データ又はアドレスを付加データとして含む。更新通知は、さらに付加データが更新データである場合に「０」、更新データでない場合に「１」というように、付加データの種類を示すデータを含んでもよい。
【００１４】
次に、クライアント装置１２０について説明する。クライアント装置１２０は、通信部１２１と、データ記憶部１２２と、付加データ処理部１２３と、利用状況特定部１２４と、取得管理部１２５とを有している。
通信部１２１は、ネットワーク２０を介してサーバ装置１１０と各種情報の送受信を行う。通信部１２１は例えば、更新通知を受信する。通信部１２１はまた、更新通知に更新データが付加されていない場合には、更新データの取得要求を送信する。通信部１２１はまた利用状況を送信する。データ記憶部１２２は、サーバ装置１１０から受信したデータを記憶する。
【００１５】
付加データ処理部１２３は、通信部１２１が更新通知を受信した場合に、更新通知に含まれる付加データを確認する。そして、付加データが更新データである場合には、付加データ処理部１２３は、更新データに対して更新データＩＤを付与し、更新データＩＤと、更新データとを対応付けてデータ記憶部１２２に格納する。
ここで、更新データＩＤは、クライアント装置１２０が更新データを一意に識別することのできる識別情報である。付加データ処理部１２３はまた、付加データが更新データのアドレスである場合には、アドレスを更新データＩＤとしてデータ記憶部１２２に格納する。
【００１６】
利用状況特定部１２４は、クライアント装置１２０における更新データの利用状況を特定する。利用状況特定部１２４により特定された利用状況は、通信部１２１を介して、定期的にサーバ装置１１０に送信される。
また、他の例としては、利用状況の送信タイミングを予めＲＡＭ２０６等に設定しておき、送信タイミングに基づいて、利用状況がサーバ装置１１０に送信されることとしてもよい。
取得管理部１２５は、データ記憶部１２２に更新データが記憶されている場合には、更新データＩＤに基づいて、データ記憶部１２２から更新データを取得する。取得管理部１２５は、データ記憶部１２２に更新データが記憶されていない場合には、更新データＩＤを含む取得要求を、通信部１２１を介してサーバ装置１１０に送信することにより、サーバ装置１１０から更新データを取得する。なお、取得管理部１２５は、利用状況に基づいて、サーバ装置１１０から更新データを取得するタイミングを判断する。
【００１７】
図２は、サーバ装置１１０のハードウェア構成を示す図である。サーバ装置１１０は、入力装置２０１と、表示画面２０２と、ドライブ装置２０３と、ＲＯＭ２０５と、ＲＡＭ２０６と、ＣＰＵ２０７と、インターフェース装置２０８と、ＨＤ（ハードディスク）２０９とを備える。入力装置２０１は、操作者（オペレータ）が操作するキーボードやマウス等を備える。入力装置２０１は、操作者による各種操作情報等の入力に用いられる。表示画面２０２は、ディスプレイ等を有する。表示画面２０２は、各種情報を表示する。
インターフェース装置２０８は、サーバ装置１１０をネットワーク２０に接続する。インターフェースである。すなわち、サーバ装置１１０は、インターフェース装置２０８を介し、他の装置とネットワーク２０を介して接続し、データを送受信する。
【００１８】
ＲＯＭ２０５は、サーバ装置１１０の電源投入時に最初に読み込まれる制御プログラム等を格納する。ＲＡＭ２０６は、サーバ装置１１０のメインメモリである。ＨＤ２０９は、制御プログラム等を格納する。ドライブ装置２０３は、記録媒体２０４からプログラム等を読み出す。読み出されたプログラム等は、ＨＤ２０９等にインストールされる。
ＣＰＵ２０７は、サーバ装置１１０全体を制御する。なお、図１を参照しつつ説明したサーバ装置１１０の機能や、後述するサーバ装置１１０の処理は、ＣＰＵ２０７がＲＯＭ２０５やＨＤ２０９に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。なお、サーバ装置１１０は、ＣＰＵ２０７に替えて、ＭＰＵを備えることとしてもよい。
なお、クライアント装置１２０のハードウェア構成は、図２を参照しつつ説明したサーバ装置１１０のハードウェア構成と同様である。
【００１９】
図３は、クライアント装置１２０の表示画面２０２の表示例を示す図である。図３（ａ）には、携帯端末としてのクライアント装置１２０の表示画面２０２を示している。表示画面２０２には、クライアント装置１２０に搭載されたＡＰによる表示ウィンドウや、静止画や動画といったコンテンツを表示することができる。図３（ａ）に示す例においては、表示画面２０２の全体にコンテンツ３００が表示されている。
なお、本実施形態にかかるクライアント装置１２０に搭載されるＡＰは、フルスクリーンアプリケーション（フルスクリーンＡＰ）であるものとする。フルスクリーンＡＰは、例えば、図３（ｂ）〜図３（ｄ）に示すように表示画面２０２の全体に、最大化された表示ウィンドウを表示するアプリケーションである。
【００２０】
クライアント装置１２０上で、例えば３つのフルスクリーンＡＰが起動しているとする。この場合、図３（ｂ)に示すように、表示画面２０２に、フルスクリーンＡＰ１による表示ウィンドウ３０１が表示されている場合には、フルスクリーンＡＰ２，３による表示ウィンドウは、表示されない。すなわち、フルスクリーンＡＰ２，３の表示ウィンドウは、フルスクリーンＡＰ１の表示ウィンドウの裏に隠れた状態となっている。
また、図３(ｃ)に示すように、表示画面２０２に、フルスクリーンＡＰ２の表示ウィンドウ３０２が表示されている場合には、フルスクリーンＡＰ１，３による表示ウィンドウは表示されない。
また、図３(ｄ)に示すように、表示画面２０２に、フルスクリーンＡＰ３の表示ウィンドウ３０３が表示されている場合には、フルスクリーンＡＰ１，２による表示ウィンドウは表示されない。表示ウィンドウ３０１〜３０３の表示の切り替えは、ユーザ操作に応じて制御される。
【００２１】
なお、例えば、図３（ｂ）の状態、すなわち、フルスクリーンＡＰ１〜３の起動中であって、フルスクリーンＡＰ１による表示ウィンドウが表示画面２０２に表示されている状態にあるとする。この場合、クライアント装置１２０の利用状況特定部１２４は、フルスクリーンＡＰ１による表示中であって、フルスクリーンＡＰ２，３は非表示であることを、利用状況として特定する。
【００２２】
図４は、サーバ装置１１０による更新通知送信処理を示すフローチャートである。ステップＳ４０１において、更新検出部１１５は、データ記憶部１１３に格納されている送信データが更新された場合に、更新を検出する（検出処理）。次に、ステップＳ４０２において、判定部１１６は、利用状況記憶部１１４から利用状況を取得する（取得処理）。
次に、ステップＳ４０３において、判定部１１６は、取得した利用状況に基づいて、クライアント装置１２０に搭載されているＡＰのうち更新データを利用するＡＰを特定する。以下、更新データを利用するＡＰを利用ＡＰと称する。次に、ステップＳ４０４において、判定部１１６は、利用状況に基づいて、データ記憶部１２２のうち、ステップＳ４０３において特定された利用ＡＰが利用可能な記憶領域のサイズを特定する。ここで、記憶領域のサイズは、データ記憶部１２２における記憶領域のサイズである。各ＡＰが利用可能な記憶領域のサイズは、利用状況に示されているものとする。
【００２３】
次に、ステップＳ４０５において、判定部１１６は、更新データのデータサイズと記憶領域のサイズを比較する。そして、判定部１１６は、比較結果に基づいて、更新データのデータサイズが、クライアント装置１２０が受信可能なサイズであるか否かを判定する。例えば、判定部１１６は、更新データのデータサイズが記憶領域のサイズよりも小さい場合に、受信可能なサイズであると判定する。
また、他の例としては、判定部１１６は、更新データのデータサイズがサイズ閾値以下である場合に、受信可能なサイズであると判定してもよい。ここで、サイズ閾値は、記憶領域のサイズに比べて小さい値であり、予め設定されているものとする。
【００２４】
ステップＳ４０５において、受信可能なサイズである場合には（ステップＳ４０５でＹＥＳ）、判定部１１６は、処理をステップＳ４０６へ進める。ステップＳ４０５において、受信可能なサイズでない場合には（ステップＳ４０５でＮＯ）、判定部１１６は、処理をステップＳ４０８へ進める。ステップＳ４０６において、判定部１１６は、利用ＡＰによる表示ウィンドウが表示中であるか否かを判定する。
ステップＳ４０６において、利用ＡＰによる表示ウィンドウが表示中である場合には（ステップＳ４０６でＹＥＳ）、判定部１１６は、処理をステップＳ４０７へ進める。ステップＳ４０６において、利用ＡＰによる表示ウィンドウが表示中でない場合には（ステップＳ４０６でＮＯ）、判定部１１６は、処理をステップＳ４０８へ進める。
ここで、ステップＳ４０３〜ステップＳ４０６の処理はクライアント装置１２０における更新データに関する利用状況に基づいて、更新データをクライアント装置に送信するか否かを判定する判定処理の一例である。
【００２５】
ステップＳ４０７において、更新通知生成部１１７は、更新データを付加データとして付加した更新通知を生成する。一方、ステップＳ４０８においては、更新通知生成部１１７は、更新データのアドレスを付加データとして付加した更新通知を生成する。
次に、ステップＳ４０９において、通信部１１１は、更新通知生成部１１７により、ステップＳ４０７又はステップＳ４０８において生成された更新通知をクライアント装置１２０に送信する。以上で、更新通知送信処理が完了する。なお、ステップＳ４０７〜ステップＳ４０９の処理は、送信処理の一例である。
【００２６】
図５は、クライアント装置１２０による更新通知受信処理を示すフローチャートである。ステップＳ５０１において、クライアント装置１２０の通信部１２１は、サーバ装置１１０から更新通知を受信する。次に、ステップＳ５０２において、付加データ処理部１２３は、更新通知に付加されている付加データを確認する。
そして、更新データが付加されている場合には（ステップＳ５０２でＹＥＳ）、付加データ処理部１２３は、処理をステップＳ５０３へ進める。更新データが付加されていない場合、すなわち更新データのアドレスが付加されている場合には（ステップＳ５０２でＮＯ）、付加データ処理部１２３は、処理をステップＳ５０５へ進める。
【００２７】
ステップＳ５０３において、付加データ処理部１２３は、更新データに対し、ユニークな識別情報、すなわち更新データＩＤを生成する。そして、ステップＳ５０４において、付加データ処理部１２３は、更新データと更新データＩＤとを関連付けて、データ記憶部１２２に格納し、処理をステップＳ５０９へ進める。
このように、クライアント装置１２０は、更新データが付加された更新通知を受信した場合には、プッシュ方式により更新データを受信することとなる。
【００２８】
一方、ステップＳ５０５において、付加データ処理部１２３は、更新通知に付加されている、更新データのアドレスをデータ記憶部１２２に更新データＩＤとして設定（格納）する。次に、ステップＳ５０６において、利用状況特定部１２４は、更新通知に示される更新データを利用する利用ＡＰの利用状況を特定する。次に、ステップＳ５０７において、取得管理部１２５は、利用状況に基づいて、利用ＡＰの表示状況を確認する。利用ＡＰが表示ウィンドウを表示中である場合には（ステップＳ５０７でＹＥＳ）、取得管理部１２５は、処理をステップＳ５０８へ進める。ステップＳ５０７において、利用ＡＰが表示ウィンドウを表示中でない場合には（ステップＳ５０７でＮＯ）、取得管理部１２５は、処理をステップＳ５０６へ進める。
【００２９】
ステップＳ５０８において、取得管理部１２５は、利用ＡＰが利用するデータ記憶部１２２の空き容量と、更新データのデータサイズとを比較する。そして、取得管理部１２５は、比較結果に基づいて、更新データを、取得可能か否かを判定する。取得管理部１２５は、例えば、更新データのデータサイズが空き容量以下である場合に、更新データを取得可能と判定する。
利用ＡＰが利用可能な空き容量は、利用ＡＰの処理状況に応じて刻々と変化する場合がある。この場合には、サーバ装置１１０において、受信可能なサイズと判定されている場合であっても、クライアント装置１２０において更新データを格納できない場合がある。そこで、ステップＳ５０８において、クライアント装置１２０は、更新データを取得する前に、取得可能か否かを判断することとする。
【００３０】
ステップＳ５０８において、更新データを取得可能である場合には（ステップＳ５０８でＹＥＳ）、取得管理部１２５は、処理をステップＳ５０９へ進める。ステップＳ５０８において、更新データを取得可能でない場合には（ステップＳ５０８でＮＯ）、取得管理部１２５は、処理をステップＳ５０６へ進める。
ステップＳ５０９において、取得管理部１２５は、データ記憶部１２２に更新データＩＤとして格納されている更新データのアドレスを利用して、通信部１２１を介してサーバ装置１１０から更新データを取得する。以上で、更新情報受信処理は終了する。
このように、クライアント装置１２０は、更新データのアドレスが付加された更新通知を受信した場合には、プル方式により更新データを受信することとなる。
【００３１】
以上のように、本実施形態にかかるサーバ装置１１０は、クライアント装置１２０における更新データの利用状況に基づいて、更新通知とともに、更新データを送信するか否かを判定する。そして、更新通知とともに更新データを送信しない場合には、更新通知に更新データのアドレスを付加する。
これにより、サーバ装置１１０は、利用状況に応じて、更新データの送信方式をプッシュ方式とプル方式のいずれかの送信方式を選択し、選択した送信方式により、更新データを送信することができる。すなわち、サーバ装置１１０は、送信方式を動的に切り替えることにより、効率的に、更新データを送信することができる。
【００３２】
（第２の実施形態）
次に、第２の実施形態にかかる通信システムについて説明する。第２の実施形態にかかる通信システムにおいては、クライアント装置１２０は、フルスクリーンＡＰだけでなく、表示画面２０２の全体に比べて小さいウィジェットを表示するウィジェットＡＰを搭載している。
図６は、表示画面２０２の表示例を示す図である。図６に示す表示画面２０２には、２つのウィジェットＡＰにより、２つのウィジェット６１０，６２０が表示されている。ウィジェット６１０には、画像６１１と、テキスト６１２がリスト形式で表示されている。また、ウィジェット６２０は、時刻を示す時計を表示する。ウィジェット６１０，６２０は、ＣＰＵ２０７がそれぞれ第１のウィジェットＡＰ及び第２のウィジェットＡＰを実行することにより、表示画面２０２に表示される。
クライアント装置１２０には、さらに第１のウィジェットＡＰに関連するフルスクリーンＡＰが搭載されている。そして、例えば、ウィジェット６１０に対する、ユーザによるタッチ操作や、ハードボタンによる選択操作がなされると、ＣＰＵ２０７は、関連するフルスクリーンＡＰを起動する。
【００３３】
例えば、表示画面２０２がタッチパネルであって、ユーザのタッチ操作を受け付けることができるものとする。この場合、ユーザがウィジェット６１０をタッチ操作すると、ＣＰＵ２０７は、フルスクリーンＡＰを起動する。そして、表示画面２０２の全面には、フルスクリーンＡＰによる表示ウィンドウ６３０が表示される。このとき、ウィジェット６１０，６２０は、表示ウィンドウ６３０の裏に隠れた状態となる。
クライアント装置１２０に搭載されている、関連するウィジェットＡＰとフルスクリーンＡＰとは、図６に示すように、データ記憶部１２２に格納される同一のデータを表示することができる。しかしながら、ウィジェットの表示領域は、表示ウィンドウに比べて小さい。このため、ウィジェットに表示できるデータサイズは、表示ウィンドウに表示できるデータサイズに比べて小さい。
例えば、図６に示す例においては、ウィジェット６１０に、ｌｉｓｔ１、ｌｉｓｔ２のみ表示されているのに対し、表示ウィンドウ６３０には、ｌｉｓｔ１〜ｌｉｓｔ５が表示されている。
【００３４】
また、本実施形態においては、利用状況には、クライアント装置１２０に搭載されているＡＰがウィジェットＡＰであるか、フルスクリーンＡＰであるかを示す情報が含まれているものとする。さらに、利用状況には、ウィジェットＡＰに関連するフルスクリーンＡＰがクライアント装置１２０に搭載されているか否かを示す情報が含まれているものとする。
【００３５】
図７は、第２の実施形態にかかるサーバ装置１１０による、更新通知送信処理を示すフローチャートである。ステップＳ４０５において、判定部１１６は、更新データが受信可能なサイズであると判定した場合には（ステップＳ４０５でＹＥＳ）、処理をステップＳ７０１へ進める。
ステップＳ７０１において、判定部１１６は、利用状況に基づいて、利用ＡＰによる表示ウィンドウ又はウィジェットが表示中であるか否かを確認する。ステップＳ７０１において、表示ウィンドウ又はウィジェットが表示中である場合には（ステップＳ７０１でＹＥＳ）、判定部１１６は、処理をステップＳ７０２へ進める。ステップＳ７０１において、利用ＡＰによる表示ウィンドウ及びウィジェットのいずれも表示されていない場合には（ステップＳ７０１でＮＯ）、判定部１１６は、処理をステップＳ４０８へ進める。
【００３６】
ステップＳ７０２において、判定部１１６は、利用状況に基づいて、利用ＡＰが関連するウィジェットＡＰとフルスクリーンＡＰのいずれかであるか否かを確認する。関連するウィジェットＡＰとフルスクリーンＡＰのいずれかである場合には（ステップＳ７０２でＹＥＳ）、判定部１１６は、処理をステップＳ７０３へ進める。関連するウィジェットＡＰとフルスクリーンＡＰのいずれかではない場合には（ステップＳ７０２でＮＯ）、判定部１１６は、処理をステップＳ４０７へ進める。
ステップＳ７０３において、判定部１１６は、ウィジェットが表示されているか否かを確認する。ウィジェットが表示中である場合には（ステップＳ７０３でＹＥＳ）、判定部１１６は、処理をステップＳ７０４へ進める。ステップＳ７０３において、ウィジェットが表示中でない場合、すなわち表示ウィンドウが表示中である場合には（ステップＳ７０３でＮＯ）、判定部１１６は、処理をステップＳ４０７へ進める。
【００３７】
ステップＳ７０４において、判定部１１６は、更新データのうち、ウィジェットに表示されているデータ（表示部分データと称する）を特定する。
次に、ステップＳ７０５において、更新通知生成部１１７は、表示部分データと、非表示部分データのアドレスとを付加データとして付加した更新通知を生成する。ここで、非表示部分データとは、更新データのうちウィジェットに表示されていないデータである。
これにより、サーバ装置１１０は、更新データのうち、表示部分データと、非表示部分データをそれぞれ異なる送信方式により、クライアント装置１２０に送信することができる。
【００３８】
図８は、第２の実施形態にかかるクライアント装置１２０による、更新通知受信処理を示すフローチャートである。ステップＳ５０４において、更新データと識別情報とを関連付けてデータ記憶部１２２に格納した後、付加データ処理部１２３は処理をステップＳ８０１へ進める。そして、ステップＳ８０１において、付加データ処理部１２３は、更新通知に、更新データの他に、更新データのアドレスが付加データとして付加されているか否かを確認する。
ステップＳ８０１において、更新通知にアドレスも付加されている場合には（ステップＳ８０１でＹＥＳ）、付加データ処理部１２３は、処理をステップＳ５０５へ進める。ステップＳ８０１において、更新通知にアドレスが付加されていない場合には（ステップＳ８０１でＮ０）、更新通知受信処理は終了する。
【００３９】
このように、第２の実施形態にかかる更新通知受信処理においては、更新通知に更新データ（表示部分データ）と、更新データ（非表示部分データ）のアドレスとが付加されている場合の処理が追加される。すなわち、更新通知に更新データとアドレスの両方が付加されている場合には、クライアント装置１２０は、更新データのうち表示部分データをプッシュ方式により受信する一方で、非表示部分データについてはプル方式で受信することができる。
例えば、図６に示すウィジェット６２０の例においては、ｌｉｓｔ１，２に対応する更新データが表示部分データとなり、ｌｉｓｔ３〜ｌｉｓｔ５の更新データが非表示部分データとなる。この場合には、クライアント装置１２０は、ｌｉｓｔ１，２に対応する表示部分データをプッシュ方式により受信する一方で、ｌｉｓｔ３〜ｌｉｓｔ５の非表示部分データをプル方式で受信する。
より詳しくは、クライアント装置１２０は、ｌｉｓｔ３〜ｌｉｓｔ５の非表示部分データについては、表示ウィンドウ６３０が表示されたときに、プル方式により非表示部分データを受信する。
【００４０】
これにより、第２の実施形態にかかる通信システムにおいては、更新通知を受信してから表示ウィンドウ６３０に更新データが表示されるまでにかかる時間を短縮することができる。すなわち、サーバ装置１１０は、送信方式を動的に切り替えることにより、効率的に、更新データを送信することができる。
【００４１】
次に、本実施形態の通信システムの変更例について説明する。第１の変更例としては、利用状況は、クライアント装置１２０が処理可能な更新データのデータサイズの上限閾値を含んでいてもよい。この場合には、サーバ装置１１０の判定部１１６は、更新データのデータサイズが上限閾値以下である場合に、更新通知に更新データを付加すると判定することとする。
【００４２】
第２の変更例としては、利用状況は、クライアント装置１２０がＡＰを実行中か否かを示す情報と、ＡＰの実行中に更新データの受信が可能か否かを示す情報とを含んでいてもよい。この場合には、判定部１１６は、利用ＡＰが実行中か否か及び更新データの受信が可能か否かに基づいて、更新データを送信するか否かを判定する。
具体的には、利用ＡＰが実行中であって、且つ更新データの送信が可能である場合には、判定部１１６は、更新データを送信すると判定する。また、利用ＡＰが実行中でなく、且つ更新データの送信が可能である場合には、判定部１１６は、更新データを送信すると判定する。一方で、利用ＡＰが実行中であって、且つ更新データの送信が可能でない場合には、判定部１１６は、更新データを送信しないと判定する。また、利用ＡＰが実行中でなく、且つ更新データの送信が不可能である場合には、判定部１１６は、更新データを送信しないと判定する。
ＡＰの種類によっては、実行中に更新データの更新が行えないものもある。この場合には、ＡＰが一旦停止し、実行されていないタイミングにおいて、データの更新を行うこととなる。これに対し、サーバ装置１１０は、上述のように、ＡＰの実行状態と、更新データの送信の可否とを含む利用状況にも基づいて、更新データを送信するか否かを判断する。したがって、サーバ装置１１０は、利用ＡＰの状況に適した送信方式で更新データを送信することができる。
【００４３】
第３の変更例としては、サーバ装置１１０の通信部１１１が利用状況を受信するタイミングは、実施形態に限定されるものではない。他の例としては、通信部１１１は、更新検出部１１５が更新を検出した場合に、利用状況を受信することとしてもよい。
【００４４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００４５】
以上、上述した各実施形態によれば、効率的に更新データを送信することができる。
【００４６】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４７】
１１０  サーバ装置、１２０  クライアント装置、２０２  表示画面、２０５  ＲＯＭ、２０６  ＲＡＭ、２０７  ＣＰＵ、２０９  ＨＤ
【図１】
2015001969.tif 000003
【図２】
2015001969.tif 000004
【図３】
2015001969.tif 000005
【図４】
2015001969.tif 000006
【図５】
2015001969.tif 000007
【図６】
2015001969.tif 000008
【図７】
2015001969.tif 000009
【図８】
2015001969.tif 000010