(57)【要約】【課題】データ送受信方法およびシステムを提供する。【解決手段】ネットワークを介したサーバのデータ送信方法は、予め設定された時間あたりに発生するメッセージの数をモニタリングする段階、前記モニタリングされたメッセージの数を予め設定された閾値と比較する段階、前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信する段階、前記モニタリングされたメッセージの数が前記閾値を超過する場合、予め設定された時間周期ごとに、該当の時間周期に発生するメッセージを格納し、前記該当の時間周期に発生したメッセージの数をネットワークを介してクライアントに送信する段階、および前記メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信する段階を含む。【選択図】図４
2018181314.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介したサーバのデータ送信方法であって、
予め設定された時間あたりに発生するメッセージの数をモニタリングする段階、
前記モニタリングされたメッセージの数を予め設定された閾値と比較する段階、
前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信する段階、
前記モニタリングされたメッセージの数が前記閾値を超過する場合、予め設定された時間周期ごとに、該当の時間周期に発生するメッセージを格納し、前記該当の時間周期に発生したメッセージの数をネットワークを介してクライアントに送信する段階、および
前記メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信する段階
を含むことを特徴とする、データ送信方法。
【請求項２】
複数のクライアントに対するメッセージングサービスでのアカウント間に通信セッションを設定し、前記通信セッションを通じて前記複数のクライアント間で送受信されるインスタントメッセージをルーティングする段階
をさらに含み、
前記発生するメッセージは、前記複数のクライアントから受信されるインスタントメッセージを含むことを特徴とする、請求項１に記載のデータ送信方法。
【請求項３】
前記メッセージの数をネットワークを介してクライアントに送信する段階は、
前記該当の時間周期に発生した最後のメッセージを、前記メッセージの数と共にクライアントに送信することを特徴とする、請求項１に記載のデータ送信方法。
【請求項４】
前記メッセージの数を受信したクライアントで前記メッセージの内容を確認するためのユーザインタフェースが活性化されることにより、前記クライアントからの要請が発生することを特徴とする、請求項１に記載のデータ送信方法。
【請求項５】
前記メッセージの数は、前記クライアントを通じてユーザの端末の画面に表示され、
前記メッセージの数と関連して前記端末の画面に表示されたユーザインタフェースに対する前記ユーザの入力に基づき、前記クライアントからの要請が発生することを特徴とする、請求項１に記載のデータ送信方法。
【請求項６】
ネットワークを介したクライアントのデータ受信方法であって、
サーバからネットワークを介して予め設定された時間周期ごとに、該当の時間周期に発生するメッセージの数を受信する段階、
前記メッセージの内容を確認するための第１ユーザインタフェースの活性化および前記メッセージの数と関連してユーザの端末の画面に表示された第２ユーザインタフェースに対する前記ユーザの入力のうちの少なくとも１つにしたがい、メッセージのための要請を生成する段階、
前記生成された要請を前記サーバに送信する段階、および
前記サーバから前記要請に対応するメッセージの束を受信する段階、および
前記第１ユーザインタフェースを通じて前記端末の画面に前記受信されたメッセージを表示する段階
を含み、
前記メッセージの数は、前記サーバで予め設定された時間あたりに発生するメッセージの数が前記サーバで予め設定された閾値を超過する場合に、前記サーバから送信されることを特徴とする、データ受信方法。
【請求項７】
前記サーバは、複数のクライアントに対するメッセージングサービスでのアカウント間に通信セッションを設定し、前記通信セッションを通じて前記複数のクライアント間で送受信されるインスタントメッセージをルーティングするメッセンジャーサーバを含み、
前記発生するメッセージは、前記複数のクライアントから受信されるインスタントメッセージを含むことを特徴とする、請求項６に記載のデータ受信方法。
【請求項８】
ネットワークを介したサーバのデータ送信方法であって、
予め設定された時間あたりに発生するメッセージの数をモニタリングする段階、
前記モニタリングされたメッセージの数を予め設定された閾値と比較する段階、
前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信する段階、
前記モニタリングされたメッセージの数が前記閾値を超過する場合、発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信する段階
を含むことを特徴とする、データ送信方法。
【請求項９】
前記発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信する段階は、
前記発生するメッセージを予め設定された個数単位に束ねて格納し、前記格納されたメッセージの数をネットワークを介してクライアントに送信する段階、および
前記メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信する段階
を含むことを特徴とする、請求項８に記載のデータ送信方法。
【請求項１０】
前記格納されたメッセージの数をネットワークを介してクライアントに送信する段階は、
前記束ねて格納されたメッセージのうちの最後のメッセージを、前記メッセージの数と共にクライアントに送信することを特徴とする、請求項９に記載のデータ送信方法。
【請求項１１】
前記発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信する段階は、
前記発生するメッセージの送信を遅延させ、遅延させたメッセージの数が予め設定された数になる場合、予め設定された数のメッセージを束ねて一度に送信することを特徴とする、請求項８に記載のデータ送信方法。
【請求項１２】
請求項１〜１１のうちのいずれか一項に記載の方法をコンピュータに実行させるためのコンピュータプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体。
【請求項１３】
ネットワークを介してデータを送信するシステムであって、
コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
予め設定された時間あたりに発生するメッセージの数をモニタリングし、
前記モニタリングされたメッセージの数を予め設定された閾値と比較し、
前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信し、
前記モニタリングされたメッセージの数が前記閾値を超過する場合、予め設定された時間周期ごとに、該当の時間周期に発生するメッセージを格納し、前記該当の時間周期に発生したメッセージの数をネットワークを介してクライアントに送信し、
前記メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信すること
を特徴とする、データ送信システム。
【請求項１４】
前記少なくとも１つのプロセッサは、
複数のクライアントに対するメッセージングサービスでのアカウント間に通信セッションを設定し、前記通信セッションを通じて前記複数のクライアント間で送受信されるインスタントメッセージをルーティングし、
前記発生するメッセージは、前記複数のクライアントから受信されるインスタントメッセージを含むことを特徴とする、請求項１３に記載のデータ送信システム。
【請求項１５】
前記少なくとも１つのプロセッサは、
前記該当の時間周期に発生した最後のメッセージを、前記メッセージの数と共にクライアントに送信することを特徴とする、請求項１３に記載のデータ送信システム。
【請求項１６】
前記メッセージの数を受信したクライアントで前記メッセージの内容を確認するためのユーザインタフェースが活性化されることにより、前記クライアントからの要請が発生することを特徴とする、請求項１３に記載のデータ送信システム。
【請求項１７】
前記メッセージの数は、前記クライアントを通じてユーザの端末の画面に表示され、
前記メッセージの数と関連して前記端末の画面に表示されたユーザインタフェースに対する前記ユーザの入力に基づき、前記クライアントからの要請が発生することを特徴とする、請求項１３に記載のデータ送信システム。
【請求項１８】
ネットワークを介してデータを送信するシステムであって、
コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
予め設定された時間あたりに発生するメッセージの数をモニタリングし、
前記モニタリングされたメッセージの数を予め設定された閾値と比較し、
前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信し、
前記モニタリングされたメッセージの数が前記閾値を超過する場合、発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信すること
を特徴とする、データ送信システム。
【請求項１９】
前記少なくとも１つのプロセッサは、
前記発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信するために、
前記発生するメッセージを予め設定された個数単位に束ねて格納し、前記格納されたメッセージの数をネットワークを介してクライアントに送信し、
前記メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信すること
を特徴とする、請求項１８に記載のデータ送信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、データ送受信方法およびシステム、そしてコンピュータと結合してデータ送信方法またはデータ受信方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムとその記録媒体に関する。
【背景技術】
【０００２】
発生するデータを、ネットワークを介して送信しなければならない場合が存在する。例えば、サーバからクライアントに、持続的に発生するメッセージに対する通知と該当のメッセージを送信する場合が存在する。他の例として、メッセージングサービスであるアカウントが発生させたメッセージは、通信セッションを通じ、該当の通信セッションに連結する他のアカウントに送信されなければならない。例えば、特許文献１〜４などでは、ユーザ間の通信セッションでメッセージを送受信するメッセージングサービスについて説明している。
【０００３】
このようなサービスにおいて、サーバは、送信すべきメッセージが極めて多い場合でも、発生するすべてのメッセージを１つずつ順に該当のクライアントに送信しなければならない。しかし、短時間で大量のメッセージを処理しなければならない場合が生じ、このような処理がサーバの能力を超えた場合には、メッセージに遅延が発生するようになる上に、送信しなければならないデータ量も増加するため、サーバのプロセス過負荷などのような多くの問題が発生するようになる。さらに、クライアントの側面でも、大量の通知が一度に受信されることによって受信データ量が増加するようになり、モバイルクライアントの場合には、大量のネットワーク受信によってバッテリーの消耗が早まるという問題が発生するようになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／０６５００１号明細書
【特許文献２】米国特許出願公開第２０１４／００１９５４０号明細書
【特許文献３】米国特許出願公開第２０１３／０３３２５４３号明細書
【特許文献４】米国特許出願公開第２０１３／０２６０８９３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
データの送信と関連する特定の条件が発生する場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）、データを受信するクライアント側で画面に表示することのできる最小限のデータ（一例として、一定の時間周期内に発生したメッセージの数）だけをクライアントに送信し、クライアントでデータの内容を確認しようと発生させる要請にしたがってデータを一度に束ねて送信することにより、データの発生回数やデータの発生周期とは関係なく、一定の時間周期以上の周期でデータを送信することができる、データ送信方法およびデータ送信システムを提供する。
【０００６】
クライアントでサーバから端末の画面に表示することのできる最小限のデータだけを受信し、実際にデータの内容を確認しようとする場合にデータを要請および受信することにより、データの発生回数やデータの発生周期とは関係なく、一定の時間周期以上の周期でデータを受信することができる、データ受信方法およびデータ受信システムを提供する。
【０００７】
データの送信と関連する特定の条件が発生する場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）、データを一定の個数単位に束ねて送信することができる、データ送信方法およびデータ送信システムを提供する。
【課題を解決するための手段】
【０００８】
ネットワークを介したサーバのデータ送信方法であって、予め設定された時間あたりに発生するメッセージの数をモニタリングする段階、前記モニタリングされたメッセージの数を予め設定された閾値と比較する段階、前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信する段階、前記モニタリングされたメッセージの数が前記閾値を超過する場合、予め設定された時間周期ごとに、該当の時間周期に発生するメッセージを格納し、前記該当の時間周期に発生したメッセージの数をネットワークを介してクライアントに送信する段階、および前記メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信する段階を含むことを特徴とする、データ送信方法を提供する。
【０００９】
ネットワークを介したクライアントのデータ受信方法であって、サーバからネットワークを介して予め設定された時間周期ごとに、該当の時間周期に発生したメッセージの数を受信する段階、前記メッセージの内容を確認するための第１ユーザインタフェースの活性化および前記メッセージの数と関連してユーザの端末の画面に表示された第２ユーザインタフェースに対する前記ユーザの入力のうちの少なくとも１つにしたがい、メッセージのための要請を生成する段階、前記生成された要請を前記サーバに送信する段階、前記サーバから前記要請に対応するメッセージの束を受信する段階、および前記第１ユーザインタフェースを通じて前記端末の画面に前記受信されたメッセージを表示する段階を含み、前記メッセージの数は、前記サーバで予め設定された時間あたりに発生するメッセージの数が前記サーバで予め設定された閾値を超過する場合に前記サーバから送信されることを特徴とする、データ受信方法を提供する。
【００１０】
ネットワークを介したサーバのデータ送信方法であって、予め設定された時間あたりに発生するメッセージの数をモニタリングする段階、前記モニタリングされたメッセージの数を予め設定された閾値と比較する段階、前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信する段階、前記モニタリングされたメッセージの数が前記閾値を超過する場合、発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信する段階を含むことを特徴とする、データ送信方法を提供する。
【００１１】
前記データ送信方法または前記データ受信方法をコンピュータに実行させるためのコンピュータプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体を提供する。
【００１２】
コンピュータと結合して前記データ送信方法または前記データ受信方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムを提供する。
【００１３】
ネットワークを介してデータを送信するシステムであって、コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、予め設定された時間あたりに発生するメッセージの数をモニタリングし、前記モニタリングされたメッセージの数を予め設定された閾値と比較し、前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信し、前記モニタリングされたメッセージの数が前記閾値を超過する場合、予め設定された時間周期ごとに、該当の時間周期に発生するメッセージを格納し、前記該当の時間周期に発生したメッセージの数をネットワークを介してクライアントに送信し、前記メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信することを特徴とする、データ送信システムを提供する。
【００１４】
ネットワークを介してデータを送信するシステムであって、コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、予め設定された時間あたりに発生するメッセージの数をモニタリングし、前記モニタリングされたメッセージの数を予め設定された閾値と比較し、前記モニタリングされたメッセージの数が前記閾値以下の場合、発生するメッセージをネットワークを介して順にクライアントに送信し、前記モニタリングされたメッセージの数が前記閾値を超過する場合、発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信することを特徴とする、データ送信システムを提供する。
【発明の効果】
【００１５】
データの送信と関連する特定の条件が発生する場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）、データを受信するクライアント側で画面に表示することのできる最小限のデータ（一例として、一定の時間周期内に発生するメッセージの数）のみをクライアントに送信し、クライアントでデータの内容を確認しようと発生させる要請にしたがってデータを一度に集めて送信することにより、データの発生回数やデータの発生周期とは関係なく、一定の時間周期以上の周期でデータを送信することができる。
【００１６】
クライアントでサーバから端末の画面に表示することのできる最小限のデータのみを受信し、実際にデータの内容を確認しようとする場合にデータを要請および受信することにより、データの発生回数やデータの発生周期とは関係なく、一定の時間周期以上の周期でデータを受信することができる。
【００１７】
データの送信と関連する特定の条件が発生する場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）、データを一定の個数単位に束ねて送信することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、データ送受信過程の例を示した図である。
【図４】本発明の一実施形態における、１つのクライアントが予め設定された時間周期ごとにメッセージを受信する例を示した図である。
【図５】本発明の一実施形態における、クライアントに受信されるメッセージの表示例を示した図である。
【図６】本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。
【図７】本発明の一実施形態における、サーバが実行することのできるデータ送信方法の例を示したフローチャートである。
【図８】本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図である。
【図９】本発明の一実施形態における、電子機器が実行することのできるデータ受信方法の例を示したフローチャートである。
【図１０】本発明の一実施形態における、１つのクライアントが受信するメッセージの例を示した図である。
【図１１】本発明の他の実施形態における、サーバが実行することのできるデータ送信方法の例を示したフローチャートである。
【発明を実施するための形態】
【００１９】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００２０】
本発明の実施形態に係るデータ送信システムは、以下で説明されるサーバによって実現されてよく、本発明の実施形態に係るデータ送信方法は、上述したサーバによって実行されてよい。また、本発明の実施形態に係るデータ受信システムは、以下で説明される電子機器によって実現されてよく、本発明の実施形態に係るデータ受信方法は、上述した電子機器によって実行されてよい。例えば、サーバと電子機器は、サーバ−クライアント関係であって、互いにデータを送受信してよい。このとき、サーバと電子機器それぞれには、本発明の一実施形態に係るコンピュータプログラムがインストールおよび駆動されてよく、サーバと電子機器それぞれは、駆動するコンピュータプログラムの制御にしたがって本発明の一実施形態に係るデータ送信方法やデータ受信方法を実行して互いにデータを送受信してよい。上述したコンピュータプログラムは、コンピュータで実現されるサーバまたはコンピュータで実現される電子機器と結合してデータ送信方法またはデータ受信方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されてよい。
【００２１】
実施形態に係るデータ送受信の主体は、必ずしもサーバ−クライアントに区分される必要はなく、ネットワーク上でデータを送信しようとする送信側と該当のネットワーク上でデータを受信しようとする受信側に区分されてもよい。単純に、データを送信しようとする送信側をサーバと称し、データを受信しようとする受信側をクライアントと称してもよい。このような送信側と受信側は、それぞれコンピュータで実現される１つの装備または２つ以上の装備の結合によって実現されてもよい。
【００２２】
本発明の実施形態において、「メッセージ」とは、ネットワーク上の送信側がネットワーク上の受信側に一度で送信するデータを意味してよい。言い換えれば、メッセージの数は、送信側が受信側にデータを送信しなければならない回数を意味してよい。このようなメッセージは、以下で説明されるメッセージングサービスのインスタントメッセージとは区分されてもよいし、同じ意味で用いられてもよい。
【００２３】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００２４】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットなどがある。一例として、図１では、電子機器１（１１０）の例としてスマートフォンの形状を示しているが、本発明の実施形態において電子機器１（１１０）は、実質的に無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することのできる多様な物理的な装置のうちの１つを意味してよい。
【００２５】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００２６】
サーバ１５０、１６０それぞれは、電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第１サービスを提供するシステムであってよく、サーバ１６０も、ネットワーク１７０を通じて接続した複数の電子機器１１０、１２０、１３０、１４０に第２サービスを提供するシステムであってよい。より具体的な例として、サーバ１５０は、複数の電子機器１１０、１２０、１３０、１４０にインストールされて駆動するコンピュータプログラムとしてのアプリケーションを通じ、該当のアプリケーションが目的とするサービス（一例として、メッセージングサービスやメールサービスコンテンツ送信サービスなど）を第１サービスとして提供してよい。他の例として、サーバ１６０は、上述したアプリケーションのインストールおよび駆動のためのファイルを複数の電子機器１１０、１２０、１３０、１４０に配布するサービスを第２サービスとして提供してよい。
【００２７】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、１つの電子機器に対する例として電子機器１（１１０）の内部構成を、１つのサーバに対する例としてサーバ１５０の内部構成を説明する。他の電子機器１２０、１３０、１４０やサーバ１６０も、上述した電子機器１（１１０）またはサーバ１５０と同一または類似の内部構成を有してもよい。
【００２８】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。ここで、ＲＯＭやディスクドライブのような永久大容量記憶装置は、メモリ２１１、２２１とは区分される別の永久格納装置として電子機器１（１１０）やサーバ１５０に含まれてもよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電気機器１（１１０）にインストールされ駆動するブラウザや特定のサービスの提供のために電子機器１（１１０）にインストールされたアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１６０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてよい。
【００２９】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入力／出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００３０】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、電子機器１（１１０）および／またはサーバ１５０が他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール２１３の制御にしたがってネットワーク１７０を介してサーバ１５０に伝達されてよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）に受信されてもよい。例えば、通信モジュール２１３を通じて受信したサーバ１５０の制御信号や命令などは、プロセッサ２１２やメモリ２１１に伝達されてよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むことのできる格納媒体（上述した永久格納装置）に格納されてよい。
【００３１】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、ディスプレイやスピーカのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２１５は、電子機器１（１１０）と１つの装置で構成されてもよい。また、サーバ１５０の入力／出力インタフェース２２４は、サーバ１５０と連結してもよいし、サーバ１５０が含むことのできる入力または出力のための装置（図示せず）とのインタフェースのための手段であってもよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２がメモリ（２１１）にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器２（１２０）が提供するデータを利用して構成されるサービス画面やコンテンツが、入力／出力インタフェース２１４を通じてディスプレイに表示されてよい。
【００３２】
また、他の実施形態において、電子機器１（１１０）およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器１（１１０）がスマートフォンの場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などのような多様な構成要素が電子機器１（１１０）にさらに含まれるように実現されてもよい。
【００３３】
図３は、本発明の一実施形態における、データ送受信過程の例を示した図である。図３は、メッセンジャーサーバ３１０が、１つの通信セッションに連結するＮ個のクライアント３２０とデータを送受信する例を示している。このとき、クライアント１が通信セッションで１つのインスタントメッセージを発生させると、メッセンジャーサーバ３１０は、発生したインスタントメッセージをＮ個のクライアント３２０それぞれに送信してよい。すなわち、Ｎ個のクライアント３２０が時間ｔ１内に発生させるインスタントメッセージの数がＭ個であれば、メッセンジャーサーバ３１０は、時間ｔ１内にＭ×Ｎ個のメッセージを処理しなければならない。最大５，０００名までの参加が可能なコミュニティーチャットルームが存在し、これが３０秒間に１，０００件のインスタントメッセージを発生させると仮定するとき、メッセンジャーサーバ３１０は、３０秒間で５，０００，０００件のメッセージ送信を処理しなければならないことになる。さらに、Ｎ個のクライアント３２０それぞれも、３０秒間で１，０００件のメッセージを受信して処理しなければならない。このように短時間で大量のメッセージを処理することは、上述したように、メッセンジャーサーバ３１０の側面においてもＮ個のクライアント３２０それぞれの側面においても多くの問題を発生させる。
【００３４】
これにより、本実施形態に係るメッセンジャーサーバ３１０は、特定の条件が満たされる場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）には、すべてのメッセージを個別に送信するのではなく、一定の時間周期ごとに最小限のデータのみをＮ個のクライアント３２０に送信することができる。例えば、特定のクライアント（一例として、クライアント１）と関連して一定の時間周期ごとに発生したメッセージの数を、該当のクライアントに送信してよい。例えば、５秒間隔の時間周期であって、最初の５秒間に２００件のインスタントメッセージが発生した場合、メッセンジャーサーバ３１０は、メッセージの数である「２００」だけをＮ個のクライアント３２０それぞれに送信してよい。言い換えれば、メッセンジャーサーバ３１０は、最初の５秒間に対してＮ件のメッセージ（メッセージの数「２００」を含むメッセージ）を送信してよい。２回目の５秒間に３００件のインスタントメッセージが発生した場合、メッセンジャーサーバ３１０は、メッセージの数である「３００」だけをＮ個のクライアント３２０それぞれに送信してよい。この場合にも、２回目の５秒間に対してＮ件のメッセージだけが送信されてよい。このように、メッセンジャーサーバ３１０は、データ（インスタントメッセージ）の発生回数やデータの発生周期とは関係なく、一定の時間周期以上の周期で一定の数のメッセージのみを送信するようになり、Ｎ個のクライアント３２０それぞれは、一定の時間周期ごとに１つのメッセージのみを受信するようになるため、上述したような問題を解決することができる。
【００３５】
このとき、実際のメッセージは、該当のクライアントからの要請にしたがい、１つのメッセージの束で該当のクライアントに送信されてよい。例えば、クライアント１がメッセージの数「２００」とメッセージの数「３００」を受信した後にメッセージを要請すると、５００件のメッセージが１つの束となってクライアント１に送信されてよい。したがって、クライアント１は、５００回のメッセージ受信ではなく、メッセージの数に対する２度のメッセージ受信と、実際にインスタントメッセージを確認しようとする時点のメッセージの１つの束に対する一度のメッセージ受信、すなわち合計３回のメッセージ受信だけで５００件のインスタントメッセージを画面に表示することができるようになる。
【００３６】
図４は、本発明の一実施形態における、１つのクライアントが予め設定された時間周期ごとにメッセージを受信する例を示した図である。図４は、５回の時間周期内に合計２７件のメッセージが発生したが、クライアントは、５回の時間周期に対して合計５件のメッセージのみを受信するようになる例を示している。また、クライアントは、受信したメッセージの数に応じ、５回の時間周期内に発生したメッセージの総数（まだ読まれていない未読メッセージの数）が合計２７件であることを把握することができる。
【００３７】
このような図４の実施形態によると、メッセンジャーサーバ３１０では、Ｎ個のクライアント３２０に２７×Ｎ件のメッセージ送信ではなく、Ｎ回のメッセージ送信だけを処理すればよいため、プロセッシングのための資源とネットワーク資源の消費を減らすことができ、Ｎ個のクライアント３２０それぞれでは、５回の時間周期内に２７件のメッセージの受信ではなく、５件のメッセージだけを受信すればよいため、クライアントの観点ではプロセッシングのための資源と加用なデータの消耗を減らすことができ、モバイルクライアントの場合にはバッテリーの消耗まで減らすことができる。
【００３８】
一方、実施形態によっては、該当の時間周期の最後のメッセージが、該当の時間周期内に発生するメッセージの数と共にクライアントに送信されてもよい。この場合、クライアントは、最後のメッセージと共に、該当の時間周期内に発生したメッセージの数を把握することができるようになり、最後のメッセージからチャットルーム内における概略的な主題を把握することができるようになる。
【００３９】
図５は、本発明の一実施形態における、クライアントに受信されるメッセージの表示例を示した図である。図５は、クライアント（一例として、Ｎ個のクライアント３２０のうちの１つ）がインストールされたユーザの端末５００の画面にポップアップ５１０の形態で、特定の時間周期における最後のメッセージの内容と特定の時間周期内に発生したメッセージの数（未読メッセージ（８））が表示された例を示している。また、ポップアップ５１０は、このようなメッセージをチャットルームを通じて確認するか無視するかに対するボタン（確認５２０および取消５３０）をさらに含んでよい。このとき、ユーザが確認５２０ボタンのようなユーザインタフェースに対するユーザの入力に基づき、クライアントからメッセンジャーサーバ３１０にメッセージが要請されてよい。例えば、タッチスクリーン環境でユーザが確認５２０ボタンの表示された画面の領域を指でタッチした場合、端末５００は、該当のメッセージと関連する要請を生成してネットワークを介してメッセンジャーサーバ３１０に送信してよく、メッセンジャーサーバ３１０から送信されるメッセージの束を受信してチャットルーム画面に表示してよい。
【００４０】
他の実施形態において、メッセージを要請するためのトリガーは、メッセージの内容を確認するためのユーザインタフェースの活性化であってもよい。例えば、メッセージングサービスでメッセージの内容を確認するためのユーザインタフェースが、チャットルームであるとする。このようなチャットルームがクライアントで活性化されている間には、一定の時間周期ごとに実際のメッセージがクライアントからメッセンジャーサーバ３１０に要請されてよい。例えば、チャットルームが非活性化されている間には、時間周期ごとに最後のメッセージとメッセージの数を含むメッセージが時間周期ごとに受信されてよい。このとき、ユーザが該当のチャットルームを活性化させることに応答し、クライアントはメッセンジャーサーバ３１０に、これまで受信されていないメッセージの提供を要請するように端末５００を制御してよく、このような要請にしたがい、メッセンジャーサーバ３１０が提供するメッセージの束をチャットルームに表示してよい。
【００４１】
また他の実施形態において、メッセージを要請するためのトリガーは、チャットルーム内に表示されたユーザインタフェースに対するユーザの入力であってもよい。例えば、チャットルームでは、時間周期ごとに受信されるメッセージに、該当の時間周期の最後のメッセージの内容と該当の時間周期内に発生したメッセージの数が表示されてよく、このような表示と関連してまだ受信されていないメッセージを要請するためのボタンが表示されてよい。ユーザがこのようなボタンを選択（一例として、タッチスクリーン環境で該当のボタンが表示された領域をユーザが指でタッチ）した場合、該当のメッセージのための要請がメッセンジャーサーバ３１０に送信されてよい。
【００４２】
このように、まだ受信されてないメッセージをサーバに要請するためのトリガーは、多様な方式で設定可能である。
【００４３】
図６は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図７は、本発明の一実施形態における、サーバが実行することのできるデータ送信方法の例を示したフローチャートである。
【００４４】
本発明の実施形態に係るデータ送信システムは、上述したサーバ１５０のようなコンピュータ装置の形態で実現されてよい。また、図６に示すように、サーバ１５０のプロセッサ２２２は、データ送信システムを実現するための構成要素として、通信セッション設定部６１０、ルーティング部６２０、モニタリング部６３０、比較部６４０、およびモード設定部６５０を備えてよい。このようなプロセッサ２２２およびプロセッサ２２２の構成要素は、図７のデータ送信方法が含む段階７１０〜７８０を実行してよい。このとき、プロセッサ２２２およびプロセッサ２２２の構成要素は、メモリ２２１が含むオペレーティングシステムのコードや少なくとも１つのプログラムのコードよる制御命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、プロセッサ２２２の構成要素は、サーバ１５０に格納されたコードが提供する制御命令にしたがってプロセッサ２２２によって実行される、プロセッサ２２２の互いに異なる機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であってよい。例えば、プロセッサ２２２が上述した制御命令にしたがって予め設定された時間あたりに発生するメッセージの数をモニタリングするプロセッサ２２２の機能的表現としてモニタリング部６３０が使用されてよい。
【００４５】
段階７１０で、通信セッション設定部６１０は、複数のクライアントに対するメッセージングサービスでのアカウント間に通信セッションを設定してよい。このような通信セッションは、メッセージングサービスで複数のアカウントが属するチャットルームとしてクライアントで識別されてよい。
【００４６】
段階７２０で、ルーティング部６２０は、通信セッションを通じて複数のクライアント間で送受信されるインスタントメッセージをルーティングしてよい。１つのチャットルームで特定のアカウントのユーザが入力するインスタントメッセージは、該当のチャットルームに属する他のアカウントのユーザに伝達されてよく、このために、サーバ１５０は、特定のユーザの端末から受信されるインスタントメッセージがチャットルームの他のユーザの端末に伝達されるようにインスタントメッセージをルーティングしてよい。
【００４７】
図６および図７の実施形態では、メッセージングサービスでサーバ１５０がインスタントメッセージを送信する技術に本発明の実施形態に係る技術を適用しているが、ネットワークの送信側で発生する多数のメッセージを受信側に送信する他の技術にも本発明の実施形態に係る技術が適用されてよいことは、本明細書の説明から当業者であれば容易に理解することができるであろう。
【００４８】
段階７３０で、モニタリング部６３０は、予め設定された時間あたりに発生するメッセージの数をモニタリングしてよい。本実施形態において、メッセージは、上述したインスタントメッセージを含んでよく、サーバ１５０は、予め設定された時間内に発生するメッセージの数をモニタリングしてよい。例えば、５秒ごとに発生するメッセージの数が持続的にモニタリングされてよい。
【００４９】
段階７４０で、比較部６４０は、モニタリングされたメッセージの数を予め設定された閾値と比較してよい。例えば、比較部６４０は、５秒間に発生するメッセージの数を予め設定された閾値１００と比較してよい。
【００５０】
段階７５０で、モード設定部６５０は、モニタリングされたメッセージの数が閾値以下の場合には一般送信モードを、モニタリングされたメッセージの数が閾値を超過する場合には統合送信モードを設定してよい。このような送信モードは、デフォルトで一般送信モードが設定されてよい。言い換えれば、モニタリングされたメッセージの数が閾値を超過する場合には、一般送信モードが統合送信モードに変更されてよく、モニタリングされたメッセージの数が閾値以下の場合には、統合送信モードが再び一般送信モードに変更されてよい。
【００５１】
段階７６０で、ルーティング部６２０は、送信モードが一般送信モードの場合、発生するメッセージをネットワークを介して順にクライアントに送信してよい。例えば、段階７２０で説明したルーティング過程が継続して行われてよい。
【００５２】
段階７７０で、ルーティング部６２０は、送信モードが統合送信モードの場合、予め設定された時間周期ごとに、該当の時間周期に発生するメッセージを格納し、該当の時間周期に発生したメッセージの数をネットワークを介してクライアントに送信してよい。メッセージは基本的にサーバ１５０に格納されるため、ルーティング部６２０がメッセージを格納するということは、統合送信モードの間に発生するメッセージを別に識別しておくことを意味してもよい。このような識別は、識別されたメッセージを該当のクライアントに追って送信するためであり、ルーティング部６２０は、クライアントごとに、該当のクライアントがまだ読んでいないメッセージを別に識別して管理してもよい。同じメッセージに対し、該当のメッセージを既に読んでいるクライアントとまだ該当のメッセージを読んでいないクライアントが存在する。したがって、ルーティング部６２０は、特定のクライアントがメッセージを要請するときに、該当の特定のクライアントにまとめて送信するためのメッセージを識別するために、クライアントごとにまだ読まれていないメッセージを別に管理してよい。
【００５３】
また、上述したように、該当の時間周期に発生した最後のメッセージを、該当の時間周期内に発生したメッセージの数と共にクライアントに送信してよい。このような最後のメッセージは、クライアントがチャットルームを活性化していない状態でも、チャットルームで進行されている主題を概略的に確認できるようにするためである。
【００５４】
段階７８０で、ルーティング部６２０は、メッセージの数を受信したクライアントからの要請にしたがい、格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信してよい。上述したように、格納されたメッセージとは、該当のクライアントに対して別に管理されたメッセージを意味してよい。
【００５５】
クライアントからの要請は、メッセージの数を受信したクライアントでメッセージの内容を確認するためのユーザインタフェースが活性化されたことによって発生されてよい。例えば、ユーザがチャットルームをオープンすることでチャットルームが活性化されることが、クライアントからの要請を発生させるトリガーとなってよい。チャットルームが活性化された状態で存在するときには、このようなチャットルームの活性化状態自体がクライアントからの要請を発生させるトリガーとなってよく、この場合、時間周期ごとに実際にメッセージの束がクライアントに送信されてよい。
【００５６】
他の実施形態として、メッセージの数は、クライアントを通じてユーザの端末の画面に表示されてよい。例えば、ポップアップ（一例として、図５のポップアップ５１０）またはチャットルームを通じてメッセージの数が画面に表示されてよい。この場合、メッセージの数と関連して端末の画面に表示されたユーザインタフェースに対するユーザの入力にしたがい、クライアントからの要請が発生してよい。例えば、図５のポップアップ５１０が含む確認５２０ボタンをユーザが選択したり、チャットルームに表示されるメッセージの数と関連して表示されるボタンをユーザが選択したりすることにより、クライアントからの要請が発生してよい。
【００５７】
サーバ１５０は、このような多様な方式で要請されるクライアントからの要請にしたがい、該当のクライアントがまだ読んでいない（まだクライアントに送信されていない）メッセージを１つに束ねて該当のクライアントに送信してよい。
【００５８】
図８は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図であり、図９は、本発明の一実施形態における、電子機器が実行することのできるデータ受信方法の例を示したフローチャートである。
【００５９】
本発明の実施形態に係るデータ受信システムは、上述した電子機器１（１１０）のようなコンピュータ装置の形態で実現されてよい。また、図８に示すように、電子機器１（１１０）のプロセッサ２１２は、データ受信システムを実現するための構成要素として、メッセージ数受信部８１０、要請生成部８２０、要請送信部８３０、メッセージ受信部８４０、およびメッセージ表示部８５０を備えてよい。このようなプロセッサ２１２およびプロセッサ２１２の構成要素は、図９のデータ受信方法が含む段階９１０〜９５０を実行してよい。このとき、プロセッサ２１２およびプロセッサ２１２の構成要素は、メモリ２１１が含むオペレーティングシステムのコードや少なくとも１つのプログラムのコードによる制御命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、プロセッサ２１２の構成要素は、電子機器１（１１０）に格納されたコードが提供する制御命令にしたがってプロセッサ２１２によって実行される、プロセッサ２１２の互いに異なる機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であってよい。
【００６０】
段階９１０で、メッセージ数受信部８１０は、サーバからネットワークを介して予め設定された時間周期ごとに、該当の時間周期に発生するメッセージの数を受信してよい。ここで、サーバは、上述したサーバ１５０に対応してよく、上述したように、サーバ１５０は、一般送信モードではメッセージを順に送信してよい。このような一般送信モードで送信されるメッセージは、電子機器１（１１０）でも順に受信して表示してよい。この反面、サーバ１５０は、統合送信モードでは、メッセージではなくメッセージの数を送信してよく、これにより、電子機器１（１１０）は、サーバ１５０が送信するメッセージの数を受信してよい。実施形態によっては、サーバ１５０がメッセージの数と共に、該当の時間周期の最後のメッセージをさらに送信する場合があるが、電子機器１（１１０）でもメッセージの数と共に最後のメッセージをさらに受信してよい。
【００６１】
段階９２０で、要請生成部８２０は、メッセージの内容を確認するための第１ユーザインタフェースの活性化およびメッセージの数と関連してユーザの端末の画面に表示された第２ユーザインタフェースに対するユーザの入力のうちの少なくとも１つにしたがい、メッセージのための要請を生成してよい。このような要請をトリガリングするための多様な条件については既に説明しているが、このために、電子機器１（１１０）にインストールされたクライアントは、このような第１ユーザインタフェースや第２ユーザインタフェースをユーザに提供するための機能を含むように実現されてよい。
【００６２】
段階９３０で、要請送信部８３０は、生成された要請をサーバに送信してよい。上述したように、サーバは、このような要請にしたがい、該当のクライアントに対して格納（または識別）されているメッセージを１つに束ねて該当のクライアントに送信してよい。
【００６３】
段階９４０で、メッセージ受信部８４０は、要請に対応するメッセージの束をサーバから受信してよい。したがって、電子機器１（１１０）は、発生されるすべてのメッセージを個別に受信するのではなく、時間周期ごとにメッセージの数を受信した後、これに関する明示上な要請をサーバに送信し、一定の時間周期内にサーバで識別されているメッセージを一度に受信してよい。
【００６４】
段階９５０で、メッセージ表示部８５０は、第１ユーザインタフェースを通じて端末の画面に受信されたメッセージを表示してよい。
【００６５】
上述したように、本実施形態に係るサーバは、複数のクライアントに対するメッセージングサービスでのアカウント間に通信セッションを設定し、前記通信セッションを通じて前記複数のクライアント間で送受信されるインスタントメッセージをルーティングするメッセンジャーサーバを含んでよく、この場合、メッセージは、複数のクライアントからサーバに受信されるインスタントメッセージを含んでよい。
【００６６】
しかし、メッセージングサービスでなくても、発生する多数のメッセージを送信側が受信側にネットワークを介して送信しようとする多様なサービスに本発明の実施形態に係る技術が適用されてもよいことは、当業者であれば容易に理解することができるであろう。例えば、ネットワークを介して送受信されるパケットに対する保安関連メッセージを管理者端末に送信する保安サービスに本発明の実施形態に係る技術が適用されてもよい。この場合、一定の時間周期ごとに、時間周期ごとの保安関連メッセージの数と該当の時間周期の最後のメッセージの内容を含むメッセージが管理者端末に送信されてよく、管理者端末からの要請にしたがい、送信されていない保安関連メッセージを１つに束ねて一度に管理者端末に送信してよい。
【００６７】
また他の実施形態として、データの送信と関連する特定の条件が発生する場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）、データを予め設定された個数（一例として、Ｎ個）単位に束ねて送信することを考慮してもよい。この場合、データの送信回数が１／Ｎに減少するため、メッセージをルーティングするサーバの観点では、プロセッシングのための資源とネットワーク資源の消費を減らすことができる。さらに、クライアントの観点では、プロセッシングのための資源と可用なデータの消耗を減らすことができ、モバイルクライアントの場合にはバッテリーの消耗まで減らすことができる。
【００６８】
図１０は、本発明の一実施形態における、１つのクライアントが受信するメッセージの例を示した図である。図１０は、２７件のメッセージが発生した例を示している。一般的な場合であれば、２７件のメッセージは、メッセージが発生した順にしたがって順にクライアントに送信され、クライアントでは２７件のメッセージを順に受信するようになる。しかし、本実施形態において、メッセンジャーサーバ３１０は、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合、メッセージを一定の個数（図１０の実施形態ではＮ＝５）単位に束ねて送信してよい。このようなメッセージの束の個数単位が多様に設定されてもよいことは、当業者であれば容易に理解することができるであろう。
【００６９】
このとき、メッセンジャーサーバ３１０は、５件のメッセージが集まるごとに、該当の５件のメッセージを１つに束ねて送信してよく、これにより、図１０の実施形態において、クライアントは、２７回のメッセージ受信ではなく、５回のメッセージ受信だけで２６件のメッセージを受信することができるようになる。このとき、最後の２７件目のメッセージ１０１０は、他の４件のメッセージがさらに発生するまで送信が見送られてよい。もしくは、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値以下になる場合、最後の２７件目のメッセージ１０１０からは、メッセージが再び発生した順にしたがって順にクライアントに送信されてもよい。
【００７０】
この場合にも、図４の実施形態と同じように、メッセージの束を直ぐに送信するのではなく、メッセージの数を先に送信してよい。例えば、メッセンジャーサーバ３１０は、発生するメッセージを予め設定された個数単位に束ねて格納し、格納されたメッセージの数をネットワークを介してクライアントに送信してよい。このとき、メッセンジャーサーバ３１０は、メッセージの数を受信したクライアントからの要請にしたがい、前記格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信してよい。
【００７１】
図１１は、本発明の他の実施形態における、サーバが実行することのできるデータ送信方法の例を示したフローチャートである。図１１のデータ送信方法が含む段階１１１０〜１１７０は、図６を参照しながら説明したプロセッサ２２２の制御にしたがってサーバ１５０によって実行されてよい。
【００７２】
段階１１１０で、通信セッション設定部６１０は、複数のクライアントに対するメッセージングサービスでのアカウント間に通信セッションを設定してよい。このような通信セッションは、メッセージングサービスで複数のアカウントが属するチャットルームとしてクライアントで識別されてよい。
【００７３】
段階１１２０で、ルーティング部６２０は、通信セッションを通じて複数のクライアント間で送受信されるインスタントメッセージをルーティングしてよい。１つのチャットルームを通じて特定のアカウントのユーザが入力したインスタントメッセージは、該当のチャットルームに属する他のアカウントのユーザに伝達されてよく、このために、サーバ１５０は、特定のユーザの端末から受信されるインスタントメッセージがチャットルームの他のユーザの端末に伝達されるようにインスタントメッセージをルーティングしてよい。
【００７４】
図１１の実施形態では、メッセージングサービスでサーバ１５０がインスタントメッセージを送信する技術に本発明の実施形態に係る技術を適用しているが、ネットワークの送信側で発生する多数のメッセージを受信側に送信する他の技術にも本発明の実施形態に係る技術が適用されてよいことは、本明細書から当業者であれば容易に理解することができるであろう。
【００７５】
段階１１３０で、モニタリング部６３０は、予め設定された時間あたりに発生するメッセージの数をモニタリングしてよい。本実施形態において、メッセージは、上述したインスタントメッセージを含んでよく、サーバ１５０は、予め設定された時間内に発生するメッセージの数をモニタリングしてよい。例えば、５秒ごとに発生するメッセージの数が持続的にモニタリングされてよい。
【００７６】
段階１１４０で、比較部６４０は、モニタリングされたメッセージの数を予め設定された閾値と比較してよい。例えば、比較部６４０は、５秒間に発生するメッセージの数を予め設定された閾値１００と比較してよい。
【００７７】
段階１１５０で、モード設定部６５０は、モニタリングされたメッセージの数が閾値以下の場合には一般送信モードを、モニタリングされたメッセージの数が閾値を超過する場合には統合送信モードを設定してよい。このような送信モードは、デフォルトで一般送信モードが設定されてよい。言い換えれば、モニタリングされたメッセージの数が閾値を超過する場合には一般送信モードが統合送信モードに変更されてよく、モニタリングされたメッセージの数が閾値以下の場合には統合送信モードが再び一般送信モードに変更されてよい。
【００７８】
段階１１６０で、ルーティング部６２０は、送信モードが一般送信モードの場合、発生するメッセージをネットワークを介して順にクライアントに送信してよい。例えば、段階７２０で説明したルーティング過程が継続して行われてよい。
【００７９】
段階１１７０で、ルーティング部６２０は、送信モードが統合送信モードの場合、発生するメッセージを予め設定された個数単位に束ねてネットワークを介して送信してよい。例えば、ルーティング部６２０は、発生するメッセージの送信を遅延させ、遅延させたメッセージの数が予め設定された個数になる場合、予め設定された個数のメッセージを束ねて一度に送信してよい。この場合、クライアント側では、一度の受信による複数のメッセージを、メッセージの発生順にしたがって画面に表示してよい。
【００８０】
また、段階１１７０で、ルーティング部６２０は、メッセージの束を直ぐに送信するのではなく、メッセージの数を先に送信し、このようなメッセージの数に対するクライアントからの要請にしたがってメッセージの束を送信してもよい。このために、ルーティング部６２０は、段階１１７０で発生するメッセージを予め設定された個数単位に束ねて格納し、格納されたメッセージの数をネットワークを介してクライアントに送信してよい。また、ルーティング部６２０は、メッセージの数を受信したクライアントから実際にメッセージに対する要請が受信されれば、このような要請に応答し、格納されたメッセージを束ねてネットワークを介して該当のクライアントに送信してよい。この場合、実際にメッセージが送信される時点は、クライアントの要請時点まで見送られるようになる。また、多数のクライアントを考慮する場合、クライアントごとに要請時点が異なるため、メッセージを相対的に長期間にわたって分散して送信することができるようになる。
【００８１】
以上のように、本発明の実施形態によると、データの送信と関連する特定の条件が発生する場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）、データを受信するクライアント側で画面に表示することのできる最小限のデータ（一例として、一定の時間周期内に発生したメッセージの数）のみをクライアントに送信し、クライアントでデータの内容を確認しようと発生させる要請にしたがってデータを束ねて一度で送信することにより、データの発生回数やデータの発生周期とは関係なく、一定の時間周期以上の周期にデータを送信することができる。また、クライアントでは、サーバから端末の画面に表示することのできる最小限のデータのみを受信し、実際にデータの内容を確認しようとする場合にデータを要請および受信することにより、データの発生回数やデータの発生周期とは関係なく、一定の時間周期以上の周期にデータを受信することができる。また、データの送信と関連する特定の条件が発生する場合（一例として、予め設定された時間あたりに発生するメッセージの数が予め設定された閾値を超過する場合）、データを一定の個数単位に束ねて送信することができる。
【００８２】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００８３】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
【００８４】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。このような記録媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されるのではなく、ネットワーク上に分散存在するものであってもよい。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【００８５】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００８６】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００８７】
２２２：プロセッサ
６１０：通信セッション設定部
６２０：ルーティング部
６３０：モニタリング部
６４０：比較部
６５０：モード設定部
【図１】
2018181314.tif 000003
【図２】
2018181314.tif 000004
【図３】
2018181314.tif 000005
【図４】
2018181314.tif 000006
【図５】
2018181314.tif 000007
【図６】
2018181314.tif 000008
【図７】
2018181314.tif 000009
【図８】
2018181314.tif 000010
【図９】
2018181314.tif 000011
【図１０】
2018181314.tif 000012
【図１１】
2018181314.tif 000013