Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия

Изобретение относится к области межпроцессного взаимодействия. Технический результат настоящего изобретения заключается в повышении эффективности межпроцессного взаимодействия за счет выбора между синхронными и асинхронными методами межпроцессного взаимодействия. Система выбора синхронного или асинхронного межпроцессного взаимодействия содержит средство обеспечения межпроцессного взаимодействия, предназначенное для обеспечения синхронного или асинхронного взаимодействия между первым процессом, предназначенным для выполнения действий в операционной системе и передающим данные второму процессу с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, и вторым процессом, предназначенным для выполнения действий в операционной системе и принимающим данные от первого процесса с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, тип которого будет выбран динамически на основании решения, вынесенного средством анализа, а также для выбора асинхронного или синхронного метода межпроцессного взаимодействия; средство анализа, предназначенное для получения от средства обеспечения межпроцессного взаимодействия запроса на проведение исследования оптимального выбора между асинхронным и синхронным типом межпроцессного взаимодействия, запроса средству получения данных от используемого ресурса на получение от последнего свойств используемых процессами ресурсов и выбора оптимального типа межпроцессного взаимодействия на основе полученных данных от средства получения данных от используемого ресурса; средство получения данных от используемого ресурса, предназначенное для выдачи средству анализа по его запросу по крайней мере одного из свойств ресурса, такого как наличие требуемой информации, сохраненной ранее в кэше, объем свободной оперативной памяти, объем свободного места на жестком диске. 2 н. и 5 з.п. ф-лы, 3 ил.

 

Область техники

Изобретение относится к системам и способам увеличения эффективности межпроцессного взаимодействия за счет выбора между синхронными и асинхронными операциями.

Уровень техники

Определим ряд основных терминов, используемых в описании.

Межпроцессное взаимодействие (IPC) - набор способов обмена данными между множеством потоков в одном или более процессах. Процессы могут быть запущены на одном или более компьютерах, связанных между собой сетью. IPC-способы делятся на методы обмена сообщениями, синхронизации, разделяемой памяти и удаленных вызовов.

Асинхронный процесс - процесс, в котором операция не требует отклика для продолжения выполнения.

Синхронный процесс - процесс, в котором операция требует отклика для продолжения выполнения.

Операция - элементарное действие, выполняемое в рамках рассматриваемого процесса (в качестве операции может выступать, например, API функция).

Современные операционные системы при обмене данными между двумя процессами методами межпроцессного взаимодействия используют как синхронные, так и асинхронные операции.

Каждый из указанных типов операций используется для своих целей и обладает как преимуществами, так и недостатками. Асинхронные операции позволяют процессу не останавливать свою работу для ожидания ответа и продолжать работу дальше, но при этом являются более медленными, требуют больше ресурсов операционной системы и сложнопредсказуемы. С другой стороны, синхронные операции более быстрые, требуют меньше ресурсов операционной системы и легко предсказуемы, но при этом до прихода ответа не позволяют процессу продолжать работу.

Тем не менее, при взаимодействии между процессами возникают ситуации, когда выполнять задачу через асинхронные вызовы становится нерационально: когда ресурсы, с которыми работает процесс в текущий момент, свободны, требуемые данные были ранее сохранены в кэше и т.п., становится выгоднее выполнить требуемую операцию через синхронный вызов, поскольку он будет выполнен быстро. Аналогично бывают ситуации, когда асинхронный вызов может оказаться предпочтительнее синхронного.

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

Теоретическое обоснование для выражения синхронных вызовов через асинхронные было дано Чарльзом Энтони Ричардом Хоаром. Более подробно об этом можно прочитать в статье Стефана Готца "Asynchronous communication using synchronous IPC".

В заявке US 20130152096 A1 рассматривается схема выбора между синхронными и асинхронными системными вызовами в зависимости от выбранного режима и приоритетов исполнения задач. Тем не менее, в заявке, во-первых, не указано, с какими именно элементами работает система выбора между асинхронными и синхронными типами межпроцессного взаимодействия, во-вторых, не указаны критерии, по которым определяется, что с ресурсами можно работать синхронно.

В патенте US 6938251 B1 описана технология получения однопоточным приложением асинхронных сообщений. Тем не менее, данная технология никак не описывает работу многопоточных систем и не содержит функционала выбора между синхронными и асинхронными способами передачи и получения данных.

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

Настоящее изобретение позволяет эффективно решить задачу повышения эффективности работы операционной системы за счет выбора между синхронным и асинхронным типом межпроцессного взаимодействия.

Раскрытие изобретения

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

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

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

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

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

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

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

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

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

Краткое описание чертежей

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:

Фиг. 1 - структурная схема алгоритма выбора синхронного или асинхронного межпроцессного взаимодействия.

Фиг. 2 - структурная схема алгоритма работы средства анализа.

Фиг. 3 - пример компьютерной системы общего назначения, персональный компьютер или сервер.

Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.

Описание вариантов осуществления изобретения

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

Фиг. 1 показывает структурную схему системы выбора синхронного или асинхронного межпроцессного взаимодействия.

Система выбора синхронного или асинхронного типа метода межпроцессного взаимодействия (такого как файл, сигнал, сокет, канал, именованный канал, семафор, разделяемая память, обмен сообщениями, проецируемый в память файл, очередь сообщений и т.д.) состоит из первого процесса 110, средства обеспечения межпроцессного взаимодействия 120, средства анализа 130, средства получения данных от используемого ресурса 140 и второго процесса 150. Первый процесс 110 предназначен для выполнения действий в операционной системе по передаче данных второму процессу одним из методов межпроцессного взаимодействия. Второй процесс 150 предназначен для выполнения действий в операционной системе по получению данных от первого процесса одним из методов межпроцессного взаимодействия. Средство обеспечения межпроцессного взаимодействия 120 предназначено для осуществления взаимодействия между процессами с помощью набора способов обмена данными, таких как обмен сообщениями, синхронизация, разделяемая память или удаленные вызовы.

Необходимость передачи информации между процессами обусловлена тем, что реализация всей логики работы в рамках одного процесса, во-первых, зачастую невозможна (в случае, когда с общими данными работают несколько приложений на одном или даже разных компьютерах), во-вторых, такая монолитная организация работы сложна при реализации и отладке, что, в свою очередь, может привести к ошибкам в исполнении, а также стать причиной появления уязвимостей, которые могут быть использованы вредоносными программами.

Одним из примеров межпроцессного взаимодействия является передача изображения из программы по сканированию документов программе по обработке графики. Первый процесс, принадлежащий программе по сканированию, сохраняет отсканированное изображение во временном файле, а второй процесс, принадлежащий программе по обработке графики, обнаруживает факт появления файла в файловой системе, считывает его и отображает изображение в окне программы.

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

Средство обеспечения межпроцессного взаимодействия 120 принимает запрос от первого процесса 110 на передачу данных второму процессу 150. После чего передает данные, характеризующие запрос (такие как идентификаторы первого и второго процесса, тип и объем передаваемых данных, идентификаторы ресурсов, с которым будут работать процессы, и т.д.) средству анализа 130 для принятия решения, какой из типов межпроцессного взаимодействия, синхронный или асинхронный, использовать для передачи данных от первого процесса 110 второму 150. Далее, после завершения работы средства анализа 130, получает от последнего информацию о типе межпроцессного взаимодействия, который необходимо использовать при передаче данных от первого процесса 110 второму 150. После чего в соответствии с полученным результатом осуществляет передачу данных второму процессу 150 средствами межпроцессного взаимодействия выбранного типа.

Средство анализа 130 предназначено для получения от средства обеспечения межпроцессного взаимодействия 120 запроса на определение для текущей задачи наиболее оптимального типа межпроцессного взаимодействия, проведения анализа по определению синхронного или асинхронного типа, при котором задача передачи данных от первого процесса 110 второму 150 была бы выполнена с наилучшей эффективностью, под которой подразумевается минимальное время исполнение запроса, минимальное время простоя ресурсов (например, таких как оперативная память, процессорное время, сетевая пропускная способность, файлы, носители информации и т.д.), а также минимальное увеличение этих характеристик для остальных процессов операционной системы, и предоставления результата анализа средству обеспечения межпроцессного взаимодействия 120.

Средство анализа 130 принимает от средства обеспечения межпроцессного взаимодействия 120 запрос на проведение анализа по определению типа межпроцессного взаимодействия, с помощью которого первый процесс 110 будет передавать данные второму процессу 150, и вынесения решения о том, какой из типов, синхронный или асинхронный, будет более эффективным для передачи данных, где под эффективностью понимается минимальное время исполнение запроса, минимальное время простоя ресурсов (например, таких как жесткий диск, оперативная память и т.д.), а также минимальное увеличение этих характеристик для остальных процессов операционной системы. После чего средство анализа 130, на основе полученных в запросе от средства обеспечения межпроцессного взаимодействия 120 данных (таких как идентификаторы первого 110 и второго 150 процесса, тип и объем передаваемых данных, идентификаторы ресурсов, с которым будут работать процессы, и т.д.), получает у средства получения данных от используемого ресурса 140 данные о состоянии ресурсов, используемые процессами 110 и 150, которые в зависимости от типа ресурсов включают такие параметры как наличие информации, сохраненной ранее в кэше (для разгрузки ресурсов и ускорения работы с ними результаты последних или часто вызываемых операций с ресурсами, например результаты выполненного SQL запроса или содержимое запрошенного файла, сохраняются в оперативной памяти или на жестком диске и при следующем обращении к ресурсу за такими же данными сразу выдаются клиенту), состояние очереди доступа к ресурсу, т.е. занят ли он или свободен и т.д. На основе анализа полученных данных средство анализа 130 выносит решение о том, какой тип межпроцессного взаимодействия, синхронный или асинхронный, предпочтительнее. После чего передает результат анализа средству обеспечения межпроцессного взаимодействия 120 для дальнейшей работы.

Средство получения данных от используемого ресурса 140 предназначено для выдачи по запросу и на основании переданных средством анализа 130 данных (таких как идентификаторы первого 110 и второго 150 процессов, тип и объем передаваемых данных, идентификаторы ресурсов, с которым будут работать процессы, и т.д.) состояния и свойств ресурса (таких как размер очереди процессов, использующих ресурс, наличие требуемой информации, ранее сохраненной в кэше, объем свободной оперативной памяти, объем свободного места на жестком диске и т.д.), полученных от ресурса или модулей операционной системы, обслуживающих ресурс (например, драйвер жесткого диска).

В качестве примера работы системы выбора межпроцессного взаимодействия можно привести ситуацию, когда один процесс хочет считать файл с жесткого диска. При этом заранее неизвестно, сколько на данную операцию будет затрачено времени, поскольку диск может быть загружен обращениями от других процессов, поиск файла на диске также может занять время и т.д. Поэтому разработчик при реализации своих алгоритмов воспользовался асинхронным вариантом функции считывания данных с диска. Когда средство анализа 130 получает от средства обеспечения межпроцессного взаимодействия 120 запрос на проведение исследования, какой из синхронного и асинхронного типов межпроцессного взаимодействия предпочтительнее использовать, оно запрашивает у средства получения данных от используемого ресурса 140 (в данном случае жесткого диска) информацию о его загруженности (размер очереди процессов, работающих с ним) и том, есть ли требуемые данные в кэше (т.е. были ли требуемые данные уже когда-то зачитаны и сохранены в память). Если требуемая информация уже есть в памяти или жесткий диск свободен, то средство анализа 130 сообщает средству обеспечения межпроцессного взаимодействия 120, что операцию считывания файла с жесткого диска можно выполнить синхронно (поскольку она пройдет быстрее, чем если бы использовалась асинхронная операция считывания), в противном случае операция должна быть выполнена асинхронно.

В качестве еще одного примера выбора между синхронным и асинхронным межпроцессным взаимодействием можно привести исполнение SQL запросов в базах данных. Процесс посылает в базу данных SQL запрос на предоставление данных по некоторым критериям. Поскольку время данной операции может быть довольно большим, то разработчик использует асинхронный тип запроса. Средство анализа 130 запрашивает у средства получения данных от используемого ресурса 140 (в данном случае базы данных) информацию о кэшировании (т.е. был ли ранее выполнен подобный SQL запрос и были ли сохранены по нему данные). Если кэширование было произведено, т.е. данные можно получить быстро, то SQL запрос можно выполнить синхронно.

Фиг. 2 показывает структурную схему алгоритма работы средства анализа.

На этапе 210 на вход средства анализа 230 от первого процесса приходит запрос на передачу данных одним из методов межпроцессного взаимодействия. Затем, на этапе 220 происходит определение способа передачи данных - синхронного или асинхронного. В случае если способ межпроцессного взаимодействия запроса синхронный, то второй процесс на этапе 250 получает данные от первого процесса методом синхронного межпроцессного взаимодействия. В случае если способ межпроцессного взаимодействия запроса асинхронный, то на этапе 230 происходит определение, есть ли реализация данного запроса через синхронный тип межпроцессного взаимодействия. В случае если у асинхронного запроса межпроцессного взаимодействия не существует синхронной версии, то второй процесс на этапе 260 получает данные от первого процесса методом асинхронного межпроцессного взаимодействия. В случае если у асинхронного запроса межпроцессного взаимодействия существует синхронная версия, то на этапе 240 на основе результатов опроса используемого ресурса происходит вычисление возможности использования синхронной версии межпроцессного взаимодействия. В случае если использование синхронной версии запроса межпроцессного взаимодействия признано целесообразным, то второй процесс на этапе 250 получает данные от первого процесса методом синхронного межпроцессного взаимодействия, в противном случае второй процесс на этапе 260 получает данные от первого процесса методом асинхронного межпроцессного взаимодействия.

Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована как любая известная из уровня техники шинная структура, содержащая, в свою очередь, память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.

Персональный компьютер 20, в свою очередь, содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода, по своему обычаю, подключают к компьютерной системе 20 через последовательный порт 46, который, в свою очередь, подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 является таким же персональным компьютером или сервером, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

1. Система выбора синхронного или асинхронного межпроцессного взаимодействия, которая содержит:
а) средство обеспечения межпроцессного взаимодействия, предназначенное для обеспечения синхронного или асинхронного взаимодействия между первым процессом, предназначенным для выполнения действий в операционной системе и передающим данные второму процессу с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, и вторым процессом, предназначенным для выполнения действий в операционной системе и принимающим данные от первого процесса с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, тип которого будет выбран динамически на основании решения, вынесенного средством анализа, а также для выбора асинхронного или синхронного метода межпроцессного взаимодействия;
б) средство анализа, предназначенное для получения от средства обеспечения межпроцессного взаимодействия запроса на проведение исследования оптимального выбора между асинхронным и синхронным типом межпроцессного взаимодействия, запроса средству получения данных от используемого ресурса на получение от последнего свойств используемых процессами ресурсов и выбора оптимального типа межпроцессного взаимодействия на основе полученных данных от средства получения данных от используемого ресурса;
в) средство получения данных от используемого ресурса, предназначенное для выдачи средству анализа по его запросу по крайней мере одного из свойств ресурса, такого как:
- наличие требуемой информации, сохраненной ранее в кэше,
- объем свободной оперативной памяти,
- объем свободного места на жестком диске.

2. Система по п. 1, в которой в качестве метода межпроцессного взаимодействия выступает по крайней мере один из методов с использованием:
- файла,
- сигнала,
- сокета,
- канала,
- именованного канала,
- семафора,
- разделяемой памяти,
- обмена сообщениями,
- проецируемого в память файла,
- очереди сообщений.

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

4. Система по п. 1, в которой в качестве ресурса, используемого процессами, выступает по крайней мере один из следующих:
- оперативная память,
- процессорное время,
- сетевая пропускная способность,
- файлы,
- носители информации.

5. Способ выбора синхронного или асинхронного межпроцессного взаимодействия, в котором:
а) передают данные от первого процесса, предназначенного для выполнения действий в операционной системе и передающего данные второму процессу с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, второму процессу, предназначенному для выполнения действий в операционной системе и принимающему данные от первого процесса с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, одним из методов межпроцессного взаимодействия;
б) собирают данные о состоянии ресурсов, используемых процессами в межпроцессном взаимодействии, где в качестве данных выступает по меньшей мере:
- наличие требуемой информации, сохраненной ранее в кэше,
- объем свободной оперативной памяти,
- объем свободного места на жестком диске;
в) проводят анализ собранных по процессам и ресурсам данных, заключающийся в определении того, что использование синхронного типа передачи данных от первого процесса второму приведет к достижению по меньшей мере одного из следующих результатов:
- передача будет выполнена за минимальное время,
- передача будет выполнена с максимальным использованием требуемых ресурсов, сводящим к минимуму их простой;
г) на основании анализа принимают решение о синхронном или асинхронном типе межпроцессного взаимодействия, который будет использован для передачи данных от первого процесса второму.

6. Способ по п. 5, в котором в качестве метода межпроцессного взаимодействия выступает по крайней мере один из методов с использованием:
- файла,
- сигнала,
- сокета,
- канала,
- именованного канала,
- семафора,
- разделяемой памяти,
- обмена сообщениями,
- проецируемого в память файла,
- очереди сообщений.

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



 

Похожие патенты:

Изобретение относится к обработке данных в виртуальной вычислительной среде. Технический результат - повышение безопасности обработки блока данных за счет предотвращения несанкционированного доступа в процессе криптографической обработки этого блока.

Изобретение относится к средствам обработки цифровых данных, области защиты от несанкционированного доступа к информации и может быть использовано для обработки и преобразования информации.

Изобретение относится к разъемам (соединителям) для соединения двух электронных устройств, в частности к реверсивным разъемам с конфигурируемыми контактами. Техническим результатом является динамическое конфигурирование контактов разъема стороны хоста на основе информации, полученной от подключенного аксессуара.
Изобретение относится к вычислительной технике, а именно к системам ретрансляции данных печати, которые управляют информацией, касательно устройства формирования изображений.

Изобретение относится к автоматике и вычислительной технике. Технический результат заключается в повышении точностных характеристик устройства управления выводом данных.

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

Изобретение относится к устройству связи для установления косвенного канала связи между этим устройством связи и по меньшей мере одним другим устройством связи. Технический результат изобретения заключается в обеспечении простой, интуитивной и мгновенной инициализации связи между двумя устройствами связи.

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

Изобретение относится к копированию настроек устройства на другое устройство, чтобы пользователю не приходилось настраивать каждое устройство в сети устройств, например настраивать каждую лампу в осветительной системе, образующей сеть ламп.

Изобретение относится к авиационной технике. Система автоматического управления самолетом при заходе на посадку содержит посадочную радиотехническую систему, включающую в себя связанные через радиоканал наземный глиссадный радиомаяк, бортовой глиссадный радиоприемник и дальномер.

Изобретение относится к способу/устройству передачи, которое передает цифровые сигналы, такие как видеосигналы, по каналу передачи данных с использованием дифференциальных сигналов, например, согласно стандарту мультимедийного интерфейса высокой четкости (HDMI). Техническим результатом является обеспечение передачи сигнала с высокой скоростью передачи данных при обеспечении обратной совместимости. Указанный технический результат достигается тем, что устройство 110 источник и устройство 120 потребитель соединяют с помощью кабеля 200 HDMI. Устройство 110 источника совместимо как с текущим HDMI, так и с новым HDMI. Число каналов дифференциального сигнала для передачи цифровых сигналов, таких как видеоданные, равно трем в текущем HDMI, но равно, например, шести в новом HDMI. В случае, когда кабель 200 совместим с новым HDMI, и устройство 120 потребитель совместимо с новым HDMI, модуль 113 управления устройства 110 источника управляет модулем 112 передачи данных для работы в новом рабочем режиме HDMI. В случае, когда модуль 113 управления определяет, что, по меньшей мере, устройство 120 потребитель совместимо только с текущим HDMI, или, по меньшей мере, кабель 200 совместим с текущим HDMI, модуль 113 управления управляет модулем 112 передачи данных для работы в существующем рабочем режиме HDMI. 6 н. и 19 з.п. ф-лы, 21 ил.

Изобретение относится к вычислительной технике. Технический результат заключается в ускорении обслуживания запросов абонентов на передачу сообщений. Способ передачи сообщений оптическими сигналами между устройствами рефлективной памяти (УРП), объединенными оптическим каналом из двух линий, в котором сообщения передаются последовательно через три цепочки пассивных оптических узлов (ПОУ), пронумерованных по направлению передачи сообщений и включенных в разрыв оптического канала, при этом сообщение при передаче через ПОУ сначала поступает на два пассивных оптических ответвителя (ОТВ), по одному на линию, с которых часть сигнала поступает в блок управления ПОУ (БУП) УРП для приема, а другая часть сигнала поступает на пассивный оптический переключатель (ПРКЛ), где сообщение может быть преобразовано; источником исходных сообщений для преобразования в канале является блок создания и ретрансляции сообщений (БСРС), который посылает в первую цепочку либо заготовки сообщений, сформированных в БСРС из сигналов, полученных с генератора оптических сигналов, либо сообщения, сформированные из сообщений, полученных с выхода второй цепочки ПОУ. 3 з.п. ф-лы, 7 ил., 3 табл.

Изобретение относится к средствам связи из нескольких подчиненных устройств с главным устройством по общей шине осуществления для опроса адресов с целью сообщения значений уникального адреса подчиненного устройства в главное устройство по общей шине. Технический результат заключается в уменьшении времени обнаружения подчиненных устройств. Принимают от главного устройства сигнала запроса, запрашивающего отправку адреса подчиненного устройства в главное устройство от каждого подчиненного устройства, соединенного с линией данных. Обеспечивают последовательную установку линии данных в логические состояния, соответствующие значениям битов в первом адресе подчиненного устройства. При установке линии данных в логическое состояние, отличное от соответствующего значения бита первого адреса подчиненного устройства, временный вход в состояние ожидания до тех пор, пока другое подчиненное устройство не завершит отправку своего адреса подчиненного устройства в главное устройство. 3 н. и 10 з.п. ф-лы, 3 ил.

Изобретение относится к области управления ресурсами в телекоммуникационной сети или в информационной системе. Техническим результатом является оптимизация времени исполнения базовых операций на календаре резервирования ресурсов. Способ включает в себя обновление дерева, каждый узел которого представляет временной период. Дерево содержит по меньшей мере один узел, представляющий временной период, включающий данную дату. Обновление дерева включает в себя этап добавления узлов таким образом, чтобы корневой узел включал в себя дату начала периода, а также добавление всех минимальных узлов периода резервирования. 8 з.п. ф-лы, 2 ил.

Изобретение относится к области обработки информации. Техническим результатом является повышение эффективности работы web-браузера. Устройство обработки информации, включающее в себя web-браузер, который отображает web-страницу посредством анализа первого структурированного документа, содержит средство хранения для хранения второго структурированного документа, включающего в себя описание для назначения инструмента для обработки первого структурированного документа, так что web-браузер может получать и анализировать второй структурированный документ независимо от первого структурированного документа; средство вызова для обеспечения вызова web-браузером упомянутого инструмента путем предписания web-браузеру заново получить и проанализировать второй структурированный документ, хранящийся в средстве хранения, в соответствии с инструкцией, которая вводится пользователем; и средство обработки для обработки первого структурированного документа согласно функционированию через упомянутый инструмент, вызванный посредством средства вызова. 3 н. и 12 з.п. ф-лы, 9 ил.

Изобретение относится к области обработки изображений. Технический результат - сокращение времени при распространении данных изображения. Устройство обработки изображений осуществляет связь с сервером, который обеспечивает функцию микроблогинга для публикации сообщения, зарегистрированного пользователем, другим пользователям, регистрирует первое сообщение на сервере, если данные изображения сохранены в памяти; отслеживает второе сообщение, вновь регистрируемое относительно зарегистрированного первого сообщения; анализирует второе сообщение, если обнаружено второе сообщение; и передает данные изображения на основе результата анализа. 4 н. и 9 з.п. ф-лы, 13 ил.

Изобретение относится к области средств передачи информации в виде пакетов. Техническим результатом является уменьшение энергопотребления, а также обеспечение гарантированной доставки данных. Способ характеризуют предварительным определением количества необходимых оконечных станций и коммутаторов с определением необходимой топологии каналов связи между ними путем передачи через используемые каналы связи конфигурационных пакетов. Настраивают используемые коммутаторы и оконечные устройства для приема/передачи информации. Передаваемую информацию разбивают на пакеты для передачи по стандарту PCI-Express размером не свыше 4 килобайт с учетом служебных слов. 1 з.п. ф-лы, 1 ил.

Изобретение относится к системам управления документами. Технический результат заключается в обеспечении возможности выгрузки файлов, управляемых файловой системой операционной системы посредством исполнения операции "перетащить и отпустить". Такой результат достигается тем, что используются первая и вторая программы-дополнения, которые работают в веб-браузере. Первая программа-дополнение отображает иерархическую структуру папок, управляемую сервером управления документами в области отображения в веб-браузере, определяет, совпадает ли указывающее устройство с какой-либо папкой, отображаемой в веб-браузере, на основе информации события мыши, установленной веб-браузером, и устанавливает информацию о папке, совпадающей с указывающим устройством, в веб-браузере. Веб-браузер сохраняет информацию папки в блоке промежуточного хранения данных. Вторая программа-дополнение выгружает файл в папку, идентифицированную посредством информации папки, сохраненной в блоке промежуточного хранения данных. 2 н. и 10 з.п. ф-лы, 20 ил.

Изобретение относится к пользовательским устройствам для обработки видеоизображений. Технический результат заключается в качественной передаче видеоданных, полученных от нескольких источников, по нестабильным каналам за счет синхронизации этих видеоизображений. Способ съемки и отображения зрелищного мероприятия с участием персонажей в количестве, необходимом для его осуществления, и пользовательский интерфейс для осуществления способа предусматривают отображение каждого из персонажей либо группы взаимосвязанных друг с другом персонажей на отдельном участке экрана пользовательского устройства воспроизведения. Осуществляют прием аудиовизуальной информации, по меньшей мере, одним пользовательским устройством воспроизведения с разделением аудиовизуальной информации на составляющие, соответствующие источнику, обеспечившему упомянутое получение видеоизображения и звука и формирование, по меньшей мере, двух полей аудиовизуального ряда на экране указанного пользовательского устройства воспроизведения, каждое из которых отображает аудиовизуальную информацию, полученную от соответствующего источника, с одновременной возможностью пользовательской корректировки параметров аудиовизуального ряда. В качестве пользовательского устройства воспроизведения может быть выбран мобильный терминал связи типа iPhone или iPad. 2 н. и 9 з.п. ф-лы, 1 ил.

Изобретение относится к технологиям производства электронной аппаратуры, в частности к терминалу беспроводной связи. Техническим результатом является снижение температуры поверхности корпуса модуля терминала беспроводной связи. Терминал беспроводной связи содержит корпус и расположенную в нем материнскую плату, а также USB-компонент, в котором предусмотрен тепловыделяющий модуль. USB-компонент выполнен с возможностью установки снаружи корпуса, а разъем для прямого подключения на USB-компоненте соединен с тепловыделяющим модулем, который содержит, по крайней мере, модуль преобразования напряжения; причем тепловыделяющий модуль и материнская плата используют электрические соединения. USB-компонент соединен с корпусом. 12 з.п. ф-лы, 9 ил.

Изобретение относится к области межпроцессного взаимодействия. Технический результат настоящего изобретения заключается в повышении эффективности межпроцессного взаимодействия за счет выбора между синхронными и асинхронными методами межпроцессного взаимодействия. Система выбора синхронного или асинхронного межпроцессного взаимодействия содержит средство обеспечения межпроцессного взаимодействия, предназначенное для обеспечения синхронного или асинхронного взаимодействия между первым процессом, предназначенным для выполнения действий в операционной системе и передающим данные второму процессу с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, и вторым процессом, предназначенным для выполнения действий в операционной системе и принимающим данные от первого процесса с использованием методов межпроцессного взаимодействия посредством средства обеспечения межпроцессного взаимодействия, тип которого будет выбран динамически на основании решения, вынесенного средством анализа, а также для выбора асинхронного или синхронного метода межпроцессного взаимодействия; средство анализа, предназначенное для получения от средства обеспечения межпроцессного взаимодействия запроса на проведение исследования оптимального выбора между асинхронным и синхронным типом межпроцессного взаимодействия, запроса средству получения данных от используемого ресурса на получение от последнего свойств используемых процессами ресурсов и выбора оптимального типа межпроцессного взаимодействия на основе полученных данных от средства получения данных от используемого ресурса; средство получения данных от используемого ресурса, предназначенное для выдачи средству анализа по его запросу по крайней мере одного из свойств ресурса, такого как наличие требуемой информации, сохраненной ранее в кэше, объем свободной оперативной памяти, объем свободного места на жестком диске. 2 н. и 5 з.п. ф-лы, 3 ил.

Наверх