(57)【特許請求の範囲】
【請求項１】
電子情報を転送するためのシステムであって、
パリティエンコーディング処理を実行し、一又は二以上の送信パケットからのデータセグメントに基づいてパリティブロックを生成するエンコーダであって、さらに、そのパリティブロックを前記送信パケットに組み込みを行うエンコーダを具備する送信機と、
パケット検証処理を実行するために前記パリティブロックを利用し、前記送信パケットの中から破損パケットを識別するデコーダであって、さらに、前記データセグメント及び前記パリティブロックの内の選択したものを用いてパケット再構築処理を実行し、前記破損パケットのためにデータセグメントを再構築するデコーダを具備する受信機と、
を備え、
現在のパケット及びそれの直前のパケットからの前記データセグメントの対応ビットへ排他的論理和操作を適用することによって、前記パリティエンコーディング処理が実行される、システム。
【請求項２】
請求項１に記載のシステムであって、前記送信パケットは、パケットヘッダ、一つの前記データセグメント、一つの前記パリティブロックを含むことを特徴とするシステム。
【請求項３】
請求項１に記載のシステムであって、前記送信機及び前記受信機は、データ送信ネットワーク内に存在し、前記送信機は、そのデータ送信ネットワークにおいて、その送信機から前記受信機への片方向通信リンクを通じて前記受信機と通信し、さらに、前記受信機が前記送信機に向けて通信することなく前記パリティブロックによって前記破損パケットを再構築可能とすることを特徴とするシステム。
【請求項４】
請求項３に記載のシステムであって、前記データ送信ネットワークは、無線テレビ放送ネットワークとして実装されることを特徴とするシステム。
【請求項５】
請求項１に記載のシステムであって、前記破損パケットは、破損又は損失した前記データセグメントを有することを特徴とするシステム。
【請求項６】
請求項１に記載のシステムであって、前記エンコーダは、複数の前記送信パケットを記憶する送信機用バッファを前記データセグメントにアクセスするために用いることによって、前記パリティエンコーディング処理を実行することを特徴とするシステム。
【請求項７】
請求項１に記載のシステムであって、前記デコーダは、現在のパケット及びそれの直前のパケットからの前記データセグメントを用いて現在のパリティブロックを再計算することによって、前記パケット検証処理を実行することを特徴とするシステム。
【請求項８】
請求項７に記載のシステムであって、前記デコーダは、前記現在のパケット及びそれの直前のパケットからの前記データセグメントの対応ビットへ排他的論理和操作を適用することによって、前記パケット検証処理を実行し、前記パリティブロックの対応する一つを再計算することを特徴とするシステム。
【請求項９】
請求項１に記載のシステムであって、前記デコーダは、現在のデータセグメントの再計算を直後の送信パケットからの後続データセグメント及びそれに対応する後続パリティブロックを利用して行うことによって、前記パケット再構築処理を実行することを特徴とするシステム。
【請求項１０】
請求項９に記載のシステムであって、前記デコーダは、前記直後の送信パケットからの前記後続データセグメント及びそれに対応する前記後続パリティブロックの対応ビットに排他的論理和操作を適用することによって、前記パケット再構築処理を実行することを特徴とするシステム。
【請求項１１】
請求項１に記載のシステムであって、前記デコーダは、前記送信パケットに近接する複数のパケットからの情報を利用するマルチパケット技術を用いることによって、前記パケット再構築処理を実行することを特徴とするシステム。
【請求項１２】
請求項１１に記載のシステムであって、前記マルチパケット技術は、前記送信パケットに近接する３つのパケットからの情報を利用することを特徴とするシステム。
【請求項１３】
請求項１に記載のシステムであって、前記デコーダは、複数の前記送信パケットを記憶する受信機用バッファを前記データセグメント及び前記パリティブロックにアクセスするために利用することによって、前記パケット検証処理及び前記パケット再構築処理を実行することを特徴とするシステム。
【請求項１４】
請求項１に記載のシステムであって、前記送信機は、データ源となる装置からの前記送信パケットにアクセスし、前記エンコーダは、前記送信パケットから前記データセグメントを分析するとともに、そのデータセグメントに基づいて前記パリティブロックを生成することを特徴とするシステム。
【請求項１５】
請求項１４に記載のシステムであって、前記エンコーダは、前記パリティブロックを前記送信パケットの対応するパケットに組み込み、さらに、前記送信機は、前記送信パケットを変調し、前記受信機に送信することを特徴とするシステム。
【請求項１６】
請求項１５に記載のシステムであって、前記受信機は、前記送信パケットを受信するとともに復調し、さらに、前記データセグメント及び前記パリティブロックにアクセスするための受信機用バッファに前記送信パケットを記憶することを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムであって、前記デコーダは、前記送信パケットの有効性を検証して前記破損パケットを識別し、そして、前記エンコーダは、前記パリティブロックを用いて前記破損データを再構築し、さらに、前記受信機は、前記送信パケットを宛先となる装置に出力することを特徴とするシステム。
【請求項１８】
電子情報を転送するための方法であって、
パリティエンコーディング処理を実行し、一又は二以上の送信パケットからのデータセグメントに基づいてパリティブロックを生成するとともに、そのパリティブロックを前記送信パケットに組み込みを行うための送信機のエンコーダを利用するステップと、
パケット検証処理を実行し、前記パリティブロックを用いて前記送信パケットの中から破損パケットを識別するとともに、前記データセグメント及び前記パリティブロックの内の選択したものを用いてパケット再構築処理を実行し、前記破損パケットのためにデータセグメントを再構築するための受信機のデコーダを提供するステップと、
を含み、
現在のパケット及びそれの直前のパケットからの前記データセグメントの対応ビットへ排他的論理和操作を適用することによって、前記パリティエンコーディング処理が実行される、ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、電子情報を処理するための技術に関する。より詳細には、電子情報を効率的に転送するシステム及び方法に関する。
【背景技術】
【０００２】
電子情報を転送するための効果的な方法を実装することは、近年の電子装置の設計者及び製造者にとって重要事項である。しかしながら、効果的に電子情報を転送することは、システム設計者にとって非常に困難なこととなる可能性がある。例としては、改良された転送技術に対する改善要求は、システムの処理能力及びソフトウエアの追加機能をより必要とする可能性がある。また、処理要求又はソフトウエア要求の増加は、製造コスト及び動作の非効率性のために、関連する経済的悪影響を生じさせる可能性がある。
【０００３】
さらに、さまざまかつ高度な転送動作を実行するよう改善された装置の機能は、システムのユーザに追加の利益をもたらす可能性があるが、様々なシステム構成要素の制御及び管理の要求を増加させる。例えば、様々なタイプの電子コンテンツについて頑強な転送を必要とする改善された装置は、大量のデジタルデータ及びデジタルデータの複雑性を伴うため、効果的な実装によって利益を得られる可能性がある。
【０００４】
システムリソースの要求の増大、さらに、データ量の大幅な増加に起因して、電子情報を転送するための新しい技術の開発は、関連する電子技術についての懸案事項である。したがって、上記理由の全てに関して、電子情報を転送するための効果的な技術は、近年の電子装置の設計者や、製造者、使用者にとって、重要事項であり続けている。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明による電子情報を効果的に転送するためのシステム及び方法を開示する。一実施例において、最初に、送信機のエンコーダは、データ源となる適切な装置からのインプットパケットにアクセスする。エンコーダは、インプットパケットからのデータを分析する。そして、エンコーダは、任意かつ適切な技術を利用することによってインプットパケットのためのパリティブロックを生成する。例えば、ある実施例において、エンコーダは、隣接する一又は二以上のパケットのバイナリデータ値と組み合わせたインプットパケットのバイナリデータ値に基づいてパリティブロックを生成する。
【０００６】
次に、エンコーダは、パリティブロックをインプットパケットに組み込む。送信機は、エンコードしたパケットを任意かつ適切な手段を利用することによって受信機に送信することができる。エンコーダは、パケットをまだエンコードするか否かを決定する。さらに他のパケットがある場合、送信プロセスは、戻って、同様な方法で残りのパケットをエンコードするとともに送信する。他のパケットがない場合、送信プロセスは、終了することが可能である。
【０００７】
ある実施例において、受信機は、送信されたパケットを任意かつ適切な技術を利用することによって受信することが可能である。受信機は、受信したパケットを受信機用バッファに記憶する。受信機のデコーダは、受信したパケットに対してパケットの有効性についての処理を任意かつ効果的な技術を利用することによって実行する。例えば、ある実施例において、デコーダは、組み込まれたパリティブロックを利用することによってパケットの有効性を検証することが可能である。
【０００８】
現在のパケットが有効である（データが破損していない）場合、受信機は、有効なパケットを宛先となる任意かつ適切な装置に出力する。しかしながら、現在のパケットが有効ではない（データが破損している）場合、デコーダは、任意かつ適切な技術を利用することによってパケットの再構築処理を実行することができる。例えば、ある実施例において、デコーダは、隣接する一又は二以上のパケットからデータブロック及びパリティブロックの情報を利用することによって破損したパケット又は損失したパケットを再構築することができる。
【０００９】
破損したパケットが再構築されると、受信機は、再構築したパケットを宛先となる任意かつ適切な装置に出力することができる。デコーダは、有効性を検証するとともに潜在的に再構築する他のパケットが残っているか否かを決定する。パケットが残っている場合、送信プロセスは、戻って、他のパケットについて有効性を検証し、再構築し、さらに、出力する。しかしながら、パケットが残っていない場合、送信プロセスは終了することができる。したがって、少なくとも上記理由に関して、本発明は、電子情報を効果的に転送するための改善されたシステム及び方法を提供する。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例によるデータ転送システムのブロック図である。
【図２】本発明による図１における送信機の一実施例についてのブロック図である。
【図３】本発明による図２における送信機用メモリの一実施例についてのブロック図である。
【図４】本発明によるパケットの典型的な実施例についてのブロック図である。
【図５】本発明による受信機の一実施例についてのブロック図である。
【図６】本発明による図５における受信機用メモリの一実施例についてのブロック図である。
【図７】本発明の一実施例によるマルチパケットパリティ技術を示すブロック図である。
【図８Ａ】本発明の一実施例によるパケットエンコーディング処理実行するための方法のステップについてのフローチャートである。
【図８Ｂ】本発明の一実施例によるパケットエンコーディング処理における方法のステップについてのフローチャートである。
【図９Ａ】本発明の一実施例によるパケット再構築処理を実行するための方法のステップについてのフローチャートである。
【図９Ｂ】本発明の一実施例によるパケット再構築処理を実行するための方法のステップについてのフローチャートである。
【発明を実施するための形態】
【００１１】
本発明は、電子情報を転送するための技術の改良に関する。以下の説明は、当業者が本発明を作り、使用することを可能とし、本出願及びそれの要求に関連して記載されている。開示されている実施例の様々な変更は、当業者にとって明らかであり、この点で、一般原則は、他の実施例に適用されてもよい。したがって、本発明は、示してある実施例に制限することを意図していないが、ここに開示されている原則及び特徴と適合する最大範囲と一致する。
【００１２】
本発明は、効果的に電子情報を転送するためのシステム及び方法を含み、パリティエンコーディング処理を実行するエンコーダを有する送信機を備える。エンコーダは、送信パケットに組み込むためのパリティブロックを生成する。パリティブロックは、一又は二以上の送信パケットからのデータセグメントに基づくことが可能である。また、システムは、デコーダを有する受信機を備える。そのデコーダは、パケットの有効性処理を実行するためにパリティブロックを利用し、送信パケットの中から破損しているパケットを識別する。デコーダは、データセグメント及びパリティブロックの内の選択したものを用いてパケットの再構築処理を効果的に実行する。これにより、破損しているパケットのためにデータセグメントを再構築する。
【００１３】
図１を参照すると、本発明の一実施例によるデータ送信システム１１０のブロックが示されている。図１の実施例において、データ送信システム１１０は、以下に限定しないが、送信機１１８及び受信機１２８を備える。他の実施例において、データ送信システム１１０は、図１の実施例とともに説明されている特定の構成要素及び構成に加えて、又は、それらに代えて、ある構成要素及び構成を用いることによって実装することができる。
【００１４】
データ送信システム１１０の図１の実施例において、送信機１１８は、任意かつ適切なデータ源から初期データ１１６を受信する。例として、初期データは、メモリ装置源からデジタル情報のパケットとして提供されてもよい。ある実施例において、データ送信システム１１０は、片方向無線テレビ放送システム又は配線接続されているテレビ放送システムとして実装されていてもよい。送信機１１８は、送信データ１２０として初期データ１１６を変調し、変調された初期データ１１６を出力する。その出力は、任意かつ適切なタイプの送信チャネルを通じて行われる。データ送信システム１１０の受信機１２６は、送信データ１２０を受信し、復調し、処理する。これにより、宛先となるメモリ装置のような、任意かつ適切なデータの宛先に最終データ１３８を提供する。
【００１５】
ある環境において、送信データ１２０は、上記送信プロセスの間に破損データとなり得る。しかしながら、特定のタイプの送信データ１２０を用いることで、デジタル情報の損失を無くすることができる。例えば、送信データ１２０がソフトウア命令などのようなバイナリファイルである場合、破損した任意のデジタル情報は、送信データ１２０を使用できない状態にする。この問題は、送信機１１８と受信機１２６との間の送信経路が片方向であるとき、より重要となる。それは、受信機１２６が、エラーについて送信機１１８に通知するこができないからであり、さらに、破損した送信データ１２０の再伝送を要求することができないからである。
【００１６】
したがって、本発明によって、送信機１１８は、適切なパリティ情報を送信データ１２０にエンコードする。受信機１２６は、エンコードされたパリティ情報を利用し、送信データ１２０を検証する。さらに、受信機１２６は、エンコードされたパリティ情報を用いて再構築処理を実行し、送信データ１２０の破損要素を効果的に再構築する。送信機１１８及び受信機１２６の実装及び利用に関する更なる詳細は、図２乃至図９とともに以下でさらに説明する。
【００１７】
図２を参照すると、本発明による図１における送信機１１８の一実施例についてのブロック図が示されている。図２の実施例において、送信機１１８は、以下に限定しないが、送信機中央処理ユニット（送信機用ＣＰＵ）２１２、モジュレータ２１４、増幅器２１６、送信機用メモリ２２０、そして、一又は二以上の送信機用インプットインタフェース／アウトプットインタフェース（送信機用Ｉ／Ｏインタフェース）２２４を備える。他の実施例において、送信機１１８は、図２の実施例とともに説明されている特定の構成要素及び構成に加えて、又は、それらに代えて、ある構成要素及び構成を用いることによって実装することができる。
【００１８】
図２の実施例において、送信機用ＣＰＵ２１２は、任意かつ適切なマイクロプロセッサ装置であって、互換性のあるマイクロプロセッサ装置を備えるよう実装することができる。そのマイクロプロセッサは、ソフトウエア命令を実行するのが好ましく、これにより、送信機１１８の動作を制御及び管理する。図２の実施例において、送信機用メモリ２２０は、所望のストレージ装置の任意の組み合わせを含むよう実装することができる。そのストレージ装置は、以下に限定しないが、読み取り専用メモリ（ＲＯＭ）や、ランダムアクセスメモリ（ＲＡＭ）、そして、フレキシブルディスク、メモリスティック、コンパクトディスク、ハードディスクなどのような様々なタイプの不揮発性メモリを含む。送信機用メモリ２２０の内容及び機能性は、図３とともに以下でさらに説明する。
【００１９】
図２の実施例において、送信機用Ｉ／Ｏインタフェース２２４は、一又は二以上のインプットインタフェース及び／又はアウトプットインタフェースを含むことができ、任意かつ必要なタイプの情報の受信及び／又は送信を送信機１１８によって行う。図２の実施例において、モジュレータ２１４は、初期データ１１６（図１）を変調し、変調したデータを生成することができ、増幅器２１６は、その変調データを増幅し、送信データ１２０（図１）を生成する。その送信データ１２０は、任意かつ効果的な手段によって送信機Ｉ／Ｏインタフェース２２４を介して受信機１２６（図１）に提供される。例えば、ある実施例において、増幅された送信データ１２０を適切な送信機用Ｉ／Ｏインタフェース２２４に接続されている送信用アンテナから無線で送信することができる。送信機１１８の実装及び利用は、図３、図７、及び、図８とともに以下でさらに説明する。
【００２０】
図３を参照すると、本発明による図２における送信機用メモリ２２０の一実施例についてのブロック図が示されている。図３の実施例において、送信機用メモリ２２０は、以下に限定しないが、送信機用アプリケーション３１２、エンコーダ３１６、送信機用バッファ３２０、多種多様なストレージ３２４を備えることができる。他の実施例において、送信機用メモリ２２０は、図３の実施例とともに説明されている特定の構成要素及び機能性に加えて、又は、それらに代えて、他の様々な構成要素及び機能性を含むことができる。
【００２１】
図３の実施例において、送信機用アプリケーション３１２は、プログラム命令を含むことができ、そのプログラム命令は、送信機１１８のための様々な機能及び動作を実行する送信機用ＣＰＵ２１２（図２）によって実行されるのが望ましい。送信機用アプリケーション３１２の特定の性質及び機能性は、通常、対応する送信機１１８の特定のタイプ及び特有な機能性などのような要素に依存して変化する。図３の実施例において、送信機１１８は、パリティエンコーディング処理を実行するようエンコーダ３１６を利用することができる。そのパリティエンコーディング処理は、任意かつ効果的な技術を利用することによってパリティ情報のパリティブロックを生成する。
【００２２】
例えば、ある実施例において、エンコーダ３１６は、所定のパケットのためのパリティブロックを周囲の一又は二以上のパケットからのデジタル情報を利用することによってエンコードする。この結果、所定のパケットが送信の間に破損した場合、検証及び再構築が可能となる。パリティ情報をエンコードするための具体的な一技術は、図７及び図８とともに以下で説明される。図３の実施例において、エンコーダ３１６は、送信機用バッファ３２０を利用し、パリティエンコーディング処理の間、一時的にパケットを記憶することができる。図３の実施例において、送信機１１８は、任意かつ必要なタイプの追加の情報を記憶するために多種多様なストレージ３２４を利用することができる。
【００２３】
図３の実施例において、ソフトウエアプログラム命令として実装されているエンコーダ３１６を示す。しかしながら、ある実施例では、他に、エンコーダ３１６は、同等な機能を実行するハードウエアの構成要素として実装されていてもよい。エンコーダ３１６の動作及び実装に関するさらなる詳細は、図７乃至図８とともに以下詳細に説明する。
【００２４】
図４を参照すると、本発明によるパケット４１０の一実施例についてのブロック図が示されている。図４の実施例において、パケット４１０は、以下に限定しないが、ヘッダ４１２、データ４１６、パリティブロック４２０を含むことが可能である。他の実施例において、パケット４１６は、図４の実施例とともに説明されている特定の要素及び構成に加えて、又は、それらに代えて、他の要素及び構成を含むことができる。
【００２５】
図４の実施例において、パケット４１０は、任意かつ関連するタイプの情報を含むことが可能なヘッダ４１２を含む。例えば、ヘッダ４１２は、パケット４１０の具体的な内容及び残りの要素のサイズを表すことが可能である。図４の実施例において、データ４１６は、受信機１２６（図１）へ送信するための任意かつ適切なタイプの情報を含むことが可能である。例えば、データ４１６は、ビデオ情報や、音楽情報、ソフトウエア命令、デジタルファイル、テキスト、画像、そして、任意のタイプの電子コンテンツを含むことが可能である。図４の実施例において、パリティブロック４２０は、任意かつ適切なタイプの情報を含めることが可能である。その任意かつ適切なタイプの情報は、受信機１２６が任意の破損したパケットや損失したパケット４１０を効果的に検証し、潜在的に再構築することを可能にするためのものである。パリティブロック４２０の生成及び利用は、図７乃至図９とともに以下詳細に説明する。
【００２６】
図５を参照すると、本発明による図１における受信機１２６の一実施例についてのブロック図が示されている。図５の実施例において、送信機１２６は、以下に限定しないが、受信機中央処理ユニット（受信機用ＣＰＵ）５１２、デモジュレータ５１６、受信機用メモリ５２０、そして、一又は二以上の受信機用インプットインタフェース／アウトプットインタフェース（受信機用Ｉ／Ｏインタフェース）５２４を備える。
【００２７】
他の実施例において、受信機１２６は、図５の実施例とともに説明されている特定の構成要素及び構成に加えて、又は、それらに代えて、ある構成要素及び構成を用いることによって容易に実装することができる。さらに、図５の実施例において、受信機１２６は、任意かつ適切なタイプの電子装置の一部として実装されていてもよい。例えば、ある実施例において、受信機１２６は、テレビ、パーソナルコンピュータ、セットトップボックス、音楽−映像娯楽装置、携帯電話、情報携帯端末（ＰＤＡ）などのような固定型又は携帯型の消費者向け電子装置に実装されていてもよい。
【００２８】
図５の実施例において、受信機用ＣＰＵ５１２は、任意かつ適切なマイクロプロセッサ装置であって、互換性のあるマイクロプロセッサ装置を備えるよう実装することができる。そのマイクロプロセッサは、ソフトウエア命令を実行するのが好ましく、これにより、受信機１２６の動作を制御及び管理する。図５の実施例において、受信機用メモリ５２０は、所望のストレージ装置の任意の組み合わせを含むよう実装することができる。そのストレージ装置は、以下に限定しないが、読み取り専用メモリ（ＲＯＭ）や、ランダムアクセスメモリ（ＲＡＭ）、そして、フレキシブルディスク、メモリスティック、コンパクトディスク、ハードディスクなどのような様々なタイプの不揮発性メモリを含む。受信機用メモリ５２０の内容及び機能性は、図６とともに以下でさらに説明する。
【００２９】
図５の実施例において、受信機用Ｉ／Ｏインタフェース５２４は、一又は二以上のインプットインタフェース及び／又はアウトプットインタフェースを含むことができ、任意かつ必要なタイプの情報の受信及び／又は送信を受信機１２６によって行う。図５の実施例において、デモジュレータ５１６は、最終データ１３８（図１）を生成するよう送信データ１２０を復調することができ、その最終データは、任意の効果的な手段によって受信機用Ｉ／Ｏインタフェース２２４を介してデータの適切な宛先に提供され得る。本発明によって、受信機１２６は、送信データ１２０の破損した任意のパケット４１０を検証し、潜在的に再構築することができる。受信機１２６によるパケットの検証処理及び再構築処理は、図７及び図９とともに以下でさらに説明する。
【００３０】
図６を参照すると、本発明による図５における受信機用メモリ５２０の一実施例についてのブロック図が示されている。図６の実施例において、受信機用メモリ５２０は、以下に限定しないが、受信機用アプリケーション６１２、デコーダ６１６、受信機用バッファ６１８、多種多様なストレージ６２４を備えることができる。他の実施例において、受信機用メモリ５２０は、図６の実施例とともに説明されている特定の構成要素及び機能性に加えて、又は、それらに代えて、他の様々な構成要素及び機能性を含むことができる。
【００３１】
図６の実施例において、受信機用アプリケーション６１２は、プログラム命令を含むことができ、そのプログラム命令は、受信機１２６のための様々な機能及び動作を実行する送信機用ＣＰＵ２１２（図２）によって実行されるのが望ましい。受信機用アプリケーション６１２の特定の性質及び機能性は、通常、対応する受信機１２６の特定のタイプ及び特有な機能性などのような要素に依存して変化する。図６の実施例において、受信機１２６は、デコーダ６１６を利用することが可能であり、受信パケット４１０（図４）のパリティブロック４２０を分析する。そのパリティブロックは、任意かつ効果的な技術を利用することによってパケットの検証処理を実行するためのものである。さらに、デコーダ６１６は、送信されたパケット４１０が破損している又は他の理由で無効である場合、パリティブロック４２０を利用し、パケット再構築処理を実行することができる。
【００３２】
例えば、ある実施例において、所定のパケット４１０からのパリティブロック４２０は、周囲の一又は二以上のパケットからのデジタル情報を利用することによってエンコードされ得る。これにより、所定のパケットが送信の間に破損した場合、検証及び再構築が可能となる。パリティブロック４２０を利用してパケット４１０を検証して再構築する具体的な技術は、図７及び図９とともに以下で説明する。図６の実施例において、デコーダ６１６は、受信機用バッファ６１８を利用し、上記検証処理及び再構築処理の間、パケット４１０を一時的に記憶することができる。したがって、デコーダ６１６は、時間的にわずかに逆戻り、そして、進めることで確認を行い、リアルタイムで検証処理及び再構築処理を行うことができる。図６の実施例において、受信機１２６は、必要なタイプのさらなる情報を記憶するための多種多様なストレージ６２４を利用することができる。
【００３３】
図６の実施例において、ソフトウエアプログラム命令として実装されているデコーダ６１６を示す。しかしながら、ある実施例において、他に、デコーダ６１６は、同じような機能を実行するハードウエアの構成要素として実装することも可能である。デコーダ６１６の動作及び実装に関するさらなる詳細は、図７及び図９とともに以下詳細に説明する。
【００３４】
図７を参照すると、本発明の一実施例によるマルチパケットパリティ技術を示すブロック図が示されている。図７の実施例は、例示目的のために示す。他の実施例において、本発明は、図７の実施例とともに説明されている特定の構成要素、機能、及び、情報に加えて、又は、それらに代えて、ある構成要素、機能、及び、情報を含むパリティ技術を利用することができる。例えば、図７の実施例において、マルチパケットパリティ技術は、連続した３つのパケット４１０とともに例示されている。しかしながら、他の実施例において、効果的な数の連続的なパケット又は連続していないパケット４１０が利用されていてもよい。
【００３５】
図７の実施例において、パケット１０（４１０（ａ））、パケット１１（４１０（ｂ））、パケット１２（４１０（Ｃ））を示す。図４に示しているように、各パケット４１０は、ヘッダ、データ、そして、パリティブロックを含む。図７の例において、データサイズは、１２８Ｋ（バイナリデータの８ビット）に等しいものとして示されている。図７の実施例において、エンコーダ３１６（図３）は、現在のパケット及び直前のパケットにおける８ビットのバイナリデータ値に基づいて、それぞれのパリティブロックをエンコードして組み込む。例えば、パケット１１（４１０（ｂ））のためのパリティブロックは、直前のパケット１０（４１０（ａ））及び現在のパケット１１（４１０（ｂ））のデータ値から形成されている。
【００３６】
したがって、ある実施例において、エンコーダ３１６は、必要なインプットパケット４１０を送信機用バッファ３２０内に一時的に記憶することによって各パケット４１０のためのパリティエンコーディング処理を実行することができる。そして、エンコーダ３１６は、現在のパケットと直前のパケットのデータセグメントから対応するビット位置の各ペア上で排他的論理和操作を実行することができる。例えば、パケット１１からのデータ（Ｄ１１）がバイナリ００１１０１１０に等しく、さらに、パケット１２からのデータ（Ｄ１２）が、バイナリ１１００１０１０に等しいと仮定する。図７の実施例において、パケット１２（４１０（Ｃ））のためのパリティブロックをエンコードすると、エンコーダ３１６は、Ｄ１１とＤ１２の対応ビット上で排他的論理和操作を実行し、パケット１２のためのパリティブロック（Ｐ１２）を得る。そして、そのパリティブロック（Ｐ１２）は、バイナリ１１１１１１００と等しくなる。
【００３７】
本発明によって、デコーダ６１６（図６）は、パケットの検証処理を実行し、所定のパケット４１０が破損しているか否かを決定することができる。図７の実施例において、デコーダ６１６は、現在のパケットと直前のパケットのデータセグメントからの対応ビット位置の各ペア上で排他的論理和操作を実行することができる。前述の例のように、パケット１１によるデータ（Ｄ１１）がバイナリ００１１０１１０と等しく、さらに、パケット１２によるデータ（Ｄ１２）がバイナリ１１００１０１０と等しいと仮定する。図７の実施例において、パケット１２（４１０（Ｃ））を検証すると、エンコーダ３１６は、Ｄ１１とＤ１２の対応ビット上で排他的論理和操作を実行し、パケット１２のためのパリティブロック（Ｐ１２）と比較するチェック値（バイナリ１１１１１１００と等しい）を得ることができる。チェック値がパリティブロックＰ１２と一致する場合、パケット１２は損傷がなく、破損していない。
【００３８】
図７の実施例において、チェック値がパリティブロックと一致しない場合、デコーダ６１６は、直後のパケット４１０のためのバイナリデータ値及びバイナリパリティブロックに基づいて現在のパケット４１０のためのパケット再構築処理を実行することが可能である。例えば、パケット１１（４１０（ｂ））が破損又は損失したと仮定する。また、前述の例のように、パケット１２からのパリティブロック（Ｐ１２）がバイナリ１１１１１１００と等しく、さらに、パケット１２からのデータ（Ｄ１２）がバイナリ１１００１０１０と等しいと仮定する。パケット１１の破損したバイナリデータを再構築するために、デコーダ６１６は、Ｐ１２とＤ１２の対応ビット上で排他的論理和操作を実行し、パケット１１（４１０（ｂ））の破損したバイナリデータ（バイナリが００１１０１１０と等しい）を再構築することができる。したがって、本発明は、マルチパケットパリティ技術を利用し、破損したパケット４１０を検証し、潜在的に再構築する。
【００３９】
図８Ａ乃至図８Ｂを参照すると、本発明の一実施例によるパケットエンコーディング処理実行するための方法のステップについてのフローチャートが示されている。図８Ａ乃至図８Ｂのフローチャートは、例示目的のために示す。他の実施例において、本発明は、図８Ａ乃至図８Ｂの実施例とともに説明されているステップ及び順序以外のそれらも利用することができる。
【００４０】
図８の実施例において、ステップ８１２において、最初に、送信機１１８のエンコーダ３１６は、任意かつ適切なデータ源となる装置からインプットパケット４１０にアクセスする。ステップ８１４において、エンコーダ３１６は、インプトパケット４１０からデータ４１６を分析する。ステップ８１６において、エンコーダ３１６は、インプットパケット４１０のためのパリティブロック４２０を任意かつ適切な技術を利用することによって生成する。例えば、ある実施例において、エンコーダ３１６は、一又は二以上の隣接するパケット４１０のバイナリデータ値と組み合わせたインプットパケット４１０のバイナリデータ値に基づいてパリティブロック４２０を生成する。
【００４１】
ステップ８１８において、エンコーダ３１６は、パリティブロック４２０をインプットパケット４１０に組み込む。ステップ８２０において、送信機１１８は、任意かつ適切な手段を利用することによってエンコードされたパケット４１０を受信機１２６に送信することができる。ステップ８２２において、エンコーダ３１６は、他のパケット４１０をエンコードし続けるか否かを決定する。他のパケット４１０を続ける場合、図８のプロセスは、前述のステップ８１２に戻り、残りのパケット４１０をエンコードして送信する。他のパケット４１０が存在しない場合、図８のプロセスは終了してもよい。
【００４２】
図９Ａ乃至図９Ｂを参照すると、本発明の一実施例によるパケット再構築処理を実行するための方法のステップについてのフローチャートが示されている。図９Ａ乃至図９Ｂのフローチャートは、例示目的のために示す。他の実施例において、本発明は、図９Ａ乃至図９Ｂの実施例とともに説明されているステップ及び順序以外のそれらも利用することができる。
【００４３】
図９の実施例において、ステップ９１２において、受信機１２６は、任意かつ適切な技術を利用することによって送信されたパケット４１０を受信することができる。ステップ９１４において、受信機１２６は、受信したパケット４１０を受信機用バッファ６１８に記憶する。ステップ９１６において、デコーダ６１６は、任意かつ効果的な技術を利用することによってパケットの有効性処理を受信したパケット上で実行する。例えば、ある実施例において、デコーダ６１６は、組み込まれているパリティブロック４２０を利用することによってパケット４１０の妥当性を検証することが可能である。
【００４４】
ステップ９２０において、現在のパケット４１０が有効である（破損していない）場合、ステップ９２８において、受信機１２６は、有効なパケット４１０を任意かつ適切な宛先となる装置に出力することが可能である。しかしながら、現在のパケット４１０が有効ではない（破損している）場合、デコーダ６１６は、ステップ９２４に示すように任意かつ適切な技術を利用することによってパケット再構築処理を実行することが可能である。例えば、ある実施例において、デコーダ６１６は、一又は二以上の隣接するパケット４１０からのデータ情報及びパリティブロック情報を利用することによって破損しているパケット４１０を再構築することができる。
【００４５】
破損したパケット４１０が再構築されると、ステップ９２８において、受信機１２６は、再構築したパケット４１０を任意かつ適切な宛先となる装置に出力する。ステップ９３２において、デコーダ６１６は、他のパケット４１０を検証し潜在的に再構築し続けるか否かを決定する。他のパケットがある場合、図９のプロセスは、前述のステップ９１２に戻り、他のパケット４１０を検証し、再構築し、出力する。しかしながら、他のパケットを処理しない場合、図９のプロセスは終了してもよい。したがって、少なくとも上述の理由に関して、本発明は、効果的に電子情報を転送するための改善されたシステム及び方法を提供する。
【００４６】
所定の実施例に関して、本発明を上述の通り説明した。他の実施例は、この開示を考慮することで、当業者にとって明らかとなるであろう。例えば、本発明は、上述の特定の実施例において開示されているもの以外の所定の構成及び技術を用いて容易に実装することができる。加えて、本発明は、上述のもの以外のシステムとともに効果的に用いることができる。したがって、上述の実施例による、これらの変形及び他の変形は、本発明によって保護されることを目的とし、本発明は、特許請求の範囲によってのみ限定される。
【図１】
0005476803.tif 000002
【図２】
0005476803.tif 000003
【図３】
0005476803.tif 000004
【図４】
0005476803.tif 000005
【図５】
0005476803.tif 000006
【図６】
0005476803.tif 000007
【図７】
0005476803.tif 000008
【図８Ａ】
0005476803.tif 000009
【図８Ｂ】
0005476803.tif 000010
【図９Ａ】
0005476803.tif 000011
【図９Ｂ】
0005476803.tif 000012