Способ и электронное устройство управления разрешениями для объектов



Способ и электронное устройство управления разрешениями для объектов
Способ и электронное устройство управления разрешениями для объектов
Способ и электронное устройство управления разрешениями для объектов
Способ и электронное устройство управления разрешениями для объектов

 


Владельцы патента RU 2632142:

Общество с ограниченной ответственностью "ЯНДЕКС" (RU)

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

 

Перекрестная ссылка

[01] Отсутствует.

Область техники, к которой относится изобретение

[02] Настоящее техническое решение относится к интерфейсам программирования приложений (API) в целом, и, конкретнее, к системе и способу управления объектами в различных вариантах реализации API.

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

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

[04] Интерфейс программирования приложений (API) представляет собой набор процедур, протоколов и инструментов для создания программных приложений. API указывает на то, как именно должны взаимодействовать различные программные компоненты. API используются, например, при разработке компонентов графического пользовательского интерфейса (GUI). API помогает разрабатывать программное обеспечение путем предоставления всех строительных блоков, которые программист далее составляет вместе. Существуют различные типы API для операционных систем, приложений и веб-сайтов.

[05] Многие API используют объектно-ориентированное программирование, в которых программисты определяют не только тип данных в структуре данных, но также типы операций (функций), которые будут применяться к структуре данных. Поэтому структура данных становится объектом, который включает в себя данные и функции. В общем случае, «объект» является элементом, который может индивидуально выбираться и управляться. Он может включать в себя формы и изображения, которые появляются на экране монитора, а также менее осязаемые объекты. В объектно-ориентированном программировании, например, объект представляет собой автономный элемент, который состоит из данных и процедур для управления данными. Объектно-ориентированные способы программирования позволяют программистам создавать модули, которые нет необходимости менять в тот момент, когда добавлен новый объект, поскольку программист может легко создавать новый объект, который наследует многие из характеристик существующих объектов, что делает объектно-ориентированные объекты более удобными для модификации. Дополнительно, программисты могут создавать связи между объектами. Например, объекты могут наследовать характеристики от других объектов.

[06] Поскольку число компьютерных программ (например, браузеры, приложения, апплеты и так далее), которые используются электронными устройствами, растет, возрастает и необходимость совместного управления объектами. В общем случае, объекты управляются центральным менеджером разрешений, который способствует определению и/или выдаче разрешений, которые необходимы для работы. Тем не менее, существует необходимость в улучшенных способах и системах для управления объектами в пределах программной среды, например, API.

[07] Патент США №US 6993665, опубл. 31.01.2006 описывает способы и устройство для предоставления менеджера разрешений, который способен помогать апплету, например, определять и/или давать разрешения, которые необходимы для работы. Описано устройство для управления разрешениями, устройство включает в себя программное приложение, менеджер разрешений, который связан с программным приложением и получает запрос, отправленный программным приложением, и программную среду, связанную с менеджером разрешений. Запрос может указывать на разрешение, которое может быть запрошено менеджером разрешений. Менеджер разрешений может получать доступ к программной среде для определения необходимого разрешения, соответствующего разрешению, и для определения того, как именно следует давать запрашиваемое разрешение.

[08] Международная заявка WO 1994023362 опубл. 13.10.1994 описывает объектно-ориентированную программную среду. Среда включает в себя множество классов и объектов. Каждый объект связывается с другими объектами в среде путем передачи сообщений, которые выполняют способы в этих других объектах. Среда содержит по меньшей мере один целевой объект, который содержит один или несколько универсальных способов, которые используются для связи с другим объектом. Эти универсальные способы обычно включены во все целевые объекты в среде, одновременно с соответствующими универсальными экземплярами переменных, которые использовались универсальными способами, тем самым формируя универсальный протокол или интерфейс для целевых объектов. Поведенческие объекты, объекты, которые реализуют поведение других объектов, получают и модифицируют свойства целевого объекта путем прямого применения универсальных способов, находящихся в целевом объекте. Связь между поведенческим объектом и целевым объектом осуществляется по универсальному протоколу (способ и экземпляры переменных).

[09] Известны шаблоны посредников для определения объекта, в котором заключается описание того, как именно взаимодействуют объекты. С учетом шаблона посредника, связь между объектами описывается с помощью объекта-посредника. Объекты больше не взаимодействуют друг с другом, они взаимодействуют через посредника. Это уменьшает зависимость между связанными объектами, что снижает связанность (см. «Посредник (шаблон проектирования)» в Википедии. Фонд Википедии, 28 ноября 2014 года. Web. https://ru.wikipedia.org/wiki/Посредник_(шаблон_проектирования))

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

[10] Задачей предлагаемого технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники. Варианты осуществления настоящего технического решения были разработаны на основе предположений изобретателей о том, что существует необходимость в способах и системах для управления объектами в программной среде, например, API.

[11] Одним объектом настоящего технического решения является способ управления разрешениями для объектов, объекты выполняются сервером как часть программных процедур, способ выполняется на электронном устройстве (например, клиентском устройстве или сервере). Способ включает в себя получение первого запроса на первый объект от первого элемента запроса, первый запрос включает запрос на выполнение первого действия над первым объектом, выполнение первого действия требует первого разрешения. В ответ на первый запрос, дается первое разрешение на выполнение первого действия первому запросчику, и первый запросчик, следовательно, контролирует первый объект. Получают второй запрос на первый объект от второго запросчика, второй запрос включает запрос на выполнение второго действия над первым объектом, выполнение второго действия требует второго разрешения. В ответ на указанный второй запрос, второй запрос передается первому запросчику, первый запросчик контролирует первый объект. Выполняется одно из следующего: первый запросчик дает второе разрешение второму запросчику, что позволяет выполнять второе действие вторым запросчиком, второй запросчик, следовательно, контролирует первый объект, и завершение первого разрешения и выполнения первого действия первым запросчиком; или первый запросчик не дает второе разрешение второму запросчику, тем самым не позволяя выполнять второе действие вторым запросчиком, первый запросчик продолжает контролировать первый объект.

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

[13] В некоторых вариантах осуществления настоящего технического решения, первое действие и второе действие являются одним и тем же действием. В альтернативных вариантах осуществления настоящего технического решения, первое действие и второе действие являются различными действиями. В некоторых вариантах осуществления настоящего технического решения, второе действие включает в себя первое действие и дополнительное действие. В подобных вариантах осуществления первый запросчик может частично давать второе разрешение второму запросчику, что позволяет выполнять часть второго действия вторым запросчиком. Например, первый запросчик может частично давать второе разрешение второму запросчику, что позволяет выполнять первое действие вторым запросчиком и не позволяет выполнять дополнительное действие вторым запросчиком. В альтернативных вариантах осуществления настоящего технического решения, первый запросчик может позволить выполнение дополнительного действия вторым запросчиком и не позволить выполнение первого действия вторым запросчиком. В тех вариантах осуществления настоящего технического решения, где разрешение было частично дано второму запросчику, первый запросчик продолжает частично контролировать первый объект, второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.

[14] В некоторых вариантах осуществления настоящего технического решения, первый объект включает в себя элемент пользовательского интерфейса, указатель, аудио-объект, объект изображения, видео-объект или текстовый объект. Неограничивающие примеры элементов пользовательского интерфейса включают в себя текстовые поля, панели инструментов, строки меню и кнопки. В некоторых вариантах осуществления настоящего технического решения, первый объект может представлять собой всплывающий объект.

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

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

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

[18] В некоторых вариантах осуществления электронного устройства, первое действие и второе действие являются одним и тем же действием. В альтернативных вариантах осуществления электронного устройства, первое действие и второе действие являются разными действиями. В некоторых вариантах осуществления электронного устройства, второе действие включает в себя и первое действие и дополнительное действие, и первый запросчик частично дает второе разрешение второму запросчику, таким образом, выполнение части второго действия разрешено вторым запросчиком. Например, в некоторых вариантах осуществления настоящего технического решения, первый запросчик частично дает второе разрешение второму запросчику, что позволяет выполнить первое действие вторым запросчиком и не позволяет выполнить дополнительное действие вторым запросчиком. В альтернативных вариантах осуществления настоящего технического решения, первый запросчик частично дает второе разрешение второму запросчику, что позволяет выполнить дополнительное действие вторым запросчиком и не позволяет выполнять первое действие вторым запросчиком. В подобных вариантах осуществления настоящего технического решения, первый запросчик продолжает частично контролировать первый объект, второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.

[19] В некоторых вариантах осуществления электронного устройства, первый объект включает в себя элемент пользовательского интерфейса, указатель, аудио-объект, объект изображения, видео-объект или текстовый объект. Неограничивающие примеры элементов пользовательского интерфейса включают в себя текстовые поля, панели инструментов, строки меню, гиперссылки и кнопки. В некоторых вариантах осуществления электронного устройства первый объект является всплывающим объектом.

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

[21] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от электронных устройств) по сети (например, сети передачи данных) и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для настоящего технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».

[22] В контексте настоящего описания «электронное устройство» подразумевает под собой вычислительное устройство или компьютерное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, некоторыми примерами электронных устройств (среди прочего) могут служить универсальные персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), мобильные компьютерные устройства, смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что электронное устройство в настоящем контексте может вести себя как сервер по отношению к другим электронным устройствам. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода. В контексте настоящего описания термин «клиентское устройство» относится к любому из ряда клиентских электронных устройств, связанных с пользователем, например, персональные компьютеры, планшеты, смартфоны и тому подобное.

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

[24] В контексте настоящего описания термин «данные» включает в себя любую информацию, которая может храниться, например, в базе данных, или может быть передана в электронной форме, например, потоком. Таким образом, данные включают в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные о местоположении, цифровые данные и т.д., текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.

[25] В контексте настоящего описания термин «машиночитаемый носитель информации» подразумевает носитель абсолютно любого типа. Машиночитаемый носитель информации может включать в себя энергозависимые и энергонезависимые, переносные и не переносные носители, которые реализованы в соответствии с любым способом или технологией, для хранения информации, например, машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители могут включать в себя ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или любая другая архитектура памяти, компакт диски, DVD-диски или другие оптические носители, дискеты, жесткие диски, магнитные кассеты, накопители на магнитной ленте, USB ключи, твердотельные накопители, ленточные накопители или любые другие носители, которые могут быть использованы для хранения желаемой информации, которая может быть доступна для извлечения

[26] В контексте настоящего описания термин «сеть передачи данных» означает любую сеть передачи данных, например, компьютерную сеть, Интернет, телефонную сеть, систему телексной связи, сеть TCP/IP (например, сеть WAN, сеть LAN) и тому подобное. Термин «сеть передачи данных» включает в себя проводную сеть или напрямую соединенную сеть, а также беспроводную связь, например, акустическую, радиочастотную, инфракрасную и другие типы беспроводной связи, а также комбинации любых из вышеперечисленных.

[27] Специалисты в данной области техники поймут, что в настоящем описании выражение «получение данных» от пользователя или программы подразумевает получение электронным устройством данных от пользователя или программы в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя или GUI (например, экран компьютерного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя. Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Важно иметь в виду, что варианты осуществления сигналов никак конкретно не ограничены. Например, сигналы могут быть переданы и получены, без установления ограничений, с помощью оптических средств (например, оптического соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).

[28] В контексте настоящего описания термин «сервис облачного хранения» представляет собой вычислительные средства, в которых множество клиентов, клиентских устройств, обществ, IT доменов, и/или приложений управляются или контролируются по отдельности в среде со множеством управляющих элементов. «Облачная» среда относится к структуре, в которой множество независимых пользователей используют общую инфраструктуру, платформы, сервисы/приложения или ресурсы таким образом, что каждая из них изолирована друг от друга. Пользователь/клиент может представлять собой компанию, организацию, индивидуального человека, а клиентское устройство может относиться к любому из клиентских устройств пользователя, как описано здесь. Такие облачные сервисы обеспечивают связь для использования, например, персональными компьютерами, планшетами, смартфонами или другим пользовательскими устройствами (домашние развлечения и так далее). Известны многие типы облачных сервисов. Например, облачный сервис может включать в себя отдельные административные модели, которые применяются к блейд-серверам в дата центре, или любое распределение соединенных устройств. Общая инфраструктура, платформы, сервисы/приложения или ресурсы обычно управляются администратором, который поддерживает работу облачного сервиса. Облачные ресурсы могут быть личными или публичными.

[29] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый пользователь» и «третий пользователь» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) пользователей/между пользователями, равно как и их использование (само по себе) не предполагает, что некий «второй пользователь» обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.

[30] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящего технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.

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

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

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

[33] На Фиг. 1 представлена принципиальная схема системы, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[34] На Фиг. 2 представлен снимок экрана, на котором показан графический пользовательский интерфейс, отображающий карту улиц и связанные программные объекты.

[35] На Фиг. 3 представлена блок-схема способа, выполняемого в рамках системы, изображенной на Фиг. 1, и выполненного с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

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

[36] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого экземпляра настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.

[37] Система 100 включает в себя сеть 50 передачи данных. Сеть 50 передачи данных обычно связана с электронным устройством 20 и сервером 40, сервер 40 связан с устройством 30 хранения данных, которое хранит программный код для программ 10, 15.

[38] Варианты осуществления сервера 40 никак конкретно не ограничены, и, например, сервер 40 может быть реализован как одиночный сервер. Альтернативно, сервер 40 может представлять собой множество серверов.

[39] Варианты осуществления устройства 30 хранения данных никак конкретно не ограничены. Например, устройство 30 хранения данных может является таким устройством памяти как жесткий диск (не показано), встроенный в электронное устройство 20, или устройство 30 хранения данных может быть соединено с электронным устройством 20 по сети 50 передачи данных или по любому подходящему проводному или беспроводному соединению. Устройство 30 хранения данных обычно представляет собой элемент, способный хранить файлы и данные, например, программный код для программ 10, 15. Аналогично серверу 40, устройство 30 хранения данных может быть реализовано как одиночный элемент, или, альтернативно, как множество элементов. В рамках последнего варианта, каждое из множества устройств хранения данных, реализующих устройство 30 хранения данных, может отвечать за сохранение файлов для пользователей в конкретном регионе; или конкретного типа пользователей; или конкретного типа или размера файлов. Альтернативно, каждое из множества устройств хранения данных, реализующих устройство 30 хранения данных, может быть выполнено с возможностью сохранять файлы в соответствии с принципом распределения нагрузки, который выполняется контролирующим элементом (который может быть, например, сервером 40, или одним из множества серверов).

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

[41] Варианты осуществления электронного устройства 20 никак конкретно не ограничены. Электронное устройство может представлять собой любое вычислительное устройство, которое способно работать с подходящим программным обеспечением для заданной задачи, например, без установления ограничений: персональные компьютеры общего назначения (настольные компьютеры, ноутбуки, нетбуки и так далее), мобильные вычислительные устройства, смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Электронное устройство 20 включает в себя процессор или центральный процессор (CPU) 22 и блок 25 памяти. Несмотря на то, на иллюстративном примере на Фиг. 1 представлено одиночное электронное устройство 20, множество электронных устройств может быть использовано для получения/передачи, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.

[42] Следует иметь в виду, что электронное устройство 20 может вести себя как сервер 40 по отношению к другим электронным устройствам (не показаны). Другими словами, несмотря на то, что вариант осуществления, представленный на Фиг. 1, представляет электронное устройство 20 и сервер 40 как отдельные аппаратные компоненты, в некоторых вариантах осуществления настоящего технического решения сервер 40 может быть физически смежен с электронным устройством 20, т.е. они не обязательно являются отдельными элементами аппаратного обеспечения, как показано, хотя это может быть и так.

[43] Экземпляр 11 программы 10 загружен в адресное пространство памяти 25 электронного устройства 20. Варианты осуществления памяти 25 никак конкретно не ограничены. Память 25 может содержать в себе систему виртуальной памяти с физической памятью, отдельной от адресного пространства, но с целью упрощения память показана на Фиг. 1 как простой блок 25.

[44] Экземпляр 11 программы конкретно выполнен, в свою очередь, для инстанцирования ряда программных объектов от 121 до 122 (указаны вместе как программные объекты 12). Программные объекты могут представлять собой сочетание выполняемого кода и данных, и, следовательно, могут выполнять обработку самостоятельно и/или предоставлять данные для обработки другими программными объектами. Например, программный объект, такой как функция или подпрограмма, может быть создан родительским объектом или даже основной программой для выполнения некоторой обработки от имени вызывающего родительского объекта или основной программы. Данные объекта могут быть различных типов, например: примитивные типы данных, такие как целые числа, вещественные числа, булевы числа, знаки; и структурированные или абстрактные типы данных, такие как, массивы или списки, а также определенные типы данных, каждый из которых включает в себя множество экземпляров данных или комбинаций типов данных.

[45] Как было описано выше программные объекты могут содержать в себе примеры функций, созданных в течение выполнения экземпляра 11 программы или простых или структурированных объектов данных, некоторые из которых могут содержать значения указателей, которые указывают на другие функции или данные. Программные объекты 12 обычно расположены в иерархическом порядке, с родительскими объектами вызывающими инстанцирование одного или нескольких дочерних объектов. Для простоты понимания, только один уровень дочерних объектов показан на Фиг. 1 с объектами 121-122, которые инстанцированы экземпляром программы 10. Однако, будет понятно, что даже в программе средней сложности иерархия объектов может содержать множество уровней объектов.

[46] Программные объекты 12 могут быть выполнены сервером 40 как часть программных процедур, например, как часть программ 10, 15. Важно иметь в виду, что варианты осуществления программных объектов никак конкретно не ограничены. Неограничивающие примеры программных объектов 12 включают в себя элементы пользовательского интерфейса (например, текстовые поля, панели инструментов, строки меню и кнопки и тому подобное), указатели, аудио объекты, объекты изображений, видео объекты и текстовые объекты. В некоторых вариантах осуществления настоящего технического решения, программные объекты 12 могут представлять собой всплывающие объекты. Неограничивающие примеры всплывающих объектов включают в себя объекты, которые появляются поверх или над окном браузера с веб-сайтом. Например, всплывающий объект может появляться в тот момент, когда опция была выбрана путем нажатия или какого-либо другого указания на выбор пользователя. В некоторых вариантах осуществления настоящего технического решения, всплывающий объект может появляться когда пользователь располагает курсор (например, наводит курсор) на часть браузерного окна или веб-сайта. Многие варианты осуществления всплывающих объектов могут быть использованы, что хорошо известно в данной области техники.

[47] Реализация сети 50 передачи данных никак конкретно не ограничена, и будет зависеть от того, как именно реализовано электронное устройство 20, сервер 40 и устройство 30 беспроводной связи. В некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем, сеть 50 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящего технического решения, сеть передачи данных 50 может быть реализована иначе - в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п.В качестве примера, но не ограничения, в данных вариантах осуществления настоящего технического решения в случаях, когда электронное устройство 20 представляет собой клиентское устройство, например, беспроводное устройство связи (например, смартфон), сеть 50 передачи данных представляет собой беспроводной канал передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 20 представляет собой портативный компьютер, сеть 50 передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet). Различные электронные устройства и различные сети передачи данных могут быть реализованы независимо друг от друга.

[48] Для дальнейшего понимания и иллюстрации системы 100 будет сделана ссылка на Фиг. 2, на которой представлен снимок 200 экрана графического пользовательского интерфейса, который отображает карту 260 улиц пользователю (не показан), карта 260 улиц указывает местоположение адреса 250 пользователю. Важно иметь в виду, что Фиг. 2 представлена только для целей иллюстрации и облегчения понимания сути настоящего технического решения. Важно также иметь в виду, что Фиг. 2 содержит большой объем информации, но только актуальные части будут пронумерованы и описаны.

[49] Варианты осуществления снимка 200 экрана никак конкретно не ограничены. В одном неограничивающем примере снимок 200 экрана может отображаться браузерным приложением (не показано) или открываться с помощью интернет-браузера (не показано).

[50] В неограничивающем варианте осуществления настоящего технического решения, показанном на Фиг. 2, снимок 200 экрана показывает объект 210 данных, в котором пользователь (не показан) ввел адрес 250 «адрес 1» (англ. «address1»), который пользователь ищет; объект 220 кнопки, на который пользователь может нажать для инициирования отображения адреса 250, введенного в объект 210 ввода данных; второй объект 230 кнопки; объект 240 указателя, указывающий положение адреса 250 на карте 260 улиц.

[51] Во втором объекте 230 кнопки пользователь может нажимать на термины («отели», «рестораны») для инициирования поиска ближайших отелей или ресторанов (расположенных неподалеку от адреса 250). Например, если пользователь (не показан) нажимает на термин «отели» на втором объекте 230 кнопки, то может возникнуть новый объект (не показан), новый объект будет указывать на отель, расположенный неподалеку от адреса 250. В некоторых вариантах осуществления настоящего технического решения, другие объекты также могут быть перемещены в ответ на нажатие пользователем на термин «отели» на втором объекте 230 кнопки. Например, в ответ на нажатие пользователей на термин «отели» на втором объекте 230 кнопки, появляется новый объект (не показан), объект 240 указателя и объект 210 ввода данных могут быть удалены.

[52] Реализация карты 260 улиц, доступной пользователю, никак конкретно не ограничена. В качестве одного примера, пользователь может получать доступ к веб-сайту, связанному с картой или другими сервисами. Например, сервис Яндекс Карты может быть вызван путем ввода URL (например, https://maps.yandex.com) в браузер, например, связанного с поисковой системой Yandex www.yandex.ru. Клиентское устройство может, например, выполнять приложение Яндекс браузер. Важно иметь в виду, что любое другое коммерчески доступное или собственное браузерное приложение, и любая доступная картографическая система могут быть использованы для реализации вариантов осуществления настоящего технического решения, не ограничивающих его объем.

[53] В альтернативных вариантах осуществления настоящего технического решения пользователь может скачать приложение Яндекс Карты (также упоминаемое как «приложение») на клиентское устройство, например, смартфон, и может получать доступ к картографическому сервису с помощью приложения. В другом неограничивающем варианте осуществления настоящего технического решения, API Яндекс Карт может быть установлен на веб-приложении или сайте, а пользователь может получать доступ к картографическому сервису с помощью API на веб-приложении или сайте. Другие варианты осуществления также возможны, что будет очевидно специалистам в данной области техники.

[54] На Фиг. 3 представлена принципиальная схема способа 300, выполненного в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Процесс 300 может выполняться электронным устройством 20.

[55] Этап 302 - получение первого запроса на первый объект от первого элемента запроса, первый запрос включает в себя запрос на выполнение первого действия над первым объектом, выполнение первого действия требует первого разрешения

[56] Способ 300 начинается на этапе 302, где процессор 22 электронного устройства 20 получает первый запрос (не показано) на первый объект 121 от сервера 40, первый запрос включает в себя запрос на выполнение первого действия (не показано) над первым объектом 121, выполнение первого действия требует первого разрешения (не показано).

[57] В некоторых неограничивающих вариантах осуществления настоящего технического решения первый запрос получают от программы 10 через сервер 40 и сеть 50 передачи данных. В альтернативных неограничивающих вариантах осуществления настоящего технического решения первый запрос получают от экземпляра 11 программы 10, загруженного в память 25 электронного устройства 20. В подобных вариантах осуществления настоящего технического решения первый запрос может быть получен от процессора 22 электронного устройства 20.

[58] Варианты осуществления первого объекта 121 никак конкретно не ограничены. Обращаясь к иллюстративному варианту осуществления настоящего технического решения, представленному на Фиг. 2, первый объект 121 для целей иллюстрации может считаться объектом 240 указателя. Важно отметить, что возможны многие другие варианты осуществления настоящего технического решения. Например, в альтернативных вариантах осуществления настоящего технического решения, первый объект 121 может представлять собой объект 210 ввода данных, объект 220 кнопки или объект 230 второй кнопки. Для простоты иллюстрации предполагается, что в рассматриваемом варианте осуществления настоящего технического решения первый объект 121 представляет собой объект 240 указателя.

[59] Первый запрос включает в себя запрос на выполнение первого действия над первым объектом 121. Варианты осуществления первого действия никак конкретно не ограничены. Как известно в данной области техники, могут выполняться различные операции или функции в связи с программными объектами 12 или с их помощью. Неограничивающие примеры подобных действий включают в себя отображение или демонстрацию объекта, например, в GUI; разрешение на появление объекта; ввод текста в объект; ввод данных или информации в объект; нажатие на объект; выбор объекта; выбор части объекта; и удаление объекта.

[60] Обращаясь снова к иллюстративному варианту осуществления, показанному на Фиг. 2, первый запрос на первый объект 121 (соответствующий объект 240 указателя в данном примере) включает в себя запрос отобразить объект 204 указателя на карте 260 улиц, на месте адреса 250. Первый запросчик в данном примере представляет собой программу 10 (или экземпляр 11 программы 10), которая в целях иллюстрации соответствует картографическому приложению (например, Яндекс Карты).

[61] Далее, на первом этапе 302 способа 300, представленного на Фиг. 3, осуществляется получение первого запроса на первый объект от первого элемента запроса. Первый запрос требует первого разрешения (не показано). Другими словами, первый запросчик запрашивает разрешение для выполнения первого действия над первым объектом. В примере, показанном на Фиг. 2, картографическое приложение (не показано) запрашивает разрешение отобразить объект 240 указателя на карте 260 улиц, на месте адреса 250, пользователь ввел адрес 250 в объект 210 ввода данных и нажал на объект 220 кнопки для инициации отображения адреса 250.

[62] Этап 304 - в ответ на первый запрос дается первое разрешение на выполнение первого действия запросчику, и первый запросчик, следовательно, контролирует первый объект

[63] Способ 300 далее переходит к выполнению этапа 304. В ответ на получение первого запроса, первому запросчику дается первое разрешение на выполнение первого действия.

[64] В общем случае, операционная система (не показана) электронного устройства 20 включает в себя центральный менеджер разрешений (не показан), который определяет разрешения в рамках и внутри системы электронного устройства 20. На этапе 304 первый запрос поступает центральному менеджеру разрешений, первое разрешение на выполнение первого действия дается первому запросчику центральным менеджером разрешений. Со ссылкой на пример, показанный на Фиг. 2, разрешение отобразить объект 240 указателя на карте 260 улиц на месте адреса 250, дается первому запросчику центральному менеджеру разрешений (не показано) электронного устройства 20. Объект 240 указателя, следовательно, отображается на карте 260 улиц на месте адреса 250, например, на GUI (не показан) электронного устройства 20.

[65] Продолжая с этапом 304 способа 300, первый запросчик получил первое разрешение от центрального менеджера разрешений (не показан) электронного устройства 20, первый запросчик, следовательно, контролирует первый объект 121 (объект 240 указателя в данном случае). В контексте настоящего описания термин «контролирует» данный объект подразумевает под собой контроль за разрешениями для данного объекта. Таким образом, несмотря на то, что первично центральный менеджер разрешений (не показан) электронного устройства 20 определяет разрешения для первого объекта 121, после того как первое разрешение было дано первому запросчику, первый запросчик получает контроль над разрешениями для первого объекта 121 от центрального менеджера разрешений. Далее, когда первый запросчик продолжает контролировать первый объект 121, уже первый запросчик будет давать/не давать разрешения в ответ на последующие запросы на выполнение действий над первым объектом 121.

[66] В вариантах осуществления настоящего технического решения, разрешения определяются (даются/не даются) в соответствии с заранее определенными правилами. Элемент, ответственный за разрешения (например, центральный менеджер разрешений электронного устройства 20, запросчик или элемент, контролирующий первый объект 121), будет определять разрешения для объектов 12 в соответствии с заранее установленными правилами. Например, центральный менеджер разрешений, API и/или рассматриваемая программа могут следовать набору заранее определенных правил и процедур, как будет понятно специалистам в данной области техники.

[67] Варианты осуществления первого элемента запроса никак конкретно не ограничены. В некоторых вариантах осуществления настоящего технического решения объектно-ориентированный менеджер разрешений, отдельный от центрального менеджера разрешений, но связанный с ним, становится связанным с первым запросчиком. Последующие запросы, относящиеся к первому объекту 121, будут передаваться от центрального менеджера разрешений объектно-ориентированному менеджеру разрешений, связанному с первым запросчиком, который определяет разрешения для первого объекта 121. Если другой запросчик контролирует первый объект 121, то объектно-ориентированный менеджер разрешений становится связанным с другим запросчиком и так далее. Если не было сделано никакого запроса и ни один из элементов запроса не контролирует первый объект 121, то объектно-ориентированный менеджер разрешений остается связанным с центральным менеджером разрешений.

[68] Способ 300 далее переходит к выполнению этапа 306.

[69] Этап 306 - получение второго запроса на первый объект от второго элемента запроса, второй запрос включает запрос на выполнение второго действия над первым объектом, выполнение второго действия требует второго разрешения

[70] Способ 300 продолжается на этапе 306, где второй запрос (не показан) на первый объект 121 получают от второго элемента запроса (не показан), второй запрос включает в себя запрос на выполнение второго действия (не показано) над первым объектом 121, выполнение второго действия требует второго разрешения (не показано).

[71] Как описано со ссылкой на этап 302 и первый запрос, центральный менеджер разрешений (не показан) электронного устройства 20 получает второй запрос на первый объект 121 от сервера 40. В некоторых неограничивающих вариантах осуществления настоящего технического решения второй запрос получают от второго элемента запроса через сервер 40 и сеть 50 передачи данных. В альтернативных неограничивающих вариантах осуществления настоящего технического решения, второй запросчик расположен в памяти 25 электронного устройства 20, и второй запрос получают от процессора 22 электронного устройства 20 через центральный менеджер разрешений.

[72] Варианты осуществления второго действия никак конкретно не ограничены. Важно иметь в виду, что второе действие может быть или не быть точно таким же, как первое действие, т.е. первое действие и второе действие могут быть одинаковыми или отличающимися. Со ссылкой на вариант осуществления настоящего технического решения, представленный на Фиг. 2, первое действие и второе действие могут отображать объект 240 указателя на карте 260 улиц. Например, второй запрос от второго элемента запроса может быть запросом отобразить объект 240 указателя на карте 260 улиц на втором месте (не показано), которое отличается от первого места, соответствующего адресу 250. Альтернативно, второй запрос от второго элемента запроса может отличаться от первого запроса для отображения объекта 240 указателя, который является запросом на модификацию внешнего вида объекта 240 указателя, например, путем изменения цвета или размера или присоединения к нему второго объекта (например, поля текста).

[73] В некоторых неограничивающих вариантах осуществления настоящего технического решения, второе действие может включать в себя оба первое действие и дополнительное действие. Например, второй запрос от второго элемента запроса может быть запросом отобразить объект 240 указателя на карте 260 улиц на втором месте (не показано), а также запросом на модификацию внешнего вида объекта 240 указателя. Многие подобные варианты осуществления также возможны, что известно специалистам в данной области техники.

[74] Варианты осуществления второго элемента запроса никак конкретно не ограничены. В некоторых неограничивающих вариантах осуществления настоящего технического решения, первый запросчик и второй запросчик являются отдельными элементами. Например, в описанном выше примере, первый запросчик является программой 10 (или экземпляром 11 программы 10), соответствующий в представленном на Фиг. 2 варианте осуществления настоящего технического решения картографическому приложению (например, Яндекс. Карты). Продолжая с этим примером, второй запросчик представляет собой программу 15 (или экземпляр (не показан) программы 15, загруженный в адресное пространство в памяти 25 электронного устройства 20). Программа 15 отделена от программы 10. Например, программа 10 (первый запросчик) представляет собой Яндекс. Карты, а программа 15 (второй запросчик) может представлять собой Sky Maps, приложение, которое отображает карты звезд, созвездий и других небесных объектов. Второй запросчик, программа 15 (Sky Maps) может запрашивать разрешение отображать объект 240 указателя на карте звезд (не показано) в ответ на запрос пользователя.

[75] Несмотря на то, что первый запросчик, программа 10, и второй запросчик, программа 15, представлены на Фиг. 1 как отдельные элементы, первый запросчик и второй запросчик не обязательно должны представлять собой отдельные элементы. В некоторых неограничивающих вариантах осуществления настоящего технического решения, первый запросчик и второй запросчик могут быть одинаковыми, т.е. первый запрос и второй запрос были созданы одной и той же программой. Продолжая с представленным на Фиг. 2 примером, первый запросчик представляет собой программу 10 (или экземпляр 11 программы 10), соответствующую Яндекс, картам, Яндекс. Карты запрашивают разрешение отобразить объект 240 указателя на карте 260 улиц по адресу 250. В ответ на ввод пользователем второго адреса (не показано) в объекте 210 ввода данных, второй запрос получают от Яндекс. Карт, второй запрос включает в себя запрос на отображение объекта 240 указателя на месте второго адреса. Возможны многие подобные варианты осуществления.

[76] Способ 300 далее переходит к выполнению этапа 308.

[77] Этап 308 - в ответ на второй запрос, передача второго запроса первому запросчику, первый запросчик контролирует первый объект

[78] Способ 300 продолжается на этапе 308, где, в ответ на получение второго запроса, второй запрос передается первому запросчику центральным менеджером разрешения, первый запросчик контролирует первый объект 121. Например, центральный менеджер разрешения может передавать второй запрос объектно-ориентированному менеджеру разрешений. Объектно-ориентированный менеджер разрешений становится связанным с первым запросчиком.

[79] Варианты осуществления первого элемента запроса никак конкретно не ограничены. В некоторых вариантах осуществления настоящего технического решения объектно-ориентированный менеджер разрешений, отдельный от центрального менеджера разрешений, но связанный с ним, становится связанным с первым запросчиком. Последующие запросы, относящиеся к первому объекту 121, будут передаваться от центрального менеджера разрешений объектно-ориентированному менеджеру разрешений, связанному с первым запросчиком, который определяет разрешения для первого объекта 121. Если другой запросчик контролирует первый объект 121, то объектно-ориентированный менеджер разрешений становится связанным с другим запросчиком и так далее. Если не было сделано никакого запроса и ни один из элементов запроса не контролирует первый объект 121, то объектно-ориентированный менеджер разрешений остается связанным с центральным менеджером разрешений.

[80] Как обсуждалось ранее, когда первый запросчик продолжает контролировать первый объект 121, уже первый запросчик будет определять разрешения на выполнение действий над первым объектом 121. Следовательно, процессор 22 электронного устройства 20 предает второй запрос запросчику (программа 10 в выше описанном примере) для определения разрешения для второго запроса.

[81] Способ 300 продолжается либо на этапе 310 либо на этапе 312, в зависимости от того, дает ли первый запросчик второе разрешение второму запросчику.

[82] Этап 310 - в ответ на то, что первый запросчик дает второе разрешение второму запросчику, позволение выполнения второго действия вторым запросчиком, второй запросчик, соответственно, контролирует первый объект, и завершение первого разрешения и выполнения первого действия первым запросчиком

[83] Этап 312 - в ответ на то, что первый запросчик не дает второе разрешение второму запросчику и не позволяет выполнять второе действие вторым запросчиком, первый запросчик продолжает контролировать первый объект

[84] Если первый запросчик дает второе разрешение второму запросчику, способ продолжается на этапе 310, таким образом, что разрешается выполнение второго действия вторым запросчиком. Второй запросчик, следовательно, контролирует первый объект 121, и первое разрешение и выполнение первого действия первым запросчиком завершается.

[85] Продолжая с описанным выше и представленным на Фиг. 2 примером, предполагается, что первый запросчик представляет собой программу 10 (или экземпляр 11 программы 10), соответствующую Яндекс.Картам, Яндекс. Карты запрашивают (и получают) разрешение отобразить объект 240 указателя на карте 260 улиц по адресу 250. В ответ на ввод пользователем второго адреса (не показано) в объекте 210 ввода данных, второй запрос получают от второго элемента запроса (в данном случае, Яндекс. Карт), второй запрос включает в себя включает в себя запрос на отображение объекта 240 указателя на месте второго адреса (не показано). На этапе 310 дается разрешение на отображение объекта 240 указателя на карте 260 улиц на месте второго адреса. Соответственно, первое разрешение и выполнение первого действия первым запросчиком завершаются, т.е. объект 240 указателя убирается с адреса 250 (который отображается вместо этого на месте второго адреса). Второй элемент контролирует первый объект 121, т.е. захватывает управление за всеми последующими разрешениями для объекта 240 указателя.

[86] Альтернативно, если первый запросчик не дает второе разрешение второму запросчику, способ продолжается на этапе 312, таким образом, выполнение второго действия вторым запросчиком не разрешено. В этом случае, объект 240 указателя остается на карте 260 улиц по адресу 250, и первый запросчик продолжает контролировать первый объект 121.

[87] В альтернативных вариантах осуществления настоящего технического решения этапа 310 первый запросчик продолжает контролировать первый объект 121, несмотря на то, что было дано разрешение второму запросчику и было разрешено выполнение второго действия вторым запросчиком. Например, в описанном выше варианте, несмотря на то, что на этапе 310 дается разрешение второму запросчику для отображения объекта 240 указателя на карте 260 улиц на месте второго адреса, первый запросчик продолжает контролировать первый объект 121, т.е. первый запросчик все еще определяет последующие разрешения для объекта 240 указателя, а второй запросчик не захватывает контроль последующими разрешениями для объекта 240 указателя.

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

[89] В вариантах осуществления настоящего технического решения, где первый запросчик продолжает контролировать объект частично, второй запросчик контролирует первый объект 121 частично, управление разрешениями в этом случае будет разделяться между первым запросчиком и вторым запросчиком. В общем случае, в подобных вариантах осуществления настоящего технического решения второй запросчик контролирует первый объект 121 для части второго действия, для которого было дано разрешение и выполнение которого было разрешено, первый запросчик продолжает контролировать первый объект 121 для части второго действия, для которого не было дано разрешения второму запросчику. Например, в случае, когда первый запросчик дал разрешение второму запросчику отобразить объект 240 указателя на карте 260 улиц на втором месте, но не давал разрешения второму запросчику модифицировать внешний вид объекта 240 указателя, второй запросчик может контролировать управление разрешениями на отображения объекта 240 указателя, а первый запросчик все еще контролирует управление разрешениями на модификацию внешнего вида объекта 240 указателя. Как будет понятно специалистам в данной области техники, возможны многие другие вариации.

[90] В альтернативных вариантах осуществления этапа 310, первый запросчик может давать второе разрешение второму запросчику, что позволяет выполнять второе действие вторым запросчиком, без завершения первого разрешения и выполнения первого действия первым запросчиком. В описанном выше примере первый запросчик может давать разрешение второму запросчику отобразить второй объект указателя (не показан) на карте 260 улиц на втором месте (не показано), не оканчивая отображение объекта 240 указателя на первом месте, соответствующем адресу 250. В этом случае, будет отображаться два объекта указателя на карте 260 улиц, один на первом месте, соответствующем адресу 250, а второй на втором месте. В подобных вариантах осуществления настоящего технического решения, первый запросчик может продолжать или не продолжать контролировать первый объект 121 (объект 240 указателя), т.е. второй второй запросчик может контролировать или не контролировать первый объект 121.

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

[92] ПУНКТ 1 Способ управления разрешениями для объектов (12), объекты (12) исполняются сервером (40) как часть программных процедур, способ выполняется на электронном устройстве (20) и включает в себя:

[93] а) получение первого запроса на первый объект (121) от первого элемента запроса, первый запрос включает в себя запрос на выполнение первого действия над первым объектом (121), выполнение первого действия требует первого разрешения.

[94] b) ответ на указанный первый запрос дается первое разрешение на выполнение первого действия первому запросчику, и первый запросчик, следовательно, контролирует первый объект (121);

[95] с) получение второго запроса на первый объект (121) от второго элемента запроса, второй запрос включает запрос на выполнение второго действия над первым объектом (121), выполнение второго действия требует второго разрешения;

[96] d) в ответ на второй запрос, передача второго запроса первому запросчику, первый запросчик контролирует первый объект (121); и

[97] выполнение одного из:

[98] е) в ответ на то, что первый запросчик дает второе разрешение второму запросчику, позволение выполнения второго действия вторым запросчиком, второй запросчик, соответственно, контролирует первый объект (121), и завершение первого разрешения и выполнения первого действия первым запросчиком; или

[99] f) в ответ на то, что первый запросчик не дает второе разрешение второму запросчику и не позволяет выполнять второе действие вторым элементом, первый запросчик продолжает контролировать первый объект (121).

[100] ПУНКТ 2 Способ по п. 1, в котором первое действие и второе действие являются одним и тем же действием.

[101] ПУНКТ 3 Способ по п. 1, в котором первое действие и второе действие являются разными действиями.

[102] ПУНКТ 4 Способ по п. 3, в котором на этапе е), в ответ на то, что первый запросчик дает второе разрешение второму запросчику и позволяет выполнять второе действие вторым элементом, первый запросчик продолжает контролировать первый объект (121).

[103] ПУНКТ 5 Способ по любому из пп. 3-4, в котором второе действие включает в себя первое действие и дополнительное действие, в котором первый запросчик дает второе разрешение второму запросчику, включая то, что первый запросчик частично дает второе разрешение второму запросчику, разрешая выполнение части второго действия вторым запросчиком.

[104] ПУНКТ 6 Способ по п. 5, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять первое действие вторым запросчиком и не позволяет выполнять дополнительное действие вторым запросчиком.

[105] ПУНКТ 7 Способ по п. 5, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять дополнительное действие вторым запросчиком и не позволяет выполнять первое действие вторым запросчиком.

[106] ПУНКТ 8 Способ по любому из пп. 5-7, в котором первый запросчик продолжает частично контролировать первый объект (121), второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.

[107] ПУНКТ 9 Способ по любому из пп. 1-8, в котором первый объект (121) включает в себя элемент пользовательского интерфейса и указатель и аудио-объект и объект изображения и видео-объект и текстовый объект.

[108] ПУНКТ 10 Способ по п. 9, в котором элемент пользовательского интерфейса включает в себя текстовое поле и панель инструментов и строку меню и гиперссылку и кнопку.

[109] ПУНКТ 11 Способ по любому из пп. 1-10, в котором первый объект (121) является всплывающим объектом.

[110] ПУНКТ 12 Способ по любому из пп. 4-7, в котором первое действие, второе действие и дополнительное действие включают в себя, независимо, одно или несколько из: демонстрацию первого объекта (121), что позволяет первому объекту (121) появляться, и ввод текста в первый объект (121), и ввод данных или информации в первый объект (121), и нажатие на первый объект (121), и выбор первого объекта (121), и выбор части первого объекта (121), и удаление первого объекта (121).

[111] ПУНКТ 13 Способ по любому из пп. 1-12, в котором электронное устройство (20) является клиентским устройством или сервером (40).

[112] ПУНКТ 14 Электронное устройство (20) связано с пользователем, электронное устройство (20) включает в себя:

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

процессор (22) функционально связанный с интерфейсом связи, процессор дополнительно выполнен с возможностью осуществлять:

a) получение первого запроса на первый объект (121) от первого элемента запроса, первый запрос включает в себя запрос на выполнение первого действия над первым объектом (121), выполнение первого действия требует первого разрешения;

b) в ответ на указанный первый запрос выдачу первого разрешения на выполнение первого действия первому запросчику, и первый запросчик, следовательно, контролирует первый объект (121);

c) получение второго запроса на первый объект (121) от второго элемента запроса, второй запрос включает запрос на выполнение второго действия над первым объектом (121), выполнение второго действия требует второго разрешения;

d) в ответ на второй запрос, передачу второго запроса первому запросчику, первый запросчик контролирует первый объект (121); и

выполнение одного из:

e) в ответ на то, что первый запросчик дает второе разрешение второму запросчику, позволение выполнения второго действия вторым запросчиком, второй запросчик, соответственно, контролирует первый объект (121), и завершение первого разрешения и выполнения первого действия первым запросчиком; и

f) в ответ на то, что первый запросчик не дает второе разрешение второму запросчику и не позволяет выполнять второе действие вторым элементом, первый запросчик продолжает контролировать первый объект (121).

[113] ПУНКТ 15 Электронное устройство (20) по п. 14, в котором первое действие и второе действие являются одним и тем же действием.

[114] ПУНКТ 16 Электронное устройство (20) по п. 14, в котором первое действие и второе действие являются разными действиями.

[115] ПУНКТ 17 Электронное устройство (20) по п. 16, в котором на этапе е), в ответ на то, что первый запросчик дает второе разрешение второму запросчику и выполнять второе действие вторым элементом разрешено, первый запросчик продолжает контролировать первый объект (121).

[116] ПУНКТ 18 Электронное устройство по п. 16 или п. 17, в котором второе действие включает в себя и первое действие и дополнительное действие, в котором первый запросчик дает второе разрешение второму запросчику, включая то, что первый запросчик частично дает второе разрешение второму запросчику, разрешая выполнение части второго действия вторым запросчиком.

[117] ПУНКТ 19 Электронное устройство по п. 18, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять первое действие вторым запросчиком и не позволяет выполнять дополнительное действие второму запросчику.

[118] ПУНКТ 20 Электронное устройство по п. 18, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять дополнительное действие вторым запросчиком и не позволяет выполнять первое действие вторым запросчиком.

[119] ПУНКТ 21 Электронное устройство по любому из пп. 18-20, в котором первый запросчик продолжает частично контролировать первый объект (121), второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.

[120] ПУНКТ 22 Способ по любому из пп. 14-21, в котором первый объект (121) включает в себя элемент пользовательского интерфейса, указатель, аудио-объект, объект изображения, видео-объект или текстовый объект.

[121] ПУНКТ 23 Электронное устройство по п. 22, в котором элемент пользовательского интерфейса включает в себя текстовое поле, панель инструментов, строку меню, гиперссылку или кнопку.

[122] ПУНКТ 24 Электронное устройство по любому из пп. 14-23, в котором первый объект (121) является всплывающим объектом.

[123] ПУНКТ 25 Электронное устройство по любому из пп. 17-20, в котором первое действие, второе действие и дополнительное действие включают в себя, независимо, одно или несколько из: демонстрацию первого объекта (121), что позволяет первому объекту (121) появляться, ввод текста в первый объект (121), ввод данных или информации в первый объект (121), нажатие на первый объект (121), выбор первого объекта (121), выбор части первого объекта (121), удаление первого объекта (121).

[124] ПУНКТ 26 Электронное устройство по любому из пп. 14-25, в котором электронное устройство является клиентским устройством или сервером (40).

[125] Некоторые технические эффекты неограничивающих вариантов осуществления настоящего технического решения могут включать в себя предоставление децентрализованного управления объектами, при этом центральный менеджер разрешений не отвечает за определение разрешений для объектов во всех экземплярах. Это предоставление управления объектами может быть эффективнее, быстрее, менее затратным с позиции вычислительных ресурсов, уменьшать нагрузку на процессор, снижать использование ОЗУ и/или снижать потребление энергии электронным устройством. В тех вариантах осуществления настоящего технического решения, где электронное устройство 20 выполнено как беспроводное устройство передачи данных, способность снижать потребление энергии может привести к сбережению заряда аккумулятора электронного устройства 20. Важно иметь в виду, варианты осуществления настоящего технического решения могут быть выполнены с проявлением и других технических результатов.

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

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

получение первого запроса на первый объект от первого запросчика, первый запрос включает в себя запрос на выполнение первого действия над первым объектом, выполнение первого действия требует первого разрешения;

в ответ на указанный первый запрос центральным менеджером разрешений дается первое разрешение на выполнение первого действия первому запросчику, и первый запросчик контролирует первый объект;

получение второго запроса на первый объект от второго запросчика, второй запрос включает запрос на выполнение второго действия над первым объектом, выполнение второго действия требует второго разрешения;

в ответ на второй запрос осуществляют передачу второго запроса первому запросчику, контролирующему первый объект; и

выполнение одного из:

в ответ на то, что первый запросчик дает второе разрешение второму запросчику, разрешают выполнять второму запросчику второе действие, второй запросчик получает контроль над первым объектом, и завершение первого разрешения и выполнения первого действия первым запросчиком; или

в ответ на то, что первый запросчик не дает второе разрешение второму запросчику и не позволяет выполнять второе действие вторым запросчиком, первый запросчик продолжает контролировать объект.

2. Способ по п. 1, в котором первое действие и второе действие являются одним и тем же действием.

3. Способ по п. 1, в котором первое действие и второе действие являются разными действиями.

4. Способ по п. 1, в котором первый объект является всплывающим объектом.

5. Способ по п. 1, в котором электронное устройство является клиентским устройством или сервером.

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

7. Способ по п. 3, в котором в ответ на то, что первый запросчик дает второе разрешение второму запросчику и позволяет выполнять второе действие вторым элементом, первый запросчик продолжает контролировать первый объект.

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

9. Способ по п. 6, в котором элемент пользовательского интерфейса включает в себя текстовое поле, и панель инструментов, и строку меню, и гиперссылку, и кнопку.

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

11. Способ по п. 8, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять первое действие вторым запросчиком и не позволяет выполнять дополнительное действие вторым запросчиком.

12. Способ по п. 8, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять дополнительное действие второму запросчику и не позволяет выполнять первое действие второму запросчику.

13. Способ по п. 8, в котором первый запросчик продолжает частично контролировать первый объект, второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.

14. Электронное устройство, связанное с пользователем, электронное устройство включает в себя:

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

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

получение первого запроса на первый объект от первого запросчика, первый запрос включает в себя запрос на выполнение первого действия над первым объектом, выполнение первого действия требует первого разрешения;

в ответ на указанный первый запрос выдавать центральным менеджером разрешений первое разрешение на выполнение первого действия первому запросчику, и первый запросчик контролирует первый объект;

получение второго запроса на первый объект от второго запросчика, второй запрос включает запрос на выполнение второго действия над первым объектом, выполнение второго действия требует второго разрешения;

в ответ на второй запрос, осуществляют передачу второго запроса первому запросчику, контролирующему первый объект; и

выполнение одного из:

в ответ на то, что первый запросчик дает второе разрешение второму запросчику, позволение выполнения второго действия вторым запросчиком, второй запросчик контролирует первый объект; или

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

15. Электронное устройство по п. 14, в котором электронное устройство является клиентским устройством или сервером.



 

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

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

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

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

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

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

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

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

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

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

Изобретение относится к средствам обработки информации. .

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

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

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

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

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

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

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

Изобретение относится к области компьютерной безопасности. Технический результат заключается в повышении надежности защиты вычислительного средства (ВС) при загрузке программного обеспечения (ПО).

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

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

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