Крокет Проект
Оригинальный автор(ы) | Алан Кэй , Джулиан Ломбарди , Марк П. МакКэхилл , Андреас Рааб , Дэвид П. Рид , Дэвид А. Смит |
---|---|
Первоначальный выпуск | 2004 г [1] |
Финальный выпуск | 1.0 / 24 декабря 2009 г |
Написано в | Писк |
Операционная система | Unix-подобный , macOS ; Окна |
Платформа | Скрип |
Доступно в | Английский |
Тип | многопользовательская виртуальная среда |
Лицензия | С |
Веб-сайт | opencroquet.org (несуществующий) |
Croquet Project — это программный проект, целью которого было способствовать дальнейшему развитию комплекта с открытым исходным кодом разработки программного обеспечения Croquet для создания и доставки многопользовательских онлайн- приложений для совместной работы . Крокет реализован в Squeak Smalltalk .
Croquet поддерживает общение, сотрудничество , совместное использование ресурсов и синхронные вычисления между несколькими пользователями.
Приложения, созданные с помощью комплекта разработки программного обеспечения Croquet, могут использоваться для поддержки совместной визуализации данных, виртуальных сред обучения и решения проблем, 3D- вики , сред онлайн-игр ( многопользовательские ролевые онлайн-игры (MMORPG)), а также частных или взаимосвязанных многопользовательских виртуальных среды.
Дальнейшее развитие технологии также привело к проектам Open Cobalt и Open Croquet. [2]
Технические функции
[ редактировать ]Croquet — это комплект разработки программного обеспечения (SDK), предназначенный для использования при разработке совместных виртуального мира приложений .
Приложения, созданные с использованием Croquet SDK, автоматически становятся совместными, поскольку объекты приложений в Croquet используют общий протокол, позволяющий им взаимодействовать друг с другом, используя принцип реплицируемых вычислений (синхронизации) вместе с одноранговым протоколом обмена сообщениями. Технология предназначена для облегчения такой репликации между узлами, чтобы значительно снизить накладные расходы, необходимые для широкого развертывания совместных виртуальных миров.
Эта эффективность в сочетании с возможностью развертывания виртуальных миров на основе Croquet на оборудовании потребительского уровня позволяет разработчикам развертывать крупномасштабные и коллективные миры для совместной работы с очень низкими затратами по сравнению с технологиями виртуальных миров, которые полностью зависят от сервера. инфраструктуры для поддержки деятельности своих пользователей.
Архитектура
[ редактировать ]Виртуальные машины
[ редактировать ]Croquet Виртуальная машина (VM) работает одинаково на нескольких платформах и поддерживает множество возможностей, которые могут быть предоставлены только с помощью настоящего языка отправки сообщений с поздним связыванием .
Связь Croquet со Squeak придает Croquet свойство чисто объектно-ориентированной системы, обеспечивающей значительную гибкость в дизайне и характере протоколов и архитектур, разработанных для системы.
Благодаря этому Croquet имеет возможность продолжать работу, пока код модифицируется и тестируется, а также вносятся изменения, что является важной частью возможностей совместной разработки Croquet. Пользователи могут изменять код, запускающий среду, во время ее работы.
Архитектура синхронизации
[ редактировать ]Возможности синхронизации по времени Croquet обеспечивают идентичное взаимодействие между группами пользователей в реальном времени , одновременно значительно снижая потребность в серверной инфраструктуре для поддержки развертывания виртуального мира. Архитектура Croquet позволяет легко разрабатывать приложения для глубокой совместной работы без необходимости тратить много усилий и опыта на понимание того, как работают реплицируемые приложения.
TeaTime — это масштабируемая многопользовательская архитектура реального времени, которая является основой объектно-объектной связи и синхронизации Croquet. Он предназначен для поддержки многопользовательских приложений, которые можно масштабировать до огромного количества одновременно взаимодействующих пользователей в общем виртуальном пространстве. Наиболее заметной частью этой архитектуры является класс TObject, который используется для определения и создания подклассов объектов Tea. Все интересные объекты внутри Croquet созданы из подклассов TObject.
Объект Tea обладает тем свойством, что отправленные ему сообщения перенаправляются на его реплицированные копии на участвующих компьютерах других пользователей в одноранговой сети . Этот протокол обмена сообщениями поддерживает скоординированную распределенную двухфазную фиксацию , которая используется для управления ходом вычислений на участвующих пользовательских сайтах. Таким образом, сообщения могут динамически перенаправляться большому количеству пользователей, сохраняя при этом соответствующее расписание на основе сроков. Таким образом, TeaTime спроектирован так, чтобы обеспечить большую адаптивность и отказоустойчивость, и работает с гетерогенным набором ресурсов. Это структура абстракции, которая работает в различных реализациях и может со временем развиваться и настраиваться как внутри приложения, так и между приложениями.
Ключевые элементы архитектуры синхронизации TeaTime включают в себя:
- Скоординированная универсальная временная база, встроенная в протокол связи.
- Реплицированные объекты с поддержкой версий, которые унифицируют реплицированные вычисления и распространение результатов.
- Стратегии репликации, отделяющие механизмы репликации от поведенческой семантики объектов.
- Планирование на основе сроков расширено за счет отказов и вложенности
- Скоординированная, распределенная двухфазная фиксация, которая используется для контроля хода вычислений на нескольких площадках, для обеспечения устойчивости, детерминированных результатов и адаптации к доступным ресурсам.
- Использует распределенные наборы
Иммерсивный Терф
[ редактировать ]Первоначальные авторы крокета открыли коммерческую компанию Qwaq, которая позже была переименована в Teleplace. Позже эта технология была продана обратно группе первоначальных разработчиков Croquet и стала называться Immersive Terf. [3] [4]
История
[ редактировать ]Крокет представляет собой слияние нескольких независимых направлений работы, которые выполнялись шестью главными архитекторами, Аланом Кеем и Дэвидом А. Смитом . Дэвид П. Рид , Андреас Рааб , Джулиан Ломбарди и Марк МакКахилл . Нынешнее название проекта берет свое начало в разговоре Смита и Кея в 1990 году, в котором оба выразили свое разочарование по поводу состояния операционных систем на тот момент.
В 1994 году Смит создал ICE, рабочий прототип системы совместной работы двух пользователей, которая была предшественницей ядра того, чем сегодня является Croquet. Также в 1994 году команда Марка МакКахилла из Университета Миннесоты разработала GopherVR , 3D-пользовательский интерфейс для Internet Gopher, чтобы изучить, как пространственные метафоры можно использовать для организации информации и создания социальных пространств. В 1996 году Джулиан Ломбарди обратился к Смиту с просьбой изучить возможность разработки высокорасширяемых интерфейсов для совместной работы со Всемирной паутиной . Позже, в 1999 году, Смит создал систему под названием OpenSpace, которая была ранним вариантом Croquet. Также в 1999 году Ломбарди начал работать со Смитом над прототипами высокорасширяемых онлайн-сред для совместной работы на основе OpenSpace. Одной из таких реализаций была реализация прототипа ViOS — способа пространственной организации всех ресурсов Интернета (включая веб-страницы) в крупномасштабной многопользовательской 3D-среде.
Смит и Кей официально начали проект «Крокет» в конце 2001 года, и к ним сразу же присоединились Дэвид Рид и Андреас Рааб. Рид привнес в проект свою многолетнюю работу над массово масштабируемыми одноранговыми архитектурами обмена сообщениями в форме, заимствованной из его докторской диссертации , опубликованной в 1978 году. Первый работающий код Croquet был разработан в январе 2002 года. Одновременно и независимо Ломбарди и МакКахилл начала совместную работу над определением и внедрением высокомасштабируемых и интегрированных в предприятие архитектур для многопользовательской совместной работы, и в 2003 году Кей пригласил их присоединиться к основной архитектурной группе.
С 2003 по 2006 год технология разрабатывалась под руководством шести ее главных архитекторов при финансовой поддержке Hewlett-Packard , Viewpoints Research Institute Inc., Университета Висконсин-Мэдисон , Университета Миннесоты , Японского национального института коммуникационных технологий (NICT). ), и частные лица. 18 апреля 2006 года проект выпустил бета-версию комплекта разработки Croquet Software 1.0 с открытым исходным кодом . С тех пор технологическая инфраструктура Croquet успешно используется частным сектором для создания и развертывания коммерческих приложений для совместной работы с закрытым исходным кодом. Реализации программного обеспечения производственного уровня с открытым исходным кодом для создания безопасных, интерактивных, постоянных виртуальных рабочих пространств для образования и обучения были одновременно разработаны и внедрены в Университете Миннесоты , Университете Висконсина-Мэдисона, Университете Британской Колумбии и Университете Дьюка. .
По состоянию на 2009 год [update]Продолжающееся развитие оригинальной технологии Croquet также происходило в рамках проектов Open Cobalt и Open Croquet. [2]
Уникальные аспекты
[ редактировать ]- Это не зависит от платформы и устройства.
- Пользователи и разработчики могут свободно делиться, изменять и просматривать исходный код всей системы благодаря либеральной лицензии.
- Технология не размещается на сервере одной организации и, следовательно, не регулируется какой-либо такой организацией.
- Он предоставляет полный профессиональный язык программирования (Squeak Smalltalk), интегрированную среду разработки (IDE) и библиотеку классов в каждой распространяемой и работающей копии участника; сама среда разработки программирования одновременно доступна для совместного использования и расширяется.
- Миры, основанные на крокете, также можно обновлять, пока система работает.
См. также
[ редактировать ]- Open Wonderland — набор 3D-инструментов с открытым исходным кодом на основе Java для создания совместных виртуальных миров.
- Нереальный движок
Ссылки
[ редактировать ]- ^ «Крокетный проект» . Архивировано из оригинала 14 октября 2004 г. Проверено 17 февраля 2021 г.
- ^ Jump up to: а б Суслов, Николай (06 февраля 2021 г.), NikolaySuslov/croquet-squeak: Open Croquet for Squeak 5.x , получено 18 февраля 2021 г.
- ^ «Виртуальные места для реальной работы» . 3D ИКЦ .
- ^ Королева Мария (23 декабря 2011 г.). «Teleplace больше не существует; 3D ICC приходит на помощь клиентам» . Гиперсетевой бизнес .
- Вводный документ ( копия на archive.org) с описанием крокета Дэвида Смита и Алана Кея.
- Конференция C5 и связанные с ней документы
- Документы Дэвида П. Рида
Внешние ссылки
[ редактировать ]- Официальный сайт Консорциума крокета (несуществующий)
- Интервью с Джулианом Ломбарди на осеннем заседании целевой группы Коалиции сетевой информации 2007 года.
- Видео Дэвида Смита и Алана Кея, сделанное для выступления в Стэнфорде (2003 г.)
- Видео, сделанное для O'Reilly etech Дэвидом Смитом и Аланом Кеем (разбито на небольшие фрагменты, также включает полную демо-версию Squeak Кея)