Новая технология управления распределением памяти KSM, позволяющая сэкономить память, используя идентичные страницы совместно, рискует натолкнуться на серьезную политическую проблему – патентную. Как заметил Дмитрий Монахов в списке рассылки linux.kernel, патент на подобную технологию был выдан компании VMware и называется «Контекстуальное, прозрачное совместное использование блоков памяти».
Как сообщает сайт LWN.net, идея, стоящая за предложенной к внесению в основную ветку ядра Linux технологией, не является чем-то кардинально новым. Ее суть напоминает использование динамических разделяемых библиотек, с той лишь разницей, что ядру не всегда известно о дублирующих друг друга областях памяти, и, следовательно, необходим механизм для их поиска.
Вот выдержка из аннотации к патенту, поясняющая суть изобретения: «Контекст использования страницы памяти, а не только ее адрес или номер, подвергается проверке. Если две или более страницы памяти, связанные одним контекстом, являются идентичными, тогда в указатель на область памяти записывается адрес этой области, и она становится доступной для совместного использования. Таким образом, оперативная память освобождается от повторяющихся областей».
Главная надежда разработчиков проекта KSM – это доказательство несостоятельности патента ввиду имеющихся фактов применения подобной технологии (prior art). Так в марте 1998 года вышел патч mergemem, в основе которого так же лежала идея поиска контекстных страниц. И хотя любому здравомыслящему человеку понятно, что концепция совместного использования памяти была разработана и реализована задолго до подачи компанией VMware заявления о выдаче патента, пройдет достаточно много времени и не одно судебное заседание, прежде, чем патент признают недействительным. И если дефицита первого у свободного сообщества не наблюдается, то бремя затрат на судебные издержки может стать непосильной ношей. В этой связи Alan Cox предложил, что возможно этим следует заняться организации Linux Foundation и другим «убийцам патентов».
С другой стороны есть более быстрое решение этой проблемы и здесь все целиком зависит от VMware. Компания, как в свое время это сделала IBM, может лицензировать патент для использования в GPL коде. Такой вариант кажется наиболее оптимальным, как с точки зрения поддержания хороших отношений с Linux-сообществом (VMware и ее владелец EMC члены Linux Foundation), так и как способ избежать скрупулезного изучения правомочности существования патента.
|