Говоря о "первой сети обмена", я, конечно, не имел в виду, что до этого люди не обменивались файлами по сети. Любой мог послать и получить файл по почте или выложить его на ftp. Но, тем не менее, никогда ранее Сеть не потрясала такая "волна" обмена данными между пользователями - эта волна поставила под сомнение сами основы современного шоу-бизнеса. Например, та же Майкрософт, изучая феномен Napster'а, пришла к выводу, что "[DRM - система управления правами] технология сама по себе не может решить проблемы пиратства [в сетях P2P]" (доклад Уилла Пулла комитету Юридической палаты, 5/6/2002).

 

Что было самым важным прорывом в новой технологии - так это создание гигантской распределенной базы данных, содержащей информацию "что есть у кого". Файлы классифицировались по категориям, так что можно было производить более осмысленный поиск. Второе - файлы и отдельные фрагменты ("чунки", chunks) снабжались контрольными суммами (MD4) для установления "подлинности". Так что система понимала - даже файлы с разными именами могут быть одним и тем же файлом. Третье - это протокол "частичной распределенной загрузки" (впоследствии MFTP), позволяющий собирать файл из фрагментов, находящихся у разных пользователей. При этом система сама видит, у кого и сколько закачано, и подключается только к тем пользователям, что располагают частями, которых недостает вам.

 

Сам процесс получил название peer to peer (P2P), то есть соединение двух пользователей без использования сервера. Конечно, не так уж и "без сервера" - на самом деле серверы используются в этой схеме трижды.

 

Первый раз - для получения каталогов удаленных пользователей. При подключении к серверу вы отдаете ему список файлов, которые были определены вами как "общие", а взамен получаете: а) список других доступных (выделенных) серверов; б) список пользователей, которые могут выполнять роль серверов.

 

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

 

Третье - серверы должны быть использованы для связи двух "слабых" клиентов (с так называемыми "слабыми идентификаторами"). Это рабочие станции за NAT firewall'ами, которые не имеют собственных IP из глобального пула, а потому не могут быть адресованы другим "слабым" клиентом без посредства прокси-сервера. Слабый клиент ("слепой ослик") сам инициирует соединение, периодически обращаясь к серверу с запросами типа "чего поискать?" и получая ответы. Естественно, раз "слепой" клиент не может служить сервером и принимать запросы, то соединить двух клиентов за NAT можно только через третью точку, имеющую нормальный IP-адрес.

 

Некоторые серверы могут ограничивать количество слабых клиентов или вообще запрещать их подключение. В Overnet ID больше не зависит от свойств клиента - вместо этого клиенты явно делятся на открытых и тех, что "за файерволом".

 

Эта статья - не обзор абсолютно всех Napster-подобных сетей и клиентов (да это особо и не нужно). Как всегда, я сначала расскажу о самом интересном (для меня), а потом, по мере истощения словарного запаса,- о некоторых, тоже не лишенных смысла, кусках кода, а также о тех "трабл мейкерах", о которых вы должны знать скорее теоретически, но не практически. Но для начала - о самом бесполезном, о Napster'е и KaaZaa.


Пару слов о грустном, или Что осталось от Napster'а?

 

Для начала посмотрим, что жестокий мир капитала сделал с энтузиастами "халявы", и бросим прощальный взгляд на классику жанра после кастрации, то есть на новый Napster и KaaZaa.

 

 

Первое, что бросается в глаза, когда заходишь на www.napster.com,- это сама инсталляция нового Napster'a, которая напоминает теперь инсталляцию порно-консоли или другого трояна. Я, как бы, понимаю, что загрузка exe ничем не лучше - но все равно как-то странно все это выглядит. Следующий за инсталляцией смешной момент - сообщение о том, что Napster работает только в США. А для американов - просьба зарегистрироваться и ввести имя и пароль (как видно, в Америке идет перепись медиа-"пиратов"). Короче - не ходите туда, делать там нечего.

 


Одним из "горячих пирожков" одно время был KaaZaa. Программа и вправду качала много чего полезного и ее имя даже стало нарицательным - однако в последнее время я не могу ни бельмеса там найти. Кроме того, количество баннеров и прочего мусора вокруг этой программы растет с ужасающей скоростью, так что теперь KaaZaa вызывает у меня ассоциации со словами "спам", "поп-ап консоли", "ускоритель интернета"… - и с соответствующими случаю эмоциями. Не удивлюсь, если к моменту выхода этой статьи KaaZaa и вовсе прикроют для народа - то есть сделают такой же продажной, как Napster. Не советую использовать ее практически - но если вам интересны исторические и технологические аспекты KaaZaa, поищите в Сети протокол FastTrack.

 

Короли Сети 2003: Ослик и Овернет

 

Самые лучшие на сегодня программы - это те, что работают в сети e-Donkey2000 и Kademlia/Overnet. К их числу относится собственно сам e-Donkey и его детеныш - Overnet (хотя как от ослика может произойти такая медуза?), а также масса клонов. Загрузить оба оригинальных айтема можно по адресу.

 


Разница между Overnet'ом и e-Donkey - в том, где производится поиск файлов. Если более старый "ослик" производил поиск на централизованном сервере или, точнее, в распределенной базе на нескольких серверах (а это узкое место - как в смысле трафика, так и в смысле Интерпола) - то более продвинутый Overnet ищет только на клиентских машинах, хотя серверы используются для прокси-услуг.

 

По указанной причине переполненных ED серверов рекомендуется использовать Overnet, а не e-Donkey - хотя первый, в силу своей природы, может загрузить ваш трафик по полной программе. С другой стороны, количество найденных (притом редких) файлов в Overnet поражает. Плохо, что не обошлось без рекламы, но это решается мы-знаем-как.

 

Недостаток и eDonkey и Overnet: состав их инсталляции входит насколько рекламных программ, так что, если вы прозеваете этот момент и не отмените установку последних, то получите на свой винт пригоршню мусора.

 

eMule и другие "ослоподобные"

 

Существует множество клиентов, которые штатно нависают на ED2к-сеть и эксплуатируют их базы. В числе популярных ED-"присосок" - eMule и OneMX. Они похожи настолько, что создается даже странное ощущение, будто это вообще одна и та же программа. Что, в общем-то, так и есть: первая - Open Source, вторая - "типа бесплатная". Единственное отличие - в списке серверов по умолчанию. И если eMule, в конце концов, нашел "путь к счастью" через мой гейтвей, то OneMX вообще не смог выбраться наружу - поэтому мои познания о его работе весьма скромны. Далее речь пойдет, в основном, о eMule, получить который можно (и нужно) на www.emule-project.net - если, конечно, вы не получаете наш журнал с диском.

 

eMule поддерживает два типа сети - автоматический ED2K и Kademlia Bootstrap. Не пугайтесь, это не ругательство, а система распределенного хеша - DHT, Distributed Hash Table.

 

Система работает так: все пользователи получают идентификаторы, и файлы получают идентификаторы, и части файлов получают идентификаторы. Сначала вы подключаетесь к паре-тройке "друзей" и как бы ненароком спрашиваете, "а как пройти в библиотеку". Поскольку ваши "кореша" уже в курсе и библиотеки и других заведений, они сбрасывают вам адреса новых серверов, где могут располагаться искомые файлы - и так далее, до победного конца. Сам процесс "раскрутки" называется Bootstrap, а система идентификации и поиска всего на свете по хеш-значениям - Kademlia.

 

В чем тут фишка - так это в том, что eMule предлагает вам самостоятельно ввести адрес первого хоста с установленным eMule или другим Kademila-сервером, так что вы сможете от него уже передвигаться к следующим хостам - и постепенно подобраться к требующимся файлам. Можно сказать, что eMule работает и как eDonkey, запрашивая данные у серверов, и как Overnet, через Kademila,- то есть применяет оба способа поиска.

 

Другой вопрос - откуда вы возьмете этот адрес? Вот именно. Другой "напряг" этой технологии - это то, что для "поднятия" Kademila нужно указать сервер с настоящим IP-адресом, а это не слишком распространенный сейчас метод подключения, и за NAT-фаерволом это работать не будет. Но, тем не менее,- спасибо за возможность.


Приятная фича eMule - он хранит недокачанные файлы отдельно, так что вы не видите "мусора" в точке назначения (как, например, у WinMX). Поэтому точкой назначения можно указать вполне приличное место, например "Мои документы".

 

 

Другая приятность - это возможность посмотреть комментарии к фалу. К сожалению, часто они бестолковы, но иногда содержат и важную информацию, например "это фильм на китайском языке" :-).

 

Кроме прочего, eMule содержат встроенный клиент IRC для живого общения с удаленными "товарищами по несчастью" - короче, полный фарш с прикладом.

 

WinMX

 

Ставший весьма популярным в последнее время инструмент. Его главное отличие - полное отсутствие даже намека на рекламу и прочую "хрень". Скачать эту примочку можно на www.winmx-download-winmx.com (сама закачка происходит с сайта Morpheus-Download, что наводит на размышления; однако другой информации на тему WinMX и Morpheus я не нашел - наверное, люди предпочитают шифроваться).

 

WinMX - сокращение от "Windows Media eXchange". Существует порт на Mac, для других систем портов не обнаружено.

В отличие от других p2p-клиентов WinMX не показывает ни списка серверов, ни самого процесса подключений. На самом деле средний пользователь крайне редко может извлечь из этих данных какую-то полезную для себя информацию или как-то конструктивно повлиять на ход подключения.

 

Закладка Поиск посвящена понятно чему - тут все ясно: вводите слова и ищете. После того как будут найдены источники, можете отпиногвать их на предмет "интересности" - хотя вы никогда не угадаете, кто вам "сольет файло", так что дискриминация тут неуместна. Разумно щелкать Download по всей группе, а не только по одному источнику - ненужные опадут сами, как осенняя листва.

 

Несколько непонятных сокращений вы встретите на закладке Transfers, а именно - AFS и AEQ. Это очень хорошие параметры. Первый значит Auto Find Sources и показывает период (в минутах), с каким будет выполняться попытка найти новые источники для ваших файлов. Таким образом, можно "загнать" поисковик, а можно, напротив, "попустить". Постоянно проверять новые источники нет смысла, они появляются не слишком часто - главное, никогда не устанавливайте этот параметр в Never.

 

Второй параметр расшифровывается как Auto EnQueue - то есть, когда вы находите файл и при этом вам предлагают стать в очередь, то в каком случае соглашаться? Для редких файлов этот параметр можно поставить в максимальное значение - 100.

AFS и AEQ по умолчанию можно настроить на закладке Configuration… почему-то Search, но не суть важно. В других клиентах таких настоек нет (или это я не нашел?).

Есть небольшой "загон" в настройках по умолчанию - вы настроены выбрасывать "inactive DL sources" каждые 10 минут. Это приводит к тому, что в один момент вы можете выбросить все источники - и закачка улетит из списка. Файл останется на месте, и вы, конечно, всегда можете "вернуть" закачку, нажав Load Incomplete - но сделать это сможете только руками… утром в понедельник, тогда как вы могли качать все выходные.

 

G2: Shareaza

 

Shareaza (или, по-народному, Ш (З) араза) - это клиент, созданный авторами и фанатами сети Gnutella для собственных нужд :-). Shareaza поддерживает собственный протокол Gnutella2 (Mike's Protocol, MP), протокол старой сети Gnutella 1, ED2K и BitTorrent. Поскольку MP и BitTorrent пока не получили особого распространения (а может, я что-то пропустил?), то вместо подробных объяснений просто отсылаю вас на en.wikipedia.org, где есть несколько линков на полезную информацию. На всякий случай - сама программа лежит на нашем диске. Еще один клиент точно поддерживает G2 - mlDonkey, других обнаружить не удалось.

 


Что хорошо - G2 имеет формальное описание, четкую систему требований и даже собственный стандарт, что может сделать эту сеть достаточно устойчивой для конкуренции с Overnet. Побочный эффект Shareaza - поскольку этот клиент обслуживает запросы сразу многих сетей, то исходящий (даже когда вы ничего и не закачиваете) трафик легко может "стартовать" до 25 Кб/с! Следите за этим, если вы выкачиваете под контролем. Ограничить скачивание можно в Config-Internet-Uploads (по умолчанию: 7 Кб/с для Core, 12 Кб/с для Partially Downloaded и по 2 Кб для каждого размера файлов, большого, среднего и малого - итого разрешенный исходящий трафик - 25 Кб/с).

 

BitTorrent

 

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

 

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

 

Gnutella 1

 

Самая распространенная и популярная сеть обмена (если не учитывать ED2k) называется Gnutella. Кстати, после появления Gnutella2 ее часто называют Gnutella 1 или "старая (legacy) Gnutella". В основе G1 лежит несколько другой механизм распространения запросов - но в принципе все без особых изменений. Основное отличие Gnutella - она не использует механизмы Kademlia, то есть поиск в этой сети осуществляется "вслепую", по случайным маршрутам. Лучшая критика G1 дана на сайте разработчиков Gnutella 2. - Там, например, упоминается, что в худшем случае один пользователь может "поставить на уши" 80% всей G1-сети.

 

Официальные программы для этой сети - BearShare (также поддерживает ED2K?), Gnucleus, Morpheus (версия: первоначально был на движке KaaZaa - FastTrack, но после "сессий" с судом Лос-Анджелеса перешел под знамена Gnutell'ы), Xolox Ultra, LimeWare, Phex. Некоторые из них написаны на Java, а некоторые даже под.NET. Каждый из этих клиентов превозносит себя как "самого": BearShare - "самый лучший", Gnucleus - "самый честный", ну и так далее.

 

Типичный современный клиент для сети Gnutella - LimeWire. Весь сайт LimeWare увешан надписями "быстрее, чем KaaZaa!" - хм, ну было бы чем гордиться. Главная отличительная особенность этого клиента - программа на Java. Со всеми вытекающими из этого последствиями: красиво и медленно.

 

Еще один клиент поверх сети Gnutella, происходящий от Lime (ну шо за мода пойшла),- это FreeWare. Больше информации можно найти здесь - www.freewirep2p.com. Что приятно, так это то, что исходники в понятном виде лежат на developers.html. А больше я вам ничего об этой программе не скажу - за подробностями обращайтесь к исходникам.

 

Перечисленные выше программы, особенно Lime, часто просто перенасыщенны рекламой, spy-ware и прочими вещами, так что я упоминаю их тут только для полноты изложения - можете поставить эти программы в целях ознакомления, чтобы не говорили потом, будто у вас не было выбора.

 

Помимо того, в сети Gnutella я не нашел нужных мне файлов, так что знакомство с ней завершилось, так и не начавшись. Единственное, что порадовало, так это сайт www.gnutella.com (на движке Zope+Plone?) - хотя и там все закачки происходят через рекламный блок.

 

В путь


Вариант первый: вы знаете, что вам нужно,- и готовы получить это любым путем. Дополнительное условие - у вас огромный канал и вы не платите за трафик. Ваши действия - можете установить параллельно три утилиты - WinMX, eMule и Shareaza - качать они будут, как показывает опыт, из разных источников. Конечно, вы будете несколько раз дублировать файлы, но ваши шансы получить их при жизни значительно возрастут. Не втрое, конечно (люди-то и серверы во всех сетях часто одни и те же) - но тем не менее.

 

Вариант № 2: у вас платное подключение и ресурсов ровно столько, чтобы хватало на "скромную роскошь" - но желание велико и за ценой вы не постоите. Все-таки еще раз пройдитесь по раскладкам - а вдруг найдете на диске? Поскольку удельная стоимость мегабайта будет впечатляющей. Но если уж совсем никак не можете найти нужное на CD - выбирайте eMule, это самый универсальный "ослоподобный" P2P. И именно сего помощью я и получил самые редкие файлы. Если вы любите цирк и мигающие лампочки - закачайте eMule в версии "плюс".

 

Другие клиенты, например WinMX, тоже способны на многое (ставить не страшно, рекламных консолей там нет).

 

Если у вас реально нет проблем с трафиком, можете активно пользовать Overnet - но будьте готовы к тому, что вся сеть станет публиковать на вашем узле соответствующие вашему ID фрагменты. А это, скажу я вам, не шутка - по крайней мере, обязательно ставьте ограничители трафика!

 

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

 

Для тех, кто хочет все знать


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

 

Как строится распределенный хеш?

 

Самая современная технология распределенного файлового (точнее - объектного) хранилища называется Kademlia, ее домашнюю страничку вы можно найти на сайте Нью-йоркского университета. Эта система включает технологии и методики других распределенных технологий, в частности Chord.

 

Фактически за всем этим стоит один перец, проживающий на Бродвее, дом 715 - Петя Маймунков [Petar Maymounkov]. С ним легко связаться через его же сайт www.scs.cs.nyu.edu - да и задать ему пару вопросов "за жизнь" (чтобы разговор был предметным, надеюсь, вы предварительно прочтете все его статьи; поскольку многие тексты выложены в PostScript-формате, вы, вероятно, захотите поставить себе соответствующий plug-in).

 

Теперь о собственно Kademlia. Фактически это распределенный хеш-массив (то есть таблица пар "ключ-значение"), распределенный между многими хостами. Для конечного пользователя (скажем, программиста, использующего библиотеку) работа выглядит просто: 1) "найти значение по ключу"; 2) бинго.

 

В оригинале применяются 160-битные ключи (Overnet использует 128 бит - для ясности дальше по тексту всегда будем говорить о 160-ти битах) для таблицы и 160-битные идентификаторы (ID) хостов, получаемые как функция SHA-1 от других значений. В частности, для хостов используется методика Chord получения ключа как функции от IP-адреса. В системе Overnet, как утверждается на www.edonkey2000.com, применяются случайные значения ID - таким образом, Overnet не использует эвристических корреляций IP-2-ID. Сайт eMule возвращает нас к версии "ID=f (IP)".

 

Для поиска в 160-битном пространстве используется XOR-метрика: два 160-битных значения (точки) умножаются по XOR - полученное значение трактуется как целое и называется расстоянием в XOR-метрическом пространстве. Грубо говоря - чем меньше побитных расхождений в значениях, тем ближе точки.

 

Эта неевклидова метрика обладает свойствами непротиворечивости: расстояние от точки до самой себя всегда равно нулю, расстояние между двумя различными точками всегда больше нуля. Соблюдается правило треугольника:

 

xor_distance (a,b)+ xor_distance (b,c)>= xor_distance (a,c).

 

Кроме прочего, метрика симметрична:

 

xor_distance (a,b)== xor_distance (b,a)

 

- как следствие симметричности операции xor.

 

Интересное свойство XOR-метрики - она однонаправленная. То есть для каждой точки и расстояния можно найти только одну точку-дополнение (в отличие от, например, евклидового расстояния на прямой).

 

Узел Kademlia при каждом запросе к сети отсылает информацию о себе, чтобы другие хосты могли изучать таким образом сеть. С другой стороны, каждый узел хранит информацию о других узлах в виде IP-port-ID для каждого из диапазонов расстояний

 

[2i,2i+1], i=0,159

 

Каждый список (называемый k-bucket) хранится отсортированным по времени последнего доступа к указанному узлу. Поскольку большие значения i могут "собрать" слишком большие списки удаленных узлов, существует разумный предел на рост списков, например 20 хостов максимум. Каждый обмен с удаленным хостом обновляет соответствующий bucket - то есть, если хост ответил, он перемещается вверх списка и т.д. Если новый узел не помещается в список, система пытается опрашивать самые давние записи в попытке удалить их. При удачной попытке "забыть старое" новый узел будет добавлен - в противном же случае ему будет отказано в обслуживании.

 

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

 

Другое преимущество - защита от флуда, поскольку после определенного времени узел набирает полный список проверенных узлов, так что злоумышленник не сможет вытеснить их своими подставными адресами - разве только кто-то покинет список, что случается нечасто.

 

Протокол Kademlia состоит всего из четырех RPC запросов: PING, FIND_NODE, STORE, FIND_VALUE. Поиск узла FIND_NODE запрашивает k узлов, ближе всего расположенных к определенному ID. Если были найдены узлы из указанного расстояния - будут выбраны все k узлов. Если до k не хватает - узлы будут позаимствованы из соседних списков, вплоть до того что может быть отправлено и меньшее количество записей, если узел пока еще не "вошел в курс дела" и не содержит в своей базе данных достаточного количества записей.

 

Поиск узлов производится параллельными запросами к нескольким ближайшим узлам, в смысле XOR расстояния. Процесс повторяется рекурсивно и асинхронно - некоторые ветви поиска могут развиваться, не ожидая ответа от других. Для хранения пары "ключ-значение" хост выбирает k узлов, ближайших по значениям ID и сохраняет на них свою информацию. Этот процесс производится периодически, так чтобы гарантировать максимальную устойчивость отдельного элемента. Искать элемент с заданным ключом становится сравнительно просто - достаточно опрашивать хосты со значением ID, близким к значению ключа.

 

Для исключения старения элементов в кэше и в k-bucket'ах в систему введено несколько "фреш"-операций - то есть система периодически инициирует поиски случайных узлов в каждом из диапазонов и удаляет старые элементы кэша.

 

mFTP

 

Для получения файлов такие современные программы, как Overnet, используют mFTP. "m" в данном случае обозначает Multisource (есть еще версия с Multicast). Это именно та технология, по которой вы можете загружать файл из нескольких источников, а также та причина, по которой только что загруженные фрагменты файлов становятся источником и для других заинтересованных пользователей. Сеть ED2K использует фиксированные фрагменты, длиной 9500 байт, как указано на edonkey2000.com. С точки зрения каждый фрагмент MFTP - значение кэша для Kademlia. Для контроля целостности фрагментов используется "контрольная сумма" -хеш MD4.

 

Horde

 

Это применяемый в сети ED2K метод "турбо"-закачки. Если вы отмечаете какой-то файл как приоритетный, то ваша программа будет искать нескольких (в данной реализации - четырех) имеющих этот файл клиентов с максимальной скоростью передачи - и устанавливать с ними постоянное соединение, называемое партнерским. Обычные клиенты ротируются в манере QoS, то есть одни закачки прерываются другими в целях "честного" трафика. Для партнерских закачек это правило не работает - вы закачиваете "чунки" у каждого партнера по очереди без остановок. Партнеры не отказывают друг другу в трафике и не ставят друг друга в очередь. Этот режим - сравнительно новый update в сети ED2k.

2004.04.26
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".