(57)【要約】【課題】  特定の無線通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する。【解決手段】  特定の無線通信装置が生成したネットワーク識別子を受信し、そのネットワーク識別子のネットワークに参加し、ネットワーク識別子に基づいて通信相手のネットワークアドレスを決定してDHCPにより通信相手に割り当てる。【選択図】      図３
2006245664.tif 000002
【特許請求の範囲】
【請求項１】
特定の通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する通信装置であって、
特定の通信装置が生成したネットワーク識別子を受信し、該ネットワーク識別子のネットワークに参加する手段と、
前記ネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する決定手段とを有することを特徴とする通信装置。
【請求項２】
前記通信相手は、IEEE802.11準拠のアドホックモードで前記ネットワーク識別子を生成した特定の無線通信装置であることを特徴とする請求項１記載の通信装置。
【請求項３】
前記ネットワークアドレスは、ＩＰ（Internet Protocol）アドレスであることを特徴とする請求項１又は２記載の通信装置。
【請求項４】
前記決定したネットワークアドレスの通信相手に対してデータ転送を行うことを特徴とする請求項１乃至３の何れか一項記載の通信装置。
【請求項５】
前記データ転送は、ＦＴＰ（File Transfer Protocol）によって行われることを特徴とする請求項４記載の通信装置。
【請求項６】
前記通信装置自身が前記ネットワーク識別子を生成したか否かを判別する判別手段を有し、
前記決定手段は、前記判別手段による判別に応じて、通信相手のネットワークアドレスを決定することを特徴とする請求項１乃至５の何れか一項記載の通信装置。
【請求項７】
前記判別手段が、他の通信装置が前記ネットワーク識別子を生成したと判断した場合に、前記決定手段はネットワークアドレスを決定することを特徴とする請求項６記載の通信装置。
【請求項８】
前記判別手段が、他の通信装置が前記ネットワーク識別子を生成したと判断した場合に、通信部を所定時間停止することを特徴とする請求項６記載の通信装置。
【請求項９】
特定の通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定するネットワークアドレス決定方法であって、
特定の通信装置が生成したネットワーク識別子を受信し、該ネットワーク識別子のネットワークに参加する工程と、
前記ネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する工程とを有することを特徴とするネットワークアドレス決定方法。
【請求項１０】
請求項９記載のネットワークアドレス決定方法の各手順をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項１０記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定の通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する技術に関する。
【背景技術】
【０００２】
複数台のコンピュータで構成されるネットワークシステムにおいて、各種情報の共有やプリンタ等の情報処理機器の有効活用のために、ＬＡＮを構築することが一般的になっている。とりわけ、近年ではIEEE 802.11x準拠の無線ＬＡＮが利用されるようになってきている。これは、ＬＡＮケーブルの敷設が不要であることや、ノート型パーソナルコンピュータ（ノートＰＣ）などの可搬型情報処理機器の利便性を鑑みると、無線ＬＡＮの利用は今後更に拡大するものと考えられる。
【０００３】
この無線ＬＡＮを構築するには、それぞれの無線端末（以下「ＳＴＡ（station）」と表記する）に所定の設定が施される必要がある。例えば、IEEE 802.11x準拠の無線ＬＡＮにおいて、アドホック（ad hoc）モードで通信を行う場合を考える。
【０００４】
無線ＬＡＮにおける各々のＳＴＡは、最初にネットワークに参加したＳＴＡが生成するネットワーク識別子である「BSSID（Basic Service Set ID）」を参照することにより、無線媒体として相互が認識できる状態になる。
【０００５】
そして、通信を行うためには、上述の状態になった上で、更に各々のＳＴＡに対して、ネットワークアドレスが、一意に割り当てられる必要がある。その理由は、ネットワークアドレスが一意に割り当てられない、即ち、ネットワークアドレスの重複があると、通信したいＳＴＡとは別のＳＴＡと通信する可能性があるからである。
【０００６】
そこで、ＩＰ（Internet Protocol）ネットワークにおいては、ネットワークアドレスであるＩＰアドレスを自動的に、かつ、一意に割り当てる仕組みとして、DHCP（例えば、非特許文献１参照。）やAuto IP（例えば、非特許文献２参照。）が知られている。
【０００７】
このDHCPにおいては、DHCPサーバが各DHCPクライアントに対して、ＩＰアドレスを割り当てる。また、Auto IPでは、ネットワークを構成する各々のＳＴＡが、まず所定のＩＰアドレス空間の中から任意のＩＰアドレスを選択する。次に、ネットワーク内を探索することでＩＰアドレスの重複による矛盾が生じないことを確認した後、実際に使用する。
【０００８】
また、ネットワーク識別子からネットワークアドレスであるＩＰアドレスを生成する方法も知られている（例えば、特許文献１参照。）。
【特許文献１】特開2002-023813号公報（段落［0064］）
【非特許文献１】ドゥロムス（Droms）、“ダイナミック・ホスト・コンフィギュレーション・プロトコル（Dynamic Host Configuration Protocol）”、[online]、1997年3月、[2003年12月18日検索]、インターネット＜URL:http://www.ietf.org/rfc/rfc2131.txt＞
【非特許文献２】トゥロル（Troll）、“IPv4アドホックネットワークにおけるIPアドレスの自動設定（Automatically Choosing an IP Address in an Ad-Hoc IPv4 Network）”、1999年4月14日、[2003年12月18日検索]、インターネット＜URL:http://www.ietf.org/proceedings/99jul/I-D/draft-ietf-dhc-ipv4-autoconfig-04.txt＞
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記DHCPもしくはAuto IPだけでは、ネットワーク内の各々のＳＴＡに関して、他のＳＴＡのＩＰアドレスを知ることができない。従って、実際に通信するには、新たな手段を用いてＩＰアドレスを知る必要があるため、手間がかかっていた。
【００１０】
また、上記特許文献１に記載された方法をIEEE 802.11x準拠のアドホックモードに適用した場合、以下のような不都合が生じる。
【００１１】
ネットワーク識別子であるBSSIDは、最初にネットワークに参加したＳＴＡが生成し、このBSSIDに基づいて通信したい相手のＩＰアドレスが生成される。
【００１２】
そして、最初にネットワークに参加したＳＴＡが、ネットワークから外れると、ネットワーク内の別のＳＴＡが新たにBSSIDを生成する。これに伴い、そのBSSIDから生成されるＩＰアドレスは当初のものとは異なってしまう。
【００１３】
従って、最初にネットワークに参加したＳＴＡが通信したい相手でなかった場合、このＳＴＡがネットワークから外れることにより、生成されるＩＰアドレスが当初のものとは異なってしまう。
【００１４】
即ち、通信とは直接関係ないＳＴＡによってＩＰアドレスが変更されてしまう恐れがあり、ネットワークが安定しない、という問題がある。
【００１５】
本発明は、上述の課題に鑑みてなされたもので、特定の通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、特定の通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する通信装置であって、特定の通信装置が生成したネットワーク識別子を受信し、該ネットワーク識別子のネットワークに参加する手段と、前記ネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する決定手段とを有することを特徴とする。
【００１７】
また、本発明は、特定の通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定するネットワークアドレス決定方法であって、特定の通信装置が生成したネットワーク識別子を受信し、該ネットワーク識別子のネットワークに参加する工程と、前記ネットワーク識別子に基づいて通信相手のネットワークアドレスを決定する工程とを有することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、特定の通信装置が生成したネットワーク識別子に基づいて通信相手のネットワークアドレスを決定することにより、特定の通信装置を通信相手とするネットワークアドレスを容易に割り当てる或いは設定することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【実施例１】
【００２０】
図１は、実施例１における無線通信システムの構成の一例を示す図である。図１に示すように、無線通信システムは、無線通信機能を有する端末装置１０１と端末装置１０２とで構成されている。
【００２１】
尚、実施例１の無線通信システムでは、IEEE 802.11a/b/g準拠のアドホックモードにおける任意の端末装置がIBSS（Independent BSS）クリエータとして、ネットワーク識別子（BSSID：Basic Service Set ID）を含むビーコンフレームを所定のエリア内に報知し、そのエリア内の他の端末装置がそのネットワーク識別子のアドホックネットワークに参加するものである。
【００２２】
また、端末装置のネットワークアドレスとして、ＩＰ（Internet Protocol）アドレスを用いるものとする。このＩＰアドレスを用いた通信の詳細は更に後述する。
【００２３】
図２は、端末装置１０１又は１０２の通信及び通信設定に関連する機能ブロックを示す図である。まず、パケットデータ受信時、無線信号はアンテナ部２０１より取り込まれ、高周波処理部２０２でベースバンド信号へと変換される。変換されたベースバンド信号は、ベースバンド処理部２０３でディジタル信号に変換される。変換されたディジタル信号は、媒体アクセス制御（ＭＡＣ）部２０４において、所定のデータフォーマットに変換されて制御部２０５へと送られる。一方、パケットデータ送信時は、これとは逆にデータが流れる。
【００２４】
制御部２０５は、媒体アクセス制御部２０４からのデータを、メモリ２０６に保持するか、或いはインターフェース２０７を介して接続されている装置又はユニットに送出するように制御する。また、制御部２０５はインターフェース２０７を介して接続されている装置又はユニットからのデータを、メモリ２０６に保持するか、或いは媒体アクセス制御部２０４に送出するように制御する。更に、制御部２０５はメモリ２０６に保持されているデータを、媒体アクセス制御部２０４に送出するか、或いはインターフェース２０７を介して接続されている装置又はユニットに送出するように制御する。また、制御部２０５は上述のデータ転送を行うと共にデータ処理も行う。
【００２５】
表示部２０８は、端末装置１０１又は１０２の各部の状態を表示したり、データを表示する。そして、入力部２０９は、各種設定を行うためのものである。尚、表示部２０８と入力部２０９とを一体に構成し、タッチパネルとして構成しても良い。
【００２６】
ここで、データ転送を行う端末装置が受信したBSSIDを参照してネットワークに参加し、DHCPに基づいて転送先の端末装置にＩＰアドレスを割り当てる処理について詳細に説明する。図３は、実施例１におけるアドホックネットワークでＩＰアドレスを用いてデータ転送を行う際のシーケンスを示す図である。
【００２７】
図３に示すように、実施例１では、端末装置１０１及び１０２は、ＩＰアドレスの割り当てにはDHCP（Dynamic Host Configuration Protocol）を用い、端末装置１０１がDHCPサーバ機能を備え、端末装置１０２がDHCPクライアント機能を備えている。また、データ転送にはFTP（File Transfer Protocol）を用い、端末装置１０１がFTPクライアント機能を備え、端末装置１０２がFTPサーバ機能を備えている。データは、端末装置１０１から端末装置１０２へ転送される。
【００２８】
図４は、実施例１におけるデータ転送を行う端末装置がアドホックネットワークへ参加する際の処理を示すフローチャートである。最初に、端末装置１０１が端末装置１０２から報知されたビーコンフレームを受信し、そのビーコンフレームに含まれるネットワークのBSSIDを取得し、メモリ２０６に保持する（ステップＳ４０１）。次に、このBSSIDが、端末装置１０１自身によって生成したものか否かを制御部２０５が判定する（ステップＳ４０２）。ここで、このBSSIDが、端末装置１０１自身よって生成したものと判定すると、端末装置１０１は制御部２０５の処理によって所定時間無線通信部を停止することで、一旦ネットワークから外れる（ステップＳ４０３）。また、端末装置１０１自身によって生成したものでないと判定すると、上述のステップＳ４０１に戻る。
【００２９】
上述した一連の処理により、端末装置１０１は自身がBSSIDを生成することなく、無線端末１０２が生成したBSSIDを参照して無線ネットワークに参加することができる。
【００３０】
次に、端末装置１０１が端末装置１０２へデータ転送を行うまでの処理を図３を用いて説明する。
【００３１】
まず、端末装置１０２が、自身が生成したネットワーク識別子（BSSID=012345678901）を報知する（３０１）。このBSSIDを端末装置１０１が参照してネットワークに参加する（３０２）ことにより、無線媒体として互いに接続する。この時点では、端末装置１０２にはＩＰアドレスは割り当てられていない。
【００３２】
次に、DHCPサーバである端末装置１０１が端末装置１０２に対してＩＰアドレスを割り当てる（３０３）。ここで、割り当てるアドレスは、例えば10.0.0.X（このXは1〜254の任意の値）である。
【００３３】
尚、ＩＰアドレスのＸは、BSSIDを１２桁の数字とみなして、２５４で割った余りに、１を加えて求めた値である。この例では、BSSID（=12345678901）を２５６で割った余りは１１であるので、Ｘ＝１２となる。また、DHCPサーバである端末装置１０１は、自身のＩＰアドレスを、10.0.0.1と定めておく。
【００３４】
これにより、ＩＰネットワークにおいて、互いに接続できる状態になる。
【００３５】
次に、FTPクライアントである端末装置１０１から、FTPサーバである端末装置１０２に対してFTPでの接続を試みる（３０４）。これは、上述の計算により求めたＩＰアドレスに対して接続を試みることで、端末装置１０２に対する接続を試みることになる。そして、端末装置１０２がFTP接続を許可する（３０５）ことで、FTP接続状態となる。
【００３６】
これにより、端末装置１０１から端末装置１０２へのデータ転送（３０６）を行うことが可能となる。
【００３７】
以上説明したように、実施例１によれば、データ転送を行う端末装置が、ネットワーク識別子に基づいて転送先の端末装置のＩＰアドレスを決定し、そのＩＰアドレスをDHCPによって割り当て、データ転送を行うことができる。
【実施例２】
【００３８】
次に、図面を参照しながら本発明に係る実施例２について詳細に説明する。実施例１では、DHCPによりネットワークアドレスであるＩＰアドレスを自動的に割り当てていたが、実施例２ではAuto IPによりＩＰアドレスを自動的に割り当てるものである。
【００３９】
図５は、実施例２における無線通信システムの構成の一例を示す図である。図５に示すように、無線通信システムは、無線通信機能を有する端末装置５０１、５０２、５０３で構成されている。
【００４０】
尚、端末装置５０１、５０２、５０３の通信及び通信設定に関連する機能ブロックは、実施例１で用いた図２に示すものと同様である。
【００４１】
また、実施例１と同様に、この無線通信システムもIEEE 802.11a/b/g準拠のアドホックモードにおいて、任意の端末装置がIBSS（Independent BSS）クリエータとして、ネットワーク識別子（BSSID：Basic Service Set ID）を含むビーコンフレームを所定のエリア内に報知し、そのエリア内の他の端末装置がそのネットワーク識別子のアドホックネットワークに参加するものである。また、ネットワークアドレスとして、ＩＰアドレスを用い、ＩＰアドレスの割り当てには、Auto IPを用いるものとする。
【００４２】
ここで、データ転送を行う端末装置が受信したBSSIDを参照してネットワークに参加し、Auto IPに基づいて転送先の端末装置にＩＰアドレスを割り当てる処理について詳細に説明する。図６は、実施例２におけるアドホックネットワークで、ＩＰアドレスを用いてデータ転送を行う際のシーケンスを示す図である。
【００４３】
図６に示すように、実施例２では、データは、端末装置５０１（５０３）から端末装置５０２へ転送される。また、データ転送にはFTPを用い、端末装置５０１（５０３）がFTPクライアント機能を備え、端末装置５０２がFTPサーバ機能を備えている。
【００４４】
図７は、実施例２における端末装置がFTP接続するまでの処理を示すフローチャートである。最初に、端末装置５０１（５０３）が端末装置５０２から報知されたビーコンフレームを受信し、そのビーコンフレームに含まれるネットワークのBSSIDを取得し、メモリ２０６に保持する（ステップＳ７０１）。次に、このBSSIDからＩＰアドレスを決定する（ステップＳ７０２）。このＩＰアドレスは、169.254.X.Y（X,Yは1〜254の任意の値）である。
【００４５】
尚、ＩＰアドレスのＸは、BSSIDを１２桁の数字とみなして、２５４で割った余りに、１を加えて求めた値である。またＩＰアドレスのＹは、BSSIDを逆に並べ、これを１２桁の数字とみなして、２５４で割った余りに、１を加えて求めた値である。即ち、BSSIDが、「012345678901」であれば、Ｘ＝１２、Ｙ＝２０１となり、ＩＰアドレスは「169.254.12.201」である。
【００４６】
次に、このＩＰアドレス宛に、FTPによる接続要求を出す（ステップＳ７０３）。ここで、接続が許可されると（ステップＳ７０４のＹＥＳ）、上述のステップＳ７０１に戻る。また、許可されない場合は、所定時間無線通信部を停止することで、一旦ネットワークから外れる（ステップＳ７０５）。
【００４７】
そして、端末装置５０１、５０２、５０３は、現在のBSSIDが自身によって生成されたと判断すると、上述した計算によって求めた値を自身のＩＰアドレスに設定する。また、そうでない端末装置は、これとは異なる値を各自のＩＰアドレスに設定する。
【００４８】
もし、現在のBSSIDが端末装置５０１、５０３の何れかによって生成されたものであれば、端末装置５０１、５０３が、ステップＳ７０３でFTP接続要求を出す相手は端末装置５０１、５０３の何れかになる。しかし、端末装置５０１、５０３には、FTPサーバ機能がないため、ステップＳ７０４での結果はＮＯとなり、ステップＳ７０５へ進み、ネットワークから外れる。
【００４９】
上述した一連の動作により、端末装置５０１、５０３は、自身がBSSIDを生成することなく、無線端末５０２が生成したBSSIDを参照して無線ネットワークに参加することができる。尚、端末装置５０３から端末装置５０２へのデータ転送も、端末装置５０１を端末装置５０３に置き換えるだけで、上述の場合と同様である。
【００５０】
次に、端末装置５０１が端末装置５０２へデータ転送を行うまでの処理を図６を用いて説明する。
【００５１】
まず、端末装置５０２が、自身が生成したネットワーク識別子（BSSID=012345678901）を報知する（６０１）。このBSSIDを端末装置５０１が参照してネットワークに参加する（６０２）ことにより、無線媒体として互いに接続する。この時点では、端末装置５０２にはＩＰアドレスは割り当てられていない。
【００５２】
次に、端末装置５０１、５０２は、Auto IPに基づいて自身のＩＰアドレスを割り当てる（６０３）。端末装置５０２がBSSIDを生成しているため、端末装置５０２自身に割り当てるアドレスは上述した計算で求めた、169.254.12.201である。また、端末装置５０１は、自身が生成したBSSIDでないため、これ以外のアドレス（例えば、169.254.179.36）を割り当てる。
【００５３】
これにより、IPネットワークにおいて、互いに接続できる状態になる。
【００５４】
次に、FTPクライアントである端末装置５０１から、FTPサーバである端末装置５０２に対してFTPでの接続を試みる（６０４）。これは、上述の計算により求めたＩＰアドレスに対して接続を試みることで、端末装置５０２に対する接続を試みることになる。そして、端末装置５０２がFTP接続を許可する（６０５）ことで、FTP接続状態となる。
【００５５】
これにより、端末装置５０１から端末装置５０２へのデータ転送（６０６）を行うことが可能となる。
【００５６】
以上説明したように、実施例２によれば、ネットワーク識別子に基づいて各端末装置がＩＰアドレスを算出してAuto IPにより設定し、データ転送を行う端末装置から転送先の端末装置のＩＰアドレスに対してデータ転送を行うことができる。
【００５７】
尚、実施例１において、DHCPの代わりにAuto IP又はこれらと同様の技術を用いる方法、無線ネットワークへの参加に際して図７に示すような処理又はこれと同様の方法、そして、実施例２において、Auto IPの代わりにDHCP又はこれらと同様の技術を用いる方法、無線ネットワークへの参加に際して図４に示すような処理又はこれと同様の方法、これらの任意の組み合わせも、本発明が請求する範囲に含まれる。
【００５８】
更に、BSSIDからＩＰアドレスを求める方法は、ここで述べたものに限らない。上述の方法に代わる任意の方法によりBSSIDからＩＰアドレスを一意に求めた場合でも、本発明が請求する範囲に含まれる。
【００５９】
以上説明したように、実施例によれば、データ転送先である端末装置が、ネットワーク識別子を生成するようにしたことでネットワーク識別子が頻繁に変わることなく、ネットワークが安定し、またネットワークを構成する各端末装置はデータ転送先である端末装置のＩＰアドレスを容易に検知できる、という効果がある。
【００６０】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００６１】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００６２】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００６３】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００６４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６５】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６６】
【図１】実施例１における無線通信システムの構成の一例を示す図である。
【図２】端末装置１０１又は１０２の通信及び通信設定に関連する機能ブロックを示す図である。
【図３】実施例１におけるアドホックネットワークでＩＰアドレスを用いてデータ転送を行う際のシーケンスを示す図である。
【図４】実施例１におけるデータ転送を行う端末装置がアドホックネットワークへ参加する際の処理を示すフローチャートである。
【図５】実施例２における無線通信システムの構成の一例を示す図である。
【図６】実施例２におけるアドホックネットワークでＩＰアドレスを用いてデータ転送を行う際のシーケンスを示す図である。
【図７】実施例２における端末装置がFTP接続するまでの処理を示すフローチャートである。
【符号の説明】
【００６７】
１０１  端末装置
１０２  端末装置
２０１  アンテナ部
２０２  高周波処理部
２０３  ベースバンド処理部
２０４  媒体アクセス制御（ＭＡＣ）部
２０５  制御部
２０６  メモリ
２０７  インターフェース
２０８  表示部
２０９  入力部
【図１】
2006245664.tif 000003
【図２】
2006245664.tif 000004
【図３】
2006245664.tif 000005
【図４】
2006245664.tif 000006
【図５】
2006245664.tif 000007
【図６】
2006245664.tif 000008
【図７】
2006245664.tif 000009