"複数のタスクを並列的に実行することによって、複数のデータに基づいて印刷データを生成する印刷データ生成装置であり、複数のデータのそれぞれのアドレスを受信するアドレス受信手段と、第1所定タスクを実行するために必要な第1所定データのアドレスに従って外部装置から第1所定データをダウンロードする第1所定データダウンロード手段と、第2所定タスクを実行するために必要な第2所定データのアドレスに従って前記外部装置から第2所定データをダウンロードする第2所定データダウンロード手段と、第1所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第2所定データをダウンロードするためのダウンロード要求指示を前記外部装置に送信するとともに、第2所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第1所定データをダウンロードするためのダウンロード要求指示を前記外部装置に送信する送信制御手段とを備える印刷データ生成装置。前記第1所定データダウンロード手段は、ダウンロード要求指示を複数回にわたって外部装置に送信することにより第1所定データを部分的にダウンロードし、前記第2所定データダウンロード手段は、ダウンロード要求指示を複数回にわたって外部装置に送信することにより第2所定データを部分的にダウンロードすることを特徴とする請求項1に記載の印刷データ生成装置。前記外部装置は、IPアドレスとポート番号の組合せによって特定されることを特徴とする請求項1または2に記載の印刷データ生成装置。IPアドレスとポート番号の組合せに対して、その組合せからデータがダウンロード中であるのか否かを示すダウンロード情報を対応づけて記憶するダウンロード情報記憶手段をさらに備え、前記送信制御手段は、ダウンロード情報記憶手段の記憶内容に基づいて、前記外部装置からデータがダウンロード中であるのか否かを判断することを特徴とする請求項3に記載の印刷データ生成装置。前記第1所定データダウンロード手段は、画像データに関する第1所定データのダウンロードを実行し、前記第2所定データダウンロード手段は、画像データのレイアウトに関する第2所定データのダウンロードを実行し、第1所定タスクは、第2所定タスクにより特定されるレイアウトにしたがって、第1所定データをラスタライズすることによって印刷データを生成することを特徴とする請求項1から4のいずれかに記載の印刷データ生成装置。複数のタスクを並列的に実行することによって、複数のデータに基づいて印刷データを生成するためのコンピュータプログラムであり、第1所定タスクを実行するために必要な第1所定データのアドレスに従って外部装置から第1所定データをダウンロードする第1所定データダウンロード処理と、第2所定タスクを実行するために必要な第2所定データのアドレスに従って前記外部装置から第2所定データをダウンロードする第2所定データダウンロード処理と、第1所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第2所定データをダウンロードするためのダウンロード要求指示を前記外部装置に送信するとともに、第2所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第1所定データをダウンロードするためのダウンロード要求指示を前記外部装置に送信する送信制御処理とをコンピュータに実行させるコンピュータプログラム。上記の特許文献1のように、印刷データを生成するために外部装置からデータ上記の特許文献1では画像データをダウンロードすることがある。特許文献1の技術では、XMLスクリプトデータを全て受信しなければ、そのXMLスクリプトデータに含まれるアドレスに従って画像データをダウンロードすることができない。従って、XMLスクリプトデータのデータ量が多い場合には、画像データのダウンロードのタイミングが遅くなり、それにより印刷処理の開始も遅くなる。このために、ユーザが印刷物を得るまでの時間も長くなってしまう。一方、複数のタスクを並列的に実行する場合、一方のタスクに基づいて外部装置からデータをダウンロード中に、他方のタスクに基づいて同じ外部装置に対して別のデータのダウンロード要求指示を送信する事象が起こり得る。外部装置には、同時に複数の接続が可能なデバイスいわゆるマルチコネクション対応のデバイスと、家電製品のように同時に複数の接続を許可していないデバイスいわゆるシングルコネクションタイプのデバイスが存在する。シングルコネクションタイプのデバイスは、ダウンロード要求指示に従ってデータを送信している間に他のダウンロード要求指示を受信しても、それに応答してデータを送信することができない。この場合、印刷データを生成するためのデータをダウンロードすることができない事象が起こり得る。本明細書では、印刷データを生成するためのデータを確実にダウンロードすることができ、かつ、ユーザに対して印刷物を提供するまでの時間を短くすることができる技術を提供する。本明細書によって開示される技術は、以下のように表現することができる。この技術は、複数のタスクを並列的に実行することによって、複数のデータに基づいて印刷データを生成する印刷データ生成装置である。この印刷データ生成装置は、アドレス受信手段と第1所定データダウンロード手段と第2所定データダウンロード手段と送信制御手段とを備える。アドレス受信手段は、複数のデータのそれぞれのアドレスを受信する。第1所定データダウンロード手段は、第1所定タスクを実行するために必要な第1所定データのアドレスに従って外部装置から第1所定データをダウンロードする。第2所定データダウンロード手段は、第2所定タスクを実行するために必要な第2所定データのアドレスに従って上記の外部装置から第2所定データをダウンロードする。送信制御手段は、1第1所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第2所定データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信するとともに、2第2所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第1所定データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信する。上記の第1及び/又は第2所定データダウンロード手段は、ダウンロード要求指示を自身が外部装置に送信することによってデータをダウンロードしてもよいし、他の手段例えば上記の送信制御手段に指示してデータをダウンロードさせてもよい。また、上記の第1及び/又は第2所定データダウンロード手段は、複数回に亘ってダウンロード要求指示を外部装置に送信することによってデータを少しずつダウンロードしてもよいし、1回のダウンロード要求指示によってデータの全てをダウンロードしてもよい。上記の印刷データ生成装置では、外部装置から第1所定データをダウンロード中に第2所定データのダウンロード要求指示を同じ外部装置に送信することが禁止される。また、外部装置から第2所定データをダウンロード中に第1所定データのダウンロード要求指示を同じ外部装置に送信することが禁止される。このために、外部装置がマルチコネクションに対応していない場合であっても、第1所定データと第2所定データを確実にダウンロードすることができる。本明細書によって開示される技術は、次のように表現することもできる。第1タスクと第2タスクとを含む複数のタスクを並列的に実行することによって印刷データを生成する印刷データ生成装置である。印刷データ生成装置という用語は、印刷データを生成するあらゆるタイプの装置を含む概念である。例えば、印刷データ生成装置は、自身が作成した印刷データを自身で印刷するもの例えばプリンタであってもよいし、そうでなくてもよい。印刷データ生成装置は、第2データと、その第2データのアドレスを含む第1データとに基づいて印刷データを生成する。この印刷データ生成装置は、第1ダウンロード手段と第2ダウンロード手段と送信制御手段を備える。第1ダウンロード手段は、外部装置から所定量単位で第1データをダウンロードする第1タスクを実行する。なお、第1ダウンロード手段は、ダウンロード要求指示を自身が外部装置に送信することによって第1データをダウンロードしてもよいし、他の手段例えば後述の送信制御手段に指示して第1データをダウンロードさせてもよい。後者の場合も、第1ダウンロード手段が第1データをダウンロードすることに等しい。また、上記の所定量単位で第1データをダウンロードするとは、複数回に亘ってダウンロード要求指示を外部装置に送信することによって第1データを少しずつダウンロードすることを意味する。なお、1回にダウンロードされる第1データのデータ量は、必ずしも一定である必要はない。即ち、上記の所定量は、必ずしも一定である必要はない。ダウンロード毎に第1データのデータ量が変化してもよい。第2ダウンロード手段は、第1ダウンロード手段によってダウンロードされた上記の所定量の第1データの中に、第2タスクを実行するために必要な第2データのアドレスが含まれる場合に、そのアドレスに従って上記の外部装置から第2データをダウンロードする。なお、第2ダウンロード手段は、ダウンロード要求指示を自身が外部装置に送信することによって第2データをダウンロードしてもよいし、他の手段例えば後述の送信制御手段に指示して第2データをダウンロードさせてもよい。後者の場合も、第2ダウンロード手段が第2データをダウンロードすることに等しい。なお、第2ダウンロード手段は、所定量単位で第2データをダウンロードしてもよいし即ち第2データを少しずつダウンロードしてもよい、1回のダウンロード要求指示によって第2データの全てをダウンロードしてもよい。送信制御手段は、1上記の所定量の第1データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第2データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信するとともに、2第2データがダウンロード中である場合に、そのダウンロードが終了したことを条件として上記の所定量の第1データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信する。なお、上述したように、第1ダウンロード手段は、ダウンロード要求指示を自身が外部装置に送信することによって第1データをダウンロードしてもよい。この場合、第1ダウンロード手段が、上記の2を実行する送信制御手段を兼用することになる。また、上述したように、第2ダウンロード手段は、ダウンロード要求指示を自身が外部装置に送信することによって第2データをダウンロードしてもよい。この場合、第2ダウンロード手段が、上記の1を実行する送信制御手段を兼用することになる。一方において、送信制御手段は、第1ダウンロード手段及び/又は第2ダウンロード手段の指示に従ってデータをダウンロードしてもよい。上記の印刷データ生成装置は、外部装置から第1データをダウンロード中である場合に、そのダウンロードが終了した後に第2データのダウンロード要求指示を同じ外部装置に送信する。外部装置から第1データをダウンロード中に第2データのダウンロード要求指示を同じ外部装置に送信することが禁止される。この印刷データ生成装置は、外部装置がマルチコネクションに対応しているのか否かにかかわらず、第2データを確実にダウンロードすることができる。また、上記の印刷データ生成装置は、外部装置から第2データをダウンロード中である場合に、そのダウンロードが終了した後に第1データのダウンロード要求指示を同じ外部装置に送信する。このために、外部装置から第2データをダウンロード中に第1データのダウンロード要求指示を同じ外部装置に送信することが禁止される。外部装置がマルチコネクションに対応しているのか否かにかかわらず、第1データを確実にダウンロードすることができる。この技術によると、複数タスクを並列的に実行することによって、印刷データを高速に作成し、ユーザに対して印刷物を提供するまでの時間を短くすることができる。上記の印刷データ生成装置は、第1データのアドレスを含む印刷ジョブ作成指示を受信する印刷ジョブ作成指示受信手段をさらに備えていてもよい。この場合、第1ダウンロード手段は、印刷ジョブ作成指示に含まれるアドレスに従って上記の外部装置から第1データをダウンロードしてもよい。上述したように、第1ダウンロード手段と第2ダウンロード手段のそれぞれが送信制御手段を兼用してもよい。一方において、送信制御手段は、第1ダウンロード手段と第2ダウンロード手段のそれぞれからの指示に従ってデータをダウンロードしてもよい。この構成は、以下のように表現することができる。即ち、第1ダウンロード手段は、上記の所定量の第1データをダウンロードするように送信制御手段に指示するものであってもよい。また、第2ダウンロード手段は、第2データをダウンロードするように送信制御手段に指示するものであってもよい。この場合、送信制御手段は、第1ダウンロード手段からの指示に従って上記の所定量の第1データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信してもよいし、第2ダウンロード手段からの指示に従って第2データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信してもよい。上記の第2データは、画像データであってもよい。この場合、第2ダウンロード手段は、第2データをラスタライズすることによって印刷データを生成する上記の第2タスクを実行するものであってもよい。一方において、上記の第2データは、別の種類のデータ例えば後述のレイアウトに関するデータであってもよい。この場合、第2ダウンロード手段は、ラスタライズではない別の第2タスクを実行してもよい。第1データは、画像データのレイアウトに関する第3データのアドレスを含んでいてもよい。この場合、印刷データ生成装置は、第1ダウンロード手段によってダウンロードされた上記の所定量の第1データの中に、第3タスクを実行するために必要な第3データのアドレスが含まれる場合に、そのアドレスに従って上記の外部装置から第3データをダウンロードする第3ダウンロード手段をさらに備えていてもよい。なお、第3ダウンロード手段は、ダウンロード要求指示を自身が外部装置に送信することによって第3データをダウンロードしてもよいし、他の手段例えば上記の送信制御手段に指示して第3データをダウンロードさせてもよい。後者の場合も、第3ダウンロード手段が第3データをダウンロードすることに等しい。なお、第3ダウンロード手段は、所定量単位で第3データをダウンロードしてもよいし即ち第3データを少しずつダウンロードしてもよい、1回のダウンロード要求指示によって第3データの全てをダウンロードしてもよい。上記の構成の場合、送信制御手段は、以下のように動作してもよい。即ち、送信制御手段は、上記の所定量の第1データ又は第2データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第3データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信してもよいし、第3データがダウンロード中である場合に、そのダウンロードが終了したことを条件として上記の所定量の第1データ又は第2データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信してもよい。この構成によると、外部装置から第1データ又は第2データをダウンロード中に第3データのダウンロード要求指示を同じ外部装置に送信することが禁止される。また、外部装置から第3データをダウンロード中に第1データ又は第2データのダウンロード要求指示を同じ外部装置に送信することが禁止される。このために、外部装置がマルチコネクションに対応していない場合であっても、各データを確実にダウンロードすることができる。上記の構成の場合、第3ダウンロード手段は、第3データから画像データのレイアウトを特定する第3タスクを実行してもよい。なお、第3ダウンロード手段がどのようにしてレイアウトを特定するのかは、第3データの内容に依存する。例えば、レイアウトを特定するために、第3データの内容に基づいて計算を要することがある。この場合、第3ダウンロード手段は、第3データに基づいて計算することによってレイアウトを特定する。一方において、第3データを読み込むだけでレイアウトを特定することができることがある。この場合、第3ダウンロード手段は、第3データを読み込むことによってレイアウトを特定する。なお、第3ダウンロード手段がレイアウトを特定する構成を採用する場合、第2ダウンロード手段は、第3ダウンロード手段によって特定されたレイアウトに従って画像データが配置されている印刷データを生成してもよい。上記の外部装置は、IPアドレスによって特定されてもよい。一方において、上記の外部装置は、IPアドレスとポート番号の組合せによって特定されてもよい。この場合、1つのデバイスにおいて複数のポートが利用されると、そのデバイス内に複数の外部装置が存在することになる。なお、上記の印刷データ生成装置は、IPアドレスとポート番号の組合せに対して、その組合せからデータがダウンロード中であるのか否かを示すダウンロード情報を対応づけて記憶するダウンロード情報記憶手段をさらに備えていてもよい。この場合、送信制御手段は、ダウンロード情報記憶手段の記憶内容に基づいて、上記の外部装置からデータがダウンロード中であるのか否かを判断することができる。また、次のコンピュータプログラムも有用である。このコンピュータプログラムは、以下の各処理をコンピュータに実行させる。1第1所定タスクを実行するために必要な第1所定データのアドレスに従って外部装置から第1所定データをダウンロードする第1所定データダウンロード処理。2第2所定タスクを実行するために必要な第2所定データのアドレスに従って上記の外部装置から第2所定データをダウンロードする第2所定データダウンロード処理。3第1所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第2所定データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信するとともに、第2所定データがダウンロード中である場合に、そのダウンロードが終了したことを条件として第1所定データをダウンロードするためのダウンロード要求指示を上記の外部装置に送信する送信制御処理。このコンピュータプログラムを利用すると、第1所定データと第2所定データを確実にダウンロードすることができる印刷データ生成装置を実現することができる。印刷データを生成するためのデータを確実にダウンロードすることができ、かつ、ユーザに対して印刷物を提供するまでの時間を短くすることができる。ここでは、以下の実施例に記載の技術の特徴の一部を記載する。形態1実施例に記載されている印刷データ生成装置は、次のように表現することもできる。この印刷データ生成装置は、複数のタスクを並列的に実行することによって、複数のデータファイルに基づいて印刷データを生成する。この印刷データ生成装置は、複数のデータファイルのそれぞれのアドレスを受信するアドレス受信手段を備える。また、印刷データ生成装置は、各アドレスに従って外部からデータファイルをダウンロードするとともに、同じ外部装置に対して並列的にダウンロード要求指示を送信することを禁止する送信制御手段とを備える。上記の同じ外部装置に対して並列的にダウンロード要求指示を送信することを禁止するとは、外部装置からデータをダウンロード中に当該外部装置にダウンロード要求指示を送信することを禁止することを意味する。形態2画像データのレイアウトに関するデータは、当該画像データのポジションを特定するためのデータ、及び/又は、当該画像データの回転角度を特定するためのデータを含んでいる。形態3印刷データ生成装置は、レイアウト処理部とダウンロード処理部を有する。レイアウト処理部は、外部ファイルのダウンロードが必要であるのか否かを判断する。レイアウト処理部は、外部ファイルをダウンロードするようにダウンロード処理部に指示する。この指示は、接続指示とダウンロード指示と切断指示を含む。接続指示は、IPアドレスと外部ファイルのファイル名とを少なくとも含んでいる。ダウンロード処理部は、接続指示に含まれるIPアドレスを第1テーブルに記憶させる。ダウンロード処理部は、接続指示に含まれるIPアドレスとファイル名との組合せ以下では単に組合せと呼ぶを第2テーブルに記憶させる。この組合せには、識別番号が付与される。ダウンロード処理部は、この識別番号をレイアウト処理部に送信する。レイアウト処理部は、この識別番号を含むダウンロード指示又は切断指示をダウンロード処理部に送信する。ダウンロード処理部は、ダウンロード指示に含まれる識別番号に対応づけて第2テーブルに記憶されている組合せに従って外部ファイルをダウンロードする。ダウンロード処理部は、切断指示に含まれる識別番号に対応づけて第2テーブルに記憶されている組合せを削除する。形態4印刷データ生成装置は、ラスタライズ処理部とダウンロード処理部を有する。ラスタライズ処理部は、外部ファイルのダウンロードが必要であるのか否かを判断する。ラスタライズ処理部は、外部ファイルをダウンロードするようにダウンロード処理部に指示する。この指示は、接続指示とダウンロード指示と切断指示を含む。ダウンロード処理部は、上記の形態3の場合と同様に動作する。図面を参照して実施例を説明する。図1は、本実施例のプリンタシステム2を示す。プリンタシステム2は、プリンタ10と外部装置50等を備える。外部装置50は、プリンタ10に印刷を指示することができる装置印刷ジョブ作成コマンドを送信することができる装置である。外部装置50の例としては、例えば、パーソナルコンピュータ、デジタルカメラ、テレビ、DVDレコーダ等を挙げることができる。プリンタの構成プリンタ10は、操作部12と表示部14と制御部16と印刷部30と記憶部32と入出力ポート44等を有する。操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な情報や指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示することができる。制御部16は、CPU等によって構成されている。制御部16は、複数のタスクを並列的同時的に実行することができる。制御部16は、1つのCPUによって構成されていてもよいし、複数のCPUによって構成されていてもよい。いずれの構成であっても、複数のタスクを並列的に実行することができる。制御部16は、受信処理部18とレイアウト処理部20とラスタライズ処理部22とダウンロード処理部24と印刷処理部26とを有する。各処理部18~26がタスクを並列的に実行する。各処理部18~26によって実行されるタスクの内容は、後で詳しく説明する。印刷部30は、制御部16のラスタライズ処理部22によって作成されたビットマップデータに基づいて印刷媒体に印刷する。印刷部30は、制御部16の印刷処理部26からの指示に従って印刷媒体に印刷する。記憶部32は、ROM、EEPROM、RAM等によって構成されている。記憶部32は、セッションテーブル記憶領域36とハンドルテーブル記憶領域38を有する。これらの記憶領域36,38に記憶される情報の内容については、後で詳しく説明する。また、記憶部32は、制御部16にタスクを実行させるプログラム、外部から受信されたデータ、制御部16によって生成されるデータ等を記憶する記憶領域42を有する。入出力ポート44は、LAN回線やインターネット回線に接続されている。プリンタ10は、入出力ポート44を介して、外部装置50やその他のデバイスインターネット上のデバイス等と通信可能である。受信処理続いて、制御部16の各処理部18~26によって実行される処理タスクについて説明する。図2は、受信処理のフローチャートを示す。受信処理は、制御部16の受信処理部18によって実行される。受信処理部18は、ジョブ作成指示が受信されることを監視しているS10。例えば、図1の外部装置50は、ジョブ作成指示をプリンタ10に送信することができる。このジョブ作成指示は、入出力ポート44を介してプリンタ10によって受信される。この場合、S10でYESと判断される。図3は、ジョブ作成指示の一例を示す。ジョブ作成指示60は、ソースURIUniformResourceIdentifier62を含んでいる。ソースURI62は、印刷に必要なデータ本実施例ではXHTML-Printデータのアドレスである。なお、以下では、XHTML-Printデータのことを簡単にXHTMLデータと呼ぶことがある。ソースURI62は、XHTMLデータを格納しているデバイス本実施例では図1の外部装置50のIPアドレスと、ポート番号と、XHTMLデータのファイル名とを含んでいる。図3では、192.168.1.11がIPアドレスであり、1025がポート番号であり、a045f2e1.xhtmlがXHTMLデータのファイル名である。次いで、受信処理部18は、ソースURIに対して接続することを指示する情報以下では接続指示と呼ぶをダウンロード処理部24に送信するS12。この処理では、ソースURI62がダウンロード処理部24に送信される。この結果、ダウンロード処理部24は、ソースURI62に含まれるIPアドレスに接続することを試行するコネクションを確立することを試行する。ダウンロード処理部24は、接続に成功した場合、ハンドル番号を受信処理部18に送信する。ハンドル番号については後で詳しく説明する。一方において、ダウンロード処理部24は、接続に失敗した場合、エラーデータを受信処理部18に送信する。受信処理部18は、ダウンロード処理部24からのデータハンドル番号又はエラーデータに基づいて、接続が成功したのか否かを判断するS14。ここでNOの場合、受信処理部18は、エラー処理を実行するS16。一方において、S14でYESの場合、S18に進む。S18では、受信処理部18は、ジョブを開始する旨の情報以下ではジョブ開始指示と呼ぶをレイアウト処理部20に送信する。次いで、受信処理部18は、所定バイト本実施例ではnバイトとするのXHTMLデータをダウンロードすることを指示する情報以下ではダウンロード指示と呼ぶをダウンロード処理部24に指示するS20。このダウンロード指示には、S12の処理の結果としてダウンロード処理部24から送信されてきたハンドル番号が付加される。ダウンロード処理部24は、S12の処理の結果として接続が確立されたデバイスからXHTMLデータをダウンロードする。図4は、XHTMLデータXHTML-Printデータの一例を示す。XHTMLデータ70は、ベースアドレス72を含んでいる。また、XHTMLデータ70は、後述するスタイルシートファイルのファイル名72aを含んでいる。ベースアドレス72とファイル名72aの組合せが、スタイルシートファイルのURLUniformResourceLocatorである。また、XHTMLデータ70は、画像データファイルに関するデータ74を含んでいる。本実施例のXHTMLデータ70は、4つの画像データファイルを印刷することを指示するものである。このために、XHTMLデータ70は、4つの画像データファイルのデータ74を含んでいる。各データ74は、画像データファイルのファイル名74aを含んでいる。上記のベースアドレス72とファイル名74aの組合せが、画像データファイルのURLである。ダウンロード処理部24は、ダウンロードされたXHTMLデータを受信処理部18に送信する。なお、ダウンロード処理部24は、XHTMLデータを正常にダウンロードすることができなかった場合に、受信処理部18にエラーデータを送信する。受信処理部18は、ダウンロード処理部24からのデータXHTMLデータ又はエラーデータに基づいて、ダウンロードが成功したのか否かを判断するS22。受信処理部18は、ダウンロード処理部24からのデータがnバイトのXHTMLデータであった場合に、S22でYESと判断する。この場合、受信処理部18は、XHTMLデータをレイアウト処理部20に送信するS24。S24を終えると、受信処理部18は、S20に戻って、次のnバイトのXHTMLデータをダウンロードするためのダウンロード指示をダウンロード処理部24に送信する。このダウンロード指示にも上記のハンドル番号が付加される。受信処理部18は、ダウンロード処理部24からのデータがnバイト未満のXHTMLデータ又はエラーデータであった場合、S22でNOと判断する。受信処理部18は、ダウンロード処理部24からのデータがnバイト未満のXHTMLデータであった場合、XHTMLデータを最後まで受信したものと判断し、S26でYESと判断する。この場合、受信処理部18は、XHTMLデータnバイト未満のXHTMLデータをレイアウト処理部20に送信し、次いでデータ終端である旨の情報以下ではデータ終端指示と呼ぶをレイアウト処理部20に送信するS28。続いて、受信処理部18は、接続を切断すること指示する情報以下では切断指示と呼ぶをダウンロード処理部24に送信するS30。この切断指示には、上記のハンドル番号が付加される。S30を終えると、S10に戻る。受信処理部18は、ダウンロード処理部24からのデータがエラーデータであった場合、S26でNOと判断する。この場合、受信処理部18は、エラー処理を実行するS32。次いで、受信処理部18は、エラー終了である旨の情報以下ではエラー終了指示と呼ぶをレイアウト処理部20に送信するS34。次いで、受信処理部18は、切断指示をダウンロード処理部24に送信するS36。この切断指示にも、上記のハンドル番号が付加される。S36を終えると、S10に戻る。レイアウト処理続いて、レイアウト処理について説明する。図5は、レイアウト処理のフローチャートを示す。レイアウト処理は、制御部16のレイアウト処理部20によって実行される。レイアウト処理部20は、受信処理部18からのジョブ開始指示が受信されることを監視しているS50。このジョブ開始指示は、上記の図2のS18の処理で受信処理部18からレイアウト処理部20に送信される。S50でYESの場合、レイアウト処理部20は、ジョブ開始指示をラスタライズ処理部22に送信するS52。次いで、レイアウト処理部20は、受信処理部18からのXHTMLデータが受信されることを監視するS54。このXHTMLデータは、上記の図2のS24の処理最後のXHTMLデータである場合はS28の処理で受信処理部18からレイアウト処理部20に送信される。S54でYESの場合、S64に進む。S54でNOの場合、S56に進む。S56では、レイアウト処理部20は、受信処理部18からのデータ終端指示が受信されることを監視する。このデータ終端指示は、上記の図2のS28の処理で受信処理部18からレイアウト処理部20に送信される。S56でYESの場合、レイアウト処理部20は、データ終端指示をラスタライズ処理部22に送信するS58。S58を終えると、S50に戻る。一方において、S56でNOの場合、レイアウト処理部20は、受信処理部18からのエラー終了指示が受信されることを監視するS60。このエラー終了指示は、上記の図2のS34の処理で受信処理部18からレイアウト処理部20に送信される。S60でYESの場合、レイアウト処理部20は、エラー終了指示をラスタライズ処理部22に送信するS62。S62を終えると、S50に戻る。なお、S60でNOの場合、S54に戻る。S64では、レイアウト処理部20は、データ解析処理を実行する。レイアウト処理部20は、XHTMLデータを解析することによって、複数の画像データファイル名がツリー構造に配置されているデータをメモリ記憶領域42に作成する。次いで、レイアウト処理部20は、外部ファイルのダウンロードが必要であるのか否かを判断するS66。具体的には、S54で受信されたXHTMLデータ70にスタイルシートファイルのURL72,72a図4参照が含まれる場合に、S66でYESと判断される。この場合、レイアウト処理部20は、URL72,72aによって特定されるファイルスタイルシートファイルをダウンロードするようにダウンロード処理部24に指示するS68。具体的には、レイアウト処理部20は、接続指示とダウンロード指示と切断指示をダウンロード処理部24に送信する。接続指示には、スタイルシートファイルのURLIPアドレス、ポート番号、ファイル名等72,72aが付加される。接続指示の結果としてダウンロード処理部24からハンドル番号が送信されてきた場合、レイアウト処理部20は、ダウンロード指示をダウンロード処理部24に送信する。ダウンロード指示には、上記のハンドル番号が付加される。ダウンロード指示の結果としてダウンロード処理部24からスタイルシートファイル又はエラーデータが送信されてきた場合、レイアウト処理部20は、切断指示をダウンロード処理部24に送信する。切断指示には、上記のハンドル番号が付加される。レイアウト処理部20は、S68の処理を実行することによって、エラーがない限り、スタイルシートファイルを取得することができる。図7は、スタールシートファイルの一例を示す。スタイルシートファイル80は、各画像データのポジションを特定するためのデータ82を含んでいる。本実施例のXHTMLデータ70は、4つの画像データを印刷することを指示するものである図4参照。このために、データ82は、4つの画像データのそれぞれに対応するデータを含んでいる。また、スタイルシートファイル80は、各画像データの回転角度を特定するためのデータ84も含んでいる。レイアウト処理部20は、スタイルシートファイル80を解析し、データ82とデータ84から各画像データのレイアウト各画像データが配置されるべき座標を特定するS70。本実施例のデータ82では、印刷用紙内での各画像データのポジションが詳細に記述されている。このために、レイアウト処理部20は、データ82を読み込むことによって、各画像データのレイアウトを特定することができる。なお、外部ファイルをダウンロードしなくてもレイアウトを特定することができるデータがXHTMLデータ70に含まれることがある。S66でNOと判断されて実行されるS70の処理では、レイアウト処理部20は、XHTMLデータ70に記述されているレイアウトに関するデータからレイアウトを特定する。レイアウト処理部20は、レイアウトが決定されたページが存在するのか否かを判断するS72。ここでYESの場合、レイアウト処理部20は、各画像データのレイアウトを含むデータをラスタライズ処理部22に送信するS74。以下では、このデータのことをページデータと呼ぶ。ページデータには、各画像データのURL72,74a図4参照が含まれる。なお、S72でNOの場合、S74をスキップする。S72でNOの場合、又は、S74を終えた場合、レイアウト処理部20は、S54に戻って、続きのXHTMLデータ70が受信されることを監視する。ラスタライズ処理続いて、ラスタライズ処理について説明する。図7は、ラスタライズ処理のフローチャートを示す。ラスタライズ処理は、制御部16のラスタライズ処理部22によって実行される。ラスタライズ処理部22は、レイアウト処理部20からのジョブ開始指示が受信されることを監視しているS90。このジョブ開始指示は、上記の図5のS52の処理でレイアウト処理部20からラスタライズ処理部22に送信される。S90でYESの場合、ラスタライズ処理部22は、ジョブ開始指示を印刷処理部26に送信するS92。次いで、ラスタライズ処理部22は、レイアウト処理部20からのページデータが受信されることを監視するS94。このページデータは、上記の図5のS74の処理でレイアウト処理部20からラスタライズ処理部22に送信される。S94でYESの場合、S104に進む。なお、ラスタライズ処理部22は、1ページ分の全てのページデータを受信してからS94でYESと判断するのではなく、所定量のページデータを受信するとS94でYESと判断する。従って、ラスタライズ処理部22は、1ページ分のページデータについて、S104以降の処理を複数回に分けて実行することになる。なお、S94でNOの場合、S96に進む。S96では、ラスタライズ処理部22は、レイアウト処理部20からのデータ終端指示が受信されることを監視する。このデータ終端指示は、上記の図5のS58の処理でレイアウト処理部20からラスタライズ処理部22に送信される。S96でYESの場合、ラスタライズ処理部22は、データ終端指示を印刷処理部26に送信するS98。S98を終えると、S90に戻る。一方において、S96でNOの場合、ラスタライズ処理部22は、レイアウト処理部20からのエラー終了指示が受信されることを監視するS100。このエラー終了指示は、上記の図5のS62の処理でレイアウト処理部20からラスタライズ処理部22に送信される。S100でYESの場合、ラスタライズ処理部22は、エラー終了指示を印刷処理部26に送信するS102。S102を終えると、S90に戻る。なお、S100でNOの場合、S94に戻る。S104では、ラスタライズ処理部22は、外部ファイルのダウンロードが必要であるのか否かを判断する。具体的には、S94で受信されたページデータに画像データのURL72,74aが含まれる場合に、S104でYESと判断される。この場合、ラスタライズ処理部22は、ページデータに含まれるURL72,74aから特定されるファイル画像データファイルをダウンロードするようにダウンロード処理部24に指示するS106。具体的には、ラスタライズ処理部22は、接続指示とダウンロード指示と切断指示をダウンロード処理部24に送信する。接続指示には、画像データファイルのURLIPアドレス、ポート番号、ファイル名等72,74aが付加される。接続指示の結果としてダウンロード処理部24からハンドル番号が送信されてきた場合、ラスタライズ処理部22は、ダウンロード指示をダウンロード処理部24に送信する。ダウンロード指示には、上記のハンドル番号が付加される。ダウンロード指示の結果としてダウンロード処理部24から画像データファイル又はエラーデータが送信されてきた場合、ラスタライズ処理部22は、切断指示をダウンロード処理部24に送信する。切断指示には、上記のハンドル番号が付加される。ラスタライズ処理部22は、S106の処理を実行することによって、エラーがない限り、画像データファイルを取得することができる。ラスタライズ処理部22は、画像データファイルを解析し、画像データファイルに含まれる画像データをラスタライズする処理を実行するS108。これにより、ビットマップデータが作成される。なお、外部ファイルをダウンロードしなくてもラスタライズされるべきデータ例えばテキストデータがページデータに含まれることがある。S104でNOと判断されて実行されるS108の処理では、ラスタライズ処理部22は、ページデータに含まれるこのようなデータのラスタライズを実行する。ラスタライズ処理部22は、1バンド分のビットマップデータが作成されたのか否かを判断するS110。本実施例では、1つのバンドのビットマップデータを作成するとともにそのビットマップデータを印刷媒体に印刷することを繰り返す手法を採用する。即ち、本実施例のプリンタ10は、バンド単位で印刷媒体に印刷する。上記のバンドという単位は、例えば、インクジェットヘッドの一回の走査によって印刷することが可能である領域を意味する。S110でYESの場合、ラスタライズ処理部22は、1バンド分のビットマップデータを印刷処理部26に送信するS112。なお、S110でNOの場合、S112をスキップする。S110でNOの場合、又は、S112を終えた場合、ラスタライズ処理部22は、S94に戻って、続きのページデータが受信されることを監視する。ダウンロード処理続いて、ダウンロード処理について説明する。図8~図10は、ダウンロード処理のフローチャートを示す。ダウンロード処理は、制御部16のダウンロード処理部24によって実行される。後で詳しく説明するが、ダウンロード処理部24は、各処理部18,20,22からの接続指示に従って図8の処理を実行し、ダウンロード指示に従って図9の処理を実行し、切断指示に従って図10の処理を実行する。接続指示に従って図8の処理を実行している間に別の接続指示がダウンロード処理部24に送信されることがあり得る。この場合、ダウンロード処理部24は、複数の接続指示に従って図8の処理を並列的に実行することができる。同様に、ダウンロード処理部24は、複数のダウンロード指示に従って図9の処理を並列的に実行することができるとともに、複数の切断指示に従って図10の処理を並列的に実行することができる。また、ダウンロード処理部24は、図8と図9と図10の3つの処理を並列的に実行することもできる。ダウンロード処理部24は、まず、セッションテーブル記憶領域36とハンドルテーブル記憶領域38これらは図1参照を初期化するS130。次いで、ダウンロード処理部24は、接続指示が受信されることを監視するS132。この接続指示は、上記の図2のS12の処理、図5のS68の処理、又は、図7のS106の処理で、各処理部18,20,22からダウンロード処理部24に送信される。接続指示には、IPアドレスやポート番号が含まれる例えば図3のデータ62参照。S132でYESの場合、ダウンロード処理部24は、接続指示に含まれるIPアドレスとポート番号を特定するS134。次いで、ダウンロード処理部24は、S134で特定されたIPアドレスとポート番号の組合せがセッションテーブルに既に登録されているのか否かを判断するS136。S136の処理を説明する前に、セッションテーブルについて説明する。図12は、セッションテーブル記憶領域36に記憶されるセッションテーブルの一例を示す。セッションテーブル100は、セッション番号102とIPアドレス104とポート番号106とハンドル数108と状態110とが対応づけられたデータ120を記憶する、なお、以下では、データ120のことをセッション組合せデータと呼ぶ。図12の例では、3つのセッション組合せデータ120が存在する。状態110の欄には、ロック状態とアンロック状態のいずれかの値が書き込まれる。図8のS136の処理では、ダウンロード処理部24は、セッションテーブル100を参照することによって、S134で特定されたIPアドレスとポート番号の組合せがセッションテーブルに既に登録されているのか否かを判断する。S136でYESの場合、後述するS138~S144の処理をスキップしてS146に進む。一方において、S136でNOの場合、ダウンロード処理部24は、S134で特定されたIPアドレスとポート番号に対して接続を試行するS138。即ち、ダウンロード処理部24は、接続を確立するための信号を送信する。ダウンロード処理部24は、上記の信号に対する返信を監視することによって、接続が成功したのか否かを判断するS140。ここでNOの場合、ダウンロード処理部24は、S132で受信された接続指示を送信した処理部受信処理部18とレイアウト処理部20とラスタライズ処理部22のいずれかにエラーデータを返信するS142。S142を終えると、S132に戻る。一方において、S140でYESの場合、ダウンロード処理部24は、S134で特定されたIPアドレスとポート番号をセッションテーブル100に登録するS144。これにより、新しいセッション組合せデータ120がセッションテーブル100に追加されることになる。このS144で追加されるセッション組合せデータ120では、ハンドル数108として0が採用されるとともに、状態110としてアンロック状態が採用される。次いで、ダウンロード処理部24は、ハンドルテーブルに情報を登録するS146。S146の処理を説明する前に、ハンドルテーブルについて説明する。図13は、ハンドルテーブル記憶領域38に記憶されるハンドルテーブルの一例を示す。ハンドルテーブル130は、ハンドル番号132とセッション番号134とURL136と状態138とが対応づけられたデータ140を記憶する。なお、以下では、データ140のことをハンドル組合せデータと呼ぶ。図13の例では、5つのハンドル組合せデータ140が存在する。状態138の欄には、待ち状態とダウンロード中状態のいずれかの値が書き込まれる。図8のS146の処理では、ダウンロード処理部24は、現在存在する最大のハンドル番号132に1が加えられた新しいハンドル番号をハンドルテーブル130に書き込む。例えば、図13では、最大のハンドル番号132が5である。この場合、ダウンロード処理部24は、新しいハンドル番号6をハンドルテーブル130に書き込む。また、ダウンロード処理部24は、S134で特定されたIPアドレスとポート番号に対応づけてセッションテーブル100に記憶されているセッション番号を特定し、特定されたセッション番号をハンドルテーブル130に書き込む。上記の例では、新しいハンドル番号6に対応づけてセッション番号が書き込まれる。また、ダウンロード処理部24は、S132で受信された接続指示に含まれるURLIPアドレスとポート番号とファイル名をハンドルテーブル130に書き込む。上記の例では、新しいハンドル番号6に対応づけてURLが書き込まれる。なお、この段階では、状態138として待ち状態が採用される。S146の処理が実行されることによって、新しいハンドル組合せデータ140がハンドルテーブル130に追加されることになる。次いで、ダウンロード処理部24は、セッションテーブル100の内容を変更するS148。具体的には、ダウンロード処理部24は、S146で特定されたセッション番号即ちS134で特定されたIPアドレスとポート番号に対応づけられているセッション番号に対応づけられているハンドル数108に1を加える。続いて、ダウンロード処理部24は、S132で受信された接続指示を送信した処理部受信処理部18とレイアウト処理部20とラスタライズ処理部22のいずれかに向けて、S146で決定された新しいハンドル番号を返信するS150。S150を終えると、S132に戻る。続いて、図8のS132でNOと判断された以降の処理について説明する。S132でNOの場合、図9のS170に進む。S170では、ダウンロード処理部24は、ダウンロード指示が受信されることを監視する。このダウンロード指示は、上記の図2のS20の処理、図5のS68の処理、又は、図7のS106の処理で、各処理部18,20,22からダウンロード処理部24に送信される。ダウンロード指示には、ハンドル番号が含まれる。S170でYESの場合、ダウンロード処理部24は、ダウンロード指示に含まれるハンドル番号に対応づけてハンドルテーブル130に記憶されているセッション番号を特定する。例えば、S170で受信されたハンドル番号が図13の3である場合、ダウンロード処理部24は、セッション番号2を特定する。次いで、ダウンロード処理部24は、特定されたセッション番号に対応づけてセッションテーブル100に記憶されている状態110を特定する。上記の例の場合、ダウンロード処理部24は、セッション番号2に対応づけられているロック状態を特定する図12参照。ロック状態が特定された場合、ダウンロード処理部24は、S172でYESと判断する。この場合、ダウンロード処理部24は、ロック状態が解消されるまで待機する。一方において、アンロック状態が特定された場合、ダウンロード処理部24は、S172でNOと判断する。この場合、S174に進む。S174では、ダウンロード処理部24は、セッションテーブル100の内容を変更する。具体的には、ダウンロード処理部24は、S172で特定されたセッション番号アンロック状態が対応づけられているセッション番号に対応づけられている状態110をアンロック状態からロック状態に変更する。次いで、ダウンロード処理部24は、S170で受信されたハンドル番号に対応づけてハンドルテーブル130に記憶されているURL136からファイルをダウンロードすることを試行するS176。具体的には、ダウンロード処理部24は、URL136から特定されるデバイス例えば図1の外部装置50に向けて、URL136から特定されるファイルを送信するように指示以下ではダウンロード要求指示と呼ぶを送信する。なお、S176の処理では、ダウンロード処理部24は、S170で受信されたハンドル番号に対応づけてハンドルテーブル130に記憶されている状態138を待ち状態からダウンロード中状態に変更することも実行する。S178の処理が実行されることによって、エラーがない限り、外部からデータファイルXHTMLデータ、スタイルシートファイル、又は、画像データファイルがダウンロードされることになる。ダウンロードが正常に行なわれた場合、ダウンロード処理部24は、S178でYESと判断する。この場合、ダウンロード処理部24は、S174でロック状態に変更されたセッション組合せデータ120の状態110をアンロック状態に変更するS180。さらに、ダウンロード処理部24は、S170で受信されたダウンロード指示を送信した処理部受信処理部18とレイアウト処理部20とラスタライズ処理部22のいずれかに向けて、ダウンロードされたデータファイルを送信するS182。S182を終えると、図8のS132に戻る。ダウンロードが正常に行なわれなかった場合、ダウンロード処理部24は、S178でNOと判断する。この場合も、ダウンロード処理部24は、S174でロック状態に変更されたセッション組合せデータ120の状態110をアンロック状態に変更するS184。さらに、ダウンロード処理部24は、S170で受信されたダウンロード指示を送信した処理部受信処理部18とレイアウト処理部20とラスタライズ処理部22のいずれかに向けて、エラーデータを送信するS186。S186を終えると、図8のS132に戻る。続いて、図9のS170でNOと判断された以降の処理について説明する。S170でNOの場合、図10のS200に進む。S200では、ダウンロード処理部24は、切断指示が受信されることを監視する。この切断指示は、上記の図2のS30,S36の処理、図5のS68の処理、又は、図7のS106の処理で、各処理部18,20,22からダウンロード処理部24に送信される。切断指示には、ハンドル番号が含まれる。S200でNOの場合、図8のS132に戻る。一方において、S200でYESの場合、ダウンロード処理部24は、切断指示に含まれるハンドル番号に対応づけてハンドルテーブル130に記憶されているセッション番号を特定する。次いで、ダウンロード処理部24は、特定されたセッション番号に対応づけてセッションテーブル100に記憶されているハンドル数108から1を減算する。例えば、図12に例示されるセッション番号2のセッション組合せデータ120の場合、ハンドル数108が3から2に変更される。次いで、ダウンロード処理部24は、S200で受信された切断指示に含まれるハンドル番号を含むハンドル組合せデータ140をハンドルテーブル130から削除するS204。続いて、ダウンロード処理部24は、S202でハンドル数が減算されたセッション組合せデータ120のハンドル数108が0であるのか否かを判断するS206。ここでNOの場合、ダウンロード処理部24は、後述するS208とS210をスキップして、図8のS132に戻る。一方において、S206でYESの場合、ダウンロード処理部24は、接続を切断するS208。具体的には、ダウンロード処理部24は、S202でハンドル数が減算されたセッション組合せデータ120ハンドル数が0であるセッション組合せデータ120のURL104,106に対して、接続を切断するための信号を送信する。次いで、ダウンロード処理部24は、上記のセッション組合せデータ120ハンドル数が0であるセッション組合せデータ120をセッションテーブル100から削除するS210。S210を終えると、図8のS132に戻る。印刷処理続いて、印刷処理について説明する。図11は、印刷処理のフローチャートを示す。印刷処理は、制御部16の印刷処理部26によって実行される。印刷処理部26は、ラスタライズ処理部22からのジョブ開始指示が受信されることを監視しているS230。このジョブ開始指示は、上記の図7のS92の処理でラスタライズ処理部22から印刷処理部26に送信される。S230でYESの場合、印刷処理部26は、印刷前処理を実行するS232。例えば、印刷処理部26は、給紙トレイに収容されている印刷媒体を搬送経路に沿って搬送する処理を実行する。次いで、印刷処理部26は、ラスタライズ処理部22からのビットマップデータが受信されることを監視するS234。このビットマップデータは、上記の図7のS112の処理でラスタライズ処理部22から印刷処理部26に送信される。S234でYESの場合、S244に進む。S234でNOの場合、S236に進む。S236では、印刷処理部26は、ラスタライズ処理部22からのデータ終端指示が受信されることを監視する。このデータ終端指示は、上記の図7のS98の処理でラスタライズ処理部22から印刷処理部26に送信される。S236でYESの場合、印刷処理部26は、印刷後処理を実行するS238。例えば、印刷処理部26は、印刷後の印刷媒体を排紙トレイに向けて搬送する処理を実行する。S238を終えると、S230に戻る。一方において、S236でNOの場合、印刷処理部26は、ラスタライズ処理部22からのエラー終了指示が受信されることを監視するS240。このエラー終了指示は、上記の図7のS102の処理でラスタライズ処理部22から印刷処理部26に送信される。S240でYESの場合、印刷処理部26は、エラー処理を実行するS242。例えば、印刷処理部26は、印刷媒体を排紙トレイに向けて搬送する処理や、エラーである旨を表示部14図1参照に表示する処理を実行する。S242を終えると、S230に戻る。なお、S240でNOの場合、S234に戻る。S244では、印刷処理部26は、印刷処理を実行する。具体的には、印刷処理部26は、S234で受信されたビットマップデータに基づいて印刷部30図1参照を駆動する。次いで、印刷処理部26は、1ページの印刷媒体の印刷が終了したのか否かを判断するS246。ここでNOの場合、後述するS248をスキップしてS234に戻る。S246でYESの場合、印刷処理部26は、次のページの印刷媒体を搬送する処理を実行するS248。S248を終えると、S234に戻る。本実施例のプリンタシステム2について詳しく説明した。プリンタ10は、受信処理とレイアウト処理とラスタライズ処理とダウンロード処理と印刷処理を並列的同時的に実行する。即ち、プリンタ10は、各タスクを並列的に実行する。各タスクを直列的に実行する場合と比べて、ビットマップデータを高速で作成することができる。例えば、XHTMLデータ70の全てを受信するタスクを終えてからレイアウトタスクやラスタライズタスクを実行したり、全てのページのレイアウトタスクを終えてからラスタライズタスクを実行したりする場合と比べて、ビットマップデータを高速で作成することができる。例えば、インクジェット式のプリンタのように、バンド単位で印刷するタイプのプリンタでは、印刷処理に時間がかかる。本実施例のように、複数のタスクを並列的に実行することで、作成できた印刷データから印刷処理を開始することができ、印刷開始のタイミングを早くすることで、ユーザが印刷指示してから印刷物を得られるまでの待ち時間が短くなる。しかも、複数のタスクを並列的に実行しているために、各タスクを実行するために必要なデータを記憶すれば十分である。したがって、印刷データを生成するために必要なすべてのデータをプリンタ10で記憶する必要がないので、記憶容量を低減させることができる。上記のプリンタ10は、受信処理受信タスクによってXHTMLデータ70をダウンロードし、レイアウト処理レイアウトタスクによってスタイルシートファイル80をダウンロードし、ラスタライズ処理ラスタライズタスクによって画像データファイルをダウンロードする。データのダウンロードは、同じ外部装置50から他のデータのダウンロードが行なわれていない場合のみに許容される。即ち、外部装置50からデータをダウンロード中に他のデータのダウンロード要求指示を同じ外部装置50に送信することが禁止される。外部装置50がマルチコネクションに対応していない場合であっても、各データを確実にダウンロードすることができる。また、1つのセッションによって複数のデータを取得することができるため、効率的に印刷データの生成を行なうことができる。以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。1上記の実施例では、プリンタ10がビットマップデータを作成する。しかしながら、プリンタ以外のデバイスが上記の実施例の技術を利用してビットマップデータを作成してもよい。2図2の受信処理では、プリンタ10は、複数回に亘ってダウンロード要求指示を送信することによってXHTMLデータ70をダウンロードする。即ち、XHTMLデータ70が少しずつダウンロードされる。しかしながら、プリンタ10は、1回のダウンロード要求指示を送信することによってXHTMLデータ70の全てをダウンロードしてもよい。また、図5のレイアウト処理では、複数回に亘ってダウンロード要求指示を送信することによってスタイルシートファイル80をダウンロードしてもよいし、1回のダウンロード要求指示を送信することによってスタイルシートファイル80の全てをダウンロードしてもよい。また、図7のラスタライズ処理では、複数回に亘ってダウンロード要求指示を送信することによって1つの画像データファイルをダウンロードしてもよいし、1回のダウンロード要求指示を送信することによって1つの画像データファイルの全てをダウンロードしてもよい。複数回に亘ってダウンロード要求指示を送信すると、印刷処理の開始がより早くなるために、ユーザが印刷を指示してから印刷物が得られるまでの待ち時間が短くなる。3上記の実施例では、nバイト単位でXHTMLデータ70がダウンロードされる。即ち、ダウンロードされるデータ量が一定である。しかしながら、このデータ量は、ダウンロード毎ダウンロード要求指示毎に変化するものであってもよい。4ダウンロード処理部24が存在しなくてもよい。この場合、受信処理部18、レイアウト処理部20、及び、ラスタライズ処理部22が、テーブル100,130に情報を書き込む処理や、テーブル100,130の情報に従って同じ外部装置50から並列的にダウンロードすることを禁止する処理等を実行してもよい。即ち、受信処理部18、レイアウト処理部20、及び、ラスタライズ処理部22が、ダウンロード処理部24を兼用していてもよい。5実施例の2以上のタスクが1つのタスクに併合されてもよい。例えば、受信タスクとレイアウトタスクが併合されてもよい。また、例えば、レイアウトタスクとラスタライズタスクが併合されてもよい。一方において、上記の実施例の1つのタスクを複数のタスクに分割してもよい。例えば、図5のレイアウト処理のS64の解析処理を1つのタスクとしてもよい。また、上記の実施例に記載されているタスク以外のタスクをさらに採用してもよい。6上記の実施例では、IPアドレス104とポート番号106の組合せに対して、1つのセッション組合せデータ120図12参照が作成される。しかしながら、IPアドレス104のみに対して、1つのセッション組合せデータ120が作成されるようにしてもよい。7XHTML-Printデータ70以外のデータに基づいてビットマップデータを作成する場合でも、上記の実施例の技術を採用してもよい。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。"