JP2010198542A - Server device, communication system, service method, and program - Google Patents

Server device, communication system, service method, and program Download PDF

Info

Publication number
JP2010198542A
JP2010198542A JP2009045443A JP2009045443A JP2010198542A JP 2010198542 A JP2010198542 A JP 2010198542A JP 2009045443 A JP2009045443 A JP 2009045443A JP 2009045443 A JP2009045443 A JP 2009045443A JP 2010198542 A JP2010198542 A JP 2010198542A
Authority
JP
Japan
Prior art keywords
time
terminal
scheduled transmission
unit
address information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009045443A
Other languages
Japanese (ja)
Other versions
JP4729112B2 (en
Inventor
Shoji Mori
昌二 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2009045443A priority Critical patent/JP4729112B2/en
Publication of JP2010198542A publication Critical patent/JP2010198542A/en
Application granted granted Critical
Publication of JP4729112B2 publication Critical patent/JP4729112B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a server device etc. suitable to efficiently perform communication between the server device and a plurality of terminal devices. <P>SOLUTION: In the server device 201 for transmitting and receiving information to/from the plurality of terminal devices, a memory 301 stores a history of times when information is transmitted and received and a transmission scheduled time to each terminal device, a transmission unit 302 transmits information for a terminal to the terminal device when the current time becomes any of transmission scheduled times, a receiving unit 303 receives information for a server transmitted from the terminal device, an estimation unit 304 estimates a reception scheduled time for receiving the information for the server from the stored history and the transmission scheduled time, and an updating part 305 updates the transmission scheduled time so as to prevent the transmission scheduled time from overlapping the estimated reception scheduled time. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、サーバ装置と複数の端末装置との間で、効率よく通信を行うのに好適なサーバ装置、通信システム、サービス方法、ならびに、これらをコンピュータにて実現するためのプログラムに関する。   The present invention relates to a server device, a communication system, a service method, and a program for realizing them on a computer, which are suitable for efficient communication between the server device and a plurality of terminal devices.

従来から、インターネットを介した通信ゲームには、複数の端末装置同士が通信し、通信し合う端末装置のいずれか1つがサーバ装置(ホスト装置)となるか、あるいは、あらかじめ定めたサーバ装置においてゲーム進行の計算処理を集中して行い、それ以外の端末装置は、サーバ装置から送信された表示情報に基づいて画面表示を行い、端末装置におけるユーザからの入力情報をサーバ装置に送信する、という手法を採用するものがある。   Conventionally, in a communication game via the Internet, a plurality of terminal devices communicate with each other, and any one of the terminal devices that communicate with each other serves as a server device (host device), or the game is performed in a predetermined server device. A method in which calculation processing of progress is concentrated, and other terminal devices perform screen display based on display information transmitted from the server device, and transmit input information from the user in the terminal device to the server device. There is something that adopts.

このような手法に関連する技術としては、以下に掲げる特許文献1に開示されるような、通信負荷を軽くするための技術が存在する。   As a technique related to such a technique, there is a technique for reducing the communication load as disclosed in Patent Document 1 listed below.

このような通信ゲームでは、サーバ装置から端末装置へ、定期的に表示情報が送られ、端末装置からサーバ装置へ、定期的に入力情報が送信されるのが一般的である。すなわち、サーバ装置と端末装置との間で、間欠的に情報の送受が行われる。   In such a communication game, generally, display information is periodically sent from the server device to the terminal device, and input information is regularly sent from the terminal device to the server device. That is, information is transmitted and received intermittently between the server device and the terminal device.

特許第3496150号公報Japanese Patent No. 3496150

しかしながら、端末装置とサーバ装置との間の通信遅延は、各端末装置が置かれる通信環境によって異なる。一方で、各端末装置から送信される情報がサーバ装置に到着する時刻があまりに近接すると、パケットが衝突し、サーバ装置の計算処理に支障が生じたり、パケットが失われて通信負荷が高まるおそれもある。   However, the communication delay between the terminal device and the server device varies depending on the communication environment in which each terminal device is placed. On the other hand, if the time when the information transmitted from each terminal device arrives at the server device is too close, the packets may collide, causing trouble in the calculation processing of the server device or increasing the communication load due to the loss of the packets. is there.

したがって、サーバ装置から各端末装置へ情報を送信する時刻を適切に管理することによって、各端末装置から送られた情報をサーバ装置が受信する時刻が分散するように調整する技術が求められている。   Therefore, there is a need for a technique for appropriately adjusting the time at which information is transmitted from the server device to each terminal device so that the time at which the server device receives the information transmitted from each terminal device is distributed. .

本発明は、上記のような課題を解決するもので、サーバ装置と複数の端末装置との間で、効率よく通信を行うのに好適なサーバ装置、通信システム、サービス方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することを目的とする。   The present invention solves the above-described problems, and is suitable for efficient communication between a server device and a plurality of terminal devices, a communication system, a service method, and a computer. The purpose is to provide a program for realizing this.

以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。   In order to achieve the above object, the following invention is disclosed in accordance with the principle of the present invention.

本発明の第1の観点に係るサーバ装置は、複数の端末装置のそれぞれと情報の送受を行い、記憶部、送信部、受信部、推定部、更新部を備え、以下のように構成する。   A server device according to a first aspect of the present invention transmits and receives information to and from each of a plurality of terminal devices, and includes a storage unit, a transmission unit, a reception unit, an estimation unit, and an update unit, and is configured as follows.

すなわち、記憶部には、複数の端末装置のそれぞれと情報を送受した時刻の履歴と、当該複数の端末装置のそれぞれに対応付けられる送信予定時刻と、が、記憶される。   That is, the storage unit stores a history of times when information is transmitted / received to / from each of the plurality of terminal devices, and a scheduled transmission time associated with each of the plurality of terminal devices.

典型的には、サーバ装置から端末装置へ端末宛情報が送信されると、それに呼応して、端末装置からサーバ装置へサーバ宛情報が送信され、これらは対の関係にある。そこで、サーバ装置で情報の送受時刻を管理しておく。また、送信予定時刻は、端末装置に対して次に端末宛情報を送信すべき時刻を意味する。   Typically, when the terminal address information is transmitted from the server device to the terminal device, the server address information is transmitted from the terminal device to the server device in response thereto, and these are in a pair relationship. Therefore, the server device manages information transmission / reception times. The scheduled transmission time means the time when the terminal address information should be transmitted next to the terminal device.

一方、送信部は、現在時刻が複数の送信予定時刻のいずれかになると、当該送信予定時刻に対応付けられる端末装置へ端末宛情報を送信する。   On the other hand, when the current time is one of a plurality of scheduled transmission times, the transmission unit transmits the terminal address information to the terminal device associated with the scheduled transmission time.

たとえば、リアルタイムクロックによる時間計測やタイマ割込等を用いれば、サーバ装置は、送信予定時刻になったことが知得できる。   For example, if time measurement using a real-time clock, timer interruption, or the like is used, the server device can know that the scheduled transmission time has been reached.

さらに、受信部は、複数の端末装置のうち、端末宛情報を受信した端末装置から送信された、当該端末宛情報に対応付けられるサーバ宛情報を受信する。   Further, the receiving unit receives server address information associated with the terminal address information transmitted from the terminal apparatus that has received the terminal address information among the plurality of terminal devices.

ここで受信されるサーバ宛情報は、先に送信した端末宛情報と対になるものであり、これに呼応するものである。サーバ宛情報が受信された時刻は、情報を送受した時刻の履歴として、記憶部に記憶される。   The server address information received here is paired with the previously transmitted terminal address information and responds to this. The time when the information addressed to the server is received is stored in the storage unit as a history of the time when the information was sent and received.

そして、推定部は、記憶された履歴と、記憶された複数の送信予定時刻のそれぞれと、から、当該送信予定時刻における端末宛情報の送信に対応付けられるサーバ宛情報が受信部により受信される受信予定時刻を推定する。   Then, the estimation unit receives the server address information associated with the transmission of the terminal address information at the scheduled transmission time from the stored history and each of the stored multiple scheduled transmission times. Estimate the scheduled reception time.

ある端末装置について、端末宛情報を送信した時刻と、その送信の後に当該端末装置からのサーバ宛情報を受信した時刻と、の間隔は、当該端末装置において、ほぼ一定になると推定できる。そこで、推定部は、記憶部に記憶される情報の送受の履歴に基づいて、送信予定時刻から受信予定時刻を推定する。   With respect to a certain terminal device, it can be estimated that the interval between the time when the terminal address information is transmitted and the time when the server address information is received from the terminal device after the transmission is substantially constant in the terminal device. Therefore, the estimation unit estimates the scheduled reception time from the scheduled transmission time based on the transmission / reception history of information stored in the storage unit.

一方、更新部は、記憶された複数の送信予定時刻と、当該複数の送信予定時刻に対して推定部により推定される複数の受信予定時刻と、が、重ならないように、当該送信予定時刻を更新する。   On the other hand, the update unit sets the scheduled transmission time so that the plurality of stored scheduled transmission times and the plurality of scheduled reception times estimated by the estimation unit with respect to the plurality of scheduled transmission times do not overlap. Update.

上記のように、送信予定時刻が決まれば、情報の送受の履歴に基づいて、当該送信予定時刻に対する受信予定時刻を推定することができる。そこで、更新部は、一旦は定めた送信予定時刻と推定された受信予定時刻とができるだけ均一に分散し、重ならないように、送信予定時刻を再設定するのである。   As described above, if the scheduled transmission time is determined, the scheduled reception time for the scheduled transmission time can be estimated based on the history of information transmission / reception. Therefore, the updating unit resets the scheduled transmission time so that the predetermined scheduled transmission time and the estimated scheduled reception time are distributed as uniformly as possible and do not overlap.

本発明によれば、サーバ装置において情報の送受を行う時刻をできるだけ分散させることができ、通信を効率良く実行することができるようになる。   ADVANTAGE OF THE INVENTION According to this invention, the time which transmits / receives information in a server apparatus can be disperse | distributed as much as possible, and communication can be performed efficiently.

また、本発明のサーバ装置は、複数の端末装置R[1],R[2],…,R[N]のそれぞれと、所定時間Tに1回、間欠的に情報の送受を行い、以下のように構成することができる。   The server device according to the present invention intermittently transmits and receives information to and from each of the plurality of terminal devices R [1], R [2],..., R [N] once every predetermined time T. It can be configured as follows.

本発明を通信ゲームに適用する場合を考えると、端末装置における画面更新の間隔は、垂直同期周期(もしくは、その整数倍)となるのが典型的である。したがって、当該画面更新間隔が、所定時間Tに相当する。この所定時間Tの間に1回、サーバ装置から端末装置へ、端末装置の画面に表示すべき表示情報が端末宛情報として送信され、端末装置からサーバ装置へ、端末装置のユーザの操作入力の入力情報がサーバ宛情報として送信される。   Considering the case where the present invention is applied to a communication game, the screen update interval in the terminal device is typically a vertical synchronization period (or an integer multiple thereof). Therefore, the screen update interval corresponds to the predetermined time T. Display information to be displayed on the screen of the terminal device is transmitted as information addressed to the terminal once from the server device to the terminal device during the predetermined time T, and the operation input of the user of the terminal device is transmitted from the terminal device to the server device. Input information is transmitted as server-addressed information.

一方、記憶部には、整数i = 1,2,…,Nのそれぞれについて、端末装置R[i]に最後に端末宛情報を送信した後に当該送信に呼応した当該端末装置R[i]から最後にサーバ宛情報が受信されるまでの送受間隔m[i]が、時刻の履歴として記憶され、当該端末装置R[i]に次に端末宛情報を送信すべき送信予定時刻s[i]が、記憶される。   On the other hand, for each of the integers i = 1, 2,..., N, from the terminal device R [i] corresponding to the transmission after the terminal address information is finally transmitted to the terminal device R [i]. The transmission / reception interval m [i] until the server address information is finally received is stored as a time history, and the next scheduled transmission time s [i] at which the terminal address information is to be transmitted next to the terminal device R [i] Is memorized.

送信部は、整数j = 1,2,…,Nのそれぞれについて、現在時刻が送信予定時刻s[j]になると、端末装置R[j]へ端末宛情報を送信する。   For each of the integers j = 1, 2,..., N, the transmission unit transmits the terminal address information to the terminal device R [j] when the current time reaches the scheduled transmission time s [j].

受信部は、整数k = 1,2,…,Nのそれぞれについて、端末装置R[k]から送信されたサーバ宛情報を受信する。   The receiving unit receives the server address information transmitted from the terminal device R [k] for each of the integers k = 1, 2,.

更新部は、端末装置R[k]から送信されたサーバ宛情報が受信されると、現在時刻と送信予定時刻s[k]との差により、送受間隔m[k]を更新する。   When the server address information transmitted from the terminal device R [k] is received, the updating unit updates the transmission / reception interval m [k] based on the difference between the current time and the scheduled transmission time s [k].

すなわち、本発明においては、端末宛情報の送信からサーバ宛情報の受信までの最新の送受間隔を、情報の送受の時刻の履歴として採用することとしている。   In other words, in the present invention, the latest transmission / reception interval from the transmission of terminal-addressed information to the reception of server-addressed information is adopted as the history of information transmission / reception time.

さらに、推定部は、送受間隔m[k]が更新された後、送信予定時刻s[k]の候補値として値rが与えられると、送信予定時刻
s[1], s[2],…, s[k-1],r, s[k+1],…, s[N]
のそれぞれに送信される端末宛情報に対応付けられるサーバ宛情報を受信する受信予定時刻を
s[1]+m[1], s[2]+m[2],…, s[k-1]+m[k-1],r+m[k], s[k+1]+m[k+1],…, s[N]+m[2]
と推定する。
Furthermore, after the transmission / reception interval m [k] is updated, the estimation unit is given a value r as a candidate value for the scheduled transmission time s [k].
s [1], s [2], ..., s [k-1], r, s [k + 1], ..., s [N]
The scheduled reception time for receiving the server address information associated with the terminal address information transmitted to each of the
s [1] + m [1], s [2] + m [2], ..., s [k-1] + m [k-1], r + m [k], s [k + 1] + m [k + 1],…, s [N] + m [2]
Estimated.

すなわち、本発明では、端末装置R[j]に対する送信予定時刻s[j]から、当該端末装置R[j]からの受信予定時刻s[j]+m[j]を推定するのである。   That is, in the present invention, the scheduled reception time s [j] + m [j] from the terminal device R [j] is estimated from the scheduled transmission time s [j] to the terminal device R [j].

さらに、更新部は、送信予定時刻s[k]の現在の値に前記所定時間Tを加算した時刻pを取得し、当該取得された時刻pを所定時間Tで割った結果の切捨てfloor(p/T)に対して定められる時刻floor(p/T)×Tから時刻〔floor(p/T)+1〕×Tまでの間の、いずれかの時刻から、送信予定時刻s[k]の次の値qを選択し、選択された次の値qにより、送信予定時刻s[k]を更新する。   Further, the update unit obtains a time p obtained by adding the predetermined time T to the current value of the scheduled transmission time s [k], and the result obtained by dividing the obtained time p by the predetermined time T is a truncated floor (p / T) from any time between time floor (p / T) × T and time [floor (p / T) +1] × T determined for transmission time s [k] The next value q is selected, and the scheduled transmission time s [k] is updated with the selected next value q.

ここで、送信予定時刻s[k]の次の値qを選択する範囲を時刻floor(p/T)×Tから時刻〔floor(p/T)+1〕×Tまでの間とするのは、所定時間Tの間に1回、サーバ装置と端末装置R[k]との間で、情報の送受を行うためである。   Here, the range for selecting the next value q of the scheduled transmission time s [k] is from time floor (p / T) × T to time [floor (p / T) +1] × T. This is because information is transmitted and received between the server device and the terminal device R [k] once during the predetermined time T.

ここで、更新部は、
(1)推定部に送信予定時刻s[k]の候補値として当該値pを与えた場合の送信予定時刻
s[1], s[2],…, s[k-1], p, s[k+1],…, s[N]
ならびに受信予定時刻
s[1]+m[1], s[2]+m[2],…, s[k-1]+m[k-1], p+m[k], s[k+1]+m[k+1],…, s[N]+m[2]
を整列した時刻列における各時刻の間隔の最小値と、
(2)推定部に送信予定時刻s[k]の候補値として当該次の値qを与えた場合の送信予定時刻
s[1], s[2],…, s[k-1], q, s[k+1],…, s[N]
ならびに
s[1]+m[1], s[2]+m[2],…, s[k-1]+m[k-1], q+m[k], s[k+1]+m[k+1],…, s[N]+m[2]
を整列した時刻列における各時刻の間隔の最小値と、
を対比して、上記(2)の間隔の最小値が、上記(1)の間隔の最小値以上となるように、当該次の値qを選択する。
Here, the update unit
(1) Scheduled transmission time when the value p is given as a candidate value for the scheduled transmission time s [k] to the estimation unit
s [1], s [2], ..., s [k-1], p, s [k + 1], ..., s [N]
And scheduled reception time
s [1] + m [1], s [2] + m [2], ..., s [k-1] + m [k-1], p + m [k], s [k + 1] + m [k + 1],…, s [N] + m [2]
Minimum value of each time interval in the time sequence in which
(2) Scheduled transmission time when the estimation unit is given the next value q as a candidate value for the scheduled transmission time s [k].
s [1], s [2], ..., s [k-1], q, s [k + 1], ..., s [N]
And
s [1] + m [1], s [2] + m [2], ..., s [k-1] + m [k-1], q + m [k], s [k + 1] + m [k + 1],…, s [N] + m [2]
Minimum value of each time interval in the time sequence in which
, The next value q is selected so that the minimum value of the interval (2) is equal to or greater than the minimum value of the interval (1).

すなわち、送信予定時刻と受信予定時刻をソートして、その間隔の最小値を求める。この最小値が小さければ小さいほど、パケット送受の時刻の衝突が生じやすいこととなり、サーバ装置における計算処理に支障が生じやすくなる。   That is, the scheduled transmission time and the scheduled reception time are sorted to obtain the minimum value of the interval. The smaller this minimum value is, the more likely it is that the packet transmission / reception times will collide, and the calculation processing in the server device will be more difficult.

そこで、典型的には、次の間隔の最小値が、現在の間隔の最小値に比べて、できるだけ大きくなるように、次の値qを選択するのである。   Therefore, typically, the next value q is selected so that the minimum value of the next interval is as large as possible as compared with the minimum value of the current interval.

本発明によれば、サーバ装置は、情報の送受の時刻の直近の間隔を用いることによって簡易に受信予定時刻を推定し、情報の送受の時刻ができるだけ重ならないように、設定することができるようになる。   According to the present invention, the server apparatus can easily estimate the scheduled reception time by using the nearest interval of the information transmission / reception time, and can set the information transmission / reception time so as not to overlap as much as possible. become.

また、本発明のサーバ装置において、更新部は、時刻floor(p/T)×Tから時刻〔floor(p/T)+1〕×Tまでの間から、次の値qの候補を複数選択し、当該候補ならびに値pのそれぞれに対する間隔の最小値を求め、当該最小値が最大である値を、次の値qとして選択するように構成することができる。   In the server device of the present invention, the update unit selects a plurality of candidates for the next value q from the time floor (p / T) × T to the time [floor (p / T) +1] × T. Then, the minimum value of the interval for each of the candidate and the value p can be obtained, and the value having the maximum minimum value can be selected as the next value q.

次の値qや、その他の送信予定時刻の配置を求めるにあたっては、最急降下法や擬似焼きなまし法を用いて、送信予定時刻と受信予定時刻の間隔の統計的分布における分散・標準偏差を最小化するような最適な配置を求めることとしても良い。   Use the steepest descent method or simulated annealing method to minimize the variance / standard deviation in the statistical distribution of the interval between the scheduled transmission time and the scheduled reception time when determining the next value q and other scheduled transmission times. It is good also as calculating | requiring the optimal arrangement | positioning which does.

しかしながら、端末装置とサーバ装置の通信における送受間隔は、通信状況によって変化するものであり、複雑な計算手法ではなく、簡易な計算手法を採用することで十分な場合も多い。   However, the transmission / reception interval in the communication between the terminal device and the server device varies depending on the communication status, and it is often sufficient to adopt a simple calculation method instead of a complicated calculation method.

本発明はこのような考えに基づくもので、次の値qの候補を複数選び、評価値として、送信予定時刻・受信予定時刻をソートした時刻列における時刻同士の間隔の最小値を採用して、値pとその候補のそれぞれとで、評価値が最大となるものを選択する。   The present invention is based on such an idea, and selects a plurality of candidates for the next value q, and adopts the minimum value of the interval between times in a time string in which the scheduled transmission time and the scheduled reception time are sorted as evaluation values. , A value having the maximum evaluation value is selected from the value p and each of the candidates.

更新部が次の値qの候補を複数選ぶ手法としては、たとえば、時刻floor(p/T)×Tから時刻〔floor(p/T)+1〕×Tまでの間を所定の間隔で区切る時刻のそれぞれを、次の値qの候補として選択する手法や、時刻floor(p/T)×Tから時刻〔floor(p/T)+1〕×Tまでの間から、次の値qの候補をランダムに複数選択する手法がある。   As a method for the update unit to select a plurality of candidates for the next value q, for example, the time from floor (p / T) × T to time [floor (p / T) +1] × T is divided at a predetermined interval. A method of selecting each time as a candidate for the next value q, or from the time floor (p / T) × T to the time [floor (p / T) +1] × T, There is a method of selecting a plurality of candidates at random.

本発明によれば、サーバ装置は、簡易な計算で、送信予定時刻を適切に配置することができるようになる。   According to the present invention, the server device can appropriately arrange the scheduled transmission time with a simple calculation.

本発明のその他の観点に係る通信システムは、複数の端末装置と、上記のサーバ装置と、を備えるように構成する。   A communication system according to another aspect of the present invention is configured to include a plurality of terminal devices and the server device described above.

ここで、複数の端末装置のそれぞれは、端末側受信部、端末側送信部を備える。   Here, each of the plurality of terminal devices includes a terminal-side receiving unit and a terminal-side transmitting unit.

ここで、端末側受信部は、サーバ装置から送信された端末宛情報を受信し、端末側送信部は、端末宛情報を受信するごとに、サーバ装置へ、サーバ宛情報を送信する。   Here, the terminal side receiving unit receives the terminal addressed information transmitted from the server device, and the terminal side transmitting unit transmits the server addressed information to the server device every time the terminal addressed information is received.

たとえば通信ゲームを実現する場合には、端末宛情報には、現在ゲームに参加している各端末装置(あるいは、他の端末装置)のプレイヤーの状態情報が指定されることになり、サーバ宛情報には、当該端末装置のプレイヤーの指示操作に基づいて更新された当該プレイヤーの状態情報が指定されることになる。典型的には、受信から送信までの間に実行される処理は固定されているから、受信から送信までの時間はほぼ一定となり、サーバ装置は、各端末装置との通信路の時間遅延を適切に推定できるようになる。   For example, in the case of realizing a communication game, the state information of the player of each terminal device (or other terminal device) currently participating in the game is designated as the information addressed to the terminal. The state information of the player updated based on the instruction operation of the player of the terminal device is designated. Typically, the processing executed between reception and transmission is fixed, so the time from reception to transmission is almost constant, and the server device appropriately sets the time delay of the communication path with each terminal device. Can be estimated.

したがって、本発明によれば、サーバ装置において情報の送受を行う時刻をできるだけ分散させることができ、通信を効率良く実行することができるようになる。   Therefore, according to the present invention, the time at which information is transmitted and received in the server device can be distributed as much as possible, and communication can be executed efficiently.

本発明のその他の観点に係るサービス方法は、複数の端末装置のそれぞれと情報の送受を行うサーバ装置が実行し、サーバ装置は、記憶部、送信部、受信部、推定部、更新部を備え、以下のように構成する。   A service method according to another aspect of the present invention is executed by a server device that transmits / receives information to / from each of a plurality of terminal devices, and the server device includes a storage unit, a transmission unit, a reception unit, an estimation unit, and an update unit. The configuration is as follows.

ここで、記憶部には、複数の端末装置のそれぞれと情報を送受した時刻の履歴と、当該複数の端末装置のそれぞれに対応付けられる送信予定時刻と、が、記憶される。   Here, the storage unit stores a history of times when information is transmitted / received to / from each of the plurality of terminal devices, and a scheduled transmission time associated with each of the plurality of terminal devices.

一方、送信工程では、送信部が、現在時刻が複数の送信予定時刻のいずれかになると、当該送信予定時刻に対応付けられる端末装置へ端末宛情報を送信する。   On the other hand, in the transmission step, when the current time becomes one of a plurality of scheduled transmission times, the transmission unit transmits the terminal address information to the terminal device associated with the scheduled transmission time.

さらに、受信工程では、受信部が、複数の端末装置のうち、端末宛情報を受信した端末装置から送信された、当該端末宛情報に対応付けられるサーバ宛情報を受信する。   Further, in the receiving step, the receiving unit receives server address information associated with the terminal address information transmitted from the terminal apparatus that has received the terminal address information among the plurality of terminal devices.

そして、推定工程では、推定部が、記憶された履歴と、記憶された複数の送信予定時刻のそれぞれと、から、当該送信予定時刻における端末宛情報の送信に対応付けられるサーバ宛情報が受信部により受信される受信予定時刻を推定する。   Then, in the estimation step, the estimation unit is configured to receive, from the stored history and each of the plurality of stored transmission scheduled times, server address information associated with transmission of terminal addressed information at the scheduled transmission time. To estimate the scheduled reception time.

一方、更新工程では、更新部が、記憶された複数の送信予定時刻と、当該複数の送信予定時刻に対して推定部により推定される複数の受信予定時刻と、が、重ならないように、当該送信予定時刻を更新する。   On the other hand, in the update process, the update unit is configured so that the plurality of stored transmission scheduled times and the plurality of reception scheduled times estimated by the estimation unit with respect to the plurality of transmission scheduled times do not overlap. Update the scheduled transmission time.

本発明のその他の観点に係るプログラムは、コンピュータを上記のサーバ装置の各部として機能させるように構成する。   A program according to another aspect of the present invention is configured to cause a computer to function as each unit of the server device.

また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。   The program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.

上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。   The above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed. The information storage medium can be distributed and sold independently from the computer.

本発明によれば、サーバ装置と複数の端末装置との間で、効率よく通信を行うのに好適なサーバ装置、通信システム、サービス方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができる。   According to the present invention, a server device, a communication system, a service method, and a program for realizing these on a computer are provided that are suitable for efficient communication between the server device and a plurality of terminal devices. can do.

プログラムを実行することにより、本実施形態のサーバ装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。It is a schematic diagram which shows the outline | summary structure of the typical information processing apparatus which can function as a server apparatus of this embodiment by running a program. 本実施形態に係るサーバ装置と、端末装置と、の様子を示す説明図である。It is explanatory drawing which shows the mode of the server apparatus which concerns on this embodiment, and a terminal device. 本実施形態に係るサーバ装置の概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of the server apparatus which concerns on this embodiment. サーバ装置にて実行されるサービス処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the service process performed in a server apparatus. 送信予定時刻として時刻pを採用した場合の送信予定時刻や受信予定時刻の分布を示す説明図である。It is explanatory drawing which shows distribution of the transmission scheduled time at the time of employ | adopting time p as a transmission scheduled time, and reception scheduled time. 送信予定時刻として時刻qを採用した場合の送信予定時刻や受信予定時刻の分布を示す説明図である。It is explanatory drawing which shows distribution of the transmission scheduled time and reception scheduled time when time q is employ | adopted as transmission scheduled time. 本実施形態に係る端末装置の概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of the terminal device which concerns on this embodiment. 本実施形態に係る端末装置にて実行されるゲーム処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the game process performed with the terminal device which concerns on this embodiment.

以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。   Embodiments of the present invention will be described below. In the following, for ease of understanding, an embodiment in which the present invention is realized using a game information processing device will be described. However, the embodiment described below is for explanation, and the present invention is described. It does not limit the range.

したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。   Therefore, those skilled in the art can employ embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.

図1は、プログラムを実行することにより、本実施形態のサーバ装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。   FIG. 1 is a schematic diagram illustrating a schematic configuration of a typical information processing apparatus that can function as a server apparatus according to the present embodiment by executing a program. Hereinafter, a description will be given with reference to FIG.

情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory) 102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備えるように構成することができる。各種の入出力装置は、適宜省略することができる。   The information processing apparatus 100 includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a random access memory (RAM) 103, an interface 104, a controller 105, an external memory 106, and an image processing unit 107. And a DVD-ROM (Digital Versatile Disc ROM) drive 108, a NIC (Network Interface Card) 109, an audio processing unit 110, and a microphone 111. Various input / output devices can be omitted as appropriate.

ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のサーバ装置や、当該サーバ装置と通信する端末装置が実現される。   A DVD-ROM storing a game program and data is loaded into the DVD-ROM drive 108 and the information processing apparatus 100 is turned on to execute the program. A terminal device that communicates with the server device is realized.

また、携帯型ゲーム機においては、携帯可能とするために、DVD−ROMドライブ108を利用するのではなく、ROMカセット用スロットを利用することも可能である。この場合、プログラムが記録されたROMカセットを挿入して、当該プログラムを実行することで、本実施形態のサーバ装置が実現される。   Further, in order to make the portable game machine portable, it is possible to use a ROM cassette slot instead of using the DVD-ROM drive 108. In this case, the server apparatus of this embodiment is implement | achieved by inserting the ROM cassette with which the program was recorded, and running the said program.

このほか、端末装置から専用サーバ装置に接続することによりゲームを進めるようなシステムにおいても、専用サーバ装置は、計算能力の違いや機器構成に少々の相違はあるものの、本質的には、情報処理装置100と同様の構成である。   In addition to this, even in a system in which a game is advanced by connecting a terminal device to a dedicated server device, the dedicated server device is essentially an information processing device although there are some differences in calculation capability and device configuration. The configuration is the same as that of the device 100.

CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。   The CPU 101 controls the overall operation of the information processing apparatus 100 and is connected to each component to exchange control signals and data. Further, the CPU 101 uses arithmetic operations such as addition / subtraction / multiplication / division, logical sum, logical product, etc. using an ALU (Arithmetic Logic Unit) (not shown) for a storage area called a register (not shown) that can be accessed at high speed. , Logic operations such as logical negation, bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation can be performed. In addition, the CPU 101 itself is configured so that saturation operations such as addition / subtraction / multiplication / division for multimedia processing, vector operations such as trigonometric functions, etc. can be performed at a high speed, and those provided with a coprocessor. There is.

ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。   The ROM 102 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on, and when this is executed, the program recorded on the DVD-ROM is read out to the RAM 103 and execution by the CPU 101 is started. The The ROM 102 stores an operating system program and various data necessary for operation control of the entire information processing apparatus 100.

RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。   The RAM 103 is for temporarily storing data and programs, and holds programs and data read from the DVD-ROM and other data necessary for game progress and chat communication. Further, the CPU 101 provides a variable area in the RAM 103 and performs an operation by directly operating the ALU on the value stored in the variable, or temporarily stores the value stored in the RAM 103 in the register. Perform operations such as performing operations on registers and writing back the operation results to memory.

インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。   The controller 105 connected via the interface 104 receives an operation input performed when the user executes the game.

なお、コントローラ105は、必ずしも情報処理装置100に対して外付けにされている必要はなく、一体に形成されていても良い。   The controller 105 does not necessarily have to be externally attached to the information processing apparatus 100, and may be formed integrally.

携帯可能な端末装置のコントローラ105は、各種のボタンやスイッチから構成され、これらの押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置100では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。   The controller 105 of the portable terminal device includes various buttons and switches, and handles these pressing operations as operation inputs. In addition, in the information processing apparatus 100 using the touch screen, the user traces the trace of the touch screen using a pen or a finger as an operation input.

インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。   The external memory 106 detachably connected via the interface 104 stores data indicating game play status (past results, etc.), data indicating the progress of the game, and log of chat communication in a network battle ( Data) is stored in a rewritable manner. The user can record these data in the external memory 106 as appropriate by inputting an instruction via the controller 105.

DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。   A DVD-ROM mounted on the DVD-ROM drive 108 stores a program for realizing the game and image data and audio data associated with the game. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM loaded therein, reads out necessary programs and data, and these are temporarily stored in the RAM 103 or the like.

画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。   The image processing unit 107 processes the data read from the DVD-ROM by an image arithmetic processor (not shown) included in the CPU 101 or the image processing unit 107, and then processes the processed data on a frame memory ( (Not shown). The image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. Thereby, various image displays are possible.

携帯可能なゲーム機のモニタとしては、小型の液晶ディスプレイを利用するのが典型的であり、コントローラ105としてタッチスクリーンを利用する場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶためのゲーム機のモニタとしては、CRT(Cathode Ray Tube)やプラズマディスプレイなどの表示装置を利用することも可能である。   As a monitor of a portable game machine, a small liquid crystal display is typically used. When a touch screen is used as the controller 105, a display panel of the touch screen functions as a monitor. As a monitor of a game machine for playing at home, a display device such as a CRT (Cathode Ray Tube) or a plasma display can be used.

画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。   The image calculation processor can execute a two-dimensional image overlay calculation, a transmission calculation such as α blending, and various saturation calculations at high speed.

また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。   Also, polygon information arranged in the virtual three-dimensional space and added with various texture information is rendered by the Z buffer method, and the polygon arranged in the virtual three-dimensional space from the predetermined viewpoint position is determined in the direction of the predetermined line of sight It is also possible to perform high-speed execution of operations for obtaining rendered images.

さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。   Further, the CPU 101 and the image arithmetic processor operate in a coordinated manner, so that a character string can be drawn as a two-dimensional image in a frame memory or drawn on the surface of each polygon according to font information that defines the character shape. is there.

NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LANを構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。   The NIC 109 is used to connect the information processing apparatus 100 to a computer communication network (not shown) such as the Internet, and conforms to the 10BASE-T / 100BASE-T standard used when configuring a LAN. An analog modem for connecting to the Internet using a telephone line, an ISDN (Integrated Services Digital Network) modem, an ADSL (Asymmetric Digital Subscriber Line) modem, a cable modem for connecting to the Internet using a cable television line, etc. These are configured by an interface (not shown) that mediates between these and the CPU 101.

音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン(図示せず)、イヤフォン(図示せず)から出力させる。   The audio processing unit 110 converts audio data read from the DVD-ROM into an analog audio signal and outputs the analog audio signal from a speaker (not shown) connected thereto. Further, under the control of the CPU 101, sound effects and music data to be generated during the progress of the game are generated, and the corresponding sound is output from a speaker, headphones (not shown), and earphones (not shown). Output.

音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。   When the audio data recorded on the DVD-ROM is MIDI data, the audio processing unit 110 refers to the sound source data included in the audio data and converts the MIDI data into PCM data. If the compressed audio data is in ADPCM format or Ogg Vorbis format, it is expanded and converted to PCM data. The PCM data can be output by performing D / A (Digital / Analog) conversion at a timing corresponding to the sampling frequency and outputting it to a speaker.

さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。   Furthermore, a microphone 111 can be connected to the information processing apparatus 100 via the interface 104. In this case, the analog signal from the microphone 111 is subjected to A / D conversion at an appropriate sampling frequency so that processing such as mixing in the sound processing unit 110 can be performed as a PCM format digital signal.

このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。   In addition, the information processing apparatus 100 uses a large-capacity external storage device such as a hard disk so as to perform the same function as the ROM 102, the RAM 103, the external memory 106, the DVD-ROM mounted on the DVD-ROM drive 108, and the like. You may comprise.

また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。   In addition, it is possible to adopt a form in which a keyboard for receiving a character string editing input from a user, a mouse for receiving various position designations and selection inputs, and the like are connected. In addition, a general-purpose personal computer can be used instead of the information processing apparatus 100 of the present embodiment.

以上で説明した情報処理装置100は、いわゆるコンシューマ向けゲーム機に相当するものであるが、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明のサーバ装置を実現することが可能である。   The information processing apparatus 100 described above corresponds to a so-called consumer game machine, but the server of the present invention is used on various computers such as a mobile phone, a portable game machine, a karaoke apparatus, and a general business computer. An apparatus can be realized.

たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。   For example, a general computer, like the information processing apparatus 100, includes an image processing unit that includes a CPU, RAM, ROM, DVD-ROM drive, and NIC and has simpler functions than the information processing apparatus 100. In addition to having a hard disk as an external storage device, a flexible disk, a magneto-optical disk, a magnetic tape, and the like can be used. Further, not the controller 105 but a keyboard or a mouse is used as an input device.

図2は、本実施形態に係るサーバ装置と、端末装置と、の様子を示す説明図である。以下、本図を参照して説明する。   FIG. 2 is an explanatory diagram showing the state of the server device and the terminal device according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

本実施形態では、サーバ装置201は、複数の端末装置221と、インターネット241を介して通信可能に接続されて、通信ゲームシステムを実現している。   In the present embodiment, the server device 201 is connected to a plurality of terminal devices 221 via the Internet 241 so as to be communicable to realize a communication game system.

サーバ装置201と端末装置221は、いずれも、同一の構成の情報処理装置100において所定のプログラムを実行することにより実現されるのが典型的である。   Both the server device 201 and the terminal device 221 are typically realized by executing a predetermined program in the information processing apparatus 100 having the same configuration.

すなわち、情報処理装置100において通信ゲーム用プログラムを実行すると、各情報処理装置100は、紹介サーバ(図示せず。)に問い合わせを行い、通信ゲームを一緒を行う他の情報処理装置100の紹介を求める。   That is, when the communication game program is executed in the information processing apparatus 100, each information processing apparatus 100 makes an inquiry to an introduction server (not shown) and introduces another information processing apparatus 100 that plays the communication game together. Ask.

紹介サーバは、一緒に通信ゲームを行わせる情報処理装置100を選択し、その中から、サーバ装置201として機能するものを1つ選ぶ。そして、各情報処理装置100に、サーバ装置201として機能するものはいずれか、端末装置221として機能するものはいずれか、を、通知することにより、他の情報処理装置100を紹介する。   The introduction server selects the information processing apparatus 100 that plays the communication game together, and selects one functioning as the server apparatus 201 from the information processing apparatus 100. Then, the information processing apparatus 100 is introduced to the other information processing apparatus 100 by notifying which one functions as the server apparatus 201 and which functions as the terminal apparatus 221.

サーバ装置201は、通信ゲームの進行を司る。   The server device 201 manages the progress of the communication game.

また、サーバ装置201および各端末装置221は、当該情報処理装置100を使用するユーザの指示操作の入力を受け付け、サーバ装置201によって進行される通信ゲームの状況を画面に表示して、ユーザに提示する。   In addition, the server device 201 and each terminal device 221 accept an input of an instruction operation of a user who uses the information processing device 100, displays the status of the communication game progressed by the server device 201 on the screen, and presents it to the user To do.

このため、サーバ装置201から端末装置221へは、垂直同期周期(もしくは、その整数倍)に1回、画面に表示すべき表示情報が伝達され、これに応答して、端末装置221からサーバ装置201へ、当該端末装置221においてなされたユーザの指示操作が通知される。   For this reason, display information to be displayed on the screen is transmitted from the server apparatus 201 to the terminal apparatus 221 once in the vertical synchronization period (or an integer multiple thereof). 201 is notified of the user's instruction operation performed in the terminal device 221.

通信ゲーム以外の態様であっても、複数の端末装置221のそれぞれと、間欠的に、単位時間あたりの通信回数が一定になるように、サーバ装置201が情報を送受し合う状況がありうる。そこで、理解を容易にするため、サーバ装置201から端末装置221へ通信される情報を、以下端末宛情報と呼ぶこととし、端末装置221からサーバ装置201へ通信される情報を、以下サーバ宛情報と呼ぶこととする。   Even in a mode other than the communication game, there may be a situation in which the server device 201 exchanges information with each of the plurality of terminal devices 221 so that the number of times of communication per unit time is constant. Therefore, in order to facilitate understanding, information communicated from the server device 201 to the terminal device 221 is hereinafter referred to as terminal addressed information, and information communicated from the terminal device 221 to the server device 201 is referred to as server addressed information below. I will call it.

各端末装置221は、サーバ装置201から送信された端末宛情報を受信すると、これを契機に、サーバ装置201へサーバ宛情報を送信する。   Upon receiving the terminal address information transmitted from the server device 201, each terminal device 221 transmits the server address information to the server device 201 in response to this.

さて、ネットワークの通信は、パケットのやりとりによって行われるが、効率の良い通信を行うためには、パケットができるだけ衝突しないことが望ましい。したがって、サーバ装置201から各端末装置221へ端末宛情報を送信する時刻と、サーバ装置201が各端末装置221からのサーバ宛情報を受信する時刻は、できるだけ分散している方が良い。   Network communication is performed by exchanging packets. However, in order to perform efficient communication, it is desirable that packets do not collide as much as possible. Therefore, it is preferable that the time at which the terminal address information is transmitted from the server device 201 to each terminal device 221 and the time at which the server device 201 receives the server address information from each terminal device 221 are distributed as much as possible.

ここで、各端末装置221とサーバ装置201との間の通信経路は、端末装置221がインターネット241のどの箇所に接続されているか、どのような機器を用いて接続されているか、により、その通信状況が異なる。   Here, the communication path between each terminal device 221 and the server device 201 depends on which part of the Internet 241 the terminal device 221 is connected to, and what device is used for the communication. The situation is different.

したがって、端末宛情報を受信してからサーバ宛情報を送信する時間が、各端末装置221で同一であっても、通信経路の差によって、情報の往復に要する時間は異なる。   Therefore, even if the time for transmitting the server address information after receiving the terminal address information is the same for each terminal device 221, the time required for the round trip of the information differs depending on the communication path.

一方で、ある端末装置221についていえば、サーバ装置201との情報の往復に要する時間は、統計的な揺らぎは存在するものの、ある一定の値をとるものと期待できる。   On the other hand, with regard to a certain terminal device 221, it can be expected that the time required for information to and from the server device 201 takes a certain value although there is a statistical fluctuation.

そこで本発明では、サーバ装置201において、ある端末装置221に端末宛情報を送信してからその端末装置221からサーバ宛情報を受信するまでの時間間隔を管理することによって、送信時刻と受信時刻とができるだけ衝突しないように、自動的に調整することとしている。以下、詳細に説明する。   Therefore, in the present invention, the server device 201 manages the time interval from when the terminal address information is transmitted to a certain terminal device 221 to when the server address information is received from the terminal device 221, so that the transmission time and the reception time are It is supposed to adjust automatically so as not to collide as much as possible. Details will be described below.

図3は、本実施形態に係るサーバ装置201の概要構成を示す説明図である。以下、本図を参照して説明する。   FIG. 3 is an explanatory diagram showing a schematic configuration of the server apparatus 201 according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

本実施形態に係るサーバ装置201は、複数の端末装置221のそれぞれと情報の送受を行い、記憶部301、送信部302、受信部303、推定部304、更新部305を備え、これらの各部は、情報処理装置100において所定のプログラムを実行することによって実現される。   The server apparatus 201 according to the present embodiment transmits / receives information to / from each of the plurality of terminal apparatuses 221, and includes a storage unit 301, a transmission unit 302, a reception unit 303, an estimation unit 304, and an update unit 305. This is realized by executing a predetermined program in the information processing apparatus 100.

ここで、記憶部301は、RAM 103やハードディスクなどによって実現され、複数の端末装置221のそれぞれと情報を送受した時刻の履歴と、当該複数の端末装置221のそれぞれに対応付けられる送信予定時刻と、が、記憶される。   Here, the storage unit 301 is realized by the RAM 103, a hard disk, or the like, and a history of times when information is transmitted / received to / from each of the plurality of terminal devices 221 and a scheduled transmission time associated with each of the plurality of terminal devices 221. , Is stored.

時刻の履歴としては、各端末装置221に過去に端末宛情報を送った時刻と、各端末装置221から過去にサーバ宛情報を受信した時刻と、を記憶するのが最も単純である。このほか、各端末装置221に最後に端末宛情報を送信した時刻と、当該送信に応答して、各端末装置221が送信したサーバ宛情報を受信した時刻と、の時間間隔(以下、「送受間隔」という。)を記憶することとしても良い。   As the time history, it is simplest to store the time when the terminal address information was sent to each terminal device 221 in the past and the time when the server address information was received from each terminal device 221 in the past. In addition, the time interval between the time when the terminal address information was last transmitted to each terminal device 221 and the time when the server address information transmitted by each terminal device 221 was received in response to the transmission (hereinafter referred to as “transmission / reception”). It is also possible to store “interval”).

送信予定時刻は、各端末装置221に次に端末宛情報を送信すべき時刻を示すもので、サーバ装置201は、この情報を適宜調整することによって、送信時刻と受信時刻とが、できるだけ均一にばらけて、衝突しないようにするのである。   The scheduled transmission time indicates the time when the terminal addressed information should be transmitted next to each terminal device 221, and the server device 201 adjusts this information appropriately so that the transmission time and the reception time are as uniform as possible. Break it out and avoid collisions.

一方、送信部302は、CPU 101の制御の下で、NIC 109によって実現されるもので、現在時刻が複数の送信予定時刻のいずれかになると、当該送信予定時刻に対応付けられる端末装置221へ端末宛情報を送信する。   On the other hand, the transmission unit 302 is realized by the NIC 109 under the control of the CPU 101, and when the current time becomes one of a plurality of transmission scheduled times, the terminal unit 221 associated with the scheduled transmission time is sent to the transmission unit 302. Send information addressed to the terminal.

すると、端末宛情報を受信した端末装置221は、これに呼応して、サーバ装置201へ、サーバ宛情報を送信する。   Then, the terminal device 221 that has received the terminal address information transmits the server address information to the server device 201 in response.

さらに、受信部303は、CPU 101の制御の下で、NIC 109によって実現されるもので、複数の端末装置221のそれぞれから送信されたサーバ宛情報を受信する。   Further, the receiving unit 303 is realized by the NIC 109 under the control of the CPU 101, and receives server address information transmitted from each of the plurality of terminal devices 221.

更新部305は、RAM 103等とCPU 101が共働して実現されるもので、いずれかの端末装置221からサーバ宛情報を受信すると、当該サーバ宛情報に対応する端末宛情報を送信した送信時刻と、当該サーバ宛情報の受信時刻と、に基づいて、記憶部301に記憶される情報の送受の時刻を更新する。   The update unit 305 is realized by the cooperation of the RAM 103 and the CPU 101. When the server address information is received from any of the terminal devices 221, the update unit 305 transmits the terminal address information corresponding to the server address information. The transmission / reception time of the information stored in the storage unit 301 is updated based on the time and the reception time of the information addressed to the server.

そして、推定部304は、RAM 103等とCPU 101が共働して実現されるもので、記憶された履歴と、記憶された複数の送信予定時刻のそれぞれと、から、当該送信予定時刻における端末宛情報の送信に対応付けられるサーバ宛情報が受信部303により受信される受信予定時刻を推定する。   The estimation unit 304 is realized by the cooperation of the RAM 103 and the CPU 101, and the terminal at the scheduled transmission time is determined from the stored history and each of the stored scheduled transmission times. The scheduled reception time at which the server address information associated with the transmission of the address information is received by the receiving unit 303 is estimated.

上記のように、各端末装置221についての送受間隔は、ランダムな揺らぎはあるものの、ほぼ一定になると期待できる。そこで、推定部304は、記憶部301に記憶される情報の送受の履歴に基づいて、送信予定時刻から受信予定時刻を推定する。   As described above, the transmission / reception interval for each terminal device 221 can be expected to be substantially constant although there is random fluctuation. Therefore, the estimation unit 304 estimates the scheduled reception time from the scheduled transmission time based on the transmission / reception history of information stored in the storage unit 301.

すると、更新部305は、記憶された複数の送信予定時刻と、当該複数の送信予定時刻に対して推定部304により推定される複数の受信予定時刻と、が、重ならないように、当該送信予定時刻を更新する。   Then, the update unit 305 performs the transmission schedule so that the plurality of stored transmission scheduled times and the plurality of reception scheduled times estimated by the estimation unit 304 with respect to the plurality of transmission scheduled times do not overlap. Update the time.

上記のように、送信予定時刻が決まれば、情報の送受の履歴に基づいて、当該送信予定時刻に対する受信予定時刻を推定することができる。そこで、更新部305は、一旦は定めた送信予定時刻と推定された受信予定時刻とができるだけ均一に分散し、重ならないように、送信予定時刻を再設定するのである。   As described above, if the scheduled transmission time is determined, the scheduled reception time for the scheduled transmission time can be estimated based on the history of information transmission / reception. Therefore, the updating unit 305 resets the scheduled transmission time so that the predetermined transmission scheduled time and the estimated reception scheduled time are distributed as evenly as possible and do not overlap.

以下、さらに詳細に、本実施形態に係る手法について説明する。ここで、理解を容易にするため、サーバ装置201は、複数の端末装置221 R[1],R[2],…,R[N]のそれぞれと、所定時間Tに1回、間欠的に情報の送受を行うものとする。   Hereinafter, the method according to this embodiment will be described in more detail. Here, in order to facilitate understanding, the server apparatus 201 intermittently performs a plurality of terminal apparatuses 221 R [1], R [2],..., R [N] once every predetermined time T. Information shall be sent and received.

また、記憶部301には、整数i = 1,2,…,Nのそれぞれについて、端末装置221 R[i]に最後に端末宛情報を送信した後に当該送信に呼応した当該端末装置221 R[i]から最後にサーバ宛情報が受信されるまでの送受間隔m[i]が、時刻の履歴として記憶され、当該端末装置221 R[i]に次に端末宛情報を送信すべき送信予定時刻s[i]が、記憶されるものとする。   Further, in the storage unit 301, for each of the integers i = 1, 2,..., N, the terminal device 221 R [corresponding to the transmission after the terminal address information is finally transmitted to the terminal device 221 R [i]. The transmission interval m [i] from when i] until the last server address information is received is stored as a history of time, and the scheduled transmission time when the terminal address information is to be transmitted to the terminal device 221 R [i] next time Assume that s [i] is stored.

上記の仮定から、整数i = 1,2,…,Nのそれぞれについて、端末装置221 R[i]へ送信予定時刻s[i]に端末宛情報を送信すると、当該端末装置221 R[i]から送信されたサーバ宛情報が受信される時刻の期待値(最も尤もらしい時刻)は、s[i]+m[i]である。   From the above assumption, when the terminal addressed information s [i] is transmitted to the terminal device 221 R [i] for each of the integers i = 1, 2,..., N, the terminal device 221 R [i] is transmitted. The expected value (the most likely time) of the time when the server address information transmitted from is received is s [i] + m [i].

以下、理解を容易にするため、リアルタイムクロックやタイマ割込によって取得可能な現在時刻を、変数tにより表記するものとする。   Hereinafter, in order to facilitate understanding, the current time that can be acquired by a real-time clock or timer interrupt is expressed by a variable t.

図4は、サーバ装置201にて実行されるサービス処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   FIG. 4 is a flowchart showing a control flow of service processing executed by the server apparatus 201. Hereinafter, a description will be given with reference to FIG.

サービス処理が開始されると、サーバ装置201は、各種の初期化を行う(ステップS401)。本実施形態では、記憶部301を、以下のように初期化する。   When the service process is started, the server apparatus 201 performs various initializations (step S401). In the present embodiment, the storage unit 301 is initialized as follows.

すなわち、初期化の最終段階での現在時刻tに基づいて、整数i = 1,2,…,Nのそれぞれについて、
s[i] ← t + i×T/N;
m[i] ← T/(2×N)
のように初期化する。ここで、「←」は代入を意味する。
That is, based on the current time t at the final stage of initialization, for each of the integers i = 1, 2,.
s [i] ← t + i × T / N;
m [i] ← T / (2 × N)
Initialize as follows. Here, “←” means substitution.

前者は、所定時間Tの間に、各送信予定時刻を等間隔に配置するものであり、後者は、所定時間Tの間に、各送信予定時刻の直後に対応する受信予定時刻を等間隔に配置するものである。   The former arranges each scheduled transmission time at regular intervals during a predetermined time T, and the latter arranges the corresponding scheduled reception time immediately after each scheduled transmission time at regular intervals during the predetermined time T. Is to be placed.

このほか、前回の通信ゲームにおける最終的な値に基づいて初期化を行ったり、適当な乱数を用いて初期化を行ったりしても良い。   In addition, initialization may be performed based on a final value in the previous communication game, or initialization may be performed using an appropriate random number.

次に、サーバ装置201は、送信予定時刻s[1],s[2],…,s[N]を時刻順にソートする(ステップS402)。そして、現在時刻tから直近の送信予定時刻s[j]、すなわち、先頭の送信予定時刻s[j]にタイマ割込が生じるように、設定を行う(ステップS403)。   Next, the server apparatus 201 sorts the scheduled transmission times s [1], s [2],..., S [N] in order of time (step S402). Then, a setting is made so that a timer interrupt occurs at the latest scheduled transmission time s [j] from the current time t, that is, the first scheduled transmission time s [j] (step S403).

さらに、NIC 109に情報パケットが到達すると受信割込が生じるように、設定を行う(ステップS404)。   Further, a setting is made so that a reception interrupt is generated when an information packet arrives at the NIC 109 (step S404).

さらに、当該サーバ装置201を通信ゲーム端末として機能させる場合には、垂直同期割込の設定も行うものとする(ステップS405)。この場合は、垂直同期割込の周期(もしくは、その所定定数倍)が、所定時間Tとなる。   Furthermore, when the server device 201 is caused to function as a communication game terminal, a vertical synchronization interrupt is also set (step S405). In this case, the period of the vertical synchronization interrupt (or a predetermined constant multiple thereof) is the predetermined time T.

なお、サーバ装置201が、各端末装置221と対等の立場にはない専用ゲームサーバである場合には、サーバ装置201における表示は必要ない。この場合には、各端末装置221における表示の更新間隔、すなわち、端末装置221を実現する情報処理装置100の垂直同期割込の周期(もしくは、その所定定数倍)が、所定時間Tとなる。   If the server device 201 is a dedicated game server that is not in the same position as each terminal device 221, the display on the server device 201 is not necessary. In this case, the display update interval in each terminal device 221, that is, the period of vertical synchronization interrupt of the information processing apparatus 100 that implements the terminal device 221 (or a predetermined constant multiple thereof) is the predetermined time T.

そして、タイマ割込、受信割込、もしくは、垂直同期割込が生じるまで、待機する(ステップS406)。なお、この待機の間には、通信ゲームを進行させるための各種の計算処理や、サーバ装置201のモニタに表示する画像をRAM 103内に生成する生成処理を、コルーチン的に実行するのが典型的である。   Then, it waits until a timer interrupt, a reception interrupt, or a vertical synchronization interrupt occurs (step S406). During this standby, various calculation processes for advancing the communication game and a generation process for generating an image to be displayed on the monitor of the server device 201 in the RAM 103 are typically executed in a coroutine manner. Is.

さて、割込が生じたら、その種類を調べる(ステップS407)。   If an interrupt occurs, the type is examined (step S407).

割込が、タイマ割込である場合(ステップS407;タイマ)、現在時刻tがいずれかの送信予定時刻s[j]と一致しているので、サーバ装置201の送信部302は、タイマ割込の原因となった送信予定時刻s[j]に対する端末装置221 R[j]へ、端末宛情報を送信し(ステップS408)、ステップS402に戻る。   If the interrupt is a timer interrupt (step S407; timer), since the current time t coincides with one of the scheduled transmission times s [j], the transmission unit 302 of the server apparatus 201 performs the timer interrupt. The terminal addressed information is transmitted to the terminal device 221 R [j] corresponding to the scheduled transmission time s [j] that causes the error (step S408), and the process returns to step S402.

割込が、垂直同期割込である場合(ステップS407;垂直同期)、画像処理部107を制御して、RAM 103内に生成されている画像をモニタに転送して表示し(ステップS409)、サーバ装置201を実現する情報処理装置100のコントローラ105の操作状況を調べて(ステップS410)、ゲームの進行状況に反映させ(ステップS411)、ステップS402に戻る。   When the interrupt is a vertical synchronization interrupt (step S407; vertical synchronization), the image processing unit 107 is controlled to transfer and display the image generated in the RAM 103 (step S409). The operation status of the controller 105 of the information processing apparatus 100 that implements the server device 201 is checked (step S410), reflected in the game progress status (step S411), and the process returns to step S402.

割込が、受信割込である場合(ステップS407;受信)、サーバ装置201の受信部303は、いずれかの端末装置221 R[k]から送信されたサーバ宛情報を受信する(ステップS412)。   When the interruption is a reception interruption (step S407; reception), the reception unit 303 of the server apparatus 201 receives the server address information transmitted from any of the terminal apparatuses 221 R [k] (step S412). .

そして、サーバ装置201の更新部305は、現在時刻tと、当該端末装置221 R[k]に対して最後に端末宛情報を送信した時刻s[k]との差t - s[k]を計算し、記憶部301を
m[k] ← t - s[k]
のように更新する(ステップS413)。
Then, the update unit 305 of the server device 201 calculates a difference t−s [k] between the current time t and the time s [k] at which the terminal address information was last transmitted to the terminal device 221 R [k]. Calculate the storage unit 301
m [k] ← t-s [k]
(Step S413).

そして、端末装置221 R[k]に対する次の送信予定時刻の基準となる時刻pを、
p ← s[k] + T
のように計算する(ステップS414)。
Then, a time p serving as a reference for the next scheduled transmission time for the terminal device 221 R [k]
p ← s [k] + T
(Step S414).

そして、以下のような処理(ステップS415〜S419)を行って、時刻pよりも、送信予定時刻や受信予定時刻がより均一にばらつくような時刻qを求めて、これを、端末装置221 R[k]に対する新たな送信予定時刻とする。   Then, the following processing (steps S415 to S419) is performed to obtain a time q at which the scheduled transmission time and the scheduled reception time vary more uniformly than the time p, and this is obtained as the terminal device 221 R [ k] is a new scheduled transmission time.

図5Aは、送信予定時刻として時刻pを採用した場合の送信予定時刻や受信予定時刻の分布を示す説明図である。図5Bは、送信予定時刻として時刻qを採用した場合の送信予定時刻や受信予定時刻の分布を示す説明図である。以下、これらの図を参照して説明する。   FIG. 5A is an explanatory diagram showing a distribution of scheduled transmission times and scheduled reception times when time p is adopted as the scheduled transmission time. FIG. 5B is an explanatory diagram showing the distribution of scheduled transmission times and scheduled reception times when time q is adopted as the scheduled transmission time. Hereinafter, description will be given with reference to these drawings.

これらの図においては、横軸tは時間の経過を意味し、黒丸は送信予定時刻を、白丸は受信予定時刻を、黒丸と白丸を結ぶ線分の長さは推定された送受間隔を、それぞれ表している。   In these figures, the horizontal axis t means the passage of time, the black circle is the scheduled transmission time, the white circle is the scheduled reception time, the length of the line segment connecting the black circle and the white circle is the estimated transmission / reception interval, respectively. Represents.

また、更新の対象となる端末装置221についての送信予定時刻は白い四角で、受信予定時刻は黒い四角で、それぞれ表記している。   The scheduled transmission time for the terminal device 221 to be updated is indicated by a white square, and the scheduled reception time is indicated by a black square.

図5Aは、端末装置R[1],R[2],R[3],R[4],R[5]のうち、端末装置R[3]の送信予定時刻s[3]を、時刻pとした場合の一例を示している。本例では、時間軸tを見ればわかるように、時刻pと時刻s[1]+m[1]が近付き過ぎており、処理の衝突が生じる可能性がある。   5A shows the scheduled transmission time s [3] of the terminal device R [3] among the terminal devices R [1], R [2], R [3], R [4], and R [5]. An example of p is shown. In this example, as can be seen from the time axis t, the time p and the time s [1] + m [1] are too close to each other, and there is a possibility that a process conflict occurs.

図5Bは、時刻pとは異なる時刻qを、送信予定時刻s[3]とする一例を示している。本例では、図5Aに示す例にくらべて、時間軸tにおける各時刻の分布がより均一になっている。   FIG. 5B illustrates an example in which a time q different from the time p is set as the scheduled transmission time s [3]. In this example, the distribution of each time on the time axis t is more uniform than the example shown in FIG. 5A.

また、図5Aにおける各時刻の時間間隔の最小値は、pとs[1]+m[1]の間の時間間隔501aであるが、図5Bにおける各時刻の時間間隔の最小値は、s[1]+m[1]とs[2]+m[2]の間の時間間隔501bであり、時間間隔501bは、時間間隔501aよりも大きい。   5A is the time interval 501a between p and s [1] + m [1], while the minimum value of the time interval at each time in FIG. 5B is s. A time interval 501b between [1] + m [1] and s [2] + m [2], and the time interval 501b is larger than the time interval 501a.

したがって、「送信予定時刻と受信予定時刻をソートした時刻列における時間間隔の最小値」を大きくするように、送信予定時刻を更新することによって、処理の衝突を避けることができるものと考えられる。   Therefore, it is considered that the process conflict can be avoided by updating the scheduled transmission time so as to increase the “minimum value of the time interval in the time sequence in which the scheduled transmission time and the scheduled reception time are sorted”.

さて、以下では、具体的に時刻qを求める手法について説明する。   A method for obtaining the time q will be specifically described below.

すなわち、端末装置221 R[k]に対する次の送信予定時刻の候補v[1],v[2],…,v[M]を、時刻floor(p/T)×Tから時刻〔floor(p/T)+1〕×Tまでの間で、適当に選ぶ(ステップS415)。ここで、floor(・)は、与えられた引き数の小数点以下を切り捨てる演算である。また、定数Mの値は、端末装置221の個数Nと同程度とすれば良いことが多いが、任意に選ぶことも可能である。   That is, the candidates v [1], v [2],..., V [M] for the next scheduled transmission time for the terminal device 221 R [k] are changed from the time floor (p / T) × T / T) +1] × T is appropriately selected (step S415). Here, floor (•) is an operation for truncating the decimal point of a given argument. Further, the value of the constant M may be approximately the same as the number N of the terminal devices 221, but can be arbitrarily selected.

ここで、候補v[1],v[2],…,v[M]を選ぶ手法としては、以下のようなものが考えられる。
(1)値floor(p/T)×Tから値〔floor(p/T)+1〕×Tまでの間で一様乱数をM個発生させ、各々を候補v[1],v[2],…,v[M]とする。
(2)整数h = 1,2,…,Mのそれぞれについて、
v[h] = floor(p/T)×T + h×T/M
とする。所定時間Tの間で等間隔に候補を選ぶものである。
(3)他の送信予定時刻s[1],s[2],…,s[k-1],s[k+1],…,s[N]をソートした時刻列において、隣り合う時刻の間隔が広い順にM個を選び、当該隣り合う時刻の中点のそれぞれを、候補v[1],v[2],…,v[M]とする。
Here, as a method for selecting candidates v [1], v [2],..., V [M], the following may be considered.
(1) M uniform random numbers are generated from the value floor (p / T) × T to the value [floor (p / T) +1] × T, and each of them is a candidate v [1], v [2 ], ..., v [M].
(2) For each of the integers h = 1, 2, ..., M,
v [h] = floor (p / T) x T + h x T / M
And The candidates are selected at regular intervals during a predetermined time T.
(3) Adjacent times in a time sequence in which other scheduled transmission times s [1], s [2], ..., s [k-1], s [k + 1], ..., s [N] are sorted M are selected in descending order of intervals, and the midpoints of the adjacent times are set as candidates v [1], v [2],..., V [M].

ついで、サーバ装置201の推定部304は、時刻pおよび候補v[1],v[2],…,v[M]のそれぞれを送信予定時刻の候補値rとして、時刻
s[1], s[2],…, s[k-1],r, s[k+1],…, s[N]
のそれぞれに送信される端末宛情報に対応付けられるサーバ宛情報を受信する受信予定時刻を推定する(ステップS416)。
Next, the estimation unit 304 of the server device 201 sets each of the time p and the candidates v [1], v [2],..., V [M] as the candidate value r for the scheduled transmission time.
s [1], s [2], ..., s [k-1], r, s [k + 1], ..., s [N]
The estimated reception time for receiving the server address information associated with the terminal address information transmitted to each of the information is estimated (step S416).

各受信予定時刻は、記憶部301に記憶される値に基づいて、
s[1]+m[1], s[2]+m[2],…, s[k-1]+m[k-1],r+m[k], s[k+1]+m[k+1],…, s[N]+m[N]
とするのが最も単純な手法であるが、過去の送信時刻や受信時刻の履歴をある程度記憶しておき、その変化に基づいて、減衰平均などを用いて送受間隔を推定してから、各受信予定時刻を得ることとしても良い。
Each scheduled reception time is based on a value stored in the storage unit 301.
s [1] + m [1], s [2] + m [2], ..., s [k-1] + m [k-1], r + m [k], s [k + 1] + m [k + 1], ..., s [N] + m [N]
The simplest method is to store a history of past transmission times and reception times to some extent, and based on the changes, estimate the transmission and reception intervals using an attenuation average, etc. It is also possible to obtain the scheduled time.

そして、サーバ装置201の更新部305は、時刻pおよび候補v[1],v[2],…,v[M]のそれぞれを候補値rとした場合の送信予定時刻と、これに対して推定された受信予定時刻と、をソートして、得られる時刻列の時間間隔の最小値を求める(ステップS417)。   Then, the update unit 305 of the server apparatus 201 transmits the time p and the candidate v [1], v [2],. The estimated scheduled reception times are sorted to obtain the minimum value of the time interval of the obtained time sequence (step S417).

ここで得られる時刻列が完全に均一にばらけている場合には、N個の送信予定時刻とN個の受信予定時刻とが等間隔に並ぶことになるから、「時刻列の時間間隔の最小値」の上限は、T/(2×N)である。   If the time sequence obtained here is completely uniform, the N scheduled transmission times and the N scheduled reception times are arranged at equal intervals. The upper limit of “minimum value” is T / (2 × N).

また、時刻列に同じ値がある場合には、「時刻列の時間間隔の最小値」は0となる。これは、送受に衝突が生じることを意味する。   Further, when there are the same values in the time series, the “minimum value of the time interval in the time series” is 0. This means that a collision occurs in transmission and reception.

すなわち、「時刻列の時間間隔の最小値」が小さければ小さいほど、情報の送受の衝突が生じやすくなる。また、「時刻列の時間間隔の最小値」が大きければ大きいほど、送受のタイミングが分散して、ばらけていることになる。   In other words, the smaller the “minimum value of the time interval of the time sequence” is, the more easily information collision occurs. In addition, the larger the “minimum value of the time interval in the time sequence” is, the more dispersed the transmission / reception timing is.

そこで、サーバ装置201の更新部305は、時刻pおよび候補v[1],v[2],…,v[M]のそれぞれの中から、当該値を候補値rと仮定した場合に、推定部304により推定された最小値が最大となるような値qを選択して(ステップS418)、
s[k] ← q
のように記憶部301の更新を行う(ステップS419)。
Therefore, the update unit 305 of the server apparatus 201 estimates when the value is assumed to be the candidate value r from among the time p and the candidates v [1], v [2],..., V [M]. A value q that maximizes the minimum value estimated by the unit 304 is selected (step S418);
s [k] ← q
As described above, the storage unit 301 is updated (step S419).

そして、受信されたサーバ宛情報をゲームの進行状況に反映させ(ステップS420)、ステップS402に戻る。   Then, the received server address information is reflected in the progress of the game (step S420), and the process returns to step S402.

このように、本発明では、過去の送受の状況、特に送受間隔に基づいて、未来の送受ができるだけ衝突しないようにすることで、サーバ装置201における計算処理の負担や通信負荷を低減して、効率の良い処理を行うことができるようになる。   Thus, in the present invention, based on past transmission / reception conditions, in particular, transmission / reception intervals, by preventing future transmission / reception as much as possible, the calculation processing load and communication load in the server apparatus 201 are reduced, Efficient processing can be performed.

なお、最急降下法や擬似焼きなまし法等を用いて、送信予定時刻と受信予定時刻の間隔の統計的分布における分散・標準偏差を最小化するような最適な配置を求めることも可能である。   It is also possible to obtain an optimum arrangement that minimizes the variance / standard deviation in the statistical distribution of the interval between the scheduled transmission time and the scheduled reception time by using the steepest descent method, the simulated annealing method, or the like.

しかしながら、通信状況の揺れを考慮すると、本実施形態のように、簡易な計算によって送信予定時刻を調整するのであっても、十分な場合が多いと考えられる。   However, in consideration of fluctuations in the communication status, it is considered that there are many cases where the scheduled transmission time is adjusted by simple calculation as in the present embodiment.

このほか、送信用と受信用とで異なるNIC 109を有するようなサーバ装置201では、時刻列のばらつきの均一度合を求める際に、受信予定時刻のみを評価の対象とするような態様を採用しても良い。   In addition, the server apparatus 201 having different NICs 109 for transmission and reception employs a mode in which only the scheduled reception time is subject to evaluation when obtaining the degree of uniformity of the time sequence variation. May be.

また、p,v[1],v[2],…,v[M]のいずれを採用したとしても、時間間隔の最小値が同じである場合には、s[k]として、pをそのまま採用したり、ランダムにいずれかを採用したり、時間間隔の分散や標準偏差が最も小さいものを選択するなど、種々の態様を採用することができる。   Moreover, even if any of p, v [1], v [2], ..., v [M] is adopted, if the minimum value of the time interval is the same, s [k] is used as p. Various modes can be adopted, such as adopting one, randomly adopting one, or selecting one having the smallest time interval variance and standard deviation.

図6は、本実施形態に係る端末装置221の概要構成を示す説明図である。以下、本図を参照して説明する。   FIG. 6 is an explanatory diagram showing a schematic configuration of the terminal device 221 according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

本図に示すように、端末装置221は、受信部601、送信部602を備える。   As shown in the figure, the terminal device 221 includes a receiving unit 601 and a transmitting unit 602.

ここで、受信部601は、サーバ装置201から送信される端末宛情報を受信する。   Here, the receiving unit 601 receives terminal address information transmitted from the server device 201.

一方、送信部602は、端末宛情報が受信部601により受信されるごとに、サーバ装置201へ、サーバ宛情報を送信する。   On the other hand, the transmission unit 602 transmits server address information to the server apparatus 201 every time the terminal address information is received by the reception unit 601.

情報処理装置100により端末装置221が実現される場合には、受信部601および送信部602は、CPU 101の制御の下でNIC 109が動作することによって実現される。   When the terminal device 221 is realized by the information processing apparatus 100, the reception unit 601 and the transmission unit 602 are realized by the NIC 109 operating under the control of the CPU 101.

図7は、端末装置221において通信ゲームが提供される場合のゲーム処理の流れを示すフローチャートである。以下、本図を参照して説明する。   FIG. 7 is a flowchart illustrating a flow of game processing when a communication game is provided in the terminal device 221. Hereinafter, a description will be given with reference to FIG.

本処理は、情報処理装置100において、DVD−ROMドライブ108に装着されたDVD−ROMに記録されたプログラムを、CPU 101がRAM 103に読み出して実行することにより、開始される。   This processing is started when the CPU 101 reads out and executes the program recorded on the DVD-ROM mounted on the DVD-ROM drive 108 in the RAM 103 in the information processing apparatus 100.

すなわち、本処理が開始されると、CPU 101は、RAM 103等の初期化を行って、通信ゲームを開始する準備を行う(ステップS701)。この際に、サーバ装置201との通信の確立等の処理や、ゲーム状態の初期化が行われる。   That is, when this process is started, the CPU 101 initializes the RAM 103 and the like and prepares to start a communication game (step S701). At this time, processing such as establishment of communication with the server device 201 and initialization of the game state are performed.

まず、CPU 101は、コントローラ105の押圧状態を検査してユーザの指示操作を取得し(ステップS702)、当該指示操作をRAM 103に記憶されるゲーム状態に反映させる(ステップS703)。   First, the CPU 101 inspects the pressing state of the controller 105 to acquire a user instruction operation (step S702), and reflects the instruction operation in the game state stored in the RAM 103 (step S703).

ついで、CPU 101は、NIC 109を検査して、サーバ装置201から端末宛情報が到達しているか否かを調べる(ステップS704)。到達していない場合には(ステップS704;No)、ステップS709に進む。到達している場合には(ステップS704;Yes)、これを受信してRAM 103に展開し(ステップS705)、RAM 103に記憶されるゲーム状態に、端末宛情報に指定されている情報を反映させる(ステップS706)。   Next, the CPU 101 checks the NIC 109 to check whether the terminal address information has arrived from the server device 201 (step S704). If not reached (step S704; No), the process proceeds to step S709. If it has been reached (step S704; Yes), it is received and expanded in the RAM 103 (step S705), and the information specified in the terminal addressed information is reflected in the game state stored in the RAM 103. (Step S706).

そして、CPU 101は、RAM 103内に記憶された現在のゲーム状態に基づいて、サーバ装置201に送信すべきサーバ宛情報をRAM 103内に生成し(ステップS707)、NIC 109を制御して、サーバ宛情報をサーバ装置201に送信する(ステップS708)。   Based on the current game state stored in the RAM 103, the CPU 101 generates server address information to be transmitted to the server device 201 in the RAM 103 (step S707), and controls the NIC 109. The server address information is transmitted to the server device 201 (step S708).

ついで、CPU 101は、RAM 103内に記憶された現在のゲーム状態に基づいて、画面に表示すべき画像をRAM 103内に生成し(ステップS709)、垂直同期割込が生じるまで待機する(ステップS710)。   Next, the CPU 101 generates an image to be displayed on the screen in the RAM 103 based on the current game state stored in the RAM 103 (step S709), and waits until a vertical synchronization interrupt occurs (step S709). S710).

なお、この待機中には、ユーザとの対話処理(ステップS702〜S703)や、サーバ装置201との通信処理(ステップS704〜ステップS708)等の処理を、適宜繰り返すこととしても良い。   Note that during this standby, processing such as dialogue processing with the user (steps S702 to S703) and communication processing with the server device 201 (steps S704 to S708) may be repeated as appropriate.

垂直同期割込が生じたら、CPU 101は、画像処理部107を制御して、RAM 103内の画像をモニターに転送して表示し(ステップS711)、ステップS702に戻る。   When the vertical synchronization interrupt occurs, the CPU 101 controls the image processing unit 107 to transfer and display the image in the RAM 103 on the monitor (step S711), and returns to step S702.

なお、コントローラ105の押圧操作割込や、NIC 109への受信割込、垂直同期割込を利用して、対話処理(ステップS702〜S703)、通信処理(ステップS704〜S708)、描画処理(ステップS709〜S711)等の処理を並行に実行することとしても良い。   It should be noted that interaction processing (steps S702 to S703), communication processing (steps S704 to S708), drawing processing (steps) using the pressing operation interrupt of the controller 105, the reception interrupt to the NIC 109, and the vertical synchronization interrupt. Processing such as S709 to S711) may be executed in parallel.

上記のような構成を採用すると、端末装置221がサーバ装置201から端末宛情報を受信してから、サーバ装置201へサーバ宛情報を送信するまでの時間は、ほぼ一定となる。このため、サーバ装置201では、端末装置221との間の通信路の遅延時間を、適切に推定することができるようになる。   When the configuration as described above is employed, the time from when the terminal device 221 receives the terminal address information from the server device 201 to when the server device 201 transmits the server address information becomes substantially constant. For this reason, the server apparatus 201 can appropriately estimate the delay time of the communication path with the terminal apparatus 221.

本発明によれば、サーバ装置と複数の端末装置との間で、効率よく通信を行うのに好適なサーバ装置、通信システム、サービス方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができる。   According to the present invention, a server device, a communication system, a service method, and a program for realizing these on a computer are provided that are suitable for efficient communication between the server device and a plurality of terminal devices. can do.

100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 サーバ装置
221 端末装置
241 インターネット
301 記憶部
302 送信部
303 受信部
304 推定部
305 更新部
601 受信部
602 送信部
100 Information processing apparatus 101 CPU
102 ROM
103 RAM
104 Interface 105 Controller 106 External Memory 107 Image Processing Unit 108 DVD-ROM Drive 109 NIC
DESCRIPTION OF SYMBOLS 110 Audio | voice processing part 111 Microphone 201 Server apparatus 221 Terminal device 241 Internet 301 Storage part 302 Transmission part 303 Reception part 304 Estimation part 305 Update part 601 Reception part 602 Transmission part

Claims (8)

複数の端末装置のそれぞれと情報の送受を行うサーバ装置であって、
前記複数の端末装置のそれぞれと情報を送受した時刻の履歴と、当該複数の端末装置のそれぞれに対応付けられる送信予定時刻と、が、記憶される記憶部、
現在時刻が前記複数の送信予定時刻のいずれかになると、当該送信予定時刻に対応付けられる端末装置へ端末宛情報を送信する送信部、
前記複数の端末装置のうち、前記端末宛情報を受信した端末装置から送信された、当該端末宛情報に対応付けられるサーバ宛情報を受信する受信部、
前記記憶された履歴と、前記記憶された複数の送信予定時刻のそれぞれと、から、当該送信予定時刻における端末宛情報の送信に対応付けられるサーバ宛情報が前記受信部により受信される受信予定時刻を推定する推定部、
前記記憶された複数の送信予定時刻と、当該複数の送信予定時刻に対して前記推定部により推定される複数の受信予定時刻と、が、重ならないように、当該送信予定時刻を更新する更新部
を備えることを特徴とするサーバ装置。
A server device that transmits and receives information to and from each of a plurality of terminal devices,
A storage unit that stores a history of times when information is transmitted to and received from each of the plurality of terminal devices, and a scheduled transmission time associated with each of the plurality of terminal devices.
When the current time is one of the plurality of scheduled transmission times, a transmission unit that transmits terminal address information to the terminal device associated with the scheduled transmission time,
A receiving unit that receives server address information associated with the terminal address information transmitted from the terminal apparatus that has received the terminal address information among the plurality of terminal devices;
From the stored history and each of the stored plurality of scheduled transmission times, the server reception information associated with the transmission of the terminal addressed information at the scheduled transmission time is received by the receiving unit. An estimation unit for estimating
An updating unit that updates the scheduled transmission time so that the plurality of stored scheduled transmission times and the plurality of scheduled reception times estimated by the estimation unit with respect to the plurality of scheduled transmission times do not overlap. A server device comprising:
請求項1に記載のサーバ装置であって、
前記サーバ装置は、前記複数の端末装置R[1],R[2],…,R[N]のそれぞれと、所定時間Tに1回、間欠的に情報の送受を行い、
前記記憶部には、整数i = 1,2,…,Nのそれぞれについて、前記端末装置R[i]に最後に端末宛情報を送信した後に当該送信に呼応した当該端末装置R[i]から最後にサーバ宛情報が受信されるまでの送受間隔m[i]が、前記時刻の履歴として記憶され、当該端末装置R[i]に次に端末宛情報を送信すべき送信予定時刻s[i]が、記憶され、
前記送信部は、整数j = 1,2,…,Nのそれぞれについて、現在時刻が前記送信予定時刻s[j]になると、前記端末装置R[j]へ端末宛情報を送信し、
前記受信部は、整数k = 1,2,…,Nのそれぞれについて、前記端末装置R[k]から送信されたサーバ宛情報を受信し、
前記更新部は、前記端末装置R[k]から送信されたサーバ宛情報が受信されると、現在時刻と前記送信予定時刻s[k]との差により、前記送受間隔m[k]を更新し、
前記推定部は、前記送受間隔m[k]が更新された後、前記送信予定時刻s[k]の候補値として値rが与えられると、前記送信予定時刻
s[1], s[2],…, s[k-1],r, s[k+1],…, s[N]
のそれぞれに送信される端末宛情報に対応付けられるサーバ宛情報を受信する受信予定時刻を
s[1]+m[1], s[2]+m[2],…, s[k-1]+m[k-1],r+m[k], s[k+1]+m[k+1],…, s[N]+m[2]
と推定し、
前記更新部は、前記送信予定時刻s[k]の現在の値に前記所定時間Tを加算した時刻pを取得し、当該取得された時刻pを前記所定時間Tで割った結果の切捨てfloor(p/T)に対して定められる時刻floor(p/T)×Tから時刻〔floor(p/T)+1〕×Tまでの間の、いずれかの時刻から、前記送信予定時刻s[k]の次の値qを選択し、前記選択された次の値qにより、前記送信予定時刻s[k]を更新し、
を備え、
前記更新部は、
(1)前記推定部に前記送信予定時刻s[k]の候補値として当該値pを与えた場合の送信予定時刻
s[1], s[2],…, s[k-1], p, s[k+1],…, s[N]
ならびに受信予定時刻
s[1]+m[1], s[2]+m[2],…, s[k-1]+m[k-1], p+m[k], s[k+1]+m[k+1],…, s[N]+m[2]
を整列した時刻列における各時刻の間隔の最小値と、
(2)前記推定部に前記送信予定時刻s[k]の候補値として当該次の値qを与えた場合の送信予定時刻
s[1], s[2],…, s[k-1], q, s[k+1],…, s[N]
ならびに
s[1]+m[1], s[2]+m[2],…, s[k-1]+m[k-1], q+m[k], s[k+1]+m[k+1],…, s[N]+m[2]
を整列した時刻列における各時刻の間隔の最小値と、
を対比して、上記(2)の間隔の最小値が、上記(1)の間隔の最小値以上となるように、
当該次の値qを選択する
ことを特徴とするサーバ装置。
The server device according to claim 1,
The server device intermittently exchanges information with each of the plurality of terminal devices R [1], R [2],..., R [N] once at a predetermined time T,
In the storage unit, for each of the integers i = 1, 2,..., N, the terminal device R [i] responding to the transmission after the terminal address information was last transmitted to the terminal device R [i]. The transmission / reception interval m [i] until the server address information is finally received is stored as a history of the time, and the scheduled transmission time s [i] at which the terminal address information is to be transmitted next to the terminal device R [i]. Is remembered,
For each of the integers j = 1, 2,..., N, when the current time is the scheduled transmission time s [j], the transmission unit transmits terminal address information to the terminal device R [j],
The receiving unit receives the server address information transmitted from the terminal device R [k] for each of the integers k = 1, 2,..., N,
When the server address information transmitted from the terminal device R [k] is received, the updating unit updates the transmission / reception interval m [k] based on a difference between a current time and the scheduled transmission time s [k]. And
After the transmission / reception interval m [k] has been updated, the estimation unit is provided with a value r as a candidate value for the scheduled transmission time s [k], and the estimated transmission time
s [1], s [2], ..., s [k-1], r, s [k + 1], ..., s [N]
The scheduled reception time for receiving the server address information associated with the terminal address information transmitted to each of the
s [1] + m [1], s [2] + m [2], ..., s [k-1] + m [k-1], r + m [k], s [k + 1] + m [k + 1],…, s [N] + m [2]
And
The update unit obtains a time p obtained by adding the predetermined time T to the current value of the scheduled transmission time s [k], and a truncated floor ( p / T) is determined from any time between time floor (p / T) × T and time [floor (p / T) +1] × T, and the scheduled transmission time s [k ] Next value q, and update the scheduled transmission time s [k] with the selected next value q,
With
The update unit
(1) Scheduled transmission time when the estimation unit is given the value p as a candidate value for the scheduled transmission time s [k]
s [1], s [2], ..., s [k-1], p, s [k + 1], ..., s [N]
And scheduled reception time
s [1] + m [1], s [2] + m [2], ..., s [k-1] + m [k-1], p + m [k], s [k + 1] + m [k + 1],…, s [N] + m [2]
Minimum value of each time interval in the time sequence in which
(2) Scheduled transmission time when the estimation unit is given the next value q as a candidate value of the scheduled transmission time s [k].
s [1], s [2], ..., s [k-1], q, s [k + 1], ..., s [N]
And
s [1] + m [1], s [2] + m [2], ..., s [k-1] + m [k-1], q + m [k], s [k + 1] + m [k + 1],…, s [N] + m [2]
Minimum value of each time interval in the time sequence in which
In contrast, the minimum value of the interval (2) is equal to or greater than the minimum value of the interval (1).
The server device, wherein the next value q is selected.
請求項2に記載のサーバ装置であって、
前記更新部は、前記時刻floor(p/T)×Tから前記時刻〔floor(p/T)+1〕×Tまでの間から、前記次の値qの候補を複数選択し、当該候補ならびに前記値pのそれぞれに対する前記間隔の最小値を求め、当該最小値が最大である値を、前記次の値qとして選択する
ことを特徴とするサーバ装置。
The server device according to claim 2,
The update unit selects a plurality of candidates for the next value q from the time floor (p / T) × T to the time [floor (p / T) +1] × T, and the candidate and The server apparatus, wherein a minimum value of the interval for each of the values p is obtained, and a value having the maximum minimum value is selected as the next value q.
請求項3に記載のサーバ装置であって、
前記更新部は、前記時刻floor(p/T)×Tから前記時刻〔floor(p/T)+1〕×Tまでの間を所定の間隔で区切る時刻のそれぞれを、前記次の値qの候補として選択する
ことを特徴とするサーバ装置。
The server device according to claim 3,
The updating unit sets each of the time intervals between the time floor (p / T) × T and the time [floor (p / T) +1] × T at a predetermined interval to the next value q. A server device that is selected as a candidate.
請求項3に記載のサーバ装置であって、
前記更新部は、前記時刻floor(p/T)×Tから前記時刻〔floor(p/T)+1〕×Tまでの間から、前記次の値qの候補をランダムに複数選択する
ことを特徴とするサーバ装置。
The server device according to claim 3,
The update unit randomly selects a plurality of candidates for the next value q from the time floor (p / T) × T to the time [floor (p / T) +1] × T. A server device as a feature.
複数の端末装置と、サーバ装置と、を備える通信システムであって、
(a)前記サーバ装置は、
前記複数の端末装置のそれぞれと情報を送受した時刻の履歴と、当該複数の端末装置のそれぞれに対応付けられる送信予定時刻と、が、記憶される記憶部、
現在時刻が前記複数の送信予定時刻のいずれかになると、当該送信予定時刻に対応付けられる端末装置へ端末宛情報を送信するサーバ側送信部、
前記複数の端末装置のうち、前記端末宛情報を受信した端末装置から送信された、当該端末宛情報に対応付けられるサーバ宛情報を受信するサーバ側受信部、
前記記憶された履歴と、前記記憶された複数の送信予定時刻のそれぞれと、から、当該送信予定時刻における端末宛情報の送信に対応付けられるサーバ宛情報が前記受信部により受信される受信予定時刻を推定する推定部、
前記記憶された複数の送信予定時刻と、当該複数の送信予定時刻に対して前記推定部により推定される複数の受信予定時刻と、が、重ならないように、当該送信予定時刻を更新する更新部
を備え、
(b)前記端末装置は、
前記サーバ装置から送信された端末宛情報を受信する端末側受信部、
前記端末宛情報を受信するごとに、前記サーバ装置へ、サーバ宛情報を送信する端末側送信部
を備える
ことを特徴とする通信システム。
A communication system comprising a plurality of terminal devices and a server device,
(A) The server device
A storage unit that stores a history of times when information is transmitted to and received from each of the plurality of terminal devices, and a scheduled transmission time associated with each of the plurality of terminal devices.
When the current time is one of the plurality of scheduled transmission times, a server-side transmission unit that transmits terminal address information to the terminal device associated with the scheduled transmission time,
Among the plurality of terminal devices, a server-side receiving unit that receives server address information associated with the terminal address information transmitted from the terminal device that has received the terminal address information,
From the stored history and each of the stored plurality of scheduled transmission times, the server reception information associated with the transmission of the terminal addressed information at the scheduled transmission time is received by the receiving unit. An estimation unit for estimating
An updating unit that updates the scheduled transmission time so that the plurality of stored scheduled transmission times and the plurality of scheduled reception times estimated by the estimation unit with respect to the plurality of scheduled transmission times do not overlap. With
(B) The terminal device
A terminal-side receiving unit that receives terminal-addressed information transmitted from the server device;
A communication system comprising: a terminal-side transmission unit that transmits server address information to the server device each time the terminal address information is received.
複数の端末装置のそれぞれと情報の送受を行うサーバ装置が実行するサービス方法であって、前記サーバ装置は、記憶部、送信部、受信部、推定部、更新部を備え、前記記憶部には、前記複数の端末装置のそれぞれと情報を送受した時刻の履歴と、当該複数の端末装置のそれぞれに対応付けられる送信予定時刻と、が、記憶され、
前記送信部が、現在時刻が前記複数の送信予定時刻のいずれかになると、当該送信予定時刻に対応付けられる端末装置へ端末宛情報を送信する送信工程、
前記受信部が、前記複数の端末装置のうち、前記端末宛情報を受信した端末装置から送信された、当該端末宛情報に対応付けられるサーバ宛情報を受信する受信工程、
前記推定部が、前記記憶された履歴と、前記記憶された複数の送信予定時刻のそれぞれと、から、当該送信予定時刻における端末宛情報の送信に対応付けられるサーバ宛情報が前記受信部により受信される受信予定時刻を推定する推定工程、
前記更新部が、前記記憶された複数の送信予定時刻と、当該複数の送信予定時刻に対して前記推定部により推定される複数の受信予定時刻と、が、重ならないように、当該送信予定時刻を更新する更新工程
を備えることを特徴とするサービス方法。
A service method executed by a server device that transmits / receives information to / from each of a plurality of terminal devices, wherein the server device includes a storage unit, a transmission unit, a reception unit, an estimation unit, and an update unit, and the storage unit includes , A history of times when information is transmitted / received to / from each of the plurality of terminal devices, and a scheduled transmission time associated with each of the plurality of terminal devices are stored,
When the current time is one of the plurality of scheduled transmission times, the transmitting unit transmits terminal address information to the terminal device associated with the scheduled transmission time,
A receiving step in which the receiving unit receives server address information associated with the terminal address information transmitted from the terminal device that has received the terminal address information among the plurality of terminal devices;
The estimation unit receives, from the stored history and each of the stored plurality of scheduled transmission times, server address information associated with transmission of terminal address information at the scheduled transmission time by the reception unit. An estimation process for estimating a scheduled reception time,
The scheduled transmission time so that the updating unit does not overlap the plurality of stored transmission scheduled times and the plurality of scheduled reception times estimated by the estimation unit with respect to the plurality of scheduled transmission times. A service method comprising: an update step of updating
コンピュータに、複数の端末装置のそれぞれと情報の送受を行わせるプログラムであって、前記プログラムは、前記コンピュータを、
前記複数の端末装置のそれぞれと情報を送受した時刻の履歴と、当該複数の端末装置のそれぞれに対応付けられる送信予定時刻と、が、記憶される記憶部、
現在時刻が前記複数の送信予定時刻のいずれかになると、当該送信予定時刻に対応付けられる端末装置へ端末宛情報を送信する送信部、
前記複数の端末装置のうち、前記端末宛情報を受信した端末装置から送信された、当該端末宛情報に対応付けられるサーバ宛情報を受信する受信部、
前記記憶された履歴と、前記記憶された複数の送信予定時刻のそれぞれと、から、当該送信予定時刻における端末宛情報の送信に対応付けられるサーバ宛情報が前記受信部により受信される受信予定時刻を推定する推定部、
前記記憶された複数の送信予定時刻と、当該複数の送信予定時刻に対して前記推定部により推定される複数の受信予定時刻と、が、重ならないように、当該送信予定時刻を更新する更新部
として機能させることを特徴とするプログラム。
A program for causing a computer to send and receive information to and from each of a plurality of terminal devices, wherein the program
A storage unit that stores a history of times when information is transmitted to and received from each of the plurality of terminal devices, and a scheduled transmission time associated with each of the plurality of terminal devices.
When the current time is one of the plurality of scheduled transmission times, a transmission unit that transmits terminal address information to the terminal device associated with the scheduled transmission time,
A receiving unit that receives server address information associated with the terminal address information transmitted from the terminal apparatus that has received the terminal address information among the plurality of terminal devices;
From the stored history and each of the stored plurality of scheduled transmission times, the server reception information associated with the transmission of the terminal addressed information at the scheduled transmission time is received by the receiving unit. An estimation unit for estimating
An updating unit that updates the scheduled transmission time so that the plurality of stored scheduled transmission times and the plurality of scheduled reception times estimated by the estimation unit with respect to the plurality of scheduled transmission times do not overlap. A program characterized by functioning as
JP2009045443A 2009-02-27 2009-02-27 Server apparatus, communication system, service method, and program Active JP4729112B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009045443A JP4729112B2 (en) 2009-02-27 2009-02-27 Server apparatus, communication system, service method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009045443A JP4729112B2 (en) 2009-02-27 2009-02-27 Server apparatus, communication system, service method, and program

Publications (2)

Publication Number Publication Date
JP2010198542A true JP2010198542A (en) 2010-09-09
JP4729112B2 JP4729112B2 (en) 2011-07-20

Family

ID=42823174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009045443A Active JP4729112B2 (en) 2009-02-27 2009-02-27 Server apparatus, communication system, service method, and program

Country Status (1)

Country Link
JP (1) JP4729112B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012069029A (en) * 2010-09-27 2012-04-05 Hatsuta Seisakusho Co Ltd Disaster prevention facility, communication management device thereof and remote management device for disaster prevention facility

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11298507A (en) * 1998-04-09 1999-10-29 Hitachi Ltd Collision avoidance system
JP2004121420A (en) * 2002-09-30 2004-04-22 Konami Co Ltd Game system, and control method and program for the game system
JP2005269548A (en) * 2004-03-22 2005-09-29 Fujitsu Ltd Optical network system and optical multiplexer/demultiplexer
JP2009016974A (en) * 2007-07-02 2009-01-22 Panasonic Corp Wireless transmitting apparatus and wireless communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11298507A (en) * 1998-04-09 1999-10-29 Hitachi Ltd Collision avoidance system
JP2004121420A (en) * 2002-09-30 2004-04-22 Konami Co Ltd Game system, and control method and program for the game system
JP2005269548A (en) * 2004-03-22 2005-09-29 Fujitsu Ltd Optical network system and optical multiplexer/demultiplexer
JP2009016974A (en) * 2007-07-02 2009-01-22 Panasonic Corp Wireless transmitting apparatus and wireless communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012069029A (en) * 2010-09-27 2012-04-05 Hatsuta Seisakusho Co Ltd Disaster prevention facility, communication management device thereof and remote management device for disaster prevention facility

Also Published As

Publication number Publication date
JP4729112B2 (en) 2011-07-20

Similar Documents

Publication Publication Date Title
US10500505B2 (en) Techniques to interact with an application via messaging
JP4074879B1 (en) GAME DEVICE, MESSAGE DISPLAY METHOD, AND PROGRAM
JP4598018B2 (en) Referral system, referral method, and program
JP5498803B2 (en) GAME DEVICE, GAME CONTROL METHOD, AND PROGRAM
US9044632B2 (en) Information processing apparatus, information processing method and recording medium storing program
JP2017217352A (en) Information processing program, information processing device, information processing system, and information processing method
JP3424822B2 (en) Network game system
JP4343234B2 (en) GAME DEVICE, CHARACTER CONTROL METHOD, AND PROGRAM
JP4729112B2 (en) Server apparatus, communication system, service method, and program
JP2004302231A (en) Advertisement display system, advertisement display device, advertisement display method, and program
JP3916601B2 (en) COMMUNICATION SYSTEM, SERVER DEVICE, TERMINAL, SERVICE METHOD, TERMINAL METHOD, AND PROGRAM
JP4705179B2 (en) TERMINAL DEVICE, TERMINAL DEVICE CONTROL METHOD, AND PROGRAM
JP4778028B2 (en) Introduction system, server device, introduction method, service method, and program
JP5357930B2 (en) Introduction system, server device, introduction method, and program
JP5199292B2 (en) Selection device, selection control method, and program
JP2005157527A (en) Communication system, gateway device, data relay method and program
JP2003290549A (en) Network game system, game device and its program
JP5100593B2 (en) Information processing apparatus, information processing method, and program
JP2013005906A (en) Game system, game system control method, and program
JP2010178782A (en) Moving image generation device, game device, moving image generation method, and program
JP6599936B2 (en) Online game server, online game program, and terminal program
JP4825273B2 (en) GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP6174548B2 (en) Online game server, online game program, and terminal program
JP2023069831A (en) Image generation program, recording medium, and image generation method
JP2009165636A (en) Online game server, online game system, and online game program

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110412

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110415

R150 Certificate of patent or registration of utility model

Ref document number: 4729112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250