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