Бизнес-модель распределенных вычислений и p2p

    Некоторое время назад перечитывая вики-страницу об LHC я радостно обнаружил, что CERN открыл свой проект распределенных вычислений. Радостно — потому что работа коллайдера меня с давних пор очень воодушевляет, а возможность хоть как-то им помочь наполнила меня суровым оптимизмом. Не знаю почему, но в какой-то степени я наивно надеюсь, что результат работы проекта сделает нашу жизнь значительно лучше.

    Когда-то мой бывший коллега рассказал мне о проекте SETI@home — и поэтому с общим механизмом процесса распределенных вычислений в целом я был знаком. В будущее проекта SETI мне как-то не особо верилось, поэтому подключаться к процессу я не стал. С LHC все, конечно, вышло иначе: BOINC мгновенно очутился на компьютере и аки пионерка смиренно приготовился принимать участие в разгадке строения вселенной. Но, к моему глубокому разочарованию, заданий на расчет не было и не предвиделось.

    Чтобы энтузиазм не иссякал, я добавил пару проектов по борьбе с разными болезнями, свернул менеджер и стал читать всевозможные статьи про распределенные вычисления. Одновременно, в голове мелькала мысль о том, насколько же это похоже на p2p. И вот тут у меня появилась идея, которой я и хотел бы поделиться, вернее, узнать ваше профессиональное мнение о возможности/невозможности ее появления в жизни, а возможно, и о существовании реализаций и их успехах/провалах.

    Заключается эта идея в следующей бизнес-модели: есть а) заказчик, которому нужно либо некое хранилище файлов с широким каналом раздачи, либо некие вычислительные мощности, либо и то и другое в совокупности б) толпа клиентов с их простаивающими домашними/рабочими/мобильными компьютерами, на которых установлен тихо работающий фоновый клиент в строго заданных рамках отнимаемых ресурсов в) посредник, который организует работу первого со вторыми. Заказчик платит некую денежку за услуги: 100% за некий объем услуг (хранения или расчетов), посредник берет из них 5% на еду, хлеб и организацию процесса, а остальные 95% раздает тем клиентам, которые непосредственно выполняют задачу: раздачу файлов и/или расчет.

    Тут важно заметить, что хранилище файлов не подразумевает, скажем, хранение файла базы данных. Конечно, скорость реакции такой базы будет неприемлемой. Речь идет, скажем, о хранении легального софта онлайн-магазином (Steam, AppStore, OviStore). Или хранение бэкапов крупных сервисов. Или видео-хостинг. Т.е. в файло-хранилище важна высокая скорость раздачи (плюс надежность хранения), а не ping возврата данных.

    Расчеты же могут пригодиться в самых разных областях (правда тут есть проблема конвертации данных в подходящий формат, но мне кажется в целом она решаема). Например, фильм Аватар рендерился на кластере, а вполне мог бы обработаться такой сетью и возможно это вышло бы значительно быстрее и дешевле.

    Довольны, по идее, будут все: заказчик от цены вопроса, а посредник и клиенты от некого заработка. Плюс это огромный толчок для рынка, у которого появятся возможности использовать относительно недорогие, но крайне мощные ресурсы для вычислений и скоростные хранилища. Возможно завертится все не сразу, но потенциально — может вырасти в масштабную сеть: любой файл из интернета будет качаться очень быстро, но за свою копеечку от других пользователей, а такая система, теоретически, может себя уравновесить — сколько скачиваю, столько и раздаю, с какой скоростью скачиваю, с такой и раздаю, в противном случае либо зарабатываю, либо трачу.

    Понимаю, что вопросов возникает море. Например, вопрос легальности хранимых файлов — но здесь можно применять те же схемы, что и при хранении на файловых хранилищах. Главное, важно сделать так, чтобы данные шифровались и нельзя было а) украсть чужие данные (использовать разбиение, сертификаты, ключи) б) заказчик или посредник всегда могли удалить или заблокировать файлы (скажем, через некие файлы ревизий, распространяемые вместе с кусками файлов).

    Вопрос больших мощностей в плохих руках может компенсироваться степенью проверки в зависимости от требуемого. Если кто-то требует мощности, достаточные для рефакторинга ключей — он должен каким-то образом обосновать свой расчет (хотя бы идентифицироваться как компания с некими минимальными требованиями). В любом случае, в мире уже миллионы зомби-компьютеров, которые в руках хакеров наверняка уже выполняют подобные задачи и если б существовала подобная глобальная опасность — она бы уже «взорвалась». С распределенной сетью можно было бы обеспечить схожую мощность, но для полезных бизнес-задач.

    Так же возникает вопрос: а стоит ли оно того — не проще ли построить дополнительный мощный дата-центр? Но он будет требовать: стоимость носителей, стоимость аренды, оплату труда сотрудников, стоимость электричества, стоимость канала. Плюс амортизация: физическое оборудование нужно периодически обновлять, пользователи же обновляют свои компьютеры сами и за это не нужно платить. Плюс надежность: дата-центр может сгореть, а распределенная сеть выживет. Масштабируемость: сегодня нужно 50% мощности дата-центра, завтра 100%, послезавтра 150%, а после-после завтра — снова 50%. Аренда, оплата труда и т.п. — все это статичные суммы, которые легко могут превратиться в убытки. Сеть из пользователей будет гораздо гибче реагировать на рынок по классической схеме спроса и предложения (мне мало заработка в 50р. в месяц — не буду участвовать и уйду, оставшиеся начнут получать 51р. в месяц, и наоборот).

    Будет ли клиентам такое участие экономически интересно? Можно попробовать прикинуть: мой домашний компьютер может без проблем не мешая моей работе отдавать 10гб в день, значит это примерно 300гб в месяц. Одновременно, чтобы шустро скачать нужный мне файл размеров в 10гб я, в принципе, готов заплатить 50р. и, мне кажется, я не один такой (иначе не было бы «vip» доступов на файлообменниках). Т.е. в случае полной загруженности это около 1500р. (минус 5% посреднику) в месяц — за полгода-год окупится и канал, и новый винт. В случае, если сети не нужно будет 300гб в месяц — я отдам лишь, скажем, 10гб и заработаю 50р. — даже такая мизерная сумма будет приятно за, по большому счету, минимальные расходы канала и электричества, в то время как мой компьютер все равно включен и работает.

    В то же время, что-то мне говорит, что если бы подобная бизнес-модель имела право на существование — она бы уже существовала. Что же мешает ей родиться?

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 12

      0
      На счет вычислительных мощностей: такие проекты уже есть.

      А вот с хранением дела обстоят несколько сложнее:
      1) Кто гарантирует сохранность данных? Если полетел винт/пользователю надоело ее хранить и т.д. И это не говоря уже о доступности в 24часа/сутки.
      2) Кто гарантирует ее конфиденциальность? Если ПО может получить доступ к этой информации, то любой достаточно умный спец тоже сумеет это сделать (как вариант — шифровать/расшифровывать прямо у пользователя, но это не лучший выход).
      3) Опять же о разделении благ: если идут деньги, то надо официально оформлять что-то и т.д. Кто этим будет заниматься (и нужна ли эта возня пользователям)?

      В общем, когда ни кто ни чего не гарантирует — работать система не будет. А чтобы пошли гарантии — надо свой датацент делать…
        0
        Именно проекты вычислительных мощностей с равномерной оплатой клиентам (не на лотерейной основе — кто помог достичь конечной цели — тот и получил оплату, а именно «сколько потратил ресурсов — столько и заработал денег»)? А можно название какого-нибудь проекта или линк?

        1) Ну так речь и не идет о том, чтобы хранить один файл на одном компьютере — должна быть некая система распределения (скажем по стоимости данных в виде неких тарифов или статистики запросов), которая изначально раздает на хранение/раздачу один файл либо сотне клиентов, либо десятку тысяч, а затем обеспечивает раздачу с них, а не с себя — соответственно, появляются гарантии достпуности 24 часа и надежности. В случае, если так получается что на данный момент нет ни одного доступного раздающего — система отдает с себя, но увеличивает приоритет файла, чтобы он хранился на бОльшем числе клиентов. При этом, конечно, какой-то дата-центр нужен, но в минимальных масштабах от требуемой (всеобщей) мощности.
        2) Это как раз задача шифрования и разбиения. На вскидку: а) шифрование происходит при размещении файла, расшифрование происходит при скачивании (то есть ключом обладает скачивающий, но не раздающий/хранящий) — то есть операции, в общем-то, разовые и изолированные б) система разбиения может регулировать файл так, что части его хранятся по всему миру — и собрать его без некой информации скачивающего невозможно (скажем, части безлики, имеют лишь некий идентификатор и никак не демонстрируют свою связь между собой — она известна лишь скачивающему на уровне идентификаторов и их последовательности между собой). Важно понимать, что клиент как пользователь компьютера совершенно без понятия какие именно файлы у него хранятся: лежат какие-то куски непонятно чего, время от времени раздаются — и за это пополняется счет. Все, что позволяет настроить клиент как программа — это количество отнимаемых ресурсов и данные счета.
        3) На это существуют платежные системы, пользователи должны лишь обладать возможностями использования некоторыми из них.
          0
          Быстро не нашел, но проскакивало недавно в комментариях в топике о GPGPU. Там был принцип получения очков за работу 1 гигагерца в течении 1 часа, но и коммерческие предложения, как я понял, можно было сделать.

          1) а стоимость такого итогового хранения? Пользователей надо много, а дата-центр должен, по крайней мере, хранить все данные как минимум в 2х экземплярах (2й раз как бекап).
          2) Да, зашифровал — отдал, скачал — расшифровал. Но вот только для этого надо свой софт и процессорное время.
          3) А правовые аспекты? Нет, я согласен, что в идеале так и должно быть просто. Но ответственность, хоть минимальная, тоже должна быть. А для этого нужен хоть минимальный договор (и это не говоря про всякие правовые аспекты, которых, увы, много).

          Кстати, где-то видел на хабре предложения именно для хранения данных (вернее, было описание, как они сами разработали систему для этого) — за символическую плату можно было получить довольно емкое хранилище.
          А уже шифрование/расшифровку можно и самому делать.
            0
            Попробовал поискать по тегу, но, к сожалению, тоже не нашел — очень жаль.

            1) Здесь есть некий баланс, которого нужно достичь — дата-центр не сможет обеспечить такой гибкости. Есть файлы редко кому нужные, а есть такие, которые качают сотни людей одновременно, и множество средних вариантов между ними. Распределенная сеть даст возможность храниться первому файлу на небольшом числе компьютеров, но с более высокой ценой раздачи, а второму на огромном числе компьютеров, но с гораздо меньшей ценой раздачи. Средняя стоимость в зависимости от потраченных ресурсов должна получиться примерно одинаковой, а настройки какого типа файлы стоит хранить — во власти пользователя клиента. Если развивать идею — можно попытаться урегулировать систему по принципу аукциона (как в AdWords): в клиенте можно настроить некую минимальную цену, за которую он готов использовать свой комьютер: раздачу будет осуществлять тот, кто готов продать свои ресурсы дешевле — таким образом стоимость использования клиентских ресурсов самоотрегулирется.
            2) Свой софт для этого не нужен — достаточно классических публичных и приватных ключей для каждого файла: публичным шифруется сам файл, приватный дается тому, кто имеет право его скачать. Процессорное время будет по идее небольшим, т.к. требуется всего две операции на каждый файл, кроме того здесь же можно использовать мощности распределенной вычислительной сети — получая в результате уже сам файл. В общем, это решаемо и дает универсальную гибкость для любого решения.
            3) Один раз зарегистрировался — и пользуйся :) Для базового использования, скажем, вебмани не нужно вообще никаких документов, другие требуют, как правило, лишь сканы документов. В остальных аспектах по идее ответственность касается только выкладывающих файл — тут, конечно, минимальная верификация нужна. Но в целом это несложно, учитывая что раздающими в 99% случаев будут некие фирмы: онлайн магазины софта, сервисы видеохостинга и т.п.

            В общем, не знаю. Я вижу и плюсы и минусы распределенного решения, но мне кажется минусы можно грамотно разрулить. Но, возможно, вы правы. Я не знаю, сколько стоит построить дата-центр — возможно, на данный момент некая расчетная единица хранения, раздачи и расчетов будет дешевле, чем аналогичная с использованием обычных домашних компов. Просто я вижу эффективность и скорость торрентов, мощь распределенных вычислений, отсутствие гибкости современных решений — и потому мне кажется что идея в определенной реализации должна дать очень мощный результат. В любом случае, спасибо за отзыв!
        0
        Несколько лет назад такой бизнес кто-то пытался поднять в штатах, но, насколько помню, дело оказалось невыгодным.
        А вот «студенческих» разработок довольно много. Вот, например, Legion на сильверлайте.
        Преимущество — безопасность клиента. Т.к. приложение «покупателя ресурсов» работает в песочнице клиента и не может причинить ему вреда.
          0
          Был бы очень благодарен, если бы вы помогли отыскать название этого проекта — мне очень хочется понять в чем именно подвох подобной идеи и почему распределенные вычисления и p2p в реальности пока работают лишь на безвозмездной основе.

          Пока потенциально я вижу лишь одну серьезную причину: заведомо недостаточное изначальное количество заказов, т.к. сходу подключиться к подобной схеме довольно непросто. Соответственно, при старте приходится больше тратить на организацию процесса, чем реально зарабатывать на проценте посредника, но это по идее должно решиться со временем и хорошей рекламой. Ну или нужно стартовать с уже подключенным сервисом (скажем, видеохостинга или проекта наподобие OnLive).

            0
            Можно начать с wikipedia.
            А насчет коммерческой целесообразности, распределенные сети будут дороже датацентра.
            Конечно, можно полагаться или на добровольность участия, или на неосведомленность конечного пользователя и платить ему некую сумму за его ресурсы. Но если её пересчитать, то пользователю будет невыгодно. Он будет больше терять на оплате электроэнергии, амортизации оборудования и коммуникациях.
              0
              Прошу прощения за свою слепоту, но именно с этой ссылки я и начинал — тем не менее не нашел там ничего конкретного именно по идее равномерной оплаты клиентам. В разделе мотивации описан лишь лотерейный принцип оплаты участия, а упомянутый вами пробный проект из Штатов мне не удалось найти ни среди ссылок, ни среди истории, хотя, возможно, я его каким-то образом пропустил.

              Я находил расчеты о том, что стоимость участия будет невысокой (общий «профит» около 60$ в год, ну или пусть даже равнялся нулю), но не мог согласиться с ними, т.к. а) в подобных расчетах предполагалось, что пользователь включает компьютер только для участия в программе, хотя речь идет о параллельном процессе — когда пользователь и так сидит за компьютером и что-то делает, соответственно, электроэнергия тратится свыше в ничтожно малых количествах б) коммуникации тратятся только в тех рамках, что пользователь и так оплатил (скажем, у меня безлимитный тариф — очень большая часть канала постоянно пустует, хотя все равно оплачена или по тарифу у меня оплачено 5гб в месяц, а я трачу лишь 4гб) в) амортизация оборудования как раз с головой окупается заработком — кроме того нужно учитывать только ту амортизацию, которая происходит сверх пользовательских действий.

              Вы хотите сказать, что даже при озвученных доводах конечному пользователю все равно будет невыгодно?
                0
                К сожалению, я не смогу вам помочь с поиском реальных проектов. События по проекту проскакивали в ленте новостей. Я не углублялся, поэтому ключевых слов выдать не могу.

                Я не буду категорично утверждать выгодно или невыгодно. Проблема на мой взгляд в том, что возможная плата за аренду ресурсов пользователя получается незначительная и не может его мотивировать к совершению действий. Более эффективной мотивацией является социальная значимость проекта (поиск лекарств и пр.).

                С другой стороны, для покупателей таких ресурсов (тоже еще надо их найти) существует ряд сложностей и прежде всего не в стоимости вычислительных ресурсов, а в разработке специализированного ПО. Кто будет разрабатывать вычислительные модели?

                Обращаю внимание на тот факт, что мои предположения вращаются вокруг «вычислительных ресурсов». Что касается ресурсов дискового пространства, всё же дешевле будет датацентр. Датацентру носители достаются оптом, поэтому скидки существенные. А что касается распределенной файловой системы (каждый рассшаривает свои дисковые ресурсы), то она очень широко используется в местах компактного обитания студентов — общежитиях и университетах.
                  0
                  Насчет платы спорить не буду — не знаю. Хотя мне кажется что на текущий момент существуют потенциальные заказчики, которые заплатили бы достаточно неплохую сумму за «средние» мощности: большие, чем можно себе позволить дома/в офисе, но меньшие, чем дает аренда кластера.

                  Скажем, некий пользователь хочет отрендерить сцену, получить видео и заработать на нем. Рендер дома займет месяц, в такой сети — один день, поэтому пользователь готов заплатить, скажем, 3000 рублей, т.к. эти деньги отобьются доходом с этого видео за куда меньший срок, чем месяц. Искать для этого кластер? Вряд ли он будет, да и с такими деньгами владелец кластера связываться не захочет. А вот распределенной сети неважно какой масштаб работы — 100 процессорных часов или 100 000. Пример, может, не самый удачный, просто я хочу показать, что наверняка есть такие сферы, где обычным людям не хватает возможности использовать большУю мощность, но за соответствующую доступную плату (которая, возможно, за некую единицу вычислений на самом деле будет гораздо выше, чем в кластере и, соответственно, будет давать более высокую мотивацию для участников).

                  Разработка вычислительных моделей — это самый сложный вопрос. Если предположить, что пример выше — распространенный, то такую модель разработал бы производитель 3D Max, т.к. понимал бы, что это дает большИе конкурентные преимущества. Вопрос скорее в широкой рекламе и во времени на разработку этих моделей, чем в том, кто именно этим будет заниматься — как только производители оценят, чем конкретно в их бизнесе сеть может дать мощный плюс — они сразу же сами все организуют.

                  Вспомните тот же AdWords — это же, фактически, та же рапределенная сеть, только в ином разрезе. Множество мелких сайтиков выполняют свои маленькие роли по рекламе. И казалось бы — доход владельцев этих сайтиков крайне ничтожный, а затраты внушительные (хостинг, домен) — слабая мотивация. Но сеть была построена по принципу саморегулирования — и это позволило всем быть довольными. Ведь еще до того, как она появилась — можно было говорить, что проще воспользоваться существующими рекламными площадками, т.к. отдача больше, а затраты меньше. Но ведь не у всех есть деньги на оплату полноценной рекламы. А вот потратить 50 рублей в месяц, привлекая хотя бы минимальный поток посетителей — на это согласны многие тысячи людей, что в совокупности может принести больше, чем несколько крупных заказчиков.

                  Насчет дискового пространства — наверное, я все-таки изначально неверно выразился. Сеть должна не сколько хранить, сколько раздавать. Предположим, вы организуете хостинг видеофайлов на подобие youtube. Чтобы построить дата-центр — нужно точно знать какие будут нагрузки. Кроме того, эти нагрузки могут меняться — вдруг вырости в два раза, а могут напротив упасть. Дата-центр — это статика, у него есть некая предельная мощность и вы за нее платите. Но если вдруг к вашему сервису пропадет интерес — дата-центр будет простаивать, высасывая деньги. Или если, напротив, интерес неожиданно выростет — вы не сможете крайне оперативно построить второй дата-центр или расширить текущий.

                  С распределенной сетью проще: человек открыл страницу с видео — фактически сколько-то принес дохода с просмотренной рекламы и часть этих же денег ушла на оплату раздачи этого самого видео. Сети и ее хозяину абсолютно все равно сколько людей пользуется сервисом — она будет регулировать сама себя. Не нужно строить дата-центры, не нужно следить за нагрузками и в авральном режиме поднимать/опускать сервисы. Да и при наличии готового решения — затраты на организацию такого процесса будут минимальными (т.е. фактически, вместо начальных мощных вложений в дата-центр, организатор такого «youtube» будет платить 5% со дохода — это даст возможности кому угодно поднимать те или иные востребованные сервисы).

                  P.s. «Распределенная файловая система», про которую вы говорите (в общежитиях и университетах в виде «каждый расшаривает свои ресурсы») — вообще никак не является распределенным чем-либо и не дает соответствующих возможностей.
          0
          мне кажется, это было бы выгодно организовать провайдерам интернета… клиент ставит программу, которая хранит данные либо выполняет расчеты и клиент оплачивает только разницу между тем, что он заработал этой программой, и абонплатой. надежным клиентам делать скидки/бонусы.
          когда-то у нас в общаге (в 2005-2006 году) хотели организовать кластер, но так как этим занимался один из майоров военной кафедры (с большими амбициями получить миллион, подобрав ключ к зашифрованному файлу), ничего кроме смеха эта идея не вызывала…
            0
            Возможно… На данный момент я, например, практически не пользуюсь мобильным интернетом, ибо жаба душит, однако если это можно было бы компенсировать тем, что мобильник производит какие-то расчеты — почему бы и нет? Воткнул в выходной дома на зарядку, он посчитал там что-то — и вот уже какое-то количество интернета мне доступно. Или взять тот же WiMax. Поскольку у меня дома уже куплен интернет — докупать WiMax за лишние деньги опять же жалко, но если позволить иногда буку считать что-то на фоне и потом за это иметь возможность несколько дней без проблем ходить в интернет — я был бы совсем не против, а очень даже за.

            Тут даже дело не в деньгах — а в том, чтобы менять что-то, что не жалко («незримые» ресурсы компа, электричество) на что-то более ощутимое (интернет, доступ к чему-то, моральное удовлетворение, ...).

            А ваш майор — типичный потенциальный заказчик такой сети. Свято веря в свою идею, он, скажем, вложил бы свои кровные 10000 рублей в оплату распределенных расчетов и получил бы кластер который вскрыл его файл, принеся миллион (или не вскрыл, но он зато успокоился бы, что хоть попытался).

          Only users with full accounts can post comments. Log in, please.