(57)【要約】  ネットワークにおけるファイル伝送の方法を開示している。当該方法は、ファイル送信側は、仮想印刷を行うことで現在送信しようとする共有ファイルをＧＤＩファイルに変換するステップＡと、ファイル送信側は、ネットワークを介してＧＤＩファイルをファイル受信側に送信するステップＢと、ファイル受信側は、受信したＧＤＩファイルを共有ファイルと一致する内容情報に復元するステップＣと、を含む。また、本発明は、ネットワークにおけるファイル伝送のシステムを開示している。本発明に係る方法及びシステムによれば、ファイルの伝送がアプリケーションプログラムに限定されないことになる
2008524879.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおけるファイル伝送の方法であって、
ファイル送信側は、仮想印刷を行うことで現在送信しようとする共有ファイルをグラフィックスデバイスインタフェース（ＧＤＩ）ファイルに変換するステップＡと、
ファイル送信側は、ネットワークを介してＧＤＩファイルをファイル受信側に送信するステップＢと、
ファイル受信側は、受信したＧＤＩファイルに対して復元操作を行って、それをステップＡにおける前記共有ファイル内容と一致する内容情報に復元するステップＣと、
を含むことを特徴とする方法。
【請求項２】
前記ステップＢを行う前に、ファイル送信側はＧＤＩファイルに対して圧縮操作を行うステップと、
前記ステップＣを行う前に、ファイル受信側は受信したＧＤＩファイルに対して解凍操作を行うステップと、をさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記ステップＢを行う前に、ファイル送信側はＧＤＩファイルに対して暗号化操作を行うステップと、
前記ステップＣを行う前に、ファイル受信側は受信したＧＤＩファイルに対して復号化操作を行うステップとをさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項４】
ステップＡにおいて、前記ＧＤＩファイルに少なくともＧＤＩ命令を含み、
ステップＣにおいて、ＧＤＩファイルに対して復元操作を行うことは、ＧＤＩファイルにおけるＧＤＩ命令に対応するグラフィックスデバイス関数を実行することを含む、
ことを特徴とする請求項１に記載のこの方法。
【請求項５】
前記ファイル送信側の所属するネットワーク端末に仮想プリンタモジュールを設定し、ステップＡにおいて前記仮想印刷を行うことで共有ファイルをＧＤＩファイルに変換する方法は、
前記ファイル送信側における共有ファイルのアプリケーションプログラムは、自身と仮想プリンタモジュールとのやり取りのインタフェースを開き、共有ファイルに対して仮想印刷を開始するステップＡ１と、
仮想印刷を終了するかどうかを判断し、終了すれば、共有ファイルのアプリケーションプログラムは、共有ファイルの終了を指示するＧＤＩ関数を仮想プリンタモジュールへ送信することで共有ファイルの仮想印刷を終了し、現在のＧＤＩファイルの生成プロセスを終了し、そうでなければ、ステップＡ３に進むステップＡ２と、  
共有ファイルのアプリケーションプログラムは、共有ファイルの内容に基づいて、印刷ドライバーＧＤＩ伝達インタフェース関数をコールすることで、ＧＤＩ関数を仮想プリンタモジュールに送信し、当該仮想プリンタモジュールは、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果を共有ファイルのアプリケーションプログラムに返信するステップＡ３と、
共有ファイルのアプリケーションプログラムは、仮想プリンタから返信された変換の実行結果によって、変換に成功したかどうかを判断し、成功した場合、次のＧＤＩ関数に進み、ステップＡ２に戻り、成功しなかった場合、共有ファイルの終了を指示するＧＤＩ関数を仮想プリンタモジュールに送信することで共有ファイルの仮想印刷を終了し、現在のＧＤＩファイルの生成プロセスを終了するステップＡ４と、
を含むことを特徴とする請求項４に記載のこの方法。
【請求項６】
ステップＡ２において、前記仮想印刷を終了するかどうかを判断する方法は、
前記共有ファイルのアプリケーションプログラムは、共有ファイルの内容に基づいてコールされたＧＤＩ関数を仮想プリンタモジュールに全部伝送したかどうかを判断し、全部伝送した場合、仮想印刷を終了すると判断し、そうでなければ、仮想印刷を終了しないと判断するステップを含む、
ことを特徴とする請求項５に記載のこの方法。
【請求項７】
前記ＧＤＩ命令は、少なくとも、ＧＤＩ関数名、ＧＤＩ関数番号、ＧＤＩ実行シリアル番号を含み、
ステップＡ３において、前記仮想プリンタモジュールが、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果を共有ファイルのアプリケーションプログラムに返信する方法は、
印刷ドライバーＧＤＩ伝達インタフェース関数が共有ファイルのアプリケーションプログラムにコールされ、仮想プリンタモジュールは、受信したＧＤＩ関数が共有ファイルの仮想印刷の開始を示すＧＤＩ関数であるかどうかを判断し、そうであれば、ステップＡ３２に進み、そうでなければ、ステップＡ３３に進むステップＡ３１と、
仮想プリンタモジュールは、ＧＤＩサブシステムからＧＤＩ関数名とＧＤＩ関数番号との対照表を取得し、ＧＤＩ実行シリアル番号変数を０に初期化し、空のＧＤＩファイルを確立して開いてから、初期化完了状況を示す初期化変数を生成するステップＡ３２と、初期化変数によって初期化が完了したかどうかを判断し、完了した場合、受信したＧＤＩ関数が共有ファイルの仮想印刷の終了を指示するＧＤＩ関数であるかどうかを判断し、共有ファイルの仮想印刷の終了を示すＧＤＩ関数であれば、ＧＤＩファイルを閉じ、ステップ３５に進み、共有ファイルの仮想印刷の終了を示すＧＤＩ関数でなければ、ステップＡ３４に進み、完了しなかった場合、ステップ３２に戻るステップＡ３３と、現在のＧＤＩ関数に対応するＧＤＩ関数番号が検出されたかどうかを判断し、検出されたら、ＧＤＩ実行シリアル番号変数の数値に１を加算し、次に、ＧＤＩ命令ストリームのフォーマットに従って、ＧＤＩ関数名と、ＧＤＩ実行シリアル番号変数と、ＧＤＩ関数とを符号化して、ＧＤＩ命令を生成し、当該ＧＤＩ命令をＧＤＩファイルに書き込み、検出されなかったら、ステップＡ３５に進むステップＡ３４と、
仮想プリンタモジュールは、変換の実行結果を共有ファイルのアプリケーションプログラムへ返信するステップＡ３５と、
を含むことを特徴とする請求項５に記載のこの方法。
【請求項８】
前記ＧＤＩ命令は、少なくとも、現在のＧＤＩ命令の総長さ、パラメータ数、各パラメータのパラメータ値及びパラメータ値の長さを含む、
ことを特徴とする請求項７に記載のこの方法。
【請求項９】
ステップＣにおいて、前記ファイル受信側が、受信したＧＤＩファイルに対して復元操作を行って、それを共有ファイルと一致する内容に復元する方法は、
ファイル受信側の所属するネットワーク端末は、その所属するグラフィックスデバイスのサブシステムに、描画デバイスコンテキストを申し込み、その後、受信したＧＤＩファイルにおけるすべてのＧＤＩ命令を読み取り、前記ＧＤＩ命令におけるＧＤＩ実行シリアル番号に従って、すべてのＧＤＩ命令を昇順で配列し、ＧＤＩ実行シリアル番号変数をＧＤＩ実行シリアル番号中の最小値に初期化するステップＣ１と、
ＧＤＩ実行シリアル番号変数に対応するＧＤＩ命令が検出されたかどうかを判断し、検出されたら、ステップＣ３に進み、検出されなかったら、ステップＣ４に進むステップＣ２と、
現在のＧＤＩ命令におけるＧＤＩ関数番号及び当該ＧＤＩ関数番号に対応するＧＤＩ関数を取得し、申し込まれた描画デバイスコンテキストで当該ＧＤＩ関数を実行し、次に、ＧＤＩ実行シリアル番号変数に１を加算し、ステップＣ２に戻るステップＣ３と、
ＧＤＩ命令のシリアル番号がＧＤＩ実行シリアル番号変数より大きいＧＤＩ命令があるかどうかを判断し、あれば、ＧＤＩ実行シリアル番号変数に１を加算し、ステップＣ２に戻り、なければ、ＧＤＩファイルを閉じ、ＧＤＩファイルの復元プロセスを終了するステップＣ４と、
を含むことを特徴とする請求項７に記載のこの方法。
【請求項１０】
ステップＢにおいて、前記ファイル送信側が、ネットワークを介してＧＤＩファイルをファイル受信側に送信する方法は、ファイル送信側は、インスタントメッセ−ジングツールによってＧＤＩファイルをファイル受信側に送信するステップを含む、
ことを特徴とする請求項１〜３のいずれか１項に記載の方法。
【請求項１１】
ステップＢにおいて、前記ファイル送信側が、ネットワークを介してＧＤＩファイルをファイル受信側に送信する方法は、ファイル送信側は電子メールによってＧＤＩファイルをファイル受信側に送信するステップを含む、
ことを特徴とする請求項１〜３のいずれか１項に記載のこの方法。
【請求項１２】
ステップＢにおいて、前記ファイル送信側が、ネットワークを介してＧＤＩファイルをファイル受信側に送信する方法は、ファイル送信側は、ファイル受信側の所属するネットワーク端末にログインすることによってＧＤＩファイルをファイル受信側に送信するステップを含む、
ことを特徴とする請求項１〜３のいずれか１項に記載のこの方法。
【請求項１３】
ネットワークにおけるファイル伝送のシステムにおいて、
ファイル送信側とファイル受信側とを含み、
仮想プリンタモジュールと、復元モジュールと、をさらに含み、
前記ファイル送信側は、現在送信しようとする共有ファイルを前記仮想プリンタモジュールに出力し、前記仮想プリンタモジュールから、当該共有ファイルから変換されたＧＤＩファイルを受信して前記ファイル受信側に送信するように構成され、
前記仮想プリンタモジュールは、前記ファイル送信側から共有ファイルを受信して仮想印刷を行い、当該共有ファイルをＧＤＩファイルに変換して当該ファイル送信側に出力するように構成され、
前記復元モジュールは、前記ファイル受信側からＧＤＩファイルを受信し、ＧＤＩファイルを前記共有ファイルの内容と一致する内容情報に復元し、前記ファイル受信側に出力するように構成され、
前記ファイル受信側は、前記ファイル送信側からＧＤＩファイルを受信して前記復元モジュールに出力し、当該復元モジュールから前記共有ファイルの内容と一致する内容情報を受信するように構成される、
ことを特徴とするシステム。
【請求項１４】
圧縮モジュールと、解凍モジュールと、をさらに含み、
前記圧縮モジュールは、ファイル送信側からＧＤＩファイルを受信し、それを圧縮して、圧縮後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記圧縮モジュールに出力し、当該圧縮モジュールからの圧縮後のＧＤＩファイルをファイル受信側に送信するように構成され、
前記解凍モジュールは、ファイル受信側から圧縮後のＧＤＩファイルを受信し、それを解凍して、解凍後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの圧縮後のＧＤＩファイルを前記解凍モジュールに送信し、解凍モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される、
ことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記圧縮モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記解凍モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである、
ことを特徴とする請求項１４に記載のシステム。
【請求項１６】
暗号化モジュールと、復号化モジュールと、をさらに含み、
前記暗号化モジュールは、ファイル送信側からＧＤＩファイルを受信して、それを暗号化し、暗号化後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記暗号化モジュールに出力し、当該暗号化モジュールからの暗号化後のＧＤＩファイルをファイル受信側に送信するように構成され、
前記復号化モジュールは、ファイル受信側から暗号化後のＧＤＩファイルを受信して、それを復号化し、復号化後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの暗号化後のＧＤＩファイルを前記復号化モジュールに送信し、当該復号化モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される、
ことを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記暗号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記復号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである、
ことを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記仮想プリンタモジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記復元モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである、
ことを特徴とする請求項１３〜１７のいずれか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク通信技術に関し、特にネットワークにおけるファイル伝送の方法およびシステムに関する。
【背景技術】
【０００２】
インターネットと移動通信技術の発展に伴って、ローカルエリアネットワーク、電子メール及びインスタントメッセージング（ＩＭ）ツールなどにより、例えば、データ交換やメッセージのやり取りなど相互通信を実現できる。その中、データ交換には、ファイル伝送、アプリケーションプログラム共有、及びオーディオとビデオのファイル共有などが含まれる。いわゆるファイル伝送とは、ファイル送信側がローカルエリアネットワークにおける他のコンピュータにログインすること、電子メールの添付ファイルを使うこと、及びＩＭツールを用いることなどにより、共有ファイルをファイル受信側に送信することである。このファイルは、文字と図面のみを含むファイルである。例えば、Ｗｏｒｄファイル、Ｅｘｃｅｌテーブルファイル、ＡｕｔｏＣＡＤ図面ファイル及びＰｈｏｔｏｓｈｏｐ図面ファイル、など。共有ファイルの内容を正常に調べるために、ファイル受信側に、共有ファイルに関連するアプリケーションプログラムがインストールされなければならない。ファイル受信側にインストールされるアプリケーションプログラムの種類を減少するために、上記共有ファイルをＰＤＦフォーマットのファイルに変換してもいいが、この場合、ファイル受信側に相応のアプリケーションプログラムがインストールされていなければ、ＰＤＦファイルの読取も依然として不可能である。
【０００３】
普通、ユーザは、コンピュータ又は移動端末上のＩＭクライアントを用いることにより、ファイルの伝送を完了する。以下、ＩＭユーザＡをファイル送信側、ＩＭユーザＢをファイル受信側とした場合、ＩＭツールを用いて共有ファイルの伝送を実現する手順を詳しく説明する。
【０００４】
図１は、従来の、インターネットのＩＭツールを用いて共有ファイルを伝送する方法を示すフローチャートである。図１に示すように、ＩＭユーザＡとＩＭユーザＢの両方ともインターネットのＩＭツールを用いるとき、ＩＭツールにより共有ファイルを伝送する方法は下記のステップを含む。
【０００５】
ステップ１０１において、ＩＭユーザＡは共有しようとするファイルを選択する。
【０００６】
本ステップで、ＩＭユーザＡは、その所属するコンピュータに記憶されたファイルから、ＩＭユーザＢと共有しようとするファイル、例えば、テキストファイル、Ｗｏｒｄファイル、ＡｕｔｏＣＡＤファイル及びＥｘｃｅｌファイルなどを選択する。
【０００７】
ステップ１０２〜１０３において、ＩＭユーザＡは、ＩＭサーバに、ＩＭユーザＢのインターネットプロトコル（ＩＰ）アドレスと通信ポート番号を要求する。ＩＭサーバはＩＭユーザＢのＩＰアドレスをＩＭユーザＡに返信する。
【０００８】
ＩＭユーザＡは、ＩＭサーバにＩＰアドレスと通信ポート番号の要求を送出するとき、ＩＭユーザＢの唯一な識別子、例えば、ＩＭユーザＢのユーザ名、ユーザ番号又は電子メールアドレスなどを当該要求に付ける。そして、ＩＭサーバは、ＩＭユーザＢの唯一な識別子をインデックスとして、ＩＭユーザＢが現在所属するＩＰアドレスと通信ポート番号を検出して、ＩＭユーザＡに返信する。
【０００９】
ステップ１０４において、ＩＭユーザＡは、得られたＩＰアドレスと通信ポート番号に基づいて、ＩＭユーザＢとの接続を試みる。
【００１０】
本ステップで、ＩＭユーザＡは、ＩＭサーバから得られたＩＰアドレスと通信ポート番号に基づき、接続要求をＩＭユーザＢへ送信し、ＩＭユーザＢとの接続確立を試みる。
【００１１】
ステップ１０５において、ＩＭユーザＢへの接続に成功したかどうかを判断し、成功した場合、ステップ１０６に進み、成功しなかった場合、ステップ１０７に進む。
【００１２】
本ステップで、ＩＭユーザＡは、自身のタイマーがタイムアウトするまでに、ＩＭユーザＢからの応答を受信した場合、ＩＭユーザＡからＩＭユーザＢへの接続に成功し、ＩＭユーザＢからの応答を受信しなかった場合、ＩＭユーザＡからＩＭユーザＢへ接続できないと判定する。
【００１３】
通常、ＩＭユーザＢがパブリックネットワーク（ｐｕｂｌｉｃ  ｎｅｔｗｏｒｋ）にあり、又はそのファイアウォール（ｆｉｒｅｗａｌｌ）が比較的弱い場合、ＩＭユーザＡは直接ＩＭユーザＢに接続でき、他の場合、ＩＭユーザＡは直接ＩＭユーザＢに接続できない。
【００１４】
ステップ１０６において、ＩＭユーザＡは、ファイルをＩＭユーザＢに伝送し、次に、ステップ１０９に進む。
【００１５】
ＩＭユーザＡとＩＭユーザＢとの間の接続を直接に確立できるため、本ステップで、ＩＭユーザＡはステップ１０１において選定されたファイルを直接にＩＭユーザＢに送信する。
【００１６】
ステップ１０７〜１０８において、ＩＭユーザＡは、ファイルをＩＭサーバに送信し、当該ファイルをＩＭユーザＢに送信するようにＩＭサーバに要求する。その後、ＩＭサーバは、ＩＭユーザＢのＩＰアドレスと通信ポート番号に基づき、ＩＭユーザＡからのファイルをＩＭユーザＢに転送する。そして、ステップ１０９に進む。
【００１７】
ステップ１０９において、ＩＭユーザＢは受信したファイルを調べる。
【００１８】
本ステップで、ＩＭユーザＢは、ＩＭユーザＡからのファイルを受信した後、当該ファイルに関連するソフトウェアを用いてファイルを開き、その内容を調べ、ＩＭユーザと同一のファイルを共有する目的を実現する。例えば、ＩＭユーザＡから送信されてきたのはＷｏｒｄファイルであれば、ＩＭユーザＢは、Ｏｆｆｉｃｅやワードパッド（ｗｏｒｄｐａｄ）などのソフトウェアを用いて、当該Ｗｏｒｄファイルを開く。
【００１９】
上記は、ＩＭユーザＡとＩＭユーザＢのいずれもインターネットＩＭツールにより共有ファイルの伝送を行う手順である。もちろん、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）上で用いられる無線ＩＭツールにより共有ファイルの伝送を完了することも可能となる。次に、ＩＭユーザＡが無線ＩＭツールを用い、ＩＭユーザＢがインターネットＩＭツールを用いる場合を例として説明する。
【００２０】
図２は、従来の、インターネットＩＭツール又は無線ＩＭツールを用いて、共有ファイルを伝送する方法を示すフローチャートである。図２に示すように、無線ＩＭツールを用いるＩＭユーザＡとインターネットＩＭツールを用いるＩＭユーザＢとの間で共有ファイルを伝送する方法は下記のステップを含む。
【００２１】
ステップ２０１において、ＩＭユーザＡは共有しようとするファイルを選択する。
【００２２】
本ステップで、ＩＭユーザＡは、その所属するコンピュータに記憶されたファイルから、ＩＭユーザＢと共有しようとするファイル、例えば、テキストファイル、Ｗｏｒｄファイル、ＡｕｔｏＣＡＤファイル及びＥｘｃｅｌファイルなどを選択する。
【００２３】
ステップ２０２において、ＩＭユーザＡは、無線ゲートウェイを介して当該ファイルをＩＭサーバに送信し、当該ファイルをＩＭユーザＢに送信するようにＩＭサーバに要求する。
【００２４】
本ステップで、ＩＭユーザＡにより用いられる移動端末は、まず無線ゲートウェイにルーティングし、同時に、ファイルと当該ファイルの送信要求を無線ゲートウェイに送信する。そして、無線ゲートウェイは、受信されたファイルと送信要求をＩＭサーバに転送する。ＩＭユーザＡのファイル送信要求には、ＩＭユーザＢの唯一な識別子が付けられている。
【００２５】
ステップ２０３において、ＩＭサーバは、当該ファイルをＩＭユーザＢに転送する。
【００２６】
本ステップで、ＩＭサーバは、ＩＭユーザＢの唯一な識別子に基づきそのＩＰアドレスと通信ポート番号を検出し、次に、ファイルをＩＭユーザＢに送信する。
【００２７】
ステップ２０４において、ＩＭユーザＢは受信したファイルを調べる。
【００２８】
本ステップで、ＩＭユーザＢは、ＩＭユーザＡからのファイルを受信した後、当該ファイルに関連するソフトウェアを用いてファイルを開き、その内容を調べ、ＩＭユーザと同一のファイルを共有する目的を実現する。例えば、ＩＭユーザＡから送信されてきたのはＷｏｒｄファイルであれば、ＩＭユーザＢはＯｆｆｉｃｅやワードパッド（ｗｏｒｄｐａｄ）などのソフトウェアを用いて、当該Ｗｏｒｄファイルを開く。
【００２９】
以上により、ＩＭユーザＡとＩＭユーザＢとの間で共有ファイルの伝送手順が完了される。
【００３０】
ＩＭユーザＡとＩＭユーザＢの両方ともスマートフォンを介して無線ＩＭクライアントにログインするとき、ＩＭユーザＡとＩＭユーザＢとの間で共有ファイルの伝送を実現するために、ＩＭサーバは、ステップ２０２の次に、まずファイルを無線ゲートウェイに送信し、次に無線ゲートウェイから当該ファイルをＩＭユーザＢに転送する。
【００３１】
同様に、ＩＭユーザＡがインターネットＩＭツールを用い、ＩＭユーザＢが無線ＩＭツールを用いる場合、両者の間で共有ファイルの伝送を実現するために、ＩＭユーザＡは、まず当該ファイルをＩＭサーバに送信し、次にＩＭサーバから無線ゲートウェイを介して、ファイルをＩＭユーザＢに転送する。
【発明の開示】
【発明が解決しようとする課題】
【００３２】
上記のようなＩＭツールを用いて共有ファイルを伝送する方法において、ファイル受信側の所属するコンピュータ又は移動端末に、当該ファイルに関連するソフトウェアがインストールされているので、受信されたファイルを開き、さらにその内容を調べることができる。ファイル受信側の所属するコンピュータ又は移動端末に、当該ファイルに関連するソフトウェアがインストールされていなければ、受信されたファイルを開いて調べることができない。また、ファイル受信側の所属するコンピュータ又は移動端末にインストールされたソフトウェアが当該ファイルの編集ソフトウェアのバージョンと異なる場合、ファイルにおける文字と図面の位置が元と不一致の状況が発生し、ユーザによる共有ファイルへの正常な読取に影響を与えてしまう。
【００３３】
同様に、ローカルエリアネットワーク、電子メールなどにより共有ファイルを伝送する場合も、ファイル受信側の所属するコンピュータ又は移動端末に、共有ファイルに関連するソフトウェアをインストールしなければならない。そうでなければ、共有ファイルの内容を正常に読み取ることができない。
【００３４】
本発明は、上記に鑑みてなされたものであり、ファイル受信側に共有ファイルに関連するソフトウェアがインストールされていない場合でも当該ファイルの内容を調べることができる、ネットワークにおけるファイル伝送の方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００３５】
上記目的を達成するために、本発明はネットワークにおけるファイル伝送の方法を提供している。当該方法は、
ファイル送信側は、仮想印刷を行うことで現在送信しようとする共有ファイルをグラフィックスデバイスインタフェース（ＧＤＩ）ファイルに変換するステップＡと、
ファイル送信側は、ネットワークを介してＧＤＩファイルをファイル受信側に送信するステップＢと、
ファイル受信側は、受信したＧＤＩファイルに対して復元操作を行って、それをステップＡにおける前記共有ファイル内容と一致する内容情報に復元するステップＣと、を含む。
【００３６】
ここで、前記ステップＢを行う前に、ファイル送信側はＧＤＩファイルに対して圧縮操作を行うステップをさらに含み、前記ステップＣを行う前に、ファイル受信側は受信したＧＤＩファイルに対して解凍操作を行うステップをさらに含む。
ここで、前記ステップＢを行う前に、ファイル送信側はＧＤＩファイルに対して暗号化操作を行うステップをさらに含み、前記ステップＣを行う前に、ファイル受信側は受信したＧＤＩファイルに対して復号化操作を行うステップをさらに含む。
ここで、ステップＡにおいて、前記ＧＤＩファイルに少なくともＧＤＩ命令を含み、ステップＣにおいて、ＧＤＩファイルに対して復元操作を行うことは、ＧＤＩファイルにおけるＧＤＩ命令に対応するグラフィックスデバイス関数を実行することを含む。
ここで、前記ファイル送信側の所属するネットワーク端末に仮想プリンタモジュールを設定し、ステップＡにおいて前記仮想印刷を行うことで共有ファイルをＧＤＩファイルに変換する方法は、
前記ファイル送信側における共有ファイルのアプリケーションプログラムは、自身と仮想プリンタモジュールとのやり取りのインタフェースを開き、共有ファイルに対して仮想印刷を開始するステップＡ１と、
仮想印刷を終了するかどうかを判断し、終了すれば、共有ファイルのアプリケーションプログラムは、共有ファイルの終了を指示するＧＤＩ関数を仮想プリンタモジュールへ送信することで共有ファイルの仮想印刷を終了し、現在のＧＤＩファイルの生成プロセスを終了し、そうでなければ、ステップＡ３に進むステップＡ２と、  
共有ファイルのアプリケーションプログラムは、共有ファイルの内容に基づいて、印刷ドライバーＧＤＩ伝達インタフェース関数をコールすることで、ＧＤＩ関数を仮想プリンタモジュールに送信し、当該仮想プリンタモジュールは、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果を共有ファイルのアプリケーションプログラムに返信するステップＡ３と、
共有ファイルのアプリケーションプログラムは、仮想プリンタから返信された変換の実行結果によって、変換に成功したかどうかを判断し、成功した場合、次のＧＤＩ関数に進み、ステップＡ２に戻り、成功しなかった場合、共有ファイルの終了を指示するＧＤＩ関数を仮想プリンタモジュールに送信することで共有ファイルの仮想印刷を終了し、現在のＧＤＩファイルの生成プロセスを終了するステップＡ４と、を含む。
ステップＡ２において、前記仮想印刷を終了するかどうかを判断する方法は、前記共有ファイルのアプリケーションプログラムは、共有ファイルの内容に基づいてコールされたＧＤＩ関数を仮想プリンタモジュールに全部伝送したかどうかを判断し、全部伝送した場合、仮想印刷を終了すると判断し、そうでなければ、仮想印刷を終了しないと判断するステップを含む。
ここで、前記ＧＤＩ命令は、少なくとも、ＧＤＩ関数名、ＧＤＩ関数番号、ＧＤＩ実行シリアル番号を含み、
ステップＡ３において、前記仮想プリンタモジュールが、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果を共有ファイルのアプリケーションプログラムに返信する方法は、
印刷ドライバーＧＤＩ伝達インタフェース関数が共有ファイルのアプリケーションプログラムにコールされ、仮想プリンタモジュールは、受信したＧＤＩ関数が共有ファイルの仮想印刷の開始を示すＧＤＩ関数であるかどうかを判断し、そうであれば、ステップＡ３２に進み、そうでなければ、ステップＡ３３に進むステップＡ３１と、
仮想プリンタモジュールは、ＧＤＩサブシステムからＧＤＩ関数名とＧＤＩ関数番号との対照表を取得し、ＧＤＩ実行シリアル番号変数を０に初期化し、空のＧＤＩファイルを確立して開いてから、初期化完了状況を示す初期化変数を生成するステップＡ３２と、
初期化変数によって初期化が完了したかどうかを判断し、完了した場合、受信したＧＤＩ関数が共有ファイルの仮想印刷の終了を指示するＧＤＩ関数であるかどうかを判断し、共有ファイルの仮想印刷の終了を示すＧＤＩ関数であれば、ＧＤＩファイルを閉じ、ステップ３５に進み、共有ファイルの仮想印刷の終了を示すＧＤＩ関数でなければ、ステップＡ３４に進み、完了しなかった場合、ステップ３２に戻るステップＡ３３と、
現在のＧＤＩ関数に対応するＧＤＩ関数番号が検出されたかどうかを判断し、検出されたら、ＧＤＩ実行シリアル番号変数の数値に１を加算し、次に、ＧＤＩ命令ストリームのフォーマットに従って、ＧＤＩ関数名と、ＧＤＩ実行シリアル番号変数と、ＧＤＩ関数とを符号化して、ＧＤＩ命令を生成し、当該ＧＤＩ命令をＧＤＩファイルに書き込み、検出されなかったら、ステップＡ３５に進むステップＡ３４と、
仮想プリンタモジュールは、変換の実行結果を共有ファイルのアプリケーションプログラムへ返信するステップＡ３５と、を含む。
ここで、前記ＧＤＩ命令は、少なくとも、現在のＧＤＩ命令の総長さ、パラメータ数、各パラメータのパラメータ値及びパラメータ値の長さを含む。
ここで、ステップＣにおいて、前記ファイル受信側が、受信したＧＤＩファイルに対して復元操作を行って、それを共有ファイルと一致する内容に復元する方法は、
ファイル受信側の所属するネットワーク端末は、その所属するグラフィックスデバイスのサブシステムに、描画デバイスコンテキストを申し込み、その後、受信したＧＤＩファイルにおけるすべてのＧＤＩ命令を読み取り、前記ＧＤＩ命令におけるＧＤＩ実行シリアル番号に従って、すべてのＧＤＩ命令を昇順で配列し、ＧＤＩ実行シリアル番号変数をＧＤＩ実行シリアル番号中の最小値に初期化するステップＣ１と、
ＧＤＩ実行シリアル番号変数に対応するＧＤＩ命令が検出されたかどうかを判断し、検出されたら、ステップＣ３に進み、検出されなかったら、ステップＣ４に進むステップＣ２と、
現在のＧＤＩ命令におけるＧＤＩ関数番号及び当該ＧＤＩ関数番号に対応するＧＤＩ関数を取得し、申し込まれた描画デバイスコンテキストで当該ＧＤＩ関数を実行し、次に、ＧＤＩ実行シリアル番号変数に１を加算し、ステップＣ２に戻るステップＣ３と、
ＧＤＩ命令のシリアル番号がＧＤＩ実行シリアル番号変数より大きいＧＤＩ命令があるかどうかを判断し、あれば、ＧＤＩ実行シリアル番号変数に１を加算し、ステップＣ２に戻り、なければ、ＧＤＩファイルを閉じ、ＧＤＩファイルの復元プロセスを終了するステップＣ４と、を含む。
ステップＢにおいて、前記ファイル送信側が、ネットワークを介してＧＤＩファイルをファイル受信側に送信する方法は、ファイル送信側は、インスタントメッセ−ジングツールによってＧＤＩファイルをファイル受信側に送信するステップを含む。
ステップＢにおいて、前記ファイル送信側が、ネットワークを介してＧＤＩファイルをファイル受信側に送信する方法は、ファイル送信側は電子メールによってＧＤＩファイルをファイル受信側に送信するステップを含む。
ステップＢにおいて、前記ファイル送信側が、ネットワークを介してＧＤＩファイルをファイル受信側に送信する方法は、ファイル送信側は、ファイル受信側の所属するネットワーク端末にログインすることによってＧＤＩファイルをファイル受信側に送信するステップを含む。
また、本発明はネットワークにおけるファイル伝送のシステムを開示している。当該システムは、ファイル送信側とファイル受信側とを含み、
仮想プリンタモジュールと、復元モジュールと、をさらに含み、
前記ファイル送信側は、現在送信しようとする共有ファイルを前記仮想プリンタモジュールに出力し、前記仮想プリンタモジュールから、当該共有ファイルから変換されたＧＤＩファイルを受信して前記ファイル受信側に送信するように構成され、
前記仮想プリンタモジュールは、前記ファイル送信側から共有ファイルを受信して仮想印刷を行い、当該共有ファイルをＧＤＩファイルに変換して当該ファイル送信側に出力するように構成され、
前記復元モジュールは、前記ファイル受信側からＧＤＩファイルを受信し、ＧＤＩファイルを前記共有ファイルの内容と一致する内容情報に復元し、前記ファイル受信側に出力するように構成され、
前記ファイル受信側は、前記ファイル送信側からＧＤＩファイルを受信して前記復元モジュールに出力し、当該復元モジュールから前記共有ファイルの内容と一致する内容情報を受信するように構成される。
ここで、圧縮モジュールと、解凍モジュールと、をさらに含み、
前記圧縮モジュールは、ファイル送信側からＧＤＩファイルを受信し、それを圧縮して、圧縮後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記圧縮モジュールに出力し、当該圧縮モジュールからの圧縮後のＧＤＩファイルをファイル受信側に送信するように構成され、
前記解凍モジュールは、ファイル受信側から圧縮後のＧＤＩファイルを受信し、それを解凍して、解凍後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの圧縮後のＧＤＩファイルを前記解凍モジュールに送信し、解凍モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される。
ここで、前記圧縮モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、前記解凍モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである。
ここで、暗号化モジュールと、復号化モジュールと、をさらに含み、
前記暗号化モジュールは、ファイル送信側からＧＤＩファイルを受信して、それを暗号化し、暗号化後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記暗号化モジュールに出力し、当該暗号化モジュールからの暗号化後のＧＤＩファイルをファイル受信側に送信するように構成され、
前記復号化モジュールは、ファイル受信側から暗号化後のＧＤＩファイルを受信して、それを復号化し、復号化後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの暗号化後のＧＤＩファイルを前記復号化モジュールに送信し、当該復号化モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される。
ここで、前記暗号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、前記復号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである。
ここで、前記仮想プリンタモジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、前記復元モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである。
【発明の効果】
【００３７】
本発明によれば、共有ファイルの受信側に、当該ファイルに関連するソフトウェアがインストールされない場合でも、その内容を調べることができる。具体的に、本発明は以下のような有益な効果を持っている。
【００３８】
１、通常、グラフィックスオペレーションインタフェースを有するオペレーションシステムには、全てグラフィックスデバイスインタフェース（ＧＤＩ）サブシステムが含まれ、このＧＤＩサブシステムは複数のＧＤＩ関数を提供して、オペレーションシステムにおけるアプリケーションプログラムにコールされるようになってあるので、本発明では、共有ファイルから変換されたＧＤＩファイルを伝送し、ファイル受信側は既存のＧＤＩサブシステムを利用して、ＧＤＩファイルにおけるＧＤＩ命令を順に実行することだけで、共有ファイルの内容を復元することができる。即ち、当該ファイル受信側は、いかなる関連アプリケーションプログラムもインストールすることなく、共有ファイルを順調に調べることができ、ファイル受信側による共有ファイルへの読取の難しさが低下する。
【００３９】
２、ＧＤＩ関数はベクトルデータと非ベクトルデータを同時にサポートする強大な機能を有しているため、変換後のＧＤＩファイルは、色彩やラインなど方面でそれぞれ共有ファイルと同じになることができ、即ち、ＧＤＩファイルと共有ファイルとの一致性がさらに良い。
【発明を実施するための最良の形態】
【００４０】
本発明の目的、技術案をさらに明確にするため、以下、図面を参照して実施例を挙げながら、本発明をさらに詳しく説明する。
【００４１】
図３は本発明の方法に係る一つの好適な実施例の処理手順を示すフローチャートである。図３に示すように、当該方法は以下のステップを含む。
【００４２】
ステップ３０１において、ファイル送信側は共有しようとするファイルを選択する。
【００４３】
本ステップで、ファイル送信側は、その所属するコンピュータ又は移動端末に記憶されたファイルから、ファイル受信側と共有しようとするファイル、例えば、テキストファイル、Ｗｏｒｄファイル、ＡｕｔｏＣＡＤファイル及びＥｘｃｅｌファイルなどを選択する。
【００４４】
ステップ３０２において、仮想印刷を行うことで、選択された共有ファイルをＧＤＩファイルに変換する。
【００４５】
ＧＤＩはグラフィックスインタフェースオペレーションシステムを備えたサブシステムであり、特定のハードウェアの出力を完了するものである。具体的に、ＧＤＩは、ＯＦＦＩＣＥ、ＡｕｔｏＣＡＤなどのアプリケーションプログラムがＧＤＩ関数をコールすることで行われる描画要求を受信し、上記ＧＤＩ関数を相応のデバイスドライバープログラムに伝送することにより、特定のハードウェア、例えば、プリンタやスクリーンなどの出力を完了する。
【００４６】
本発明は、ファイル送信側の所属するネットワーク端末に仮想プリンタモジュールを確立して、アプリケーションプログラムにあわせて共有ファイルの仮想印刷を行うようにする。いわゆる仮想印刷とは、アプリケーションプログラムが共有ファイルの内容に基づいてその対応するＧＤＩ関数を仮想プリンタモジュールに送信し、当該仮想プリンタモジュールが、共有ファイルアプリケーションプログラムから送信されたＧＤＩ関数を受信し、各ＧＤＩ関数毎にＧＤＩ命令に変換し、全てのＧＤＩ命令で構成されたＧＤＩ命令ストリームが一つのＧＤＩファイルにまとめることを指している。
【００４７】
ステップ３０３において、ＧＤＩファイルを圧縮して暗号化する。
【００４８】
本ステップで、ファイル送信側の所属するクライアントは、まず、ＬＺ７７やＬＺＷなど辞書圧縮アルゴリズムを用いて、仮想プリンタモジュールによって生成されたファイルを圧縮することにより、より小さい空間を占用するようにし、ネットワークでの伝送を便利にする。そして、予めファイル受信側と約束した、対称暗号化アルゴリズム又は非対称暗号化アルゴリズムなどの通常方法を用いて、圧縮後のＧＤＩファイルを暗号化することにより、共有ファイルの安全性を向上させる。
【００４９】
また、本ステップで、ファイル送信側の所属するＩＭクライアントは、先に、仮想プリンタモジュールによって生成されたＧＤＩファイルを暗号化し、次に、暗号化されたＧＤＩファイルを圧縮するようにしてもいい。
【００５０】
ステップ３０４において、ファイル送信側は、圧縮して暗号化されたＧＤＩファイルをファイル受信側に送信する。
【００５１】
本ステップで、ＩＭツールを用いて共有ファイルを伝送する場合、ファイル送信側は、背景技術におけるステップ１０２〜ステップ１０８、又はステップ２０２〜ステップ２０３によって、圧縮して暗号化されたＧＤＩファイルをファイル受信側に送信する。ローカルエリアネットワーク方式を用いる場合、ファイル送信側は、ファイル受信側の所属するコンピュータにログインし、圧縮して暗号化されたＧＤＩファイルを当該コンピュータのフォルダにコピーする。電子メール方式を用いる場合、ファイル送信側は、圧縮して暗号化されたＧＤＩファイルを添付ファイルとしてファイル受信側に送信する。
【００５２】
ステップ３０５において、ファイル受信側の所属するクライアントは、受信したＧＤＩファイルを復号化して解凍する。
【００５３】
ステップ３０３において圧縮して暗号化することであれば、本ステップでは、ファイル受信側の所属するクライアントは、まず、予め約束された暗号化・復号化アルゴリズムに従って、ファイル送信側からのＧＤＩファイルに対して復号化を行い、次に、復号化されたＧＤＩファイルを解凍する。
【００５４】
ステップ３０３において暗号化して圧縮することであれば、本ステップでは、ファイル受信側の所属するＩＭクライアントは、まず、ファイル送信側からのＧＤＩファイルに対して解凍を行い、次に、予め約束された暗号化・復号化アルゴリズムに従って、解凍されたＧＤＩファイルを復号化する。
【００５５】
ステップ３０６において、ファイル受信側の所属するＩＭクライアントは、復号化して解凍されたＧＤＩファイルを復元して、それをファイル送信側における共有ファイルの内容と一致する内容情報に変換する。ここで、いわゆる復元操作は、ステップ３０２での前記変換処理に対応し、当該変換処理の逆の手順と言われ、ＧＤＩファイルに対するデコード操作とも称される。
【００５６】
本ステップでは、ファイル受信側の所属するＩＭクライアント、ローカルエリアネットワークにおけるコンピュータ又は電子メールのクライアントは、ＧＤＩファイルからＧＤＩ命令ストリームを抽出し、各ＧＤＩ命令に含まれるＧＤＩ関数番号に基づき対応のＧＤＩ関数を検出し、そして、各ＧＤＩ関数を順に実行して、ＧＤＩファイルをファイル送信側の共有ファイルと同じ文字、ピクチャなどの表現形式である内容情報に復元する。
【００５７】
ステップ３０７において、ファイル受信側は受信したファイルを調べる。
【００５８】
本ステップで、ファイル受信側は、いかなるアプリケーションプログラムの補助も必要することなく、復元後のＧＤＩファイルを直接に開いて調べることによって、ファイル送信側と同一のファイルを共有する目的を実現できる。
【００５９】
上記は、本発明において、ネットワークで共有ファイルの伝送を実現する全体的な方法である。以下、そのうちの肝心なステップを詳しく説明する。
【００６０】
図４は、図３に示される実施例において、ＧＤＩファイルの生成方法を示すフローチャートである。図４に示すように、ステップ３０２で共有ファイルをＧＤＩファイルに変換する方法は以下のステップを含む。
【００６１】
ステップ４０１において、アプリケーションプログラムは、共有ファイルに対して仮想印刷を開始する。
【００６２】
本ステップで、まず、ファイル送信側が、共有ファイルと関連するアプリケーションプログラムを用いて当該共有ファイルを開き、次に、プリケーションプログラムが、仮想プリンタモジュールとやり取りするインタフェースを開くことにより、共有ファイルに対して仮想印刷を開始する。
【００６３】
ステップ４０２において、アプリケーションプログラムは、仮想印刷を終了するかどうかを判断し、終了すれば、ステップ４０７に進み、終了しなければ、ステップ４０３に進む。
【００６４】
本ステップで、アプリケーションプログラムは、自身のＧＤＩ関数が全部仮想プリンタモジュールに伝送されたかどうかを判断することで、印刷を終了するかどうかを決定し、全部伝送されたら、仮想印刷を終了し、全部伝送されなかったら、仮想印刷を終了しないものとする。
【００６５】
ステップ４０３において、アプリケーションプログラムは、印刷ドライバーＧＤＩ伝達インタフェース関数をコールすることで、仮想プリンタモジュールへ一つのＧＤＩ関数を送信する。
【００６６】
アプリケーションプログラムにとって、ピクチャも文字も豊かなファイルは、ＧＤＩサブシステムにおいて前後順で実行される一連のＧＤＩ関数をコールすることにより得られる表示結果である。ファイルの仮想印刷手順は、アプリケーションプログラムによりファイルを表示する手順と同じであり、即ち、一連のＧＤＩ関数を実行することによりファイルの仮想印刷の出力を完了する。仮想印刷手順には特別なＧＤＩ関数が二つあり、即ち、ＳｔａｒｔＤｏｃ関数とＥｎｄＤｏｃ関数である。ここで、ＳｔａｒｔＤｏｃ関数の機能は、アプリケーションプログラムが新規ファイルの印刷を開始するように印刷ドライバーに通知することであり、ＥｎｄＤｏｃ関数の機能は、ファイルの印刷を終了するように印刷ドライバーに通知することである。本ステップで、アプリケーションプログラムは、送信されていないＧＤＩ関数のうち一番前に配列されたＧＤＩ関数を仮想プリンタモジュールに送信する。当該ＧＤＩ関数には、ＧＤＩ関数名と関数内のパラメータ数及び各パラメータの具体的な数値などのような詳細情報が含まれている。
【００６７】
ステップ４０４において、仮想プリンタモジュールは、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果をアプリケーションプログラムに返信する。
【００６８】
本発明において、ＧＤＩ命令は少なくとも下記の部分を含む。
【００６９】
１．ＧＤＩ関数番号であって、４バイトを占用し、各ＧＤＩ関数は、その関数名に唯一に対応するＧＤＩ関数番号を持っている。
【００７０】
２．ＧＤＩ実行シリアル番号であって、４バイトを占用し、現在の共有ファイルに対しては、当該ＧＤＩ関数の実行順番を表し、ＧＤＩ実行シリアル番号が小さいほど、当該関数を優先に実行する。
【００７１】
さらに、当該ＧＤＩ命令は下記の部分を含むこともできる。
【００７２】
３．当該ＧＤＩ命令の総長さであって、４バイトを占用し、当該ＧＤＩ命令における各部分の長さの総和を表す。
【００７３】
４．パラメータ数であって、１バイトを占用し、当該ＧＤＩ関数に含まれるパラメータの数を示す。
【００７４】
また、ＧＤＩ関数にｎ個のパラメータが含まれると、ＧＤＩ命令には、さらに、当該ＧＤＩ関数における第１のパラメータ値の長さ、第２のパラメータ値の長さ…第ｎのパラメータ値の長さ及び各パラメータのパラメータ値が含まれる。各パラメータ値の長さはそれぞれ４バイトを占用する。
【００７５】
ＧＤＩ関数＿ＬｉｎｅＴｏ（ｉｎｔ  ｘ，  ｉｎｔ  ｙ）を例として、その対応するＧＤＩ番号は５４であり、そのうち、第１のパラメータｘの値は１９９であり、第２のパラメータ値は２１８であれば、上記のＧＤＩ関数に対する説明によって、ＧＤＩ関数を、表１に示すフォーマットに変換する。
【００７６】
【表１】
2008524879.tif 000003
【００７７】
本ステップで、仮想プリンタモジュールは、表１に示すＧＤＩ命令フォーマットに従って受信したＧＤＩ関数を変換し、変換に成功したかどうかを指示するＧＤＩ関数の実行結果をアプリケーションプログラムに返信する。本ステップの具体的な手順について、詳細は後述する。
【００７８】
ステップ４０５〜４０７において、アプリケーションプログラムは、仮想プリンタモジュールから返信されたＧＤＩ関数の実行結果に基づき、変換に成功したかどうかを判断する。成功した場合、次のＧＤＩ関数に進んだ後、ステップ４０２に戻る。成功しなかった場合、アプリケーションプログラムは、ＥｎｄＤｏｃ関数を仮想プリンタモジュールへ送信することで、共有ファイルの仮想印刷を終了し、当該ＥｎｄＤｏｃ関数を受信した仮想プリンタモジュールは、ＧＤＩファイルの生成プロセスを終了する。
【００７９】
アプリケーションプログラムは、仮想プリンタモジュールからＧＤＩ関数の実行に成功したことを指示する実行結果を返信した場合、続いて、仮想プリンタモジュールへ次のＧＤＩ関数を送信し、逆に、ＧＤＩ関数の実行に失敗したことを指示する実行結果を受信した場合、仮想プリンタモジュールへのＧＤＩ関数の送信を停止するとともに、ＥｎｄＤｏｃ関数を送信することで共有ファイルの仮想印刷を終了することを明示する。
【００８０】
以上により、共有ファイルは、仮想印刷が行われることにより、ＧＤＩファイルへの変換が完了される。
【００８１】
次に、ステップ４０４において前記ＧＤＩ関数からＧＤＩ命令への変換手順を詳しく説明する。図５は、図４に示されるＧＤＩ命令ストリームの生成方法を示すフローチャートである。図５に示すように、仮想プリンタは、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果をＧＤＩ関数の実行結果としてアプリケーションプログラムに返信する。当該方法は、以下のステップを含む。
【００８２】
ステップ５０１において、印刷ドライバーＧＤＩ伝達インタフェース関数がアプリケーションプログラムによってコールされる。
【００８３】
アプリケーションプログラムが印刷ドライバーＧＤＩ伝達インタフェース関数をコールしたため、アプリケーションプログラムから伝送されてきたＧＤＩ関数に対する変換を開始するように、本ステップで当該インタフェース関数が仮想プリンタモジュールにおいて実行を開始される。
【００８４】
ステップ５０２において、受信したＧＤＩ関数が仮想印刷の開始を示すＳｔａｒｔＤｏｃ関数であるかどうかを判断し、そうであれば、ステップ５０３に進み、そうでなければ、ステップ５０６に進む。
【００８５】
ＳｔａｒｔＤｏｃ関数は、その役割として新規ファイルの印刷を開始するように仮想プリンタモジュールに通知することであり、即ち、アプリケーションプログラムが仮想プリンタモジュールへ印刷・伝送を行う第１目のＧＤＩ関数である。従って、本ステップで判断を行う目的として、共有ファイルからＧＤＩファイルへの変換が開始したかどうかを決定することにより、後続するステップを決める。
【００８６】
ステップ５０３〜５０５において、仮想プリンタモジュールは、ＧＤＩサブシステムからＧＤＩ関数名とＧＤＩ関数番号との対照表を取得し、ＧＤＩ実行シリアル番号変数を０に初期化し、次に、空のＧＤＩファイルを確立して開く。
【００８７】
ここで行われるのは共有ファイルからＧＤＩファイルを生成する手順における初期化操作である。
【００８８】
ＧＤＩサブシステムにとって、その内部に各ＧＤＩ関数名をＧＤＩ関数番号と唯一に対応付ける対照表が含まれ、当該対照表で相応のＧＤＩ関数番号が検出されるＧＤＩ関数名だけが有効な関数名であり、同様に、相応のＧＤＩ関数名が存在するＧＤＩ関数番号だけが有効な関数番号である。従って、当該対照表の取得目的は、後続するプロセスにおいてアプリケーションプログラムから伝送されてきたＧＤＩ関数名が有効であるかどうかを確認しやすいことにある。
【００８９】
アプリケーションプログラムからは共有ファイルの内容に基づいて対応のＧＤＩ関数を伝送してくるため、当該共有ファイルの受信側に各ＧＤＩ命令の実行順番を明確させることで、共有ファイルの内容を再生するように、ここでＧＤＩ実行シリアル番号変数が設けられている。受信したＧＤＩ関数名が有効である場合、現在のＧＤＩ実行シリアル番号変数をＧＤＩ実行シリアル番号としてＧＤＩ命令に書き込むことにより、共有ファイルに含まれる全てのＧＤＩ命令における当該ＧＤＩ命令の実行順番が明示される。ＧＤＩ実行シリアル番号変数のより小さいＧＤＩ命令が先に実行される。
【００９０】
対照表の取得とＧＤＩ実行シリアル番号変数の初期化を完了した後、仮想プリンタモジュールは、Ｏｐｅｎ  Ｆｉｌｅなどのようなファイルを開くための関数をコールすることで、空のＧＤＩファイルを確立して開き、これにより、変換後のＧＤＩ命令ストリームを当該ＧＤＩファイルに書き込むようにする。
【００９１】
このように、仮想プリンタモジュールは初期化を完了し、初期化済みを表す初期化変数を生成する。例えば、初期化変数が１であれば、初期化が完了されることを表すなど。
【００９２】
ステップ５０６において、初期化が完了されたかどうかを判断し、完了されたら、続いてステップ５０７に進み、完了されなかったら、ステップ５０３に戻る。
【００９３】
本ステップで、仮想プリンタモジュールは、初期化変数の数値が初期化済みを表すかどうかを判断することで後続するステップを決める。
【００９４】
ステップ５０７〜５０８において、受信したＧＤＩ関数が仮想印刷の終了を示すＥｎｄＤｏｃ関数であるかどうかを判断し、そうであれば、ＧＤＩファイルを閉じ、ステップ５１３に進み、そうでなければ、ステップ５０９に進む。
【００９５】
ＥｎｄＤｏｃ関数は、ＧＤＩサブシステムが仮想プリンタモジュールにファイルの仮想印刷を終了するように通知する関数であるため、仮想プリンタモジュールは、ＧＤＩ関数からＧＤＩ命令への変換操作を停止し、Ｃｌｏｓｅ  Ｆｉｌｅ関数をコールすることで、ＧＤＩファイルを閉じる。
【００９６】
ステップ５０９〜５１０において、現在ＧＤＩ関数に対応するＧＤＩ関数番号が検出されたかどうかを判断し、検出されたら、ＧＤＩ実行シリアル番号変数の数値に１を加算し、検出されなかったら、ステップ５１３に進む。
【００９７】
アプリケーションプログラムから受信されたＧＤＩ関数名は、それに対応するＧＤＩ関数番号があれば、有効なＧＤＩ関数名であり、即ち、当該ＧＤＩ関数名に対応するＧＤＩ関数を実行することにより、共有ファイルの一部の内容を復元することができる。現在のＧＤＩ関数名が有効である場合、仮想プリンタモジュールはＧＤＩ実行シリアル番号変数の数値に１を加算する。本発明で、数値が１のＧＤＩ実行シリアル番号が第１番目に実行されるＧＤＩ命令を表すため、ここでＧＤＩ実行シリアル番号変数に１を加算する必要がある。もちろん、数値が０のＧＤＩ実行シリアル番号が第１番目に実行されるＧＤＩ命令を表すものとすれば、ここで、ＧＤＩ実行シリアル番号に１を加算せずに、ＧＤＩ関数をＧＤＩ命令に変換した後、１を加算する操作を行うこととなる。
【００９８】
ステップ５１１〜５１２において、ＧＤＩ実行シリアル番号変数とＧＤＩ関数に対して、ＧＤＩ命令ストリームのフォーマットに従って符号化することで、ＧＤＩ命令を生成し、そして、当該ＧＤＩ命令をＧＤＩファイルに書き込む。
【００９９】
ここで、仮想プリンタモジュールは、表１に示すＧＤＩ命令フォーマットに従って、現在のＧＤＩ関数の内容を表の対応部分に書き込む。ここで、ＧＤＩ実行シリアル番号変数を表１のＧＤＩ実行シリアル番号とし、ステップ５０９で検出された現在のＧＤＩ関数名に対応する番号をＧＤＩ関数番号とし、他の各部分は、アプリケーションから受信されたＧＤＩ関数に含まれている。このように、ＧＤＩ関数からＧＤＩ命令への変換操作が完了される。
【０１００】
その後、仮想プリンタモジュールは、得られたＧＤＩ命令をステップ５０５で確立して開いたＧＤＩファイルに書き込む。
【０１０１】
ステップ５１３において、仮想プリンタモジュールは、実行結果をアプリケーションプログラムへ返信する。
【０１０２】
本ステップで、仮想プリンタモジュールは、現在のＧＤＩ関数からＧＤＩ命令への変換に成功したかどうかを指示する実行結果をＧＤＩ関数の実行結果としてアプリケーションプログラムに返信することにより、アプリケーションプログラムがＧＤＩ関数の送信を継続するかどうかを決めるようにする。
【０１０３】
本ステップがステップ５０８の後に実行されると、ＧＤＩファイルの生成済みを示す実行結果をアプリケーションプログラムへ返信し、本ステップがステップ５０９の後に実行されると、ＧＤＩ変換失敗の実行結果をアプリケーションプログラムへ返信し、本ステップがステップ５１２の後に実行されると、ＧＤＩ変換成功の実行結果をアプリケーションプログラムへ返信する。
【０１０４】
以上のように、仮想プリンタモジュールは、印刷ドライバーＧＤＩ伝達インタフェース関数を実行することで、ＧＤＩ関数からＧＤＩ命令への変換操作を完了する。
【０１０５】
ＧＤＩ命令で構成されたＧＤＩファイルは、復元処理を経てこそ、共有ファイルと同じ内容を表示することができる。図６は、図３に示された実施例において、受信したＧＤＩファイルに対して復元操作を行うフローチャートである。図６に示すように、ステップ３０６においてＧＤＩファイルを復元する方法は以下のステップを含む。
【０１０６】
ステップ６０１において、ファイル受信側の所属するネットワーク端末は、その所属するＧＤＩサブシステムに描画デバイスコンテキスト（ＤＣ）を申し込む。
【０１０７】
描画ＤＣは、ＧＤＩサブシステムによって割当てられたグラフィックハンドル（ｇｒａｐｈｉｃ  ｈａｎｄｌｅ）であり、ＧＤＩファイルの復元に仮想空間を提供することにより、描画ＤＣで当該ＧＤＩファイル内の各ＧＤＩ命令を順に実行するようにする。
【０１０８】
ステップ６０２〜６０３において、ＧＤＩファイル内の全てのＧＤＩ命令を読み取り、ＧＤＩ命令におけるＧＤＩ実行シリアル番号に基づき、全てのＧＤＩ命令を昇順で配列する。
【０１０９】
ファイル受信側の所属するネットワーク端末は、まず、ＧＤＩファイルから全てのＧＤＩ命令を読み取り、次に、その中からＧＤＩ実行シリアル番号を抽出し、ＧＤＩ実行シリアル番号の数値の小さいほうから大きいほうへの順に、対応のＧＤＩ命令を配列することにより、後続するステップで、配列された順番に従って各ＧＤＩ命令を実行して、共有ファイルの内容を復元するようにする。
【０１１０】
ステップ６０４において、ＧＤＩ実行シリアル番号変数を、ＧＤＩ実行シリアル番号中の最小値に初期化する。
【０１１１】
ファイル受信側の所属するＩＭクライアント、ローカルエリアネットワークのコンピュータ又は電子メールのクライアントにとっては、ＧＤＩ実行シリアル番号変数はＧＤＩ命令を実行するインデックスであり、現在実行しているＧＤＩ命令の実行シリアル番号は、ＧＤＩ実行シリアル番号変数の現数値と同じである。本ステップで、ＧＤＩ実行シリアル番号変数をＧＤＩ実行シリアル番号中の最小値に初期化し、その目的はＧＤＩ実行シリアル番号が最小となるＧＤＩ命令から実行を開始することにある。
【０１１２】
ステップ６０５において、ＧＤＩ実行シリアル番号変数に対応するＧＤＩ命令が検出されたかどうかを判断し、検出されたら、ステップ６０６に進み、検出されなかったら、ステップ６０９に進む。
【０１１３】
ステップ６０６〜６０８において、当該ＧＤＩ命令内のＧＤＩ関数番号及び当該ＧＤＩ関数番号に対応するＧＤＩ関数を取得し、申し込まれた描画ＤＣで当該ＧＤＩ関数を実行し、そして、ＧＤＩ実行シリアル番号変数に１を加算してから、ステップ６０５に戻る。
【０１１４】
ファイル受信側の所属するネットワーク端末は、現在のＧＤＩ命令からＧＤＩ関数番号を取得し、次に、ＧＤＩ関数名とＧＤＩ関数番号との対照表で対応のＧＤＩ関数名を検索し、当該ＧＤＩ関数を実行して、一部の共有ファイルの内容を復元し、その後、次に実行するＧＤＩ命令を検出するように、ＧＤＩ実行シリアル番号変数に１を加算する。
【０１１５】
ステップ６０９〜６１０において、ＧＤＩ命令のシリアル番号がＧＤＩ実行シリアル番号変数より大きいＧＤＩ命令があるかどうかを判断し、あれば、ステップ６０８に戻り、なければ、当該ＧＤＩファイルを閉じ、当該ＧＤＩファイルの復元プロセスを終了する。
【０１１６】
ここで、ＧＤＩ実行シリアル番号がＧＤＩ実行シリアル番号変数より大きいＧＤＩ命令があるかどうかを判断する役割として、まだ実行されていないＧＤＩ命令があるかどうかを明確することにある。
【０１１７】
以上により、ファイル受信側の所属するＩＭクライアント、ローカルエリアネットワークのコンピュータ又は電子メールのクライアントなどのようなネットワーク端末は、ファイル送信側からのＧＤＩファイルに対する復元を完了し、その後、ファイル受信側は、ファイル送信側の共有ファイルと完全同一な内容を調べることができる。
【０１１８】
上記本発明の方法に基づいて、本発明はネットワークにおいてファイルを伝送するシステムをさらに提供している。当該システムは、従来のファイル送信側とファイル受信側とに加えて、さらに、仮想印刷モジュールと復元モジュールを含む。ここで、仮想印刷モジュールは、ファイル送信側の共有ファイルをＧＤＩファイルに変換することができ、復元モジュールは、ＧＤＩファイルに対して復元を行うことができる。これにより、ファイル送信側の共有ファイルの内容と一致する内容情報が得られる。
【０１１９】
図７は、本発明システムに係る一つの好適な実施例の構成を示す図である。図７に示すように、当該システムは、ファイル送信側、ファイル受信側、仮想プリンタモジュール及び復元モジュールを含む。
【０１２０】
ここで、ファイル送信側は、現在送信しようとする共有ファイルを前記仮想プリンタモジュールに出力し、前記仮想プリンタモジュールから、当該共有ファイルから変換されたＧＤＩファイルを受信して前記ファイル受信側に送信する。仮想プリンタモジュールは、前記ファイル送信側から共有ファイルを受信して仮想印刷を行い、当該共有ファイルをＧＤＩファイルに変換して当該ファイル送信側に出力する。復元モジュールは、ファイル受信側からＧＤＩファイルを受信し、それに対して復元操作を行うことで、ＧＤＩファイルをファイル送信側の共有ファイルの内容と一致する内容情報に復元し、ファイル受信側に出力する。ファイル受信側は、前記ファイル送信側からＧＤＩファイルを受信して前記復元モジュールに出力し、当該復元モジュールからファイル送信側の共有ファイルの内容と一致する内容情報を受信して、受信側のユーザが調べるようにする。
【０１２１】
ファイルへの圧縮と解凍機能を実現することでシステムの伝送リソースを節約するために、本発明のシステムは、さらに、図７の点鎖線で示される圧縮モジュールと解凍モジュールとを含むことができる。前記圧縮モジュールは、ファイル送信側からＧＤＩファイルを受信し、それを圧縮し、圧縮後のＧＤＩファイルを当該ファイル送信側に出力する。前記解凍モジュールは、ファイル受信側から圧縮後のＧＤＩファイルを受信し、それを解凍し、解凍後のＧＤＩファイルを当該ファイル受信側に出力する。このとき、ファイル送信側は、仮想プリンタモジュールからのＧＤＩファイルを得た後、それを圧縮モジュールに送信し、当該圧縮モジュールから圧縮後のＧＤＩファイルを受信して当該ファイル受信側に送信する。ファイル受信側は、受信した圧縮後のＧＤＩファイルを解凍モジュールに送信し、当該解凍モジュールから解凍後のＧＤＩファイルを受信し、復元モジュールに出力して処理させる。
【０１２２】
ファイルへの暗号化と復号化機能を実現することでシステムの伝送セキュリティ性を向上させるために、本発明のシステムは、さらに、図７の点線で示される暗号化モジュールと復号化モジュールとを含むことができる。前記暗号化モジュールは、ファイル送信側からＧＤＩファイルを受信して、それを暗号化し、暗号化後のＧＤＩファイルを当該ファイル送信側に出力する。前記復号化モジュールは、ファイル受信側から暗号化後のＧＤＩファイルを受信して、それを復号化し、復号化後のＧＤＩファイルを当該ファイル受信側に出力する。このとき、ファイル送信側は、仮想プリンタモジュールからのＧＤＩファイルを得た後、それを暗号化モジュールに出力し、当該暗号化モジュールから暗号化後のＧＤＩファイルを受信してファイル受信側に送信する。ファイル受信側は、受信した暗号化後のＧＤＩファイルを復号化モジュールに送信し、当該復号化モジュールから復号化後のＧＤＩファイルを受信し、復元モジュールに出力して処理させる。
【０１２３】
また、システムにおいて暗号化／復号化機能と圧縮／解凍機能を同時に実現することができる。この場合、本発明のシステムは、暗号化モジュール／復号化モジュール、圧縮モジュール／解凍モジュールを同時に含む必要となる。本発明は、暗号化／復号化処理と圧縮／解凍処理との間の前後順序が限定されないため、ファイル送信側は、仮想プリンタモジュールからのＧＤＩファイルを先に暗号化モジュールに送信して処理させ、次に暗号化モジュールからの暗号化後のＧＤＩファイルを圧縮モジュールに送信して処理させ、又は、仮想プリンタモジュールからのＧＤＩファイルを先に圧縮モジュールに送信して処理させ、次に圧縮モジュールからの圧縮後のＧＤＩファイルを暗号化モジュールに送信して処理させる。相応的に、ファイル受信側は、ファイル送信側からの暗号化と圧縮を経たＧＤＩファイルを先に解凍モジュールに送信して処理させ、次に解凍モジュールからの解凍後のＧＤＩファイルを復号化モジュールに送信して処理させ、又は、ファイル送信側からの暗号化して圧縮されたＧＤＩファイルを先に復号化モジュールに送信して処理させ、次に復号化モジュールからの復号化後のＧＤＩファイルを解凍モジュールに送信して処理させる。
【０１２４】
本発明のシステムにおいて、前記仮想プリンタモジュール、圧縮モジュール、暗号化モジュールは、それぞれファイル送信側に接続され、独立に設定されたエンティティであっていい、又は前記ファイル送信側に統合されるものであってよい。相応的に、前記復元モジュール、解凍モジュール、復号化モジュールは、それぞれファイル受信側に接続され、独立に設定されたエンティティであっていい、又は前記ファイル受信側に統合されるものであってよい。
【０１２５】
本発明において、ファイル送信側とファイル受信側は、それぞれＩＭツールを用いる二つのＩＭユーザでもいいし、それぞれローカルエリアネットワークにある二台のコンピュータのユーザでもいいし、Ｅ−Ｍａｉｌを用いる二つのユーザでもいい。
【０１２６】
本発明は、ネットワークで共有ファイルを伝送する方法を実現することによって、ファイルの受信側は、アプリケーションプログラムに制限されずに、共有ファイルの内容を順調に調べることができる。
【０１２７】
以上は本発明の好ましい実施例にすぎず、本発明の保護範囲を限定するものではない。本発明の精神と原則内で行われる種々の修正、均等物、改善などは全て本発明の保護範囲内に含まれるべきである。
【図面の簡単な説明】
【０１２８】
【図１】従来のインターネットＩＭツールを用いて共有ファイルを伝送するフローチャートである。
【図２】従来のインターネット又はＩＭツールを用いて共有ファイルを伝送するフローチャートである。
【図３】本発明の方法に係る一つの好適な実施例の処理手順を示すフローチャートである。
【図４】図３に示される実施例において、ＧＤＩファイルの生成を示すフローチャートである。
【図５】図４に示されるＧＤＩ命令ストリームの生成を示すフローチャートである。
【図６】図３に示される実施例において、受信したＧＤＩファイルに対して復元操作を行うフローチャートである。
【図７】本発明のシステムに係る一つの好適な実施例の構成を示す図である。
【符号の説明】
【０１２９】
３０１  ファイル送信側は共有しようとするファイルを選択
３０２  当該共有ファイルをＧＤＩファイルに変換
３０３  当該ＧＤＩファイルを圧縮して暗号化する
３０４  ファイル送信側は圧縮して暗号化したＧＤＩファイルをファイル受信側に送信
３０５  受信したＧＤＩファイルを復号化して解凍
３０６  復号化して解凍されたＧＤＩファイルを復元する
３０７  ファイル受信側は受信したファイルを調べる
【図１】
2008524879.tif 000004
【図２】
2008524879.tif 000005
【図３】
2008524879.tif 000006
【図４】
2008524879.tif 000007
【図５】
2008524879.tif 000008
【図６】
2008524879.tif 000009
【図７】
2008524879.tif 000010
【手続補正書】
【提出日】平成19年6月18日(2007.6.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークにおけるファイル伝送の方法であって、
仮想印刷を行うことで現在送信しようとする共有ファイルをグラフィックスデバイスインタフェース（ＧＤＩ）ファイルに変換するステップと、
ファイル受信側は、ネットワークを介して、ファイル送信側から送信されたＧＤＩファイルを受信するステップと、
ファイル受信側は、受信したＧＤＩファイルに対して復元操作を行って、それを前記共有ファイル内容と一致する内容情報に復元するステップと、
を含むことを特徴とする方法。
【請求項２】
ファイル送信側はＧＤＩファイルに対して圧縮操作を行うステップと、
ファイル受信側は受信したＧＤＩファイルに対して解凍操作を行うステップと、をさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
ファイル送信側はＧＤＩファイルに対して暗号化操作を行うステップと、
ファイル受信側は受信したＧＤＩファイルに対して復号化操作を行うステップとをさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記ファイル受信側が、ネットワークを介して、ファイル送信側から送信されたＧＤＩファイルを受信する方法は、
ファイル受信側は、インスタントメッセ−ジングツールによって、ファイル送信側から送信されたＧＤＩファイルを受信するステップ、
又は、
ファイル受信側は、電子メールによって、ファイル送信側から送信されたＧＤＩファイルを受信するステップ、
又は、
ファイル受信側は、ファイル送信側の所属するネットワーク端末にログインすることによって、ファイル送信側から送信されたＧＤＩファイルを受信するステップ、
を含む、
ことを特徴とする請求項１〜３のいずれか１項に記載の方法。
【請求項５】
ネットワークにおけるファイル伝送のシステムにおいて、
ファイル送信側とファイル受信側とを含み、
仮想プリンタモジュールと、復元モジュールと、をさらに含み、
前記ファイル送信側は、現在送信しようとする共有ファイルを前記仮想プリンタモジュールに出力し、前記仮想プリンタモジュールから、当該共有ファイルから変換されたＧＤＩファイルを受信して前記ファイル受信側に送信するように構成され、
前記仮想プリンタモジュールは、前記ファイル送信側から共有ファイルを受信して仮想印刷を行い、当該共有ファイルをＧＤＩファイルに変換して当該ファイル送信側に出力するように構成され、
前記復元モジュールは、前記ファイル受信側からＧＤＩファイルを受信し、ＧＤＩファイルを前記共有ファイルの内容と一致する内容情報に復元し、前記ファイル受信側に出力するように構成され、
前記ファイル受信側は、前記ファイル送信側からＧＤＩファイルを受信して前記復元モジュールに出力し、当該復元モジュールから前記共有ファイルの内容と一致する内容情報を受信するように構成される、
ことを特徴とするシステム。
【請求項６】
圧縮モジュールと、解凍モジュールと、をさらに含み、
前記圧縮モジュールは、ファイル送信側からＧＤＩファイルを受信し、それを圧縮して、圧縮後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記圧縮モジュールに出力し、当該圧縮モジュールからの圧縮後のＧＤＩファイルをファイル受信側に送信するように構成され、
前記解凍モジュールは、ファイル受信側から圧縮後のＧＤＩファイルを受信し、それを解凍して、解凍後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの圧縮後のＧＤＩファイルを前記解凍モジュールに送信し、解凍モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される、
ことを特徴とする請求項５に記載のシステム。
【請求項７】
前記圧縮モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記解凍モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである、
ことを特徴とする請求項６に記載のシステム。
【請求項８】
暗号化モジュールと、復号化モジュールと、をさらに含み、
前記暗号化モジュールは、ファイル送信側からＧＤＩファイルを受信して、それを暗号化し、暗号化後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記暗号化モジュールに出力し、当該暗号化モジュールからの暗号化後のＧＤＩファイルをファイル受信側に送信するように構成され、
前記復号化モジュールは、ファイル受信側から暗号化後のＧＤＩファイルを受信して、それを復号化し、復号化後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの暗号化後のＧＤＩファイルを前記復号化モジュールに送信し、当該復号化モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される、
ことを特徴とする請求項５に記載のシステム。
【請求項９】
前記暗号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記復号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである、
ことを特徴とする請求項８に記載のシステム。
【請求項１０】
前記仮想プリンタモジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記復元モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである、
ことを特徴とする請求項５〜９のいずれか１項に記載のシステム。
【請求項１１】
仮想プリンタ装置であって、
ファイル送信側を含み、
仮想プリンタモジュールをさらに含み、
前記ファイル送信側は、現在送信しようとする共有ファイルを前記仮想プリンタモジュールに出力し、前記仮想プリンタモジュールから、当該共有ファイルから変換されたＧＤＩファイルを受信してファイル受信側に送信するように構成され、
前記仮想プリンタモジュールは、前記ファイル送信側から共有ファイルを受信して仮想印刷を行い、当該共有ファイルをＧＤＩファイルに変換して当該ファイル送信側に出力するように構成される、
ことを特徴とする仮想プリンタ装置。
【請求項１２】
圧縮モジュールをさらに含み、
前記圧縮モジュールは、ファイル送信側からＧＤＩファイルを受信し、それを圧縮して、圧縮後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記圧縮モジュールに出力し、当該圧縮モジュールからの圧縮後のＧＤＩファイルをファイル受信側に送信するように構成される、
ことを特徴とする請求項１１に記載の仮想プリンタ装置。
【請求項１３】
暗号化モジュールをさらに含み、
前記暗号化モジュールは、ファイル送信側からＧＤＩファイルを受信して、それを暗号化し、暗号化後のＧＤＩファイルを当該ファイル送信側に出力するように構成され、
前記ファイル送信側は、さらに、仮想プリンタモジュールからのＧＤＩファイルを前記暗号化モジュールに出力し、当該暗号化モジュールからの暗号化後のＧＤＩファイルをファイル受信側に送信するように構成される、
ことを特徴とする請求項１２に記載の仮想プリンタ装置。
【請求項１４】
前記圧縮モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記暗号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものであり、
前記仮想プリンタモジュールは、独立に設定されたエンティティであり、又は前記ファイル送信側に統合されるものである、
ことを特徴とする請求項１３に記載の仮想プリンタ装置。
【請求項１５】
復元装置であって、
ファイル受信側を含み、
復元モジュールをさらに含み、
前記復元モジュールは、前記ファイル受信側からＧＤＩファイルを受信し、ＧＤＩファイルを前記共有ファイルの内容と一致する内容情報に復元し、前記ファイル受信側に出力するように構成され、
前記ファイル受信側は、ファイル送信側からＧＤＩファイルを受信して前記復元モジュールに出力し、当該復元モジュールから前記共有ファイルの内容と一致する内容情報を受信するように構成される、
ことを特徴とする復元装置。
【請求項１６】
解凍モジュールをさらに含み、
前記解凍モジュールは、ファイル受信側から圧縮後のＧＤＩファイルを受信し、それを解凍して、解凍後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの圧縮後のＧＤＩファイルを前記解凍モジュールに送信し、解凍モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される、ことを特徴とする請求項１５に記載の復元装置。
【請求項１７】
復号化モジュールをさらに含み、
前記復号化モジュールは、ファイル受信側から暗号化後のＧＤＩファイルを受信して、それを復号化し、復号化後のＧＤＩファイルを当該ファイル受信側に出力するように構成され、
前記ファイル受信側は、さらに、ファイル送信側からの暗号化後のＧＤＩファイルを前記復号化モジュールに送信し、当該復号化モジュールからのＧＤＩファイルを前記復元モジュールに出力するように構成される、
ことを特徴とする請求項１６に記載の復元装置。
【請求項１８】
前記解凍モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものであり、
前記復号化モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものであり、
前記復元モジュールは、独立に設定されたエンティティであり、又は前記ファイル受信側に統合されるものである、
ことを特徴とする請求項１７に記載の復元装置。
【請求項１９】
ネットワークにおけるファイル送信の方法であって、
ファイル送信側は、仮想印刷を行うことで現在送信しようとする共有ファイルをグラフィックスデバイスインタフェース（ＧＤＩ）ファイルに変換するステップと、
ファイル送信側は、ネットワークを介して、ＧＤＩファイルをファイル受信側に送信するステップと、
を含むことを特徴とする方法。
【請求項２０】
ファイル送信側はＧＤＩファイルに対して圧縮操作を行うステップをさらに含む、
ことを特徴とする請求項１９に記載の方法。
【請求項２１】
ファイル送信側はＧＤＩファイルに対して暗号化操作を行うステップをさらに含む、
ことを特徴とする請求項１９又は２０に記載の方法。
【請求項２２】
前記ファイル送信側の所属するネットワーク端末に仮想プリンタモジュールを設定することを更に含み、
前記ＧＤＩファイルに少なくともＧＤＩ命令を含み、
前記仮想印刷を行うことで共有ファイルをＧＤＩファイルに変換する方法は、
前記ファイル送信側における共有ファイルのアプリケーションプログラムは、自身と仮想プリンタモジュールとのやり取りを行うためのインタフェースを開き、共有ファイルに対して仮想印刷を開始するステップと、
共有ファイルのアプリケーションプログラムは、仮想印刷を終了するかどうかを判断し、終了すれば、共有ファイルの終了を指示するＧＤＩ関数を仮想プリンタモジュールへ送信することで共有ファイルの仮想印刷を終了し、現在のＧＤＩファイルの生成プロセスを終了し、終了しなければ、共有ファイルのアプリケーションプログラムは、共有ファイルの内容に基づいて、印刷ドライバーＧＤＩ伝達インタフェース関数をコールすることで、ＧＤＩ関数を仮想プリンタモジュールに送信し、当該仮想プリンタモジュールは、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果を共有ファイルのアプリケーションプログラムに返信するステップと、
共有ファイルのアプリケーションプログラムは、仮想プリンタから返信された変換の実行結果によって、変換に成功したかどうかを判断し、成功した場合、次のＧＤＩ関数に進み、仮想印刷を終了するかどうかを判断するステップに戻り、成功しなかった場合、共有ファイルの終了を指示するＧＤＩ関数を仮想プリンタモジュールに送信することで共有ファイルの仮想印刷を終了し、現在のＧＤＩファイルの生成プロセスを終了するステップと、
を含むことを特徴とする請求項１９に記載の方法。
【請求項２３】
前記仮想印刷を終了するかどうかを判断する方法は、
前記共有ファイルのアプリケーションプログラムは、共有ファイルの内容に基づいてコールされたＧＤＩ関数を仮想プリンタモジュールに全部伝送したかどうかを判断し、全部伝送した場合、仮想印刷を終了すると判断し、そうでなければ、仮想印刷を終了しないと判断するステップを含む、
ことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記ＧＤＩ命令は、少なくとも、ＧＤＩ関数名、ＧＤＩ関数番号、ＧＤＩ実行シリアル番号を含み、
前記仮想プリンタモジュールが、受信したＧＤＩ関数をＧＤＩ命令に変換し、変換の実行結果を共有ファイルのアプリケーションプログラムに返信する方法は、
印刷ドライバーＧＤＩ伝達インタフェース関数が共有ファイルのアプリケーションプログラムにコールされ、仮想プリンタモジュールは、受信したＧＤＩ関数が共有ファイルの仮想印刷の開始を示すＧＤＩ関数であるかどうかを判断し、共有ファイルの仮想印刷の開始を示すＧＤＩ関数であれば、仮想プリンタモジュールは、ＧＤＩサブシステムからＧＤＩ関数名とＧＤＩ関数番号との対照表を取得し、ＧＤＩ実行シリアル番号変数を０に初期化し、空のＧＤＩファイルを確立して開いてから、初期化完了状況を示す初期化変数を生成し、共有ファイルの仮想印刷の開始を示すＧＤＩ関数でなければ、初期化変数によって初期化が完了したかどうかを判断し、初期化が完了した場合、受信したＧＤＩ関数が共有ファイルの仮想印刷の終了を指示するＧＤＩ関数であるかどうかを判断し、共有ファイルの仮想印刷の終了を示すＧＤＩ関数であれば、ＧＤＩファイルを閉じ、仮想プリンタモジュールは、変換の実行結果を共有ファイルのアプリケーションプログラムへ返信し、共有ファイルの仮想印刷の終了を示すＧＤＩ関数でなければ、現在のＧＤＩ関数に対応するＧＤＩ関数番号が検出されたかどうかを判断し、検出されたら、ＧＤＩ実行シリアル番号変数の数値に１を加算し、次に、ＧＤＩ命令ストリームのフォーマットに従って、ＧＤＩ関数名と、ＧＤＩ実行シリアル番号変数と、ＧＤＩ関数とを符号化して、ＧＤＩ命令を生成し、当該ＧＤＩ命令をＧＤＩファイルに書き込み、検出されなかったら、仮想プリンタモジュールは、変換の実行結果を共有ファイルのアプリケーションプログラムへ返信し、初期化が完了しなかった場合、仮想プリンタモジュールは、ＧＤＩサブシステムからＧＤＩ関数名とＧＤＩ関数番号との対照表を取得し、ＧＤＩ実行シリアル番号変数を０に初期化し、空のＧＤＩファイルを確立して開いてから、初期化完了状況を示す初期化変数を生成するステップ、
を含むことを特徴とする請求項２２に記載の方法。
【請求項２５】
前記ＧＤＩ命令は、少なくとも、現在のＧＤＩ命令の総長さ、パラメータ数、各パラメータのパラメータ値及びパラメータ値の長さを含む、
ことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記ファイル送信側が、ネットワークを介してＧＤＩファイルをファイル受信側に送信する方法は、
ファイル送信側は、インスタントメッセ−ジングツールによってＧＤＩファイルをファイル受信側に送信するステップ、
又は、
ファイル送信側は、電子メールによってＧＤＩファイルをファイル受信側に送信するステップ、
又は、
ファイル送信側は、ファイル受信側の所属するネットワーク端末にログインすることによってＧＤＩファイルをファイル受信側に送信するステップ、
を含む、
ことを特徴とする請求項１９〜２１のいずれか１項に記載の方法。
【請求項２７】
ネットワークにおけるファイル受信の方法であって、
ファイル受信側は、ネットワークを介して、ファイル送信側から送信された、共有ファイルから変換されたＧＤＩファイルを受信するステップと、
ファイル受信側は、受信したＧＤＩファイルに対して復元操作を行って、それを前記共有ファイル内容と一致する内容情報に復元するステップと、
を含むことを特徴とする方法。
【請求項２８】
ファイル受信側は受信したＧＤＩファイルに対して解凍操作を行うステップをさらに含む、
ことを特徴とする請求項２７に記載の方法。
【請求項２９】
ファイル受信側は受信したＧＤＩファイルに対して復号化操作を行うステップをさらに含む、
ことを特徴とする請求項２７又は２８に記載の方法。
【請求項３０】
前記ＧＤＩファイルに少なくともＧＤＩ命令を含み、
ＧＤＩファイルに対して復元操作を行うことは、ＧＤＩファイルにおけるＧＤＩ命令に対応するグラフィックスデバイス関数を実行することを含む、
ことを特徴とする請求項２７に記載の方法。
【請求項３１】
前記受信したＧＤＩファイルに対して復元操作を行って、それを共有ファイルと一致する内容に復元する方法は、
ファイル受信側の所属するネットワーク端末は、その所属するグラフィックスデバイスのサブシステムに、描画デバイスコンテキストを申し込み、その後、受信したＧＤＩファイルにおけるすべてのＧＤＩ命令を読み取り、前記ＧＤＩ命令におけるＧＤＩ実行シリアル番号に従って、すべてのＧＤＩ命令を昇順で配列し、ＧＤＩ実行シリアル番号変数をＧＤＩ実行シリアル番号中の最小値に初期化するステップと、
ＧＤＩ実行シリアル番号変数に対応するＧＤＩ命令が検出されたかどうかを判断し、検出されたら、現在のＧＤＩ命令におけるＧＤＩ関数番号及び当該ＧＤＩ関数番号に対応するＧＤＩ関数を取得し、申し込まれた描画デバイスコンテキストで当該ＧＤＩ関数を実行し、次に、ＧＤＩ実行シリアル番号変数に１を加算し、ＧＤＩ実行シリアル番号変数に対応するＧＤＩ命令が検出されたかどうかを判断するステップに戻り、検出されなかったら、ＧＤＩ実行シリアル番号がＧＤＩ実行シリアル番号変数より大きいＧＤＩ命令があるかどうかを判断し、あれば、ＧＤＩ実行シリアル番号変数に１を加算し、ＧＤＩ実行シリアル番号変数に対応するＧＤＩ命令が検出されたかどうかを判断するステップに戻り、なければ、ＧＤＩファイルを閉じ、ＧＤＩファイルの復元プロセスを終了するステップと、
を含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記ファイル受信側が、ネットワークを介して、ファイル送信側から送信されたＧＤＩファイルを受信する方法は、
ファイル受信側は、インスタントメッセ−ジングツールによって、ファイル送信側から送信されたＧＤＩファイルを受信するステップ、
又は、
ファイル受信側は、電子メールによって、ファイル送信側から送信されたＧＤＩファイルを受信するステップ、
又は、
ファイル受信側は、ファイル送信側の所属するネットワーク端末にログインすることによって、ファイル送信側から送信されたＧＤＩファイルを受信するステップ、
を含む、
ことを特徴とする請求項２７〜２９のいずれか１項に記載の方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明はネットワーク通信技術に関し、特にネットワークにおけるファイル伝送の方法、システム、仮想プリンタ装置、復元装置に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
本発明実施例は、上記に鑑みてなされたものであり、ファイル受信側に共有ファイルに関連するソフトウェアがインストールされていない場合でも当該ファイルの内容を調べることができる、ネットワークにおけるファイル伝送の方法、システム、仮想プリンタ装置、復元装置を提供することを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
上記目的を達成するために、本発明実施例はネットワークにおけるファイル伝送の方法を提供している。当該方法は、
仮想印刷を行うことで現在送信しようとする共有ファイルをグラフィックスデバイスインタフェース（ＧＤＩ）ファイルに変換するステップと、
ファイル受信側は、ネットワークを介して、ファイル送信側から送信されたＧＤＩファイルを受信するステップと、
ファイル受信側は、受信したＧＤＩファイルに対して復元操作を行って、それを前記共有ファイル内容と一致する内容情報に復元するステップと、を含む。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
また、本発明実施例はネットワークにおけるファイル伝送のシステムを開示している。当該システムは、ファイル送信側とファイル受信側とを含み、
仮想プリンタモジュールと、復元モジュールと、をさらに含み、
前記ファイル送信側は、現在送信しようとする共有ファイルを前記仮想プリンタモジュールに出力し、前記仮想プリンタモジュールから、当該共有ファイルから変換されたＧＤＩファイルを受信して前記ファイル受信側に送信するように構成され、
前記仮想プリンタモジュールは、前記ファイル送信側から共有ファイルを受信して仮想印刷を行い、当該共有ファイルをＧＤＩファイルに変換して当該ファイル送信側に出力するように構成され、
前記復元モジュールは、前記ファイル受信側からＧＤＩファイルを受信し、ＧＤＩファイルを前記共有ファイルの内容と一致する内容情報に復元し、前記ファイル受信側に出力するように構成され、
前記ファイル受信側は、前記ファイル送信側からＧＤＩファイルを受信して前記復元モジュールに出力し、当該復元モジュールから前記共有ファイルの内容と一致する内容情報を受信するように構成される。
また、本発明実施例は仮想プリンタ装置を開示している。当該仮想プリンタ装置は、
ファイル送信側を含み、
仮想プリンタモジュールをさらに含み、
前記ファイル送信側は、現在送信しようとする共有ファイルを前記仮想プリンタモジュールに出力し、前記仮想プリンタモジュールから、当該共有ファイルから変換されたＧＤＩファイルを受信してファイル受信側に送信するように構成され、
前記仮想プリンタモジュールは、前記ファイル送信側から共有ファイルを受信して仮想印刷を行い、当該共有ファイルをＧＤＩファイルに変換して当該ファイル送信側に出力するように構成される。
また、本発明実施例は復元装置を開示している。当該復元装置は、
ファイル受信側を含み、
復元モジュールをさらに含み、
前記復元モジュールは、前記ファイル受信側からＧＤＩファイルを受信し、ＧＤＩファイルを前記共有ファイルの内容と一致する内容情報に復元し、前記ファイル受信側に出力するように構成され、
前記ファイル受信側は、ファイル送信側からＧＤＩファイルを受信して前記復元モジュールに出力し、当該復元モジュールから前記共有ファイルの内容と一致する内容情報を受信するように構成される。
また、本発明実施例はネットワークにおけるファイル送信の方法を開示している。当該方法は、
ファイル送信側は、仮想印刷を行うことで現在送信しようとする共有ファイルをグラフィックスデバイスインタフェース（ＧＤＩ）ファイルに変換するステップと、
ファイル送信側は、ネットワークを介して、ＧＤＩファイルをファイル受信側に送信するステップと、を含む。
また、本発明実施例はネットワークにおけるファイル受信の方法を開示している。当該方法は、
ファイル受信側は、ネットワークを介して、ファイル送信側から送信された、共有ファイルから変換されたＧＤＩファイルを受信するステップと、
ファイル受信側は、受信したＧＤＩファイルに対して復元操作を行って、それを前記共有ファイル内容と一致する内容情報に復元するステップと、を含む。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
ステップ６０９〜６１０において、ＧＤＩ実行シリアル番号がＧＤＩ実行シリアル番号変数より大きいＧＤＩ命令があるかどうかを判断し、あれば、ステップ６０８に戻り、なければ、当該ＧＤＩファイルを閉じ、当該ＧＤＩファイルの復元プロセスを終了する。
【国際調査報告】
2008524879.tif 000011
2008524879.tif 000012
2008524879.tif 000013
2008524879.tif 000014