СПОСОБЫ И УСТРОЙСТВО, ИСПОЛЬЗУЮЩИЕ КОДЫ С FEC С ПОСТОЯННОЙ ИНАКТИВАЦИЕЙ СИМВОЛОВ ДЛЯ ПРОЦЕССОВ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ

1. Способ обслуживания файла с использованием сервера, соединенного с сетью данных, причем обслуживание включает в себя организацию данных файла в один или более блоков, создание одного или более кодированных символов для блока на основе данных этого блока, и причем по меньшей мере один блок физически или логически организуют в множество субблоков, и по меньшей мере один кодированный символ физически или логически организуют во множество субсимволов, причем способ содержит:
разбиение входного файла на целое количество блоков, причем каждый блок включает в себя по меньшей мере один субблок, и причем каждый субблок включает в себя по меньшей мере один исходный символ;
определение значения, WS, представляющего максимальный размер субблока, на основе ограничения памяти;
определение значения, SS, где SS*AL представляет нижнюю границу для размера субсимвола в единицах предпочтительного размера, AL, блока памяти;
определение того, какие блоки из целочисленного количества блоков следует организовать в множество субблоков, и для каждого такого блока организацию блока в множество субблоков, имеющих размер, определенный доступным пространством, P', в пакетах для кодированных символов, подлежащих посылке, и размера Т символа, который необходимо использовать в каждом посылаемом пакете, таким путем, чтобы обеспечить, что количество исходных символов для исходных блоков было равным в пределах порогового значения, причем это количество исходных символов в целом равно количеству
Kt исходных символов в файле, и чтобы обеспечить, что размер субсимвола каждого субблока составляет по меньшей мере SS*AL, и обеспечить, что размер каждого субблока составляет не более WS;
создание кодированных символов из блоков, причем субсимволы создают из субблоков, так что каждый кодированный символ зависит от данных из одного блока;
вывод созданных кодированных символов.
2. Способ по п. 1, в котором организация блока во множество субблоков дополнительно содержит определение Т, Z и N, причем
Z является количеством исходных блоков, на которое разбит упомянутый файл,
N является количеством субблоков, на которое разбиты исходные блоки.
3. Способ по п. 2, в котором Т определяют, используя Р'.
4. Способ по п. 3, в котором Т определяют, используя Р', Kmin и Gmax, причем
Kmin является минимальным количеством исходных символов в исходном блоке, и
Gmax является максимальным количеством исходных символов, на которое разбит пакет.
5. Способ по п. 2, в котором Z определяют, используя Kt и KL(N_max), причем
KL(N_max) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиваются на N_max субсимволов каждый, чтобы обеспечить, что размер каждого субблока равен не более WS, и
N_max является наибольшим количеством субсимволов, на
которое исходный символ размера Т может быть разбит.
6. Способ по п. 2, в котором N определяют, используя Kt и KL(n), причем
KL(n) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиваются на n субсимволов каждый, чтобы обеспечить, что размер каждого субблока равен не более WS.
7. Способ восстановления блоков данных файла в приемнике с использованием клиента, подсоединенного к сети данных, причем блок включает в себя группу из одного или более субблоков, причем способ содержит:
прием множества кодированных символов, созданных из упомянутых блоков, причем каждый кодированный символ включает в себя множество субсимволов, созданных из по меньшей мере одного субблока, с использованием общего набора операций;
определение значения WS, представляющего максимальный размер субблока на основе ограничения памяти;
определение значения SS, где SS*AL представляет нижнюю границу для размера субсимвола в единицах предпочтительного размера AL блока памяти;
определение, какие блоки из целочисленного количества блоков организованы в множество субблоков, и для каждого такого блока организацию этого блока в множество субблоков, имеющих размер, определенный первым параметром, установленным отправителем и представляющим доступное пространство, P', в пакетах, и вторым параметром, представляющим размер Т символа, использованный в каждом пакете, при этом упомянутые параметры таковы, что
количество исходных символов для исходных блоков является равным в пределах порогового значения, и это количество исходных символов в целом равно количеству Kt исходных блоков в файле;
декодирование блоков из принятых кодированных символов, причем субблоки декодируют из субсимволов, и субблоки образуют блоки, причем размер субсимвола каждого субблока составляет по меньшей мере SS*AL, а размер каждого субблока составляет не более WS; и
вывод декодированных блоков.
8. Способ по п. 7, в котором организация блока во множество субблоков дополнительно содержит определение Т, Z и N, причем
Z является количеством исходных блоков, на которое разбит упомянутый файл,
N является количеством субблоков, на которое разбиты исходные блоки.
9. Способ по п. 8, в котором Т определяют, используя Р'.
10. Способ по п. 9, в котором Т определяют, используя Р', Kmin и Gmax, причем
Kmin является минимальным количеством исходных символов в исходном блоке, и
Gmax является максимальным количеством исходных символов, на которое разбит пакет.
11. Способ по п. 8, в котором Z определяют, используя Kt и KL(N_max), причем
KL(N_max) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиваются на N_max субсимволов каждый, чтобы
обеспечить, что размер каждого субблока равен не более WS, и
N_max является наибольшим количеством субсимволов, на которое исходный символ размера Т может быть разбит.
12. Способ по п. 8, в котором N определяют, используя Kt и KL(n), причем
KL(n) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиваются на n субсимволов каждый, чтобы обеспечить, что размер каждого субблока равен не более WS.
13. Система для обслуживания файла, причем обслуживание включает в себя организацию данных файла в один или более блоков, создание одного или более кодированных символов для блока на основе данных этого блока, и причем по меньшей мере один блок физически или логически организован во множество субблоков, и по меньшей мере один кодированный символ физически или логически организован во множество субсимволов, причем система содержит:
кодер для разбиения входного файла на целое количество блоков, причем каждый блок включает в себя по меньшей мере один субблок, и причем каждый субблок включает в себя по меньшей мере один исходный символ; определения значения, WS, представляющего максимальный размер субблока, на основе ограничения памяти; определения значения SS, где SS*AL представляет нижнюю границу для размера субсимвола в единицах предпочтительного размера, AL, блока памяти; определения того, какие блоки из целочисленного количества блоков следует организовать в множество субблоков, и для каждого такого блока организации блока во множество
субблоков, имеющих размер, определенный доступным пространством, P', в пакетах для кодированных символов, подлежащих посылке, и размера Т символа, который необходимо использовать в каждом посылаемом пакете, таким путем, чтобы обеспечить, что количество исходных символов для исходных блоков было равным в пределах порогового значения, причем это количество исходных символов в целом равно количеству Kt исходных символов в файле, и чтобы обеспечить, что размер субсимвола каждого субблока составляет по меньшей мере SS*AL, и обеспечить, что размер каждого субблока составляет не более WS; создания кодированных символов из блоков, причем субсимволы созданы из субблоков, так что каждый кодированный символ зависит от данных из одного блока; и
модуль передачи для вывода созданных кодированных символов в сеть передачи данных.
14. Система по п. 13, в которой кодер выполнен с возможность организации блока во множество субблоков посредством определения Т, Z и N, причем
Z является количеством исходных блоков, на которое разбит упомянутый файл,
N является количеством субблоков, на которое разбиты исходные блоки,
Z и N определяют, используя Kt и KL(n), причем
KL(n) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиваются на n субсимволов каждый, чтобы обеспечить, что размер каждого субблока составляет не более WS.
15. Система для восстановления блоков данных файла в
приемнике, причем блок включает в себя группу из одного или более субблоков, причем система содержит:
приемник для приема множества кодированных символов, созданных из упомянутых блоков, причем каждый кодированный символ включает в себя множество субсимволов, созданных из по меньшей мере одного субблока, с использованием общего набора операций;
декодер для определения значения WS, представляющего максимальный размер субблока на основе ограничения памяти; определения значения SS, где SS*AL представляет нижнюю границу для размера субсимвола в единицах предпочтительного размера AL блока памяти; определения, какие из блоков организованы во множество субблоков, и для каждого такого блока организации этого блока в множество субблоков, имеющих размер, определенный первым параметром, установленным отправителем и представляющим доступное пространство, P', в пакетах, и вторым параметром, представляющим размер Т символа, использованный в каждом пакете, при этом упомянутые параметры таковы, что количество исходных символов для исходных блоков является равным в пределах порогового значения, и это количество исходных символов в целом равно количеству Kt исходных блоков в файле; и декодирования блоков из принятых кодированных символов, причем субблоки декодированы из субсимволов, и субблоки образуют блоки, причем размер субсимвола каждого субблока составляет по меньшей мере SS*AL, а размер каждого субблока составляет не более WS; и
вывод для вывода декодированных блоков.
16. Система по п. 15, в которой декодер выполнен с
возможностью организации блока во множество субблоков посредством определения Т, Z и N, причем
Z является количеством исходных блоков, на которое разбит упомянутый файл,
N является количеством субблоков, на которое разбиты исходные блоки,
Z и N определены, используя Kt и KL(n), причем
KL(n) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиты на n субсимволов каждый, чтобы обеспечить, что размер каждого субблока составляет не более WS.
17. Считываемый компьютером носитель, хранящий выполняемые процессором инструкции для обслуживания файла, причем обслуживание включает в себя организацию данных файла в один или более блоков, создание одного или более кодированных символов для блока на основе данных этого блока, и причем по меньшей мере один блок физически или логически организован в множество субблоков, и по меньшей мере один кодированный символ физически или логически организован во множество субсимволов, причем выполняемые процессором инструкции выполнены с возможностью вынуждать процессор:
разбивать входной файл на целое количество блоков, причем каждый блок включает в себя по меньшей мере один субблок, и причем каждый субблок включает в себя по меньшей мере один исходный символ;
определять значение, WS, представляющее максимальный размер субблока, на основе ограничения памяти;
определять значение SS, где SS*AL представляет нижнюю границу для размера субсимвола в единицах предпочтительного размера, AL, блока памяти;
определять, какие блоки из целочисленного количества блоков следует организовать во множество субблоков, и для каждого такого блока организовывать блок во множество субблоков, имеющих размер, определенный доступным пространством, P', в пакетах для кодированных символов, подлежащих посылке, и размер Т символа, который необходимо использовать в каждом посылаемом пакете, таким путем, чтобы обеспечить, что количество исходных символов для исходных блоков было равным в пределах порогового значения, причем это количество исходных символов в целом равно количеству Kt исходных символов в файле, и чтобы обеспечить, что размер субсимвола каждого субблока составляет по меньшей мере SS*AL, и обеспечить, что размер каждого субблока составляет не более WS;
создавать кодированные символы из блоков, причем субсимволы создаются из субблоков, так что каждый кодированный символ зависит от данных из одного блока;
выводить созданные кодированные символы для вывода в сеть передачи данных.
18. Носитель по п. 17, в котором выполняемые процессором инструкции выполнены с возможностью вынуждать процессор организовывать блок во множество субблоков и дополнительно вынуждать процессор определять Т, Z и N, причем
Z является количеством исходных блоков, на которое разбит упомянутый файл,
N является количеством субблоков, на которое разбиты
исходные блоки,
Z и N определены, используя Kt и KL(n), причем
KL(n) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиты на n субсимволов каждый, чтобы обеспечить, что размер каждого субблока составляет не более WS.
19. Считываемый компьютером носитель, хранящий выполняемые процессором инструкции для восстановления блоков данных файла, причем блок включает в себя группу из одного или более субблоков, причем выполняемые процессором инструкции вынуждают процессор:
обращаться ко множеству кодированных символов, созданных из упомянутых блоков, причем каждый кодированный символ включает в себя множество субсимволов, созданных из по меньшей мере одного субблока, с использованием общего набора операций;
определять значение WS, представляющее максимальный размер субблока на основе ограничения памяти;
определять значение SS, где SS*AL представляет нижнюю границу для размера субсимвола в единицах предпочтительного размера AL блока памяти;
определять, какие из блоков организованы во множество субблоков, и для каждого такого блока организовывать этот блок в множество субблоков, имеющих размер, определенный первым параметром, установленным отправителем и представляющим доступное пространство, P', в пакетах, и вторым параметром, представляющим размер Т символа, использованный в каждом пакете, при этом упомянутые параметры таковы, что количество исходных символов для исходных блоков является равным в пределах порогового значения, и это количество исходных символов в целом равно количеству Kt исходных блоков в файле; и
декодировать блоки из принятых кодированных символов, причем субблоки декодируются из субсимволов, и субблоки образуют блоки, причем размер субсимвола каждого субблока составляет по меньшей мере SS*AL, а размер каждого субблока составляет не более WS; и
выдавать декодированные блоки для вывода.
20. Носитель по п. 19, в котором выполняемые процессором инструкции выполнены с возможностью вынуждать процессор организовывать блок во множество субблоков, и дополнительно вынуждать процессор определять Т, Z и N, причем
Z является количеством исходных блоков, на которое разбит упомянутый файл,
N является количеством субблоков, на которое разбиты исходные блоки,
Z и N определены, используя Kt и KL(n), причем
KL(n) является наибольшим количеством исходных символов в исходном блоке, которое может поддерживаться, когда символы исходного блока разбиты на n субсимволов каждый, чтобы обеспечить, что размер каждого субблока составляет не более WS.