(57)【要約】【課題】サーバからクライアントに送信した同期パケットでキュー遅延が発生したかどうかを検出し、発生した場合キュー遅延時間を推定する。【解決手段】サーバが、クライアントに遅延推定用パケット、データパケット及び複数の遅延推定用パケットを、この順序でかつ所定の送信間隔で送信し、クライアントが、遅延推定用パケット、データパケット及び複数の遅延推定用パケットを受信し、各パケット間の受信間隔を測定し、受信間隔から所定の送信間隔を減じた値に基づいて、サーバとクライアント間のネットワークのキュー遅延時間及び回線使用率を推定する。【選択図】図１
2010074600.tif 000002
【特許請求の範囲】
【請求項１】
サーバがクライアントにデータパケットを送信したときのサーバとクライアント間のネットワーク負荷測定方法であって、
前記サーバが、前記クライアントに、１つまたは複数の第１の遅延推定用パケット、前記データパケット及び１つまたは複数の第２の遅延推定用パケットを、この順序でかつ所定の送信間隔で送信する送信ステップと、
前記クライアントが、前記第１の遅延推定用パケット、前記データパケット及び前記第２の遅延推定用パケットを受信し、各パケット間の受信間隔を測定する測定ステップと、
前記クライアントが、前記受信間隔から前記所定の送信間隔を減じた値に基づいて、前記サーバと前記クライアント間のネットワークのキュー遅延及び回線使用率を推定する推定ステップと、
を含んでいることを特徴とするネットワーク負荷測定方法。
【請求項２】
前記所定の送信間隔は、前記ネットワークの最大伝送単位を伝送するために必要な時間と同じオーダであることを特徴とする請求項１に記載のネットワーク負荷測定方法。
【請求項３】
前記推定ステップは、
前記キュー遅延を、前記データパケットと前記データパケットの直前の前記第１の遅延推定用パケット間の受信間隔から、前記データパケットと前記データパケットの直前の前記第１の遅延推定用パケット間の送信間隔を減じた第１の値、及び前記データパケットと前記データパケットの直後の前記第２の遅延推定用パケット間の受信間隔から、前記データパケットと前記データパケットの直後の前記第２の遅延推定用パケット間の送信間隔を減じた第２の値に基づいて推定し、
前記回線使用率を、前記第２の値、及び前記第２の遅延推定用パケット間の受信間隔から、前記第２の遅延推定用パケット間の送信間隔を減じた第３の値に基づいて推定することを特徴とする請求項１又は２に記載のネットワーク負荷測定方法。
【請求項４】
前記推定ステップは、
前記第２の値がある閾値より小であるとき、キュー遅延が発生し、キュー遅延時間が前記第２の値の絶対値であると推定し、
また、前記第２の値及び前記第１の値が前記閾値より大であるとき、キュー遅延が発生してると推定し、
前記回線使用率ｒを、ｎを前記第３の値の個数、ｎｎを前記第３の値が前記閾値より小である個数、ｎｗを前記第３の値が前記閾値より大である個数とし、
ｒ＝ｍａｘ［ｎｎ、ｎｗ］／ｎ
より算出することを特徴とする請求項３に記載のネットワーク負荷測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークのキュー遅延時間及び回線使用率を推定することにより、ネットワークの負荷を推定する技術に関する。より詳細には、データパケットがサーバ（サーバコンピュータ）からクライアント（クライアントコンピュータ）に送信されたときのサーバとクライアント間のキュー遅延時間及び回線使用率を推定することにより、ネットワークの負荷を推定する技術に関する。
【背景技術】
【０００２】
Ethernet（登録商標）のような非同期ベースのパケット交換ネットワークにて時刻同期を行う場合、正確な時計を有するサーバが、送信時刻情報が含まれている同期パケットをクライアントに配信することにより行われる。クライアントは、同期パケットを受信して自己の時計を補正し、サーバと時刻同期を行う。
【０００３】
時刻同期プロトコルとして、ＮＴＰ（Network Time Protocol）、ＰＴＰ(IEEE 1588 Precision Time Protocol）が知られている。これらはメッセージのやりとりは異なるが、上記のようにクライアントの時計の補正を行っている。
【０００４】
クライアントが時刻を補正する際には、同期パケットの送信時刻情報のほかにサーバ・クライアント間のパケット伝送時間が必要である。しかしながら、パケット伝送時間は、ネットワーク機器のキュー遅延に起因するジッタ及びネットワーク機器のパケット転送処理に起因するジッタ等により変動する。
【０００５】
上記変動要素のうち、ネットワーク機器のキュー遅延に起因するジッタ（キュー遅延時間）は、ネットワーク内に同期パケット以外の他のトラフィックのパケットが存在することにより、ネットワーク内のスイッチ、ルータ等でキューイングが起こることにより発生する。これはランダムな遅延となり、同期パケット毎に異なり、パケット伝送時間にゆらぎが発生する。
【０００６】
このようなゆらぎが発生すると、クライアントは自分の時計が狂っているのか、それとも同期パケットの伝送に遅延があったのか判断できず、クライアントの時計を正しく補正することができない。このため、パケット伝送時間を正確に推定し同期精度を高めるため、各種の方法が考えられてきた。
【０００７】
例えば、クライアントにおいてクロックレートを推定・補償するアルゴリズムにより、パケット伝送時間を推定する方法がある。非特許文献１〜３では制御理論に基づくフィードバック系による補償方法が開示され、非特許文献４ではカルマンフィルタを応用したクロックレート推定方法が開示され、非特許文献５では、キュー遅延が非負であることを利用する線形計画法によるキュー遅延除去が開示されている。
【０００８】
また、ネットワーク機器を改良する方法として、同期パケットを送信する前に、ネットワーク機器に命令パケットを送信し、他のパケットのキューイングを禁止することにより同期パケットでキュー遅延を発生させない方法、または遅延時間を測定してクライアントに通知するネットワーク機器が、特許文献１、２で開示されている。
【０００９】
ネットワーク機器を改良する別な方法として、非特許文献６では、パケット自己消滅方法が開示されている。ここでは、ネットワーク機器（ルータ）がパケットを変更し、一定の条件を満たした場合、ルータがパケットを破棄することにより、キュー遅延に起因するジッタの増加を抑えている。例えば、最大キュー長制限方式では、通過を許可する最大キュー長をパケットに設定し、ルータを通過する際にパケットがその値を超えるキュー長を持ったルータに到達した場合、ルータはそのパケットを破棄する。また、全キュー長制限方式では、経由するルータ群において経験可能な最大総キュー長をパケットに設定し、ＴＴＬと同様にルータ通過ごとに最大総キュー長をデクリメントし、値がゼロとなった場合にパケットを破棄する。このようにして、キュー遅延を一定範囲内に抑えている。
【００１０】
また、特許文献３では、サーバが毎正秒でブロードキャストする同期パケットを、クライアントが受信し、同期パケットの到着間隔からクロックレートおよびオフセットを推定し、キュー遅延を除去する方法が開示されている。
【００１１】
【特許文献１】特開平０９−０９３２７５号公報
【特許文献２】特開２００２−１４１８５号公報
【特許文献３】特開２００７−１３４８７３号公報
【非特許文献１】“Improved Algorithms for SynchronizingComputer Network Clock” (IEEE/ACM Transactions on Networking, Vol. 3, No. 3, p.245-254, June 1995)
【非特許文献２】“Time Synchronization in a Local AreaNetwork” (IEEE Control System Magazine, p. 61-69, Apr 2004)
【非特許文献３】“Adaptive Hybrid Clock Discipline Algorithmfor the Network Time Protocol” (IEEE/ACM Transactions on Networking, Vol. 6,No. 5, p. 505-514, Oct. 1998)
【非特許文献４】“Evaluation of Kalman Filtering for NetworkTime Keeping” (IEEE Transactions on Ultrasonic Ferroelectrics and FrequencyControl, Vol. 52, No. 9, p. 1452-1460, Sept. 2005)
【非特許文献５】“Estimation and Removal of Clock Skew fromNetwork Measurements” (Proceedings of IEEE INFOCOM ‘99, p. 227-234)
【非特許文献６】“パケット自己消滅手法によるネットワーク時刻同期精度の向上”（情報処理学会論文誌、Vol.46、No. 4, p. 1017-1024, Apr. 2005）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、フィードバック系による補償方法では、フィードバック係数は解析的に求めるのは難しく経験的に求めるしかない。また、カルマンフィルタを応用したクロックレート推定方法では、クライアントでの演算量が増大になってしまう。さらに、線形計画法によるキュー遅延除去では、ネットワーク機器のパケット転送処理遅延の変動を十分に除去できない。このように、完全にジッタを除去できず、想定を超えるジッタが発生した場合、対応ができないという課題がある。
【００１３】
また、キュー遅延を発生させないネットワーク機器を使用する方法では、ネットワーク機器を変更する必要が生じ、既存のシステムでは使用ができないという課題がある。さらに、パケット自己消滅方法では、ネットワーク機器の処理遅延に起因するジッタは除去されないという課題もある。
【００１４】
また、同期パケットの到着間隔による同期では、クライアントにおいて推定にかかる演算量は少ないが、同期パケット送出間隔に高い精度が必要となるためサーバが高価になり、さらに、ネットワーク遅延固定成分が既知である必要があるという課題がある。
【００１５】
このため、キュー遅延の生じた同期パケットを破棄したり、キュー遅延をフィルタで平滑化するのではなく、同期パケットでキュー遅延が発生したかどうかを検出し、発生した場合キュー遅延時間を推定することにより、パケット伝送時間を正確に推定し、同期精度を高める方法が必要となる。
【００１６】
したがって、パケット伝送時間を正確に推定するために必要なキュー遅延時間を求めるため、本発明は、ネットワークのキュー遅延時間及び回線使用率を推定するネットワーク負荷推定方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を実現するため本発明による方法は、サーバがクライアントにデータパケットを送信したときのサーバとクライアント間のネットワーク負荷測定方法であって、前記サーバが、前記クライアントに、１つまたは複数の第１の遅延推定用パケット、前記データパケット及び１つまたは複数の第２の遅延推定用パケットを、この順序でかつ所定の送信間隔で送信する送信ステップと、前記クライアントが、前記第１の遅延推定用パケット、前記データパケット及び前記第２の遅延推定用パケットを受信し、各パケット間の受信間隔を測定する測定ステップと、前記クライアントが、前記受信間隔から前記所定の送信間隔を減じた値に基づいて、前記サーバと前記クライアント間のネットワークのキュー遅延及び回線使用率を推定する推定ステップとを含んでいる。
【００１８】
また、前記所定の送信間隔は、前記ネットワークの最大伝送単位を伝送するために必要な時間と同じオーダであることも好ましい。
【００１９】
また、前記推定ステップは、前記キュー遅延を、前記データパケットと前記データパケットの直前の前記第１の遅延推定用パケット間の受信間隔から、前記データパケットと前記データパケットの直前の前記第１の遅延推定用パケット間の送信間隔を減じた第１の値、及び前記データパケットと前記データパケットの直後の前記第２の遅延推定用パケット間の受信間隔から、前記データパケットと前記データパケットの直後の前記第２の遅延推定用パケット間の送信間隔を減じた第２の値に基づいて推定し、前記回線使用率を、前記第２の値、及び前記第２の遅延推定用パケット間の受信間隔から、前記第２の遅延推定用パケット間の送信間隔を減じた第３の値に基づいて推定することも好ましい。
【００２０】
また、前記推定ステップは、前記第２の値がある閾値より小であるとき、キュー遅延が発生し、キュー遅延時間が前記第２の値の絶対値であると推定し、また、前記第２の値及び前記第１の値が前記閾値より大であるとき、キュー遅延が発生してると推定し、前記回線使用率ｒを、ｎを前記第３の値の個数、ｎｎを前記第３の値が前記閾値より小である個数、ｎｗを前記第３の値が前記閾値より大である個数とし、
ｒ＝ｍａｘ［ｎｎ、ｎｗ］／ｎ
より算出することも好ましい。
【発明の効果】
【００２１】
本発明によれば、ネットワーク機器に一切の変更を行うことなく、ネットワークのキュー遅延時間及び回線使用率を推定することが可能になる。キュー遅延時間に加え、ネットワーク機器におけるパケット転送処理遅延時間の短時間変動も同時に推定可能である。また、本発明は同期パケットの前後に推定用のパケットを送出する方法であるため、既存のＰＴＰ等と組み合わせて時刻同期を行うことも可能である。
【発明を実施するための最良の形態】
【００２２】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。
【００２３】
図１は、本実施形態のキュー遅延時間及び回線使用率推定方法で、送信及び受信されるパケット群の一例を示している。本実施形態では、サーバがクライアントに送信するデータパケットは、時刻同期等に用いられる同期パケットである。
【００２４】
サーバは、同期パケットをクライアントに送信する際に、同期パケットだけではなく、キュー遅延推定用パケット（以下プローブパケット）も同時にクライアントに送信する。例えば、図１（ａ）のように、１つのプローブパケット１２、同期パケット１１及び複数個（ｎ個）のプローブパケット１３をこの順序でクライアントに送信する。送信間隔は、τ０からτｎであり、τ０は最初のプローブパケット１２と同期パケット１１との送信間隔であり、τ１は同期パケット１１とその直後のプローブパケット１３との送信間隔であり、τ２からτｎはプローブパケット１３間の送信間隔である。これらの送信間隔は、このパケット群を受信するクライアントにとって既知のものである。
【００２５】
クライアントは、同期パケットとプローブパケットを受信する。例えば、図１（ｂ）のように、１つのプローブパケット１２、同期パケット１１及び複数（ｎ個）のプローブパケット１３を受信する。受信間隔は、τｒ０からτｒｎであり、τｒ０は最初のプローブパケット１２と同期パケット１１との受信間隔であり、τｒ１は同期パケット１１とその直後のプローブパケット１３との受信間隔であり、τｒ２からτｒｎは、プローブパケット１３間の受信間隔である。これらの受信間隔は送信間隔と異なる。受信間隔が異なることは、以下で図２にもとづいて説明される。
【００２６】
図２は、図１のパケット群の間隔がスイッチを通過したときに変化することを示している。図２（ａ）は、図１のパケット群がクロストラフィックのパケットと同じ回線に出力される場合を示している。図２（ｂ）は、図１のパケット群がクロストラフィックのパケットと別回線に出力される場合を示している。
【００２７】
図２（ａ）において、サーバから送信されたパケット群がスイッチ２１の上側のポートに入力され、クロストラフィックである他の回線のパケット１４がスイッチ２１の下側のポートに入力される。スイッチ２１は、内部のバッファにパケットをキューイングして、出力ポートに出力する。プローブパケット１２が上側のポートに入力され、その次に他の回線のパケット１４が下側のポートに入力され、その次に同期パケット１１、プローブパケット１３が上側のポートに入力された場合、出力ポートからは、プローブパケット１２、他の回線のパケット１４、同期パケット１１、プローブパケット１３の順序で出力される。この場合、同期パケット１１とプローブパケット１２との間に、他の回線のパケット１４が挿入されるため、プローブパケット１２と同期パケット１１との間隔及び同期パケット１１とプローブパケット１３との間隔に変化が生じる。
【００２８】
図２（ｂ）は、図２（ａ）のスイッチ２１から出力されたパケットが別のスイッチ２２に入力され、プローブパケット１２、同期パケット１１及びプローブパケット１３が、他の回線のパケット１４と別な回線に出力される場合である。この場合、プローブパケット１２と同期パケット１１の間に他のパケットが存在しなくなるが、プローブパケット１２と同期パケット１１との間隔及び同期パケット１１とプローブパケット１３との間隔は、スイッチ２１に入力される前の間隔と同じにはならない。
【００２９】
以上のように、サーバから送信されたパケット群の受信時の間隔は、他の回線のトラフィックにより、送信間隔と異なる場合が発生する。
【００３０】
次に、図１のパケット群を受信したときのクライアントの動作を説明する。クライアントは、パケット群を受信するとき、受信間隔τｒ０からτｒｎを測定する。この後、クライアントは、受信間隔から送信間隔を減じた値（差分）Δτｎ＝τｒｎ−τｎを用いて、サーバとクライアント間のキュー遅延時間と回線使用率を推定する。
【００３１】
キュー遅延時間と回線使用率を推定する方法の具体例を以下に示す。
【００３２】
キュー遅延時間推定では、プローブパケット１２と同期パケット１１間の受信間隔から、プローブパケット１２と同期パケット１１間の送信間隔を減じた値Δτ０＝τｒ０−τ０、及び同期パケット１１とその直後のプローブパケット１３間の受信間隔から、同期パケット１１とその直後のプローブパケット１３間の送信間隔を減じた値Δτ１＝τｒ１−τ１を用いて推定する。なお、以下の条件判断で用いる閾値ε（ε≧０ｓ）は、クライアントでのパケット受信間隔の測定精度に応じて決定する。
・ケース１（Δτ１＜ε）：同期パケット１１とその直後のプローブパケット１３との間隔が短くなった場合である。同期パケット１１が遅くなった状況と想定され、同期パケット１１にキュー遅延が発生したと判断する。また、キュー遅延時間は、同期パケット１１が遅くなった分、つまりΔτｄ＝−Δτ１であると推定する。
・ケース２（Δτ０＞εかつΔτ１＞ε）：プローブパケット１２と同期パケット１１との間隔及び同期パケット１１とその直後のプローブパケット１３との間隔が両方とも長くなった場合であり、パケット間の間隔が両方とも長くなったことより、同期パケット１１にキュー遅延が発生したと判断する。しかしながら、この場合はキュー遅延時間を推定することができない。
・ケース３（上記以外）：プローブパケット１２のみが遅くなった状況あるいは同期パケット１１とプローブパケット１２、１３のいずれも変化がない状況と想定され、同期パケット１１にキュー遅延が発生していないと判断する。
【００３３】
なお、図１のパケット群の送信間隔は、伝送中に他のパケットが数個挿入される程度が好ましい。そのため、送信間隔は、一般に回線の最大伝送単位（ＭＴＵ）を伝送するために必要な時間程度にし、その範囲は必要な時間と同じオーダ程度である。例えば、伝送速度が１００ＭｂｐｓのFast Ethernet（登録商標）の場合は、ＭＴＵは１５１８バイトであるため、送信間隔は１２１．４４μｓ（マイクロ秒）程度にする。また、範囲は１２１．４４μｓのオーダ程度、つまり１００μｓから９９９μｓの値にする。
【００３４】
回線使用率推定では、前記Δτ１及びプローブパケット１３間の受信間隔から、プローブパケット１３間の送信間隔を減じた値（Δτ２からΔτｎ）を用いて推定する。回線使用率ｒは、
ｒ＝ｍａｘ［ｎｎ、ｎｗ］／ｎ                          （１）
で推定する。ここで、ｎｎは間隔が狭くなった箇所（つまり、Δτｉ＜−ε、（２≦ｉ≦ｎ））の個数であり、ｎｗは間隔が広くなった箇所（つまり、Δτｉ＞ε、（２≦ｉ≦ｎ））の個数であり、ｎは推定に用いた間隔の個数である。例えば、広くなった箇所が４、狭くなった箇所が２、推定に用いた間隔の数が２０である場合、回線使用率は、４／２０＝０．２＝２０％と推定される。
【００３５】
なお、プローブパケット１３を増やすと、間隔の個数が多くなり、サンプルが多くなるため、回線使用率推定の精度は向上する。
【００３６】
次に本実施形態によるキュー遅延時間と回線使用率推定の実験結果を示す。図３は、キュー遅延時間と回線使用率推定のための実験システムの構成を示す。なお、本実験システムでは回線として、Fast Ethernet（登録商標）を用いている。
【００３７】
測定装置３１は、ネットワークトラフィックを模擬し、かつ、ネットワーク機器およびネットワークのパフォーマンスを測定する装置である。本実験では、SPIRENT Communications社が提供するSmartBits（スマートビット）を測定装置３１として利用した。測定装置３１の左側のポートから同期パケット、プローブパケットを送信し、右側のポートで同期パケット、プローブパケットを受信する。測定装置３１の左上のポートからクロストラフィックのパケットを送信し、測定装置３１の右上のポートでクロストラフィックのパケットを受信する。
【００３８】
本実験では、上記閾値εを０．１６μｓ（２バイトを転送するために必要な時間に相当する）にし、プローブパケットは同期パケットの前に１個、後ろに２０個送信した。プローブパケットおよび同期パケットのパケットサイズは、ＰＴＰのｓｙｎｃパケットを想定し、１７０バイトに設定した。また、パケットの送信間隔は、１２１．４４μｓにした。これは、Fast Ethernet（登録商標）において、最大伝送単位である１５１８バイトを送信する時間に相当する。なお、クロストラフィックのパケットサイズは、Ethernet（登録商標）での最大伝送単位である１５１８バイトに設定した。
【００３９】
レイヤ２スイッチ（Ｌ２スイッチ）３２は、プローブパケット及び同期パケットのパケット群とクロストラフィックのパケットを入力して、これらのパケットを同じ回線に出力することによりキュー遅延を発生させる。
【００４０】
レイヤ２スイッチ（Ｌ２スイッチ）３３は、レイヤ２スイッチ３２の出力を入力とし、プローブパケット及び同期パケットのパケット群とクロストラフィックのパケットを別な回線に出力する。プローブパケット及び同期パケットのパケット群は、測定装置３１の右側のポートに入力される。測定装置３１は到来したパケットの間隔を測定し、キュー遅延時間と回線使用率の推定を行う。
【００４１】
図４は、キュー遅延時間推定の実験結果を示す。図３の測定装置３１によりクロストラフィックを調整し、実際の回線使用率を３０％、５０％、７０％、９０％にして、プローブパケット及び同期パケットの送信及び受信を、それぞれの回線使用率で５００回行って、各パケットの間隔を測定して、キュー遅延時間を推定した結果である。なお、プローブパケット及び同期パケット間に１つのパケットしか挿入されないため、キュー遅延時間の最大値は１２０μｓ程度になる。
【００４２】
回線使用率が３０％の場合は、上記のケース３、キュー遅延が発生していない場合が６５％であり、上記のケース１、キュー遅延が発生しキュー遅延時間が推定される場合が３４％であり、上記のケース２、キュー遅延が発生しキュー遅延時間が推定されない場合が１％である。また、キュー遅延時間が推定される場合、推定されるキュー遅延時間は０μｓから１２０μｓの間にほぼ一様に分布する。
【００４３】
回線使用率が５０％の場合は、３０％の場合と同じ傾向であるが、キュー遅延時間が推定されないケースが多くなる。
【００４４】
回線使用率が７０％、９０％と高くなるにつれて、キュー遅延時間が推定されないケースが多くなり、また、キュー遅延時間が短い場合は推定できなくなってきている。
【００４５】
以上のことより、キュー遅延時間の推定は、回線使用率５０％までは８割以上のパケットで可能である。また、回線使用率の増加に伴い、キュー遅延時間は短い方から推定できなくなる。
【００４６】
図５は、回線使用率推定の実験結果を示す。図３の測定装置３１によりクロストラフィックを調整し、実際の回線使用率を３０％。５０％、７０％、９０％にして、プローブパケット及び同期パケットの送信及び受信を、それぞれの回線使用率で５００回行って、各パケットの間隔を測定して、回線使用率を上記の式（１）で推定した結果である。
【００４７】
各回線使用率において、５００回の推定値の最大値、最小値及び平均値を示している。なお、平均値は図において菱形で示されている。図５によると、上記の式（１）は±１０％の精度で回線使用率を推定できていることがわかる。
【００４８】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様および変更態様で実施することができる。従って本発明の範囲は特許請求の範囲およびその均等範囲によってのみ規定されるものである。
【図面の簡単な説明】
【００４９】
【図１】本実施形態のキュー遅延時間及び回線使用率推定方法で、送信及び受信されるパケット群の一例を示している。
【図２】図１のパケット群の間隔がスイッチを通過したときに変化することを示している。
【図３】キュー遅延時間と回線使用率推定のための実験システムの構成を示す
【図４】キュー遅延時間推定の実験結果を示す。
【図５】回線使用率推定の実験結果を示す。
【符号の説明】
【００５０】
１１  同期パケット
１２、１３  プローブパケット
１４  他の回線のパケット
２１、２２  スイッチ
３１  測定装置
３２、３３  レイヤ２スイッチ
【図１】
2010074600.tif 000003
【図２】
2010074600.tif 000004
【図３】
2010074600.tif 000005
【図４】
2010074600.tif 000006
【図５】
2010074600.tif 000007