Жидкостные вычисления относятся к стилю взаимодействия рабочих процессов приложений и вычислительных служб на нескольких устройствах, таких как компьютеры, смартфоны и планшеты. Термин был придуман в июле 2014 года InfoWorld , [1] [2] [3] [4] [5] [6], но базовые концепции давно существуют в компьютерной науке, например, в понятиях всепроникающих вычислений и вездесущих вычислений . Ключевым отличием жидких вычислений от других связанных понятий является то, что они сосредоточены на перемещении между устройствами рабочего процесса с участием людей.
В подходе жидких вычислений человек может работать над задачей на одном устройстве, затем перейти на другое устройство, которое обнаруживает выполняемую задачу на первом устройстве и предлагает взять на себя эту задачу. Например, вы можете начать составлять электронное письмо на смартфоне, и когда вы подходите к своему компьютеру, его почтовое программное обеспечение обнаруживает выполняемое электронное письмо и позволяет вам продолжить работу над ним на компьютере. Задействованные данные, включая его текущее состояние, перетекают с одного устройства на другое (точнее, из приложения на устройстве в приложение на другом устройстве), отсюда и термин «жидкие вычисления». Примером такого подхода является служба Handoff (Continuity) от Apple в iOS 8 и OS X Yosemite (эта функция доступна только для совместимых устройств, таких как устройства iOS с портом Lightning и модели Mac 2012 или более поздних версий, которые поддерживают Bluetooth Low Energy и Wi-Fi Direct ). [7] [8]
Google анонсировала аналогичный подход для приложений в своей операционной системе Android Lollipop и операционной системе ChromeOS , чтобы они взаимодействовали друг с другом способом, похожим на Handoff. [9]
Ограничением текущих реализаций жидких вычислений является то, что они ограничены платформами конкретных поставщиков, например, в паре iOS и OS X от Apple или в паре Android и ChromeOS от Google. Это означает, что рабочие процессы не могут проходить через устройства разных поставщиков, например, с Apple iPad на ПК с Microsoft Windows . Это не техническое ограничение концепции жидких вычислений, а решение поставщика поощрить принятие экосистемы своего продукта. Например, и Apple, и Google предоставляют разработчикам возможности жидких вычислений через набор API , которые теоретически могут быть доступны конкурирующим платформам, но в настоящее время не доступны. Чтобы решить эту проблему, концепцию жидких вычислений можно применить к веб-приложениям, работающим на разных устройствах с поддержкой веб-доступа. [10]
Несколько операционных систем — iOS и OS X от Apple [11] и Windows 8 от Microsoft [12] — могут синхронизировать настройки на нескольких устройствах, как и браузер Google Chrome и браузер Apple Safari . Концепция взаимодействия между устройствами похожа на жидкие вычисления, но в ней отсутствует рабочий процесс, характерный для жидких вычислений.
Другая связанная концепция подразумевает передачу сервиса с одного устройства на другое, например отправку телефонного звонка или текстового сообщения с телефона на компьютер. Apple не включает эту возможность (доступную в OS X Yosemite и iOS 8) в свое определение Handoff, но вместо этого назначает эту функцию своему набору сервисов под названием Continuity, [13] который включает Handoff. У BlackBerry есть похожая возможность под названием Blend, доступная для ее смартфонов, для отправки звонков или текстовых сообщений на OS X Mac и Windows PC. Эти сервисы передачи похожи на переадресацию телефона или электронной почты в том, что сообщения пересылаются на другое доступное устройство (обычно через соединение Wi-Fi), и нет никакого взаимодействия с самими данными, как в Liquid Computing. Кроме того, Liquid Computing допускает несколько передач во время рабочего процесса, тогда как передача сообщений этого не делает.
Аналогично, понятие Интернета вещей похоже на жидкие вычисления в том, что оно включает в себя прямую связь между устройствами для ориентированной на вычисления цели, такой как анализ уровня физической активности человека, отслеживание пользователей в торговом центре для определения купонных предложений или сопоставление условий дорожного движения и потока для рекомендации альтернативных маршрутов. Данные передаются между устройствами или в центральное приложение, размещенное на внутреннем сервере, но в лучшем случае только часть рабочего процесса включает человека, а не всю цепочку действий.
Различные виды взаимодействия компьютера с компьютером и взаимодействия человека с компьютером, включающие жидкие вычисления, не являются исключающими друг друга; различные типы взаимодействия могут быть объединены. [14]