Фрагментированный объект - Fragmented object

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

В отличие от распределенные объекты, они физически распределены и инкапсулируют распределение в самом объекте. Части объекта - именованные фрагменты - могут существовать на разных узлах и обеспечивать интерфейс объекта. Каждый клиент, обращающийся к фрагментированному объекту по его уникальному идентификатору, предполагает наличие локального фрагмента. Фрагментированные объекты могут действовать как RPC на базе инфраструктуры или (кэширующий) смарт-прокси. Следовательно, клиенты не могут различить доступ к локальному объекту, локальной заглушке или локальному фрагменту. Полная прозрачность достигается следующими характеристиками фрагментированных объектов.

Фрагментированный объект

Произвольное внутреннее общение

Для внутренней связи между фрагментами могут быть выбраны произвольные протоколы. Например, это позволяет скрыть протоколы реального времени (например, RTP для потоковой передачи мультимедиа) за стандартным CORBA интерфейс.

Произвольная внутренняя структура

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

Произвольная внутренняя конфигурация

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

Проекты

  • Aspectix - Группа Aspectix работает над несколькими проектами, промежуточное ПО архитектура, адаптивные приложения, ориентированные на качество обслуживания, Отказоустойчивость, аспектно-ориентированное программирование и автоматизированное преобразование исходного кода.
  • FORMI - FORMI является продолжением Java RMI.
  • Globe - в этом проекте рассматривается мощная объединяющая парадигма для построения крупномасштабных распределенных систем на обширной территории: распределенные общие объекты.
  • SOS - объектно-ориентированная операционная система SOMIW.

внешние ссылки

использованная литература