JP5211987B2 - 端末装置及びその時刻調整方法 - Google Patents

端末装置及びその時刻調整方法 Download PDF

Info

Publication number
JP5211987B2
JP5211987B2 JP2008249281A JP2008249281A JP5211987B2 JP 5211987 B2 JP5211987 B2 JP 5211987B2 JP 2008249281 A JP2008249281 A JP 2008249281A JP 2008249281 A JP2008249281 A JP 2008249281A JP 5211987 B2 JP5211987 B2 JP 5211987B2
Authority
JP
Japan
Prior art keywords
time
error
terminal device
estimated error
estimated
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.)
Active
Application number
JP2008249281A
Other languages
English (en)
Other versions
JP2010078529A (ja
Inventor
建太郎 牛山
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2008249281A priority Critical patent/JP5211987B2/ja
Priority to US12/585,698 priority patent/US8347197B2/en
Priority to EP20090012234 priority patent/EP2169857B1/en
Priority to AT09012234T priority patent/ATE552662T1/de
Publication of JP2010078529A publication Critical patent/JP2010078529A/ja
Application granted granted Critical
Publication of JP5211987B2 publication Critical patent/JP5211987B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Description

本発明は、端末装置及びその時刻調整方法に関し、さらに詳細には、時刻を計時する計時手段を備え、他の装置から取得した時刻情報に基づいて計時手段を調整する端末装置及びその時刻調整方法に関する。
インターネットなどのネットワークに接続された端末装置(例えば、パーソナルコンピュータ)は、一般に時刻を計時する計時手段を内蔵しており、この計時手段で計時した時刻に基づいて種々の動作を行う。例えば、端末装置にインストールしたアプリケーションのアップデートやログデータの収集などを所定の時刻で行っている。
従って、計時手段が計時する時刻と実際の時刻との誤差が発生した場合には計時手段の時刻調整が必要となる。
ネットワークに接続された端末装置の時刻調整を行う方法として、NTP(Network Time Protocol)が最も一般に用いられている。この方法は、基準時刻を計時するNTPサーバから各端末装置が基準時刻のデータを取得して各端末装置で内部の計時手段を基準時刻に調整するものである(例えば、特許文献1参照)。
特開2004−117231号公報
しかしながら、このように複数の端末装置とサーバとの間で時刻調整のために時刻情報の通信を行うと、サーバにトラフィックが集中して通信負荷がかかってしまう虞がある。
そこで、本発明は、時刻調整機能を有する端末装置においてトラフィック集中を抑制することを目的とする。
そこで、上記課題を解決するために、請求項1に記載の発明は、時刻を計時する計時手段と、前記計時手段による計時時刻と現時刻との間の推定誤差を記憶する推定誤差記憶手段と、他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する時刻情報要求手段と、他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する時刻情報送信手段と、前記時刻情報要求手段で要求した他の端末装置の計時時刻及び推定誤差を受信する時刻情報受信手段と、前記時刻情報受信手段で受信した他の端末装置の推定誤差を含む誤差を更新用推定誤差として演算する推定誤差演算手段と、前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記推定誤差演算手段で演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記時刻情報受信手段で受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する時刻更新手段と、を備え、前記推定誤差演算手段は、前記時刻情報受信手段で受信した推定誤差に前記他の端末装置との間の情報伝搬時間を加算して前記更新用推定誤差を演算するものである。
また、請求項に記載の発明は、請求項に記載の発明において、前記推定誤差演算手段は、前記時刻情報受信手段で受信した推定誤差に前記情報伝搬時間を加算した値にさらに、前記推定誤差記憶手段に推定誤差を最後に記憶したときからの経過時間に応じた経時誤差を加算して前記更新用推定誤差を演算するものである。
また、請求項に記載の発明は、請求項又は請求項に記載の発明において、前記計時手段は、単位時間毎にカウント値をアップさせるカウント手段と、所定タイミングで取得した時刻情報を基準時刻として記憶する基準時刻記憶手段と、前記カウント手段から前記所定タイミングで取得されるカウント値を基準カウント値として記憶する基準カウント値記憶手段と、前記カウント手段によるカウント値から前記基準カウント値を減算し、当該演算結果に前記基準時刻を加算した値を前記計時時刻とする時刻演算手段と、を備え、さらに、前記時刻情報要求手段での要求を行ったときの前記カウント手段のカウント値を第1カウント値として記憶する第1カウント記憶手段と、前記時刻情報受信手段による受信を行ったときの前記カウント手段のカウント値を第2カウント値として記憶する第2カウント記憶手段と、を備え、前記時刻情報送信手段は、他の端末装置からの要求を受信してから当該他の端末装置へ前記計時時刻及び前記推定誤差を送信するまでの経過時間を送信し、前記時刻情報受信手段は、前記時刻情報要求手段で要求した他の端末装置の計時時刻と推定誤差に加えて前記経過時間を受信し、前記推定誤差演算手段は、前記第2カウント値から第1カウント値を減算した値から前記経過時間を減算した後、2で除算することによって、前記情報伝搬時間を算出するものである。
また、請求項に記載の発明は、請求項1〜3のいずれか1項に記載の発明において、前記時刻更新手段は、前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記計時手段による計時時刻と前記時刻情報受信手段で受信した計時時刻の差分に前記推定誤差演算手段で演算した更新用推定誤差を加算した値を、前記推定誤差記憶手段に記憶する推定誤差とするものである。
また、請求項に記載の発明は、計時時刻と現時刻との間の推定誤差を記憶する推定誤差記憶手段を備えたコンピュータを、時刻を計時する計時手段と、他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する時刻情報要求手段と、他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する時刻情報送信手段と、前記時刻情報要求手段で要求した他の端末装置の計時時刻及び推定誤差を受信する時刻情報受信手段と、前記時刻情報受信手段で受信した他の端末装置の推定誤差に前記他の端末装置との間の情報伝搬時間を加算した更新用推定誤差を演算する推定誤差演算手段と、前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記推定誤差演算手段で演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記時刻情報受信手段で受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する時刻更新手段として機能させることを特徴とするプログラムとした。
また、請求項に記載の発明は、複数の端末装置を備え、前記端末装置間でコンテンツ情報の送受信を行う通信システムにおいて、各前記端末装置は、時刻を計時する計時手段と、前記計時手段による計時時刻と現時刻との間の推定誤差を記憶する推定誤差記憶手段と、他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する時刻情報要求手段と、他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する時刻情報送信手段と、前記時刻情報要求手段で要求した他の端末装置の計時時刻及び推定誤差を受信する時刻情報受信手段と、前記時刻情報受信手段で受信した他の端末装置の推定誤差を含む誤差を更新用推定誤差として演算する推定誤差演算手段と、前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記推定誤差演算手段で演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記時刻情報受信手段で受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する時刻更新手段と、を備え、前記推定誤差演算手段は、前記時刻情報受信手段で受信した推定誤差に前記他の端末装置との間の情報伝搬時間を加算して前記更新用推定誤差を演算するものである。
また、請求項に記載の発明は、複数の端末装置を備え、前記端末装置間でコンテンツ情報の送受信を行う通信システムにおける前記端末装置の時刻調整方法であって前記端末装置の計時手段による計時時刻と現時刻との間の推定誤差を推定誤差記憶手段に記憶する第1ステップと、他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する第2ステップと、他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する第3ステップと、前記第2ステップで要求した他の端末装置の計時時刻及び推定誤差を受信する第4ステップと、前記第4ステップで受信した他の端末装置の推定誤差を含む誤差を更新用推定誤差として演算する第5ステップと、前記第5ステップで演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記第5ステップで演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記第4ステップで受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する第6ステップと、を有し、前記第5ステップでは、前記第4ステップで受信した推定誤差に前記他の端末装置との間の情報伝搬時間を加算して前記更新用推定誤差を演算するものである。
本発明によれば、計時手段を有する端末装置において、他の端末装置の計時手段で計時した時刻情報で自装置の計時手段を調整することができるので、サーバ装置へのトラフィック集中が発生せず、ネットワークにおけるトラフィック集中を抑制することができる。
しかも、計時手段による計時時刻と現時刻との間の推定誤差を記憶する推定誤差記憶手段を設けており、他の端末装置の計時時刻及び推定誤差を受信し、この推定誤差を含む誤差を更新用推定誤差として演算する。そして、この更新用推定誤差が自装置の推定誤差記憶手段に記憶した推定誤差よりも小さいとき、推定誤差記憶手段に記憶する推定誤差を更新用推定誤差により更新し、受信した他の端末装置の計時時刻に応じて計時手段の計時時刻を調整する。従って、自装置の計時手段による計時時刻の精度の低下を抑制しつつ時刻調整が可能となる。
また、調整前後の計時手段の計時時刻の差を推定誤差に反映することにより、この差が大きい場合に調整後の推定誤差を大きくすることができる。このようにすることで、悪意のある者がその者が有する端末装置の計時時刻を故意にずらしつつも、推定誤差を小さく設定した場合の影響を抑制することができる。すなわち、このような悪意のある者の端末装置の計時時刻で計時手段を調整してしまったとしても推定誤差が大きくなるので、次の時刻調整処理で計時手段の調整が行われる確率を高くすることができ、計時時刻がずれた状態を短期間に解消することができる。
以下、本発明の通信システム及びその端末装置に係るいくつかの実施形態について図面を参照して説明する。各実施形態に係る通信システムは、時刻を計時する計時手段を有する端末装置を複数備え、各端末装置が他の端末装置の計時手段で計時した計時時刻で自装置の計時手段を調整することができるものである。
[1.第1実施形態]
[1.1.通信システムの概要]
まず、本発明の第1実施形態に係る通信システムの概要について説明する。図1は第1実施形態に係る通信システムの概略構成を示す図、図2は第1実施形態に係る通信システムの端末装置の概略構成を示す図、図3及び図4は第1実施形態に係る端末装置の時刻調整の概要を説明するための図である。
図1に示すように、本実施形態に係る通信システムSは、複数の端末装置1a,1b,1c,1d,1e,1fを備えており、これらの端末装置1a,1b,1c,1d,1e,1fはインターネットなどのネットワーク2を介して互いに通信可能に接続されている。また、これらの端末装置1a,1b,1c,1d,1e,1fには複数のコンテンツ情報(例えば、音楽データ、映画データ、文書データ)が分散して配置されており、端末装置1a,1b,1c,1d,1e,1f間でコンテンツ情報の送受信を行うことができるように構成される。すなわち、通信システムSは、P2P(ピアツーピア)型の通信システムである。なお、以下の説明において、端末装置1a,1b,1c,1d,1e,1fのうち何れかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置1という。
本実施形態に係る端末装置1は、図2に示すように、時刻を計時する計時手段10と、この計時手段10の計時時刻を調整する時刻更新手段11とを備えている。
さらに、端末装置1は、他の端末装置1に対して計時時刻等の送信を要求する時刻情報要求手段12と、この時刻情報要求手段12による要求に応じて他の端末装置1から送信される計時時刻等を受信する時刻情報受信手段13と、他の端末装置1からの要求に応じて計時手段10による計時時刻等を要求元の他の端末装置1へ送信する時刻情報送信手段14と、を備えている。
そして、時刻更新手段11は、時刻情報受信手段13で受信した他の端末装置1の計時時刻に基づいて計時手段10の計時時刻を調整するようにしている。
このように、各端末装置1は、他の端末装置1の計時手段10で計時した時刻情報で自装置の計時手段10を調整することから、サーバ装置から各端末装置が基準時刻を取得する場合に比べて、ネットワーク2におけるトラフィック集中を抑制することができるという効果を有している。
ここで、例えば、図3に示すように、端末装置1bが端末装置1aから計時時刻を取得して自装置の計時手段10を調整し、その後、端末装置1cが端末装置1bから計時時刻を取得して自装置の計時手段10を調整し、さらにその後、端末装置1dが端末装置1cから計時時刻を取得して自装置の計時手段10を調整する場合を考える。なお、本実施形態における通信システムSでは、現時刻との誤差がない時刻を計時する計時手段を備えた基準端末装置として、少なくとも一つの端末装置1を配置している。図3に示す例では、端末装置1aを基準端末装置としている。
端末装置1bが端末装置1aから計時時刻を取得するとき、端末装置1a,1b間の送受信処理やネットワーク2での伝搬などによってロス時間(以下、「情報伝搬時間」と呼ぶ。)が生じる。そのため、端末装置1bが端末装置1aから計時時刻を取得したときには、この計時時刻は現時刻との間に誤差が生じてしまう。このように誤差が生じた計時時刻は端末装置1cで取得されたときには、端末装置1b,1c間での情報伝搬時間によってその誤差が増加する。さらに、この計時時刻が端末装置1dで取得されたときには、端末装置1c,1d間での情報伝搬時間によってさらにその誤差が増加する。
このように、端末装置1において、基準端末装置の計時時刻を他の端末装置1を介して取得するとき、介在する他の端末装置1が多ければ多いほど、基準端末装置から取得した計時時刻と現時刻との間に誤差が増大することになる。
そこで、本実施形態における各端末装置1は、現時刻との間の誤差が小さいと推定される計時時刻を有する他の端末装置1から計時時刻を取得するようにして、計時時刻の誤差の増大を抑制するようにしている。
現時刻との間の誤差が小さいと推定される時刻を計時する他の端末装置1を判別するために、各端末装置1は、推定誤差記憶手段15と推定誤差演算手段16を備えている。
推定誤差記憶手段15は、計時手段10による計時時刻と現時刻との間の推定誤差を記憶する記憶手段である。この推定誤差は、他の端末装置1から計時時刻を取得する際等に推定誤差演算手段16により演算されるものであり、計時手段の計時時刻と現時刻との間の誤差を推定したものである。
ここで、各端末装置1による時刻調整は、次のように行われる。
まず、時刻情報要求手段12が、他の端末装置1に対して当該他の端末装置1における計時時刻と推定誤差とをネットワーク2を介して要求する。この要求は、時刻情報要求手段12が定期的(例えば、1時間間隔)又はランダムに行うものである。また、時刻情報要求手段12は、要求先の他の端末装置1は所在情報(例えば、IPアドレス)を知っている他の端末装置1から所定の規則又はランダムに選択する。
そして、この要求をネットワーク2を介して受信した他の端末装置1は、計時手段10による計時時刻と推定誤差記憶手段15に記憶されている推定誤差とを要求元の端末装置1へネットワーク2を介して送信する。
次に、時刻情報受信手段13が、時刻情報要求手段12で要求した他の端末装置1からこの他の端末装置1の計時時刻及び推定誤差をネットワーク2を介して受信する。
そして、推定誤差演算手段16は、時刻情報受信手段13で受信した他の端末装置1の推定誤差を含む誤差を更新用推定誤差として演算する。このとき、推定誤差演算手段16は、時刻情報受信手段13で受信した推定誤差に他の端末装置1との間の情報伝搬時間を加算して更新用推定誤差を演算する。このように更新用推定誤差を演算するのは、時刻情報受信手段13で受信した他の端末装置1の計時時刻が、当該他の端末装置1の推定誤差に加え、情報伝搬時間分だけ誤差としてずれてしまうからである。
推定誤差演算手段16は、情報伝搬時間の演算を、時刻情報要求手段12で計時時刻を他の端末装置1へ要求してから時刻情報受信手段13で計時時刻を受信するまでの時間を判定し、この時間を2で除算することによって行っている。なお、時刻情報要求手段12で計時時刻を他の端末装置1へ要求してから時刻情報受信手段13で計時時刻を受信するまでの時間を判定し、この時間を2で除算することによって情報伝搬時間の演算を行うようにしてもよい。
次に、時刻更新手段11は、推定誤差演算手段16で演算した更新用推定誤差が推定誤差記憶手段15に記憶した推定誤差よりも小さいか否かを判定する。
そして、更新用推定誤差が推定誤差記憶手段15に記憶した推定誤差よりも小さいと判定すると、時刻更新手段11は、推定誤差演算手段16で演算した更新用推定誤差を推定誤差記憶手段15に記憶して当該推定誤差記憶手段15に記憶する推定誤差を更新する。さらに、時刻更新手段11は、時刻情報受信手段13で受信した他の端末装置1の計時時刻に応じて計時手段10の計時時刻を調整する。例えば、図4(a)に示すように、基準端末装置である端末装置1aの推定誤差(=0)に情報伝搬時間を加算した更新用推定誤差が端末装置1bの推定誤差(=δA)よりも小さい場合、端末装置1bは、計時手段10の計時時刻を端末装置1aから取得した計時時刻に調整する。
なお、「更新用推定誤差が推定誤差記憶手段15に記憶した推定誤差よりも小さい」か否かの判断は、更新用推定誤差が厳密に推定誤差よりも小さい場合に限らず、例えば、更新用推定誤差が推定誤差よりもわずかに大きい場合にも「更新用推定誤差が推定誤差記憶手段15に記憶した推定誤差よりも小さい」と判断するように設定してもよく、或いは更新用推定誤差が推定誤差よりも一定以上小さい場合に「更新用推定誤差が推定誤差記憶手段15に記憶した推定誤差よりも小さい」と判断するように設定してもよい。
一方、更新用推定誤差が推定誤差記憶手段15に記憶した推定誤差以上であると判定すると、時刻更新手段11は、推定誤差記憶手段15の更新や計時手段の調整を行わない。例えば、図4(b)に示すように、端末装置1dの推定誤差(=δC)に情報伝搬時間を加算した更新用推定誤差が端末装置1cの推定誤差(=δB)以上の場合、端末装置1cは、計時手段10の計時時刻の調整は行わない。
このように、本実施形態における端末装置1は、他の端末装置1から取得した計時時刻に対する推定誤差(他の端末装置1から取得した推定誤差に情報伝搬時間を加算した誤差)が自装置の計時時刻に対する推定誤差以上のときには、計時手段10の計時時刻の調整を行わないようにしている。
結果として、更新用推定誤差が推定誤差記憶手段15に記憶した推定誤差よりも小さくなるように計時手段10の計時時刻の調整が行われることになり、端末装置1において計時手段10による計時時刻の精度の低下を抑制しつつ時刻調整が可能となる。
[1.2.端末装置の具体的構成及び動作]
次に、第1実施形態に係る通信システムSの端末装置1の具体的構成及び動作の一例について図面を参照して説明する。
(端末装置1の具体的構成について)
まず、端末装置1の構成について説明する。図5は、第1実施形態の通信システムSの端末装置1の具体的構成を示す図である。
端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図5に示すように、周辺機器制御チップ22、キーボード23、マウス24、ビデオチップ25、ディスプレイ26、音源チップ27、スピーカ28、記憶部29、通信部30、CPU(Central Processing Unit)31などから構成される。なお、周辺機器制御チップ22、ビデオチップ25、音源チップ27、記憶部29、通信部30、CPU31、カウント手段32は、システムバス33を介して相互に接続される。
周辺機器制御チップ22は、キーボード23やマウス24に対して利用者が入力操作した情報をCPU31に通知する機能を有している。また、ビデオチップ25は、記憶部29に記憶したコンテンツ情報などを画像信号としてディスプレイ26へ出力し、コンテンツ情報に応じた画像をディスプレイ26に表示する機能を有している。また、音源チップ27は、記憶部29に記憶したコンテンツ情報などを音声信号としてスピーカ28へ出力し、コンテンツ情報に応じた音声をスピーカ28に表示する機能を有している。
記憶部29は、各種情報を記憶する書き換え可能なメモリであり、例えばハードディスクドライブなどで構成される。この記憶部29には、コンテンツ情報を記憶する記憶領域40、OS(Operating System)プログラムを記憶する記憶領域41、情報処理プログラムを記憶する記憶領域42などが設けられる。さらに、記憶部29には、推定誤差(基準誤差)、基準時刻、基準カウント値、送信時カウント値、受信時カウント値などの時刻調整用データを記憶する記憶領域43などが設けられ、推定誤差記憶手段、基準時刻記憶手段、基準カウント値記憶手段、送信時カウント値記憶手段、受信時カウント値記憶手段などとして機能する。
通信部30は、ネットワーク2に接続するためのインターフェイスであり、この通信部30からネットワーク2を介して他の端末装置1へ情報を送信することができ、また、他の端末装置1から送信される情報をネットワーク2を介して通信部30で受信することができる。
CPU31は、記憶部29の記憶領域42に記憶している情報処理プログラムを読み出して実行することにより、時刻情報要求手段、時刻情報送信手段、時刻情報受信手段、推定誤差演算手段、時刻更新手段、計時手段などとして機能する。
なお、この情報処理プログラムは、例えば、ネットワーク2に接続されたサーバ(図示せず)から、通信部30を介して、記憶部29にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、記憶部29に読み込まれるようにしてもよい。
カウント手段32は、単位時間(例えば、1ms)当たり1ずつカウント値をインクリメントするタイマである。なお、このカウント手段32はCPU31がOSプログラムを実行することにより実現するようにしてもよい。
ここで、記憶部29、CPU31及びカウント手段32により上述した計時手段が構成され、計時時刻Now(self)が計時される。この計時手段の計時処理は、CPU31が時刻演算手段として以下の式(1)の演算により行う。
Now(self)=Tb+(Cx―Cb) ・・・(1)
上記(1)の演算に際し、CPU31は、OSプログラムで計時している時刻を取得し、この時刻を基準時刻Tbとして記憶部29に記憶する。また、CPU31は、OSプログラムで計時したタイミングでカウント手段32から取得されるカウント値Cを基準カウント値Cbとして記憶部29に記憶する。そして、CPU31は、カウント手段32による現在のカウント値Cxから基準カウント値Cbを減算し、当該演算結果を記憶部29に記憶した基準時刻Tbに加算した値を計時時刻Now(self)とする。
(端末装置1の具体的動作について)
以上のように構成された端末装置1の動作を図面を参照して具体的に説明する。図6は第1実施形態に係る端末装置1のメイン処理フローチャートである。なお、以下の各処理は、端末装置1のCPU31が上述した各手段等として機能することによって実行されるものである。ここでは、特徴的な部分の動作を主として説明しており、一部の動作内容(例えば、コンテンツ情報の受信・再生動作など)は省略している。
図6に示すように、端末装置1においてメイン電源スイッチ(図示せず)がONされたときやリセットスイッチ(図示せず)が操作されたとき、CPU31は、初期化処理を行う。この初期化処理において、CPU31は、記憶部29に記憶したOSプログラムを実行してOSを起動した後、情報処理プログラムを実行状態として、制御部としての機能を動作状態とし(ステップS1)、時刻設定を行うと共に、通信システムSへ参加してステップS2に処理を移行する。通信システムSへの参加により端末装置1は他の端末装置1との間でコンテンツ情報を送受信することができる。
ここで、CPU31による時刻設定は、基準カウント値Cb、基準時刻Tb,基準誤差Ebを記憶部29に設定することによって行われる。具体的には、CPU31は、カウント手段32が現在計時している時刻を基準カウント値Cbとして記憶部29に記憶する。同時に、CPU31は、OSで計時している時刻を取得し、基準時刻Tbとして記憶部29に記憶する。さらに、CPU31は、予め記憶部29に設定されている基準誤差の最大値Emaxを基準誤差Ebとして記憶部29に記憶する。なお、この時刻設定は、すでに、記憶部29に基準カウント値Cb、基準時刻Tb及び基準誤差Ebが記憶されているときには、実行されない。なお、時刻の取得先は、OSとせずに、通信部30を介して外部のサーバ装置(例えば、NTPサーバ装置)などから取得するようにしてもよい。
次に、CPU31は、時刻調整の契機になっているか否かを判定する(ステップS2)。時刻調整の契機は、定期的(例えば、1時間に1回)に発生させることにより、定期的に時刻調整が可能となる。なお、時刻調整の契機をランダムに発生させるようにすることもできる。
この処理において、時刻調整の契機になっていると判定すると(ステップS2:Yes)、CPU31は、時刻調整処理を行う(ステップS3)。この時刻調整処理は、図7に示すステップS10〜S16の処理であり、後で詳述する。
一方、時刻調整の契機になっていないと判定すると(ステップS2:No)、CPU31は、他の端末装置1からネットワーク2及び通信部30を介して時刻要求メッセージを受信したか否かを判定する(ステップS4)。
この処理において、他の端末装置1から時刻要求メッセージを受信したと判定すると(ステップS4:Yes)、CPU31は、時刻情報送信処理を行う(ステップS5)。この時刻情報送信処理は、図8に示すステップS20〜S21の処理であり、後で詳述する。
一方、他の端末装置1から時刻要求メッセージを受信していないと判定すると(ステップS4:No)、CPU31は、その他の処理要求があるか否かを判定する(ステップS6)。この処理において、その他の処理要求があると判定すると(ステップS6:Yes)、CPU31は、当該要求に応じた処理を行う(ステップS7)。
ステップS3,S5,S7の処理が終了したとき、又はその他の処理要求がないと判定したとき(ステップS6:No)、CPU31は、終了指示を検知したか否かを判定する(ステップS8)。例えば、自端末装置1の電源がOFF状態へ移行したとき、CPU31は、終了指示を検知する。
ステップS8において、終了指示を検知したと判定すると(ステップS8:Yes)、CPU31は、メイン処理を終了し、一方、終了指示を検知していないと判定すると(ステップS8:No)、CPU31は、ステップS2からの処理を繰り返す。
次に、ステップS3の時刻調整処理について図7のフローチャートを参照して具体的に説明する。図7は第1実施形態に係る端末装置1における時刻調整処理のフローチャートである。
図7に示すように、時刻調整処理を開始すると、CPU31は、計時時刻と推定誤差を要求する時刻要求メッセージを通信部30及びネットワーク2を介して他の端末装置1(以下、「端末装置1A」と呼ぶ。)へ送信する。また、CPU31は、時刻要求メッセージを送信した時のカウント手段32のカウント値(Tick数)を送信時カウント値Cs(第1カウント値の一例)として記憶部29(第1カウント記憶手段の一例)に記憶する(ステップS10)。時刻要求メッセージの送信先である端末装置1Aは、複数の端末装置1の中からCPU31によりランダムに選択される。このように、CPU31は、他の端末装置1に対して当該他の端末装置1における計時時刻と推定誤差を要求する時刻情報要求手段として機能する。
次に、CPU31は、ステップS10の処理終了後所定期間内に、時刻要求メッセージに対する返答メッセージを端末装置1Aから通信部30及びネットワーク2を介して受信したか否かを判定する(ステップS11)。このとき、CPU31は、時刻要求メッセージに対する返答メッセージを端末装置1Aから通信部30及びネットワーク2を介して受信する時刻情報受信手段として機能する。
この処理において、返答メッセージを端末装置1Aから受信したと判定すると(ステップS11:Yes)、CPU31は、返答メッセージを受信した時のカウント手段32のカウント値を受信時カウント値Cr(第2カウント値の一例)として記憶部29(第2カウント記憶手段の一例)に記憶する(ステップS12)。
さらに、CPU31は、受信した返答メッセージに含まれる情報を記憶部29に記憶する(ステップS13)。返答メッセージに含まれる情報としては、端末装置1Aの計時手段の計時時刻Now(A)、計時時刻Now(A)の推定誤差E(A)、端末装置1Aの返答処理時間P(A)などがある。なお、後述のように、CPU31は、計時手段の計時時刻Now(self)、推定誤差E(self)、返答処理時間P(self)を生成しており、計時時刻Now(A)、推定誤差E(A)及び返答処理時間P(A)は、端末装置1Aの計時時刻Now(self)、推定誤差E(self)及び返答処理時間P(self)を意味する。
その後、CPU31は、以下の式(2)を用いて更新用推定誤差E(A)’を演算する。
E(A)’=E(A)+{(Cr―Cs)−P(A)/2)} ・・・(2)
上記式(2)の演算に際し、CPU31は、記憶部29から受信時カウント値Cr及び送信時カウント値Csを読み出す。そして、CPU31は、受信時カウント値Crから送信時カウント値Csを減算し、この値から返答処理時間P(A)を2で除算した値を減算して、端末装置1Aとの間の情報伝搬時間である{(Cr―Cs)−P(A)/2)}を演算し、この演算結果に端末装置1Aの推定誤差E(A)を加算して、更新用推定誤差E(A)’を算出する。このように、CPU31は、受信した端末装置1Aの推定誤差E(A)を含む誤差を更新用推定誤差E(A)’として演算する推定誤差演算手段として機能する。特に、CPU31は、推定誤差演算手段として、受信した応答メッセージに含まれる推定誤差E(A)に端末装置1Aとの間の情報伝搬時間を加算して更新用推定誤差E(A)’を演算する。この更新用推定誤差E(A)’は、応答メッセージに含まれる計時時刻Now(A)で計時手段を更新したときに、この計時手段が計時する時刻に対する推測誤差となる。
また、CPU31は、記憶部29に記憶した基準誤差Ebを推定誤差E(self)として設定する(ステップS14)。
次に、CPU31は、更新用推定誤差E(A)’が推定誤差E(self)よりも小さいか否かを判定する(ステップS15)。言い換えれば、CPU31は、この処理において、端末装置1Aの計時時刻Now(A)に計時手段の時刻を調整したときの推定誤差が、計時手段による現在の計時時刻Now(self)の推定誤差E(self)よりも小さくなるか否かが判定することになる。
この処理において、更新用推定誤差E(A)’が推定誤差記憶手段15に記憶した推定誤差である基準誤差Ebよりも小さいと判定すると(ステップS15:Yes)、CPU31は、自端末装置1の計時手段の計時時刻を調整する処理を行う(ステップS16)。
具体的には、CPU31は、記憶部29に記憶した基準カウント値Cbを受信時カウント値Crにして、記憶部29に記憶した基準カウント値Cbを更新する。また、返答メッセージに含まれる端末装置1Aの計時時刻Now(A)を基準時刻Tbとして記憶部29に記憶して、記憶部29に記憶する基準時刻Tbを更新する。
このとき、CPU31が受信した時点における計時時刻Now(A)の推定誤差は更新用推定誤差E(A)’であり、調整前の計時手段の計時時刻Now(self)の推定誤差(推定誤差記憶手段15に記憶されている基準誤差Eb)よりも小さい。従って、このように時計手段の計時時刻を更新することにより、計時時刻の精度が向上することになる。なお、計時手段の計時時刻Now(self)は、上述した式(1)のCPU31による演算により導き出される。
また、CPU31は、記憶部29に記憶する基準誤差Ebを更新用推定誤差E(A)’として記憶部29に記憶する基準誤差Ebを更新する。この更新用推定誤差E(A)’は、CPU31が受信した時点における計時時刻Now(A)の推定誤差であり、次に計時手段の時刻調整を行うときに用いられることになる。従って、定期的に時刻情報調整処理を行うことにより計時手段の計時時刻Now(self)の精度を向上させることができる。
このように、CPU31は、推定誤差演算手段16で演算した更新用推定誤差E(A)’が推定誤差記憶手段15に記憶した推定誤差(=基準誤差Eb)よりも小さいとき、更新用推定誤差E(A)’を推定誤差記憶手段15に記憶して当該推定誤差記憶手段15に記憶する基準誤差Ebを更新し、端末装置1Aから受信した当該端末装置1Aの計時時刻に応じて計時手段の計時時刻を調整する時刻更新手段として機能する。
次に、ステップS5の時刻情報送信処理について図8のフローチャートを参照して具体的に説明する。図8は第1実施形態に係る端末装置1における時刻情報送信処理のフローチャートである。
図8に示すように、時刻情報送信処理を開始すると、CPU31は、カウント手段32のカウント値を記憶部29に第2受信時カウント値Crrとして記憶する(ステップS20)。
次に、CPU31は、ステップS4で受信したと判定した時刻要求メッセージに対する応答メッセージを生成し、通信部30及びネットワーク2を介して時刻要求メッセージの送信元の他の端末装置1へ送信する(ステップS21)。具体的には、CPU31は、計時手段による現在の計時時刻Now(self)、現在の計時時刻Now(self)の推定誤差E(self)、返答処理時間P(self)のそれぞれの情報を含む応答メッセージを生成する。このとき、CPU31は、上述した式(1)により計時時刻Now(self)を演算し、記憶部29から基準誤差Ebを取り出して、推定誤差E(self)とする。
また、CPU31は、以下の式(3)を用いて返答処理時間P(self)を演算する。
P(self)=Cx―Crr ・・・(3)
上記式(3)の演算に際し、CPU31は、記憶部29から第2受信時カウント値Crrを取り出し、この第2受信時カウント値Crrをカウント手段32の現在のカウント値Cxから減算することにより、返答処理時間P(self)を算出する。この返答処理時間P(self)は、時刻要求メッセージを受信してから応答メッセージを送信するまでの経過時間である。
このように、CPU31は、現在の計時時刻Now(self)、現在の計時時刻Now(self)の推定誤差E(self)、返答処理時間P(self)を生成して、これらの情報を含む応答メッセージを生成し、時刻要求メッセージの送信元の他の端末装置1へ送信する時刻情報送信手段として機能する。
このように、第1実施形態に係る端末装置1では、計時手段を有する端末装置において、他の端末装置の計時手段による計時時刻で自装置の計時手段を調整することができるので、サーバ装置から各端末装置が基準時刻を取得する場合に比べて、ネットワークにおけるトラフィック集中を抑制することができる。
しかも、他の端末装置1から取得した計時時刻に対する推定誤差が自装置の計時時刻に対する推定誤差以上のときには、計時手段の計時時刻の調整を行わないようにしており、これにより、自装置の計時手段による計時時刻の精度の低下を抑制しつつ時刻調整が可能となる。
[2.第2実施形態]
次に、第2実施形態に係る通信システムについて図面を参照して説明する。
第2実施形態に係る通信システムは、各端末装置において、計時手段の時刻調整を行ってからの経過時間に応じて推定誤差を増加させるようにしたものである。これは時刻調整されない期間が長ければ長いほど計時手段の計時誤差が大きくなるためであり、この計時誤差を考慮することで推定誤差の精度を向上させることとしている。第1実施形態とは、推定誤差演算手段16及び記憶部29に記憶した情報処理プログラムが異なるのみであるため、端末装置の構成の説明は省略し、同一符号を付して説明するものとする。
第2実施形態に係る端末装置1の時刻調整の概要について、図面を参照して説明する。図9は第2実施形態に係る端末装置1の時刻調整の概要を説明するための図である。
図9に示すように、端末装置1aが端末装置1bから時刻要求メッセージを受信したとする。このとき端末装置1aは、基準誤差Ebを推定誤差記憶手段15に最後に記憶したときからの経過時間taに所定の誤差係数Ecを乗算し、この演算結果を推定誤差記憶手段15に記憶した基準誤差Ebに加算した値を推定誤差E(self)としている。そして、このように演算した推定誤差E(self)を含む返答メッセージを端末装置1bに送信するようにしている。
このようにすることで、基準誤差Ebを推定誤差記憶手段15に最後に記憶したときからの経過時間taが長いために、計時手段10による計時時刻の誤差(以下、「経時誤差」とも呼ぶ。)が増加しているときであっても、その増加した誤差を考慮した推定誤差E(self)を時刻要求メッセージの送信元の他の端末装置1へ通知でき、計時手段の計時時刻の調整を精度よく行うことができる。
例えば、端末装置1a,1bがそれぞれ自装置の推定誤差記憶手段15に記憶している基準誤差EbをEb1,Eb2とし、基準誤差Eb1,Eb2を記憶してからの経過時間をそれぞれ経過時間ta、tbとし、端末装置1aから端末装置1bへの情報伝搬時間をEdする。
そして、端末装置1aが端末装置1bから時刻要求メッセージを受信したとき、端末装置1aの推定誤差演算手段16は、予め設定されている誤差係数Ec1に経過時間taを乗算して経時誤差を算出し、この算出結果に基準誤差Eb1を加算して、推定誤差E(self)として応答メッセージに含める。
端末装置1bが端末装置1aからこの応答メッセージを受信したとき、端末装置1bの推定誤差演算手段16は、予め設定されている誤差係数Ec2に経過時間taを乗算し、この演算結果に推定誤差記憶手段15に記憶している基準誤差Eb2を加算して、推定誤差E(self)とする。
そして、端末装置1bの時刻更新手段11は、応答メッセージに含まれる端末装置1aの推定誤差E(self)に情報伝搬時間を加算した更新推定誤差E(A)’が、自装置の推定誤差演算手段16により演算した推定誤差E(self)よりも小さいか否かを判定する。
更新推定誤差E(A)’が、自装置の推定誤差演算手段16により演算した推定誤差E(self)よりも小さいとき、端末装置1bの時刻更新手段11は、応答メッセージに含まれる端末装置1aの計時時刻Now(self)に計時手段10の計時時刻を調整する。
このように、第2実施形態における端末装置1では、基準誤差Ebを推定誤差記憶手段15に最後に記憶したときからの経過時間を考慮することで、計時手段10の計時時刻の調整をより精度よく行うようにしている。
(端末装置1の具体的動作について)
次に、第2実施形態に係る端末装置1の具体的動作の一例について図面を参照して説明する。図10は第2実施形態に係る端末装置1のメイン処理フローチャート、図11は第2実施形態に係る端末装置1における時刻調整処理のフローチャート、図12は第2実施形態に係る端末装置1における時刻情報送信処理のフローチャートである。
図10に示すように、端末装置1のCPU31は、メイン処理を開始すると、初期化処理において、時刻設定を行う(ステップS31)。この時刻設定は、基準カウント値Cb、基準時刻Tb,基準誤差Ebの記憶部29への設定に加え、誤差係数Ecを記憶部29へ設定することによって行われる。誤差係数Ecの記憶部29への設定は、CPU31が、予め記憶部29に設定されている誤差計数の最大値「1」を誤差係数Ecとして記憶部29に記憶することによって行われる。なお、基準カウント値Cb、基準時刻Tb,基準誤差Ebの記憶部29への設定については、第1実施形態と同様である。また、ステップS32〜S38の処理も第1実施形態の処理(図6のステップS2〜S8)と同様である。
このように、初期化処理において、誤差計数の最大値「1」が誤差係数Ecとして設定されることになる。
第2実施形態に係る端末装置1の時刻調整処理は、図11に示すステップS40〜S46の処理であるが、ステップS40〜S43,S45については、第1実施形態の処理(図7のステップS10〜S13,S15)と同様であり、ここでは、ステップS44及びステップS46の処理について説明する。
ステップS44において、CPU31は、以下の式(4)に示す演算により推定誤差E(self)を算出する。
E(self)=Eb+Ec×(Cr−Cb) ・・・(4)
上記式(4)の演算に際し、CPU31は、記憶部29から基準誤差Eb、誤差係数Ecを読み出す。その後、CPU31は、記憶部29に記憶した受信時カウント値Crから基準カウント値Cbを減算することにより、推定誤差E(self)であった基準誤差Ebを記憶部29に最後に記憶した時からの経過時間tを算出する。そして、CPU31は、誤差係数Ecに経過時間tを乗算した値である経時誤差を基準誤差Ebに加算した値を推定誤差E(self)とする。また、第1実施形態と同様に更新用推定誤差E(A)’を演算する。
このように、端末装置1は、計時手段による計時時刻を最後に調整したときからの経過時間を考慮して、自装置の推定誤差E(self)を算出し、一方で端末装置1Aから取得する推定誤差E(A)と同様にこの経過時間を考慮されていることから、自装置の計時手段の推定誤差E(self)と端末装置1Aの計時手段の推定誤差E(A)の信頼性が向上する。従って、端末装置1の計時手段による計時時刻の精度の低下をより抑制しつつ時刻調整が可能となる。
また、ステップS46において、CPU31は、以下の式(5)を用いて誤差係数Ecを演算する。
Ec=|Now(self)−Now(A)|÷(Cr−Cb) ・・・(5)
上記式(5)の演算に際し、CPU31は、自装置の計時手段による計時時刻Now(self)と端末装置1Aの計時時刻Now(A)との差を演算し、この演算結果を経過時間t(=Cr−Cb)で除算した値を誤差係数Ecとして記憶部29に記憶する。
このように誤差係数Ecを更新することにより、短期間に計時時刻が大きくずれる計時手段ほど誤差係数がEcが大きくなり、推定誤差E(self)の信頼性を向上させることができる。
第2実施形態に係る端末装置1の時刻情報送信処理は、図12に示すステップS50,S51の処理であるが、ステップS50については、第1実施形態の処理(図8のステップS20)と同様であり、ここでは、ステップS51の処理について説明する。
ステップS51において、CPU31は、計時時刻Now(self)、現在の計時時刻の推定誤差E(self)、返答処理時間P(self)のそれぞれの情報を含む応答メッセージを生成し、通信部30及びネットワーク2を介して時刻要求メッセージの送信元の他の端末装置1へ送信する。
このとき、CPU31は、上記式(4)を用いて推定誤差E(self)を演算する。
すなわち、CPU31は、記憶部29から基準誤差Eb及び誤差係数Ecを読み出し、この誤差係数Ecに経過時間t(=Cr−Cb)を乗算した値に基準誤差Ebを加算した値を推定誤差E(self)とする。
なお、計時時刻Now(self)、返答処理時間P(self)の算出は、第1実施形態と同様である。
このように誤差係数を演算することにより、計時手段自体の計時誤差を考慮して、推定誤差の精度を向上することができる。従って、計時手段の計時時刻の調整をより精度よく行うことができる。
[3.第3実施形態]
次に、第3実施形態に係る通信システムについて図面を参照して説明する。
上述の第1及び第2実施形態においては、計時手段の計時時刻が実際の時刻と大幅にずれているにもかかわらず、推定誤差が小さい端末装置があるとき、この端末装置1から取得した計時時刻に基づいて、計時手段を調整してしまう虞がある。例えば、故意に、計時手段の計時時刻が実際の時刻と大幅にずれ、かつ推定誤差が小さい悪意のある端末装置1が通信システムS内に配置されると、通信システムS内の複数の端末装置1で計時手段の計時時刻が大幅にずれてしまう。通信システムSはP2P型の通信システムであり、このような悪意のある端末装置を完全に排除することが困難である。
そこで、第3実施形態に係る通信システムは、各端末装置において、調整前後の計時手段の計時時刻の差を推定誤差に反映させることで、この差が大きい場合に調整後の推定誤差を大きくするようにしている。第1実施形態とは、推定誤差演算手段16及び記憶部29に記憶した情報処理プログラムが異なるのみであるため、端末装置の構成の説明は省略し、同一符号を付して説明するものとする。
第3実施形態に係る端末装置1の時刻調整の概要について、図面を参照して説明する。図13は第3実施形態に係る端末装置1の時刻調整の概要を説明するための図である。
図13に示すように、端末装置1aが端末装置1bから時刻要求メッセージを受信したとする。このとき端末装置1aは、計時時刻T1と推定誤差E(self)=Eb1を含む返答メッセージを端末装置1bへ送信する。
端末装置1bが端末装置1aからこの応答メッセージを受信したとき、端末装置1bの推定誤差演算手段16は、この応答メッセージから端末装置1aの計時時刻T1を取り出す。そして、端末装置1bの推定誤差演算手段16は、自装置の計時手段10の計時時刻T2を取得し、この計時時刻T2と端末装置1aの計時時刻T1との差|T1−T2|を演算する。また、推定誤差演算手段16は、推定誤差記憶手段15から基準誤差Ebを読み出す。そして、推定誤差演算手段16は、この基準誤差Ebに差|T1−T2|を加算した値を推定誤差E(self)する。このように演算した推定誤差E(self)は基準誤差Ebとして推定誤差演算手段16により推定誤差記憶手段15へ記憶される。
このように、第3実施形態における端末装置1では、調整前後の計時手段10の計時時刻の差を推定誤差E(self)に反映させることで、この差が大きい場合に調整後の推定誤差E(self)を大きくするようにしている。
(端末装置1の具体的動作について)
次に、第3実施形態に係る端末装置1の具体的動作の一例について図面を参照して説明する。図14は第3実施形態に係る端末装置1における時刻調整処理のフローチャートである。なお、メイン処理及び時刻情報送信処理は第1実施形態と同様の処理(図6のステップS1〜S8、図8のステップS20,21)である。
第3実施形態に係る端末装置1の時刻調整処理は、図14に示すステップS60〜S66の処理であるが、ステップS60〜S65については、第1実施形態の処理(図7のステップS10〜S15)と同様であり、ここでは、ステップS66の処理について説明する。
ステップS66において、CPU31は、以下の式(6)を用いて基準誤差Ebを演算する。
Eb=E(A)’+|Now(self)−Now(A)| ・・・(6)
上記式(6)の演算に際し、CPU31は、自装置の計時手段による計時時刻Now(self)と端末装置1Aの計時時刻Now(A)との差を演算し、この演算結果に更新用推定誤差E(A)’を加算した値を自装置の推定誤差E(self)となる基準誤差Ebとして記憶部29に記憶する。このようにCPU31は、自装置の計時手段による計時時刻Now(self)と受信した計時時刻Now(A)との差分|Now(self)−Now(A)|に更新用推定誤差E(A)’を加算した値を、記憶部29に記憶する基準誤差Ebとする時刻更新手段として機能する。
このように基準誤差Ebを設定することにより、調整前後の計時手段10の計時時刻の差が大きい場合に調整後の基準誤差Ebが多くなり、次に時刻調整処理を行うときに推定誤差E(self)が大きくなる。
従って、例えば、故意に計時時刻をずらしつつ、推定誤差を小さくした端末装置1の計時時刻で計時手段を調整してしまったとしても、次の時刻調整処理で計時手段の調整が行われる確率を高くすることができ、計時時刻がずれた状態を短期間に解消することができる。
以上、本発明の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
例えば、第2実施形態の端末装置1において、基準誤差Ebを算出する際に、第3実施形態の端末装置1のように調整前後の計時手段の計時時刻の差を推定誤差に反映させるようにしてもよい。
また、第1実施形態では、情報伝搬時間を考慮して更新用推定誤差を算出したが、計時手段の時刻調整を行ってからの経過時間に応じて推定誤差を増加させるようなときには情報伝搬時間を考慮して更新用推定誤差を算出しないようにしてもよい。
第1実施形態に係る通信システムの概略構成を示す図である。 第1実施形態に係る通信システムの端末装置の概略構成を示す図である。 第1実施形態に係る端末装置の時刻調整の概要を説明するための図である。 第1実施形態に係る端末装置の時刻調整の概要を説明するための図である。 第1実施形態の通信システムの端末装置の具体的構成を示す図である。 第1実施形態に係る端末装置のメイン処理フローチャートである。 第1実施形態に係る端末装置における時刻調整処理のフローチャートである。 第1実施形態に係る端末装置における時刻情報送信処理のフローチャートである。 第2実施形態に係る端末装置の時刻調整の概要を説明するための図である。 第2実施形態に係る端末装置のメイン処理フローチャートである。 第2実施形態に係る端末装置における時刻調整処理のフローチャートである。 第2実施形態に係る端末装置における時刻情報送信処理のフローチャートである。 第3実施形態に係る端末装置の時刻調整の概要を説明するための図である。 第3実施形態に係る端末装置における時刻調整処理のフローチャートである。
符号の説明
S 通信システム
1 端末装置
10 計時手段
11 時刻更新手段
12 時刻情報要求手段
13 時刻情報受信手段14 時刻情報送信手段
15 推定誤差記憶手段
16 推定誤差演算手段
29 記憶部
30 通信部
31 CPU
32 カウント手段

Claims (7)

  1. 時刻を計時する計時手段と、
    前記計時手段による計時時刻と現時刻との間の推定誤差を記憶する推定誤差記憶手段と、
    他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する時刻情報要求手段と、
    他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する時刻情報送信手段と、
    前記時刻情報要求手段で要求した他の端末装置の計時時刻及び推定誤差を受信する時刻情報受信手段と、
    前記時刻情報受信手段で受信した他の端末装置の推定誤差を含む誤差を更新用推定誤差として演算する推定誤差演算手段と、
    前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記推定誤差演算手段で演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記時刻情報受信手段で受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する時刻更新手段と、を備え
    前記推定誤差演算手段は、前記時刻情報受信手段で受信した推定誤差に前記他の端末装置との間の情報伝搬時間を加算して前記更新用推定誤差を演算する端末装置。
  2. 前記推定誤差演算手段は、前記時刻情報受信手段で受信した推定誤差に前記情報伝搬時間を加算した値にさらに、前記推定誤差記憶手段に推定誤差を最後に記憶したときからの経過時間に応じた経時誤差を加算して前記更新用推定誤差を演算する
    ことを特徴とする請求項1に記載の端末装置。
  3. 前記計時手段は、単位時間毎にカウント値をアップさせるカウント手段と、所定タイミングで取得した時刻情報を基準時刻として記憶する基準時刻記憶手段と、前記カウント手段から前記所定タイミングで取得されるカウント値を基準カウント値として記憶する基準カウント値記憶手段と、前記カウント手段によるカウント値から前記基準カウント値を減算し、当該演算結果に前記基準時刻を加算した値を前記計時時刻とする時刻演算手段と、を備え、
    さらに、前記時刻情報要求手段での要求を行ったときの前記カウント手段のカウント値を第1カウント値として記憶する第1カウント記憶手段と、
    前記時刻情報受信手段による受信を行ったときの前記カウント手段のカウント値を第2カウント値として記憶する第2カウント記憶手段と、を備え、
    前記時刻情報送信手段は、他の端末装置からの要求を受信してから当該他の端末装置へ前記計時時刻及び前記推定誤差を送信するまでの経過時間を送信し、
    前記時刻情報受信手段は、前記時刻情報要求手段で要求した他の端末装置の計時時刻と推定誤差に加えて前記経過時間を受信し、
    前記推定誤差演算手段は、前記第2カウント値から第1カウント値を減算した値から前記経過時間を減算した後、2で除算することによって、前記情報伝搬時間を算出する
    ことを特徴とする請求項1又は請求項2に記載の端末装置。
  4. 前記時刻更新手段は、前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記計時手段による計時時刻と前記時刻情報受信手段で受信した計時時刻の差分に前記推定誤差演算手段で演算した更新用推定誤差を加算した値を、前記推定誤差記憶手段に記憶する推定誤差とすることを特徴とする請求項1〜3のいずれか1項に記載の端末装置。
  5. 計時時刻と現時刻との間の推定誤差を記憶する推定誤差記憶手段を備えたコンピュータを、
    時刻を計時する計時手段と、
    他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する時刻情報要求手段と、
    他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する時刻情報送信手段と、
    前記時刻情報要求手段で要求した他の端末装置の計時時刻及び推定誤差を受信する時刻情報受信手段と、
    前記時刻情報受信手段で受信した他の端末装置の推定誤差に前記他の端末装置との間の情報伝搬時間を加算した更新用推定誤差を演算する推定誤差演算手段と、
    前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記推定誤差演算手段で演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記時刻情報受信手段で受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する時刻更新手段として機能させることを特徴とするプログラム。
  6. 複数の端末装置を備え、前記端末装置間でコンテンツ情報の送受信を行う通信システムにおいて、
    各前記端末装置は、
    時刻を計時する計時手段と、
    前記計時手段による計時時刻と現時刻との間の推定誤差を記憶する推定誤差記憶手段と、
    他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する時刻情報要求手段と、
    他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する時刻情報送信手段と、
    前記時刻情報要求手段で要求した他の端末装置の計時時刻及び推定誤差を受信する時刻情報受信手段と、
    前記時刻情報受信手段で受信した他の端末装置の推定誤差を含む誤差を更新用推定誤差として演算する推定誤差演算手段と、
    前記推定誤差演算手段で演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記推定誤差演算手段で演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記時刻情報受信手段で受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する時刻更新手段と、を備え、
    前記推定誤差演算手段は、前記時刻情報受信手段で受信した推定誤差に前記他の端末装置との間の情報伝搬時間を加算して前記更新用推定誤差を演算する通信システム。
  7. 複数の端末装置を備え、前記端末装置間でコンテンツ情報の送受信を行う通信システムにおける前記端末装置の時刻調整方法であって
    前記端末装置の計時手段による計時時刻と現時刻との間の推定誤差を推定誤差記憶手段に記憶する第1ステップと、
    他の端末装置に対して当該他の端末装置における計時時刻と推定誤差を要求する第2ステップと、
    他の端末装置からの要求に応じて前記計時手段による計時時刻と前記推定誤差記憶手段に記憶されている推定誤差とを当該他の端末装置へ送信する第3ステップと、
    前記第2ステップで要求した他の端末装置の計時時刻及び推定誤差を受信する第4ステップと、
    前記第4ステップで受信した他の端末装置の推定誤差を含む誤差を更新用推定誤差として演算する第5ステップと、
    前記第5ステップで演算した更新用推定誤差が前記推定誤差記憶手段に記憶した推定誤差よりも小さいとき、前記第5ステップで演算した更新用推定誤差を前記推定誤差記憶手段に記憶して当該推定誤差記憶手段に記憶する推定誤差を更新し、前記第4ステップで受信した前記他の端末装置の計時時刻に基づいて前記計時手段の計時時刻を調整する第6ステップと、を有し、
    前記第5ステップでは、前記第4ステップで受信した推定誤差に前記他の端末装置との間の情報伝搬時間を加算して前記更新用推定誤差を演算する端末装置の時刻調整方法。
JP2008249281A 2008-09-26 2008-09-26 端末装置及びその時刻調整方法 Active JP5211987B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008249281A JP5211987B2 (ja) 2008-09-26 2008-09-26 端末装置及びその時刻調整方法
US12/585,698 US8347197B2 (en) 2008-09-26 2009-09-22 Terminal device, time adjusting method of terminal device and communication system
EP20090012234 EP2169857B1 (en) 2008-09-26 2009-09-25 Terminal device, time adjusting method of terminal device and communication system
AT09012234T ATE552662T1 (de) 2008-09-26 2009-09-25 Endgerät, zeiteinstellungsverfahren des endgerätes und kommunikationssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008249281A JP5211987B2 (ja) 2008-09-26 2008-09-26 端末装置及びその時刻調整方法

Publications (2)

Publication Number Publication Date
JP2010078529A JP2010078529A (ja) 2010-04-08
JP5211987B2 true JP5211987B2 (ja) 2013-06-12

Family

ID=41435438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008249281A Active JP5211987B2 (ja) 2008-09-26 2008-09-26 端末装置及びその時刻調整方法

Country Status (4)

Country Link
US (1) US8347197B2 (ja)
EP (1) EP2169857B1 (ja)
JP (1) JP5211987B2 (ja)
AT (1) ATE552662T1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7675854B2 (en) 2006-02-21 2010-03-09 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US9960967B2 (en) * 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US9215275B2 (en) 2010-09-30 2015-12-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9609052B2 (en) * 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9386088B2 (en) 2011-11-29 2016-07-05 A10 Networks, Inc. Accelerating service processing using fast path TCP
US9094364B2 (en) 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US8782221B2 (en) 2012-07-05 2014-07-15 A10 Networks, Inc. Method to allocate buffer for TCP proxy session based on dynamic network conditions
US9106561B2 (en) 2012-12-06 2015-08-11 A10 Networks, Inc. Configuration of a virtual service network
CN108027805B (zh) 2012-09-25 2021-12-21 A10网络股份有限公司 数据网络中的负载分发
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
DE112015006604B4 (de) * 2015-06-08 2020-08-20 Mitsubishi Electric Corporation Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
JP7008687B2 (ja) * 2017-03-29 2022-01-25 株式会社日立製作所 制御装置及び制御システム
CN109450584A (zh) * 2018-11-28 2019-03-08 上海东土远景工业科技有限公司 时间测量装置及方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0267033A (ja) * 1988-09-01 1990-03-07 Fujitsu Ltd 網同期システム
JPH0715421A (ja) * 1993-06-25 1995-01-17 Fuji Facom Corp 通信網内の時計同期装置
US5940381A (en) * 1996-03-14 1999-08-17 Motorola, Inc. Asynchronous transfer mode radio communications system with handoff and method of operation
US6157957A (en) * 1998-01-22 2000-12-05 Cisco Technology, Inc. Clock synchronization system and method using a continuous conversion function for a communication network
US6094169A (en) * 1998-12-11 2000-07-25 Rannoch Corporation Multilateration auto-calibration and position error correction
US7103124B1 (en) * 1999-12-30 2006-09-05 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization of nodes
US7177287B1 (en) * 2000-01-05 2007-02-13 Advanded Micro Devices, Inc. System and method for concurrent wireless voice and data communications
US6970436B2 (en) * 2001-05-03 2005-11-29 Lg Electronics Inc. Apparatus for monitoring asynchronous transfer mode cells in communication systems
JP2002341072A (ja) * 2001-05-16 2002-11-27 Canon Inc 時刻補正方法
JP2004117231A (ja) 2002-09-27 2004-04-15 Hitachi Electronics Service Co Ltd 端末装置の内蔵時計時刻自動修正方法及びシステム並びに内蔵時計時刻設定機構
US7424076B2 (en) * 2004-01-22 2008-09-09 Nokia Corporation System and method for providing synchronization information to a receiver
JP4542801B2 (ja) * 2004-03-11 2010-09-15 セイコークロック株式会社 計時装置、計時システム及び計時方法
US7253671B2 (en) * 2004-06-28 2007-08-07 Intelliserv, Inc. Apparatus and method for compensating for clock drift in downhole drilling components
JP4543836B2 (ja) * 2004-09-02 2010-09-15 株式会社明電舎 データ処理システムの時刻同期方法
US7623552B2 (en) * 2004-10-14 2009-11-24 Temic Automotive Of North America, Inc. System and method for time synchronizing nodes in an automotive network using input capture
JP4418897B2 (ja) 2005-01-14 2010-02-24 ブラザー工業株式会社 情報配信システム、情報更新プログラム、及び情報更新方法等
WO2006075424A1 (ja) * 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等

Also Published As

Publication number Publication date
EP2169857A1 (en) 2010-03-31
US8347197B2 (en) 2013-01-01
US20100083076A1 (en) 2010-04-01
JP2010078529A (ja) 2010-04-08
ATE552662T1 (de) 2012-04-15
EP2169857B1 (en) 2012-04-04

Similar Documents

Publication Publication Date Title
JP5211987B2 (ja) 端末装置及びその時刻調整方法
JP5161363B2 (ja) 非同期分散システムにおけるクロックの同期
JP5751336B2 (ja) 情報処理装置、時刻補正値決定方法、およびプログラム
TWI424320B (zh) 主裝置及從裝置及時刻同步方法
CN107078821A (zh) 动态准确性信息在ieee 1588时钟的网络中的分发
JP6457340B2 (ja) 推定装置、システム、方法及びプログラム
JP2015039131A (ja) 計測装置および方法
US20160359609A1 (en) Communication device, communication system, estimation method, and computer program product
WO2012070341A1 (ja) 通信端末、該通信端末の制御方法、及びプログラム
JP4116064B1 (ja) クライアント装置
JP5770782B2 (ja) オペレータ端末、ユーザ端末、所要時間通知方法、及びオペレータ端末用プログラム
JP6840980B2 (ja) 電子機器、表示システム、時刻同期方法、及びプログラム
JP5959452B2 (ja) 制御システム
JP2019213033A (ja) 時刻付与方法、時刻付与装置及びプログラム
JP2009289163A (ja) サーバ装置および通信システム
AU2016253673B2 (en) Streaming digital content synchronization
JP2012252404A (ja) 記憶装置、ストレージシステム及び記憶装置制御方法
JP2020150359A (ja) 解析プログラム、解析装置、及び解析方法
JP4331702B2 (ja) 片道転送遅延時間推定装置、方法、およびプログラム
JP2013168884A (ja) 時刻同期システム、時刻送信装置、時刻受信装置、時刻同期方法およびプログラム
JP2011048472A (ja) 情報処理装置および情報処理方法
JP2011239312A (ja) データ処理装置及びプログラム
JP5747659B2 (ja) 中継プログラム、中継方法および中継装置
JP2013214153A (ja) 計画作成方法、計画作成装置及び計画作成プログラム
JP2011071728A (ja) 情報処理装置、無線通信システム、無線通信方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121128

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: 20130129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

R150 Certificate of patent or registration of utility model

Ref document number: 5211987

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: 20160308

Year of fee payment: 3