Сетевое API - MAXIOL Landisk technology ®
Введение
Облачные сервисы стали неотъемлемой частью современной информационной инфраструктуры, играя ключевую роль в распространении и сохранении данных. Они представляют собой удалённые серверные ресурсы, доступ к которым осуществляется через интернет, что позволяет пользователям хранить, обрабатывать и обмениваться информацией без необходимости в физическом наличии собственного аппаратного обеспечения.
Первоначально облачные сервисы применялись для хранения персональных данных, таких как фотографии, документы и контакты. Однако их роль значительно расширилась. В бизнес-среде облачные технологии обеспечивают удобство коллаборации, позволяя нескольким пользователям работать с одними и теми же данными одновременно, что способствует повышению производительности и снижению затрат на ИТ-инфраструктуру.
Кроме того, облачные сервисы обеспечивают высокий уровень надёжности и безопасности данных. Ведущие провайдеры используют передовые методы шифрования и многоуровневую защиту, что делает доступ к данным более безопасным, чем традиционное хранение на локальных устройствах.
Экономические выгоды облачных сервисов трудно переоценить. Они позволяют компаниям существенно сократить затраты на аппаратное обеспечение и обслуживание ИТ-инфраструктуры, а также минимизировать риски потери данных в случае аварий или катастроф.
С развитием интернет-технологий и повсеместным распространением широкополосного доступа, облачные сервисы становятся доступными практически для любого пользователя. Это делает их важным инструментом не только для бизнеса, но и для обычных пользователей, желающих обеспечить безопасность и доступность своих данных в любое время и из любой точки мира.
Таким образом, облачные сервисы играют ключевую роль в современном цифровом мире, объединяя удобство доступа, высокий уровень безопасности и экономическую эффективность, что делает их неотъемлемым компонентом для сохранения и обработки информации в условиях современных технологий.
Актуальность облачных сервисов для ретрокомпьютеров
С развитием облачных технологий они стали актуальны не только для современных устройств, но и для ретро-компьютеров 1970-1990х годов. Несмотря на их возраст, такие машины продолжают использоваться энтузиастами, коллекционерами и исследователями истории вычислительной техники. Однако работа с файлами и программами на старых ПК, которые изначально не имели доступа к интернету и использовали устаревшие носители (дискеты, магнитные ленты, жесткие диски малых объемов), затруднена и лишена современного комфорта, который могут предоставить облачные сервисы сегодня.
Облачные сервисы могли бы стать решением этой проблемы, предоставляя удобный доступ к программному обеспечению, образам дисков, драйверам и документам. Однако на сегодняшний день специализированные облачные платформы для ретро-компьютеров отсутствуют. Энтузиастам приходится искать обходные пути: использовать старые протоколы передачи данных, адаптеры или локальные серверы.
Во-первых, облачные платформы могут играть ключевую роль в распространении программного обеспечения и образов дисков для ретро-компьютеров. Архивы игр, операционных систем и утилит хранятся в облаке, откуда их можно легко загрузить и на современные машины и на на старый компьютер с помощью сетевого доступа.
Во-вторых, облака облегчают процесс обмена файлами между энтузиастами ретро-компьютеров. Ранее для этого использовались физические носители, требовавшие пересылки по почте или прямого обмена на встречах. Теперь же образы дискет, ROM-файлы и текстовые документы можно загрузить в облачное хранилище и предоставлять доступ другим пользователям мгновенно, что существенно ускоряет процесс обмена информацией.
Наконец, облачные технологии помогают в резервном копировании ценных данных. Ретро-компьютеры подвержены физическому износу, а дискеты и винчестеры стареют, увеличивая риск потери информации. Использование облачного хранилища позволяет сохранить образы дисков, редкие программы и пользовательские наработки, обеспечивая их доступность даже в случае отказа оригинального оборудования.
Таким образом, облачные сервисы становятся важным инструментом для сообщества любителей старых компьютеров, облегчая сохранение, передачу и распространение программного обеспечения и данных. Они помогают преодолеть технические ограничения прошлых десятилетий, давая ретро-компьютерам новую жизнь в цифровую эпоху.
Создание облачного сервиса, адаптированного под старые системы, позволило бы не только упростить доступ к данным, но и обеспечить их сохранность, защитив важные архивы от утери.
MAXIOL Landisk Technology® как решение проблемы
Для решения проблемы предоставления облачных сервисов для ретро-компьютеров я разработал уникальную технологию блочного доступа к файлам-образам дисков — MAXIOL Landisk Technology®. Она предназначена для удобного хранения, передачи и работы с образами дисков, обеспечивая надежное взаимодействие старых компьютеров с современными облачными сервисами.
Концепция технологии основана на блочном доступе к файлам в архиве MAXIOL, что позволяет пользователям легко загружать, управлять и использовать образы дисков без необходимости локального хранения больших объемов данных. Благодаря этому старые компьютеры, изначально не рассчитанные на подключение к современным сетевым хранилищам, могут получать доступ к облачным данным так, будто они находятся на физических носителях.
Одним из ключевых преимуществ MAXIOL Landisk Technology® является возможность создания персонализированных облачных хранилищ. Пользователи могут настраивать свои архивы, управлять доступом и адаптировать их под конкретные задачи, будь то работа с операционными системами, программным обеспечением или играми для ретро-компьютеров.
Эта технология открыта для свободного использования на любых старых компьютерах, поддерживающих блочную работу с носителями. Реализация и использование MAXIOL Landisk Technology® возможны при соблюдении условий лицензионного соглашения, обеспечивающего прозрачность и безопасность применения технологии.
Таким образом, MAXIOL Landisk Technology® открывает новые возможности для энтузиастов ретро-компьютеров, коллекционеров и исследователей цифровой истории, позволяя без лишних сложностей интегрировать старую технику в современную экосистему облачных сервисов.
История создания MAXIOL Landisk Technology®
Идея создания облачного сервиса MAXIOL Landisk Technology® возникла как логическое продолжение развития серии контроллеров AZ®, разработанных для работы с компьютерами PDP-11 и их многочисленными советскими клонами. Эти контроллеры стали настоящим прорывом в области ретро-компьютеров, позволив использовать современные технологии хранения данных и сетевого взаимодействия на устаревших машинах.
Разработка серии AZ® началась в 2019 году, когда инженеры Макс Багаев (Россия) и Александр Забайрацкий (Казахстан) поставили перед собой задачу создания универсального контроллера для работы с шиной QBUS и её аналогами. Первые модели быстро получили признание в сообществе ретро-компьютеров, а в 2022 году разработку продолжил только Макс Багаев, расширяя функциональность устройств. На данный момент произведено более 500 контроллеров различных модификаций, что делает серию AZ® самым массовым оборудованием для PDP-11 за последние годы.
Контроллеры AZ® создавались для множества советских моделей, включая ДВК-1, ДВК-2, ДВК-3, ДВК-4, Квант-4С, Электроника-60, Электроника 60М, Славутич ПК-1 и УКНЦ. Кроме того, была разработана особая версия AZBK® с расширенным функционалом, специально адаптированная для BK-0010, BK-0010.01 и BK-0011M.
Главная особенность контроллеров AZ® — это поддержка блочного доступа с произвольным доступом, обеспечивающего более высокий уровень абстракции, где образы дисков хранятся в виде файлов на файловой системе устройства. Это позволило значительно упростить работу с дисками и гибко управлять данными. Более того, контроллеры получили поддержку сети Ethernet, что открыло новые возможности для удаленного доступа и передачи файлов.
Ключевые характеристики контроллеров AZ® включают:
- 16-битную обработку данных, что обеспечивает эффективные вычисления.
- Модульную конструкцию, облегчающую обслуживание и модернизацию.
- Поддержку до 32 устройств на одной MicroSD-карте.
- Совместимость с операционными системами RT-11 и RSX-11M.
- Поддержку 16-, 18- и 22-битных адресных шин.
- Открытое API, позволяющее разработчикам писать собственное ПО и драйверы.
- Энергонезависимую память, доступную через API.
- Встроенные часы реального времени (RTC) с возможностью получения времени через NTP-серверы.
Возможность сетевого подключения контроллеров AZ® и их использование в качестве блочных устройств привела к созданию MAXIOL Landisk Technology® — облачного сервиса, который позволяет старым компьютерам напрямую работать с удалёнными образами дисков. Этот сервис стал естественным развитием технологий AZ®, расширяя их функционал и делая ретро-компьютеры более удобными для современных пользователей.
Сегодня MAXIOL Landisk Technology® открывает перед владельцами старых ПК новые возможности, обеспечивая удобный доступ к программному обеспечению, образам дисков и архивам данных, помогая сохранить историю вычислительной техники и сделать её более доступной.
Техническое описание MAXIOL Landisk Technology®
MAXIOL Landisk Technology® — инновационное облачное решение для ретро-компьютеров
MAXIOL Landisk Technology® — это классическая клиент-серверная технология, разработанная для обеспечения удобного и эффективного взаимодействия старых компьютеров с удалёнными хранилищами данных. Она позволяет ретро-системам работать с образами дисков через сеть, как если бы они были физически подключены.
Архитектура системы
Система состоит из двух ключевых компонентов:
- Клиент — это сетевой интерфейс, установленный на ретро-компьютере, который эмулирует блочный доступ к файлу-образу диска. Он выполняет роль виртуального накопителя, заменяя традиционные носители информации (дискеты, жесткие диски, магнитные ленты), но при этом позволяет работать с данными в облаке.
- Сервер — программное обеспечение MAXIOL Landisk Technology® AZSERVER, разработанное в MAXIOL. Этот сервер управляет файлами-образами дисков, обрабатывает запросы клиентов и обеспечивает надёжную передачу данных.
Механизм работы
Передача данных между клиентом и сервером происходит блочными структурами размером 512 байт, дополненными контрольной и командной информацией. Такой формат позволяет:
- Обеспечить совместимость с существующими файловыми системами и методами хранения данных, используемыми в ретро-компьютерах.
- Повысить надёжность передачи данных, так как контрольная информация помогает обнаруживать и устранять возможные ошибки при обмене.
- Гарантировать высокую скорость работы, так как блочная передача эффективно распределяет нагрузку на сеть и сервер.
Преимущества использования MAXIOL Landisk Technology®
Отказ от устаревших носителей
Технология избавляет от необходимости использовать физические дискеты, жёсткие диски и магнитные ленты, которые со временем выходят из строя и требуют сложного обслуживания.
Простота интеграции
MAXIOL Landisk Technology® совместима с различными моделями ретро-компьютеров, поддерживающими работу с блочными устройствами, что делает её универсальным решением.
Гибкость и масштабируемость
Пользователи могут хранить неограниченное количество образов дисков на сервере, управлять ими и быстро переключаться между ними без необходимости физического переноса данных.
Удалённый доступ
Благодаря сетевому подключению пользователи могут работать с образами дисков из любой точки мира, используя свои ретро-компьютеры так, будто они подключены к локальным накопителям.
Надёжность и сохранность данных
Использование облачного хранилища минимизирует риск потери данных, а встроенные механизмы проверки целостности обеспечивают их корректное хранение и передачу.
Поддержка ретро-экосистемы
MAXIOL Landisk Technology® помогает сохранять цифровое наследие, предоставляя удобный и современный способ работы с устаревшими вычислительными системами.
Перспективы развития
В будущем планируется расширение возможностей технологии, включая:
- Поддержку новых протоколов связи для улучшенной совместимости с различными ретро-компьютерами.
- Развитие системы авторизации и управления доступом, чтобы обеспечить безопасное совместное использование облачного хранилища.
- Оптимизацию работы в низкоскоростных сетях, что позволит использовать сервис даже на устаревших интернет-подключениях.
- Интеграция с поисковой системой Архива MAXIOL.
Таким образом, MAXIOL Landisk Technology® открывает перед владельцами ретро-компьютеров новую эру облачного взаимодействия, делая их работу с данными более удобной, надёжной и безопасной.
DNS имя и TCP порт для подключения к MAXIOL Landisk Technology®
- DNS имя: landisk.maxiol.com
Это доменное имя указывает на сервер MAXIOL Landisk Technology®, позволяя клиентским устройствам автоматически подключаться к серверу без ввода IP-адреса. Оно облегчает доступ к облачному хранилищу для ретро-компьютеров. - TCP Порт: 34162
Порт 34162 используется для безопасной и надежной передачи данных между клиентом и сервером через протокол TCP. Он обеспечивает стабильное соединение и исключает конфликты с другими приложениями.
При подключении клиент разрешает доменное имя в IP-адрес, затем устанавливает соединение с сервером через порт 34162, что позволяет начать обмен блоками данных между сервером и ретро-компьютером.
Структура запроса
В MAXIOL Landisk Technology® как клиент, так и сервер написаны на языке C, что позволяет эффективно управлять памятью и работать с низкоуровневыми операциями ввода/вывода. Структуры запросов, отправляемых на сервер, имеют строгую формализованную форму, которая обеспечивает правильную передачу данных между клиентом и сервером. Эти структуры определяются с учетом специфики языка C, включая синтаксис описания структур данных и использование указателей.
typedef __packed struct landisk_request
{
unsigned int num_block; // номер блока (32 бита)
unsigned short int command; // команда
unsigned char reserved[32]; // зарезервировано
unsigned char data[512]; // данные - если они отправляются
char path[386]; // путь до диска
unsigned short int crc; // CRC команды
} landisk_request_t;
при открытии файла блок данных (data[512]) рассматривается как пакет информации следующей структуры
typedef __packed struct landisk_request_status
{
unsigned long timestamp; // локальное время контроллера (unix-time)
unsigned long uptime; // аптайм в секундах
unsigned long ip_addr; // локальный ip адрес контроллера
unsigned long dns_srv1; // ip адреса DNS-серверов
unsigned long dns_srv2;
unsigned short int tzone; // таймзона в минутах
unsigned short int platform; // номер платформы
unsigned short int controller; // тип контроллера
unsigned short int version; // версия прошивки контроллера
char build[32]; // дата билда прошивки контроллера
char url[64]; // URL производителя контроллера
} landisk_request_status_t;
пакет информации настоятельно рекомендуется заполнять полностью
// platform - номер платформы
1 - PDP-11 - БК 10/11M
2 - PDP-11 - остальные - ДВК Э60 УКНЦ оригинальные машины итд
3 - MSX
для добавления вашей платформы пишите в комментарии к этой статье.
// controller - тип контроллера
1 - AZБК
2 - AZ - для всех остальных PDP-11 машин
3 - Carnivore2+
для добавления вашего контроллера пишите в комментарии к этой статье.
Команды
#define LANDISK_CMD_OPEN 1 // в ответ успешность/ошибка, и если успешно - размер диска
#define LANDISK_CMD_READ 2 // чтение блока
#define LANDISK_CMD_WRITE 3 // запись блока
#define LANDISK_CMD_CLOSE 4 // закрытие файла
#define LANDISK_CMD_OPENDIR 5 // открыть оглавление по указанному пути
#define LANDISK_CMD_READDIR 6 // прочитать одну запись оглавления в буфер
#define LANDISK_CMD_SEARCH_REQ 7 // послать запрос поиска
#define LANDISK_CMD_READ_SREQ 8 // прочитать одну запись результата поиска в буфер
Структура ответа
Формат ответа
typedef __packed struct landisk_answer
{
unsigned short int result; // результат
unsigned char data[512]; // принятые данные
unsigned short int crc; // CRC ответа
} landisk_answer_t;
Статус файла
при открытии файла, сервер возвращает статус файла, в блоке данных (data[512])
typedef __packed struct landisk_answer_status
{
unsigned char fattr; // File attribute
unsigned short int fdate; // Fat date
unsigned short int ftime; // Fat time
unsigned int fsize; // File size
} landisk_answer_status_t;
Коды результатов выполнения команд
#define LANDISK_ANS_OK 0x0000 // команда выполнена успешно
#define LANDISK_ANS_ERROR 0x0001 // флаг ошибки, устанавливается при любой ошибке
#define LANDISK_ANS_ACCESS_DENIED 0x0002 // нет доступа, устанавливается при любой ошибке доступа
#define LANDISK_ANS_NEED_REG 0x0004 // нет доступа - нужна регистрация
#define LANDISK_ANS_RO_ONLY 0x0008 // нет доступа на запись- данный диск только для чтения
#define LANDISK_ANS_NOT_EXISTS 0x0010 // нет данного образа - неверный путь до файла образа или директории
Стратегия работы
1. первая команда должна быть открытие файла (LANDISK_CMD_OPEN)
при запросе на открытие надо указать блок параметров (landisk_reqest_status_t)
в ответ будет прислан блок landisk_answer_t но data[512] надо рассматривать как landisk_answer_status_t
2. далее можно посылать команды чтения
3. на данный момент [февраль 2025] поддержаны команды LANDISK_CMD_OPEN, LANDISK_CMD_READ, LANDISK_CMD_WRITE, LANDISK_CMD_CLOSE
4. В конце работы желательно (но не обязательно) послать команды закрытия дисков.
Ограничения
1. не более 100 запросов в секунду с одного IP (иначе сработает блок анти-DDOS и забанит данный IP на некоторое время)
2. не более 10ти "висящих" соединений на IP.
Исходные коды
Код подсчета CRC