RU2632142C2 - Method and electronic permission management unit for objects - Google Patents
Method and electronic permission management unit for objects Download PDFInfo
- Publication number
- RU2632142C2 RU2632142C2 RU2015126020A RU2015126020A RU2632142C2 RU 2632142 C2 RU2632142 C2 RU 2632142C2 RU 2015126020 A RU2015126020 A RU 2015126020A RU 2015126020 A RU2015126020 A RU 2015126020A RU 2632142 C2 RU2632142 C2 RU 2632142C2
- Authority
- RU
- Russia
- Prior art keywords
- interrogator
- action
- permission
- request
- perform
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
Abstract
Description
Перекрестная ссылкаCross reference
[01] Отсутствует.[01] Not available.
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
[02] Настоящее техническое решение относится к интерфейсам программирования приложений (API) в целом, и, конкретнее, к системе и способу управления объектами в различных вариантах реализации API.[02] The present technical solution relates to application programming interfaces (APIs) in general, and more specifically, to a system and method for managing objects in various API implementations.
Уровень техникиState of the art
[03] Различные глобальные или локальные сети связи (Интернет, Всемирная Паутина, локальные сети и подобные им) предлагают пользователю большой объем информации. Информация включает в себя контекстуальные разделы, такие как, среди прочего, новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о трафике, игры и информация развлекательного характера. Пользователи используют множество электронных устройств (настольный компьютер, портативный компьютер, ноутбук, смартфон, планшеты и подобные им) для получения доступа к богатому информационному контенту (например, изображениям, аудио- и видеофайлам, анимированным изображениям и прочему мультимедийному контенту подобных сетей). Подобные электронные устройства становятся все более популярными в повседневной жизни благодаря их все возрастающей функциональности. Таким образом, программное обеспечение становится все более обширным по размеру и количеству, и, следовательно, возрастает необходимость в совместной работе различных программ.[03] Various global or local communication networks (Internet, World Wide Web, local area networks and the like) offer the user a large amount of information. Information includes contextual sections such as, but not limited to, news and current affairs, maps, company information, financial information and resources, traffic information, games and entertainment information. Users use a variety of electronic devices (desktop computer, laptop computer, laptop, smartphone, tablets and the like) to access rich information content (such as images, audio and video files, animated images and other multimedia content of similar networks). Such electronic devices are becoming increasingly popular in everyday life due to their ever-increasing functionality. Thus, the software is becoming more and more extensive in size and quantity, and, consequently, the need for joint work of various programs.
[04] Интерфейс программирования приложений (API) представляет собой набор процедур, протоколов и инструментов для создания программных приложений. API указывает на то, как именно должны взаимодействовать различные программные компоненты. API используются, например, при разработке компонентов графического пользовательского интерфейса (GUI). API помогает разрабатывать программное обеспечение путем предоставления всех строительных блоков, которые программист далее составляет вместе. Существуют различные типы API для операционных систем, приложений и веб-сайтов.[04] Application Programming Interface (API) is a set of procedures, protocols, and tools for creating software applications. The API indicates how exactly the various software components should interact. APIs are used, for example, in the development of graphical user interface (GUI) components. The API helps develop software by providing all the building blocks that the programmer further compiles together. There are various types of APIs for operating systems, applications, and websites.
[05] Многие API используют объектно-ориентированное программирование, в которых программисты определяют не только тип данных в структуре данных, но также типы операций (функций), которые будут применяться к структуре данных. Поэтому структура данных становится объектом, который включает в себя данные и функции. В общем случае, «объект» является элементом, который может индивидуально выбираться и управляться. Он может включать в себя формы и изображения, которые появляются на экране монитора, а также менее осязаемые объекты. В объектно-ориентированном программировании, например, объект представляет собой автономный элемент, который состоит из данных и процедур для управления данными. Объектно-ориентированные способы программирования позволяют программистам создавать модули, которые нет необходимости менять в тот момент, когда добавлен новый объект, поскольку программист может легко создавать новый объект, который наследует многие из характеристик существующих объектов, что делает объектно-ориентированные объекты более удобными для модификации. Дополнительно, программисты могут создавать связи между объектами. Например, объекты могут наследовать характеристики от других объектов.[05] Many APIs use object-oriented programming, in which programmers define not only the type of data in the data structure, but also the types of operations (functions) that will be applied to the data structure. Therefore, the data structure becomes an object that includes data and functions. In general, an “object” is an element that can be individually selected and controlled. It may include the shapes and images that appear on the monitor screen, as well as less tangible objects. In object-oriented programming, for example, an object is an autonomous element that consists of data and procedures for managing data. Object-oriented programming methods allow programmers to create modules that do not need to be changed when a new object is added, since a programmer can easily create a new object that inherits many of the characteristics of existing objects, which makes object-oriented objects more convenient for modification. Additionally, programmers can create relationships between objects. For example, objects can inherit characteristics from other objects.
[06] Поскольку число компьютерных программ (например, браузеры, приложения, апплеты и так далее), которые используются электронными устройствами, растет, возрастает и необходимость совместного управления объектами. В общем случае, объекты управляются центральным менеджером разрешений, который способствует определению и/или выдаче разрешений, которые необходимы для работы. Тем не менее, существует необходимость в улучшенных способах и системах для управления объектами в пределах программной среды, например, API.[06] As the number of computer programs (eg, browsers, applications, applets and so on) that are used by electronic devices is growing, so does the need for joint management of objects. In general, objects are managed by a central permissions manager, which helps to identify and / or issue permissions that are necessary for the job. However, there is a need for improved methods and systems for managing objects within a software environment, such as an API.
[07] Патент США №US 6993665, опубл. 31.01.2006 описывает способы и устройство для предоставления менеджера разрешений, который способен помогать апплету, например, определять и/или давать разрешения, которые необходимы для работы. Описано устройство для управления разрешениями, устройство включает в себя программное приложение, менеджер разрешений, который связан с программным приложением и получает запрос, отправленный программным приложением, и программную среду, связанную с менеджером разрешений. Запрос может указывать на разрешение, которое может быть запрошено менеджером разрешений. Менеджер разрешений может получать доступ к программной среде для определения необходимого разрешения, соответствующего разрешению, и для определения того, как именно следует давать запрашиваемое разрешение.[07] US Patent No. US 6993665, publ. 01/31/2006 describes methods and apparatus for providing a permission manager that is capable of assisting an applet, for example, determining and / or giving permissions that are necessary for work. A device for managing permissions is described, the device includes a software application, a permission manager that is associated with the software application and receives a request sent by the software application, and a software environment associated with the permission manager. The request may indicate a permission that may be requested by the permission manager. The permission manager can access the software environment to determine the required permission corresponding to the permission, and to determine how the requested permission should be given.
[08] Международная заявка WO 1994023362 опубл. 13.10.1994 описывает объектно-ориентированную программную среду. Среда включает в себя множество классов и объектов. Каждый объект связывается с другими объектами в среде путем передачи сообщений, которые выполняют способы в этих других объектах. Среда содержит по меньшей мере один целевой объект, который содержит один или несколько универсальных способов, которые используются для связи с другим объектом. Эти универсальные способы обычно включены во все целевые объекты в среде, одновременно с соответствующими универсальными экземплярами переменных, которые использовались универсальными способами, тем самым формируя универсальный протокол или интерфейс для целевых объектов. Поведенческие объекты, объекты, которые реализуют поведение других объектов, получают и модифицируют свойства целевого объекта путем прямого применения универсальных способов, находящихся в целевом объекте. Связь между поведенческим объектом и целевым объектом осуществляется по универсальному протоколу (способ и экземпляры переменных).[08] International application WO 1994023362 publ. 10/13/1994 describes an object-oriented software environment. The environment includes many classes and objects. Each object communicates with other objects in the environment by transmitting messages that execute methods in these other objects. The environment contains at least one target, which contains one or more universal methods that are used to communicate with another object. These universal methods are usually included in all targets in the environment, simultaneously with the corresponding universal instances of variables that were used by universal methods, thereby forming a universal protocol or interface for the targets. Behavioral objects, objects that realize the behavior of other objects, receive and modify the properties of the target object by direct application of universal methods located in the target object. The connection between the behavioral object and the target object is carried out according to a universal protocol (method and variable instances).
[09] Известны шаблоны посредников для определения объекта, в котором заключается описание того, как именно взаимодействуют объекты. С учетом шаблона посредника, связь между объектами описывается с помощью объекта-посредника. Объекты больше не взаимодействуют друг с другом, они взаимодействуют через посредника. Это уменьшает зависимость между связанными объектами, что снижает связанность (см. «Посредник (шаблон проектирования)» в Википедии. Фонд Википедии, 28 ноября 2014 года. Web. https://ru.wikipedia.org/wiki/Посредник_(шаблон_проектирования))[09] Known patterns of intermediaries for determining the object, which is a description of how exactly the objects interact. Given the mediator template, the relationship between objects is described using an intermediary object. Objects no longer interact with each other, they interact through an intermediary. This reduces the relationship between related objects, which reduces connectivity (see “Intermediary (design pattern)” on Wikipedia. Wikipedia Foundation, November 28, 2014. Web. Https://en.wikipedia.org/wiki/Mediation_Project_Master))
Раскрытие изобретенияDisclosure of invention
[10] Задачей предлагаемого технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники. Варианты осуществления настоящего технического решения были разработаны на основе предположений изобретателей о том, что существует необходимость в способах и системах для управления объектами в программной среде, например, API.[10] The objective of the proposed technical solution is to eliminate at least some of the disadvantages inherent in the prior art. Embodiments of the present technical solution were developed based on the assumptions of the inventors that there is a need for methods and systems for managing objects in a software environment, for example, an API.
[11] Одним объектом настоящего технического решения является способ управления разрешениями для объектов, объекты выполняются сервером как часть программных процедур, способ выполняется на электронном устройстве (например, клиентском устройстве или сервере). Способ включает в себя получение первого запроса на первый объект от первого элемента запроса, первый запрос включает запрос на выполнение первого действия над первым объектом, выполнение первого действия требует первого разрешения. В ответ на первый запрос, дается первое разрешение на выполнение первого действия первому запросчику, и первый запросчик, следовательно, контролирует первый объект. Получают второй запрос на первый объект от второго запросчика, второй запрос включает запрос на выполнение второго действия над первым объектом, выполнение второго действия требует второго разрешения. В ответ на указанный второй запрос, второй запрос передается первому запросчику, первый запросчик контролирует первый объект. Выполняется одно из следующего: первый запросчик дает второе разрешение второму запросчику, что позволяет выполнять второе действие вторым запросчиком, второй запросчик, следовательно, контролирует первый объект, и завершение первого разрешения и выполнения первого действия первым запросчиком; или первый запросчик не дает второе разрешение второму запросчику, тем самым не позволяя выполнять второе действие вторым запросчиком, первый запросчик продолжает контролировать первый объект.[11] One object of the present technical solution is a method of managing permissions for objects, objects are executed by the server as part of software procedures, the method is performed on an electronic device (for example, a client device or server). The method includes receiving a first request for a first object from a first request element, a first request includes a request to perform a first action on a first object, performing a first action requires a first permission. In response to the first request, the first permission to perform the first action is given to the first requestor, and the first requestor, therefore, controls the first object. A second request to the first object is received from the second interrogator, the second request includes a request to perform the second action on the first object, the second action requires a second permission. In response to the specified second request, the second request is transmitted to the first interrogator, the first interrogator controls the first object. One of the following is performed: the first interrogator gives the second permission to the second interrogator, which allows the second interrogator to perform the second action, the second interrogator, therefore, controls the first object, and the completion of the first permission and the first action by the first interrogator; or the first interrogator does not give a second permission to the second interrogator, thereby preventing the second interrogator from performing the second action, the first interrogator continues to monitor the first object.
[12] В некоторых вариантах осуществления настоящего технического решения, в ответ на то, что первый запросчик дает второе разрешение второму запросчику и позволяет выполнять второе действие вторым запросчиком, первый запросчик, тем не менее, продолжает контролировать первый объект.[12] In some embodiments of the present technical solution, in response to the fact that the first interrogator gives a second permission to the second interrogator and allows the second action to be performed by the second interrogator, the first interrogator nevertheless continues to control the first object.
[13] В некоторых вариантах осуществления настоящего технического решения, первое действие и второе действие являются одним и тем же действием. В альтернативных вариантах осуществления настоящего технического решения, первое действие и второе действие являются различными действиями. В некоторых вариантах осуществления настоящего технического решения, второе действие включает в себя первое действие и дополнительное действие. В подобных вариантах осуществления первый запросчик может частично давать второе разрешение второму запросчику, что позволяет выполнять часть второго действия вторым запросчиком. Например, первый запросчик может частично давать второе разрешение второму запросчику, что позволяет выполнять первое действие вторым запросчиком и не позволяет выполнять дополнительное действие вторым запросчиком. В альтернативных вариантах осуществления настоящего технического решения, первый запросчик может позволить выполнение дополнительного действия вторым запросчиком и не позволить выполнение первого действия вторым запросчиком. В тех вариантах осуществления настоящего технического решения, где разрешение было частично дано второму запросчику, первый запросчик продолжает частично контролировать первый объект, второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.[13] In some embodiments of the present technical solution, the first action and the second action are the same action. In alternative embodiments of the present technical solution, the first action and the second action are different actions. In some embodiments of the present technical solution, the second action includes a first action and an additional action. In such embodiments, the first interrogator may partially give a second permission to the second interrogator, which allows part of the second action to be performed by the second interrogator. For example, the first interrogator may partially give a second permission to the second interrogator, which allows the second interrogator to perform the first action and does not allow the second interrogator to perform the additional action. In alternative embodiments of the present technical solution, the first interrogator may allow the second interrogator to perform an additional action and not allow the second interrogator to perform the first action. In those embodiments of the present technical solution where the permission was partially granted to the second interrogator, the first interrogator continues to partially control the first object, the second interrogator controls the part of the second action for which permission was granted and the execution of which was allowed.
[14] В некоторых вариантах осуществления настоящего технического решения, первый объект включает в себя элемент пользовательского интерфейса, указатель, аудио-объект, объект изображения, видео-объект или текстовый объект. Неограничивающие примеры элементов пользовательского интерфейса включают в себя текстовые поля, панели инструментов, строки меню и кнопки. В некоторых вариантах осуществления настоящего технического решения, первый объект может представлять собой всплывающий объект.[14] In some embodiments of the present technical solution, the first object includes a user interface element, a pointer, an audio object, an image object, a video object, or a text object. Non-limiting examples of user interface elements include text fields, toolbars, menu bars, and buttons. In some embodiments of the present technical solution, the first object may be a pop-up object.
[15] В некоторых вариантах осуществления настоящего технического решения, первое действие, второе действие и дополнительное действие включают в себя, независимо, одно или несколько из: демонстрацию первого объекта, что позволяет первому объекту появляться, ввод текста в первый объект, ввод данных или информации в первый объект, нажатие на первый объект, выбор первого объекта, выбор части первого объекта, удаление первого объекта.[15] In some embodiments of the present technical solution, the first action, the second action and the additional action include, independently, one or more of: a demonstration of the first object, which allows the first object to appear, entering text into the first object, entering data or information in the first object, clicking on the first object, selecting the first object, selecting a part of the first object, deleting the first object.
[16] Другим объектом настоящего технического решения является электронное устройство, связанное с пользователем, электронное устройство включает в себя интерфейс связи для установления связи с сервером через интерфейс связи, сервер выполнен с возможностью выполнять объекты как часть программных процедур; и процессор, функционально связанный с интерфейсом связи. Процессор дополнительно выполнен с возможностью осуществлять получение первого запроса на первый объект от первого элемента запроса, первый запрос включает запрос на выполнение первого действия над первым объектом, выполнение первого действия требует первого разрешения. В ответ на указанный первый запрос, процессор выполнен с возможностью давать первое разрешение на выполнение первого действия первому запросчику, и первый запросчик, следовательно, контролирует первый объект. Процессор дополнительно выполнен с возможностью осуществлять получение второго запроса на первый объект от второго запросчика, второй запрос включает запрос на выполнение второго действия над первым объектом, выполнение второго действия требует второго разрешения. В ответ на указанный второй запрос, процессор выполнен с возможностью осуществлять передачу второго запроса первому запросчику, причем первый запросчик контролирует первый объект, и выполнять одно из следующего: 1) в ответ на то, что первый запросчик дает второе разрешение второму запросчику, процессор выполнен с возможностью выполнять второе действие вторым запросчиком, второй запросчик, следовательно, контролирует первый объект, и завершение первого разрешения и выполнения первого действия первым запросчиком; или 2) в ответ на то, что первый запросчик не дает второе разрешение второму запросчику, процессор выполнен с возможностью не позволить выполнять второе действие вторым запросчиком, первый запросчик продолжает контролировать первый объект.[16] Another object of the present technical solution is an electronic device associated with a user, the electronic device includes a communication interface for establishing communication with the server via the communication interface, the server is configured to execute objects as part of program procedures; and a processor operatively coupled to the communication interface. The processor is additionally configured to receive the first request for the first object from the first request element, the first request includes a request to perform the first action on the first object, the first action requires first permission. In response to the specified first request, the processor is configured to give the first permission to perform the first action to the first requestor, and the first requestor, therefore, controls the first object. The processor is additionally configured to receive a second request to the first object from the second interrogator, the second request includes a request to perform a second action on the first object, the second action requires a second permission. In response to the specified second request, the processor is configured to transmit the second request to the first interrogator, the first interrogator controlling the first object, and to perform one of the following: 1) in response to the first interrogator giving the second permission to the second interrogator, the processor is executed with the ability to perform the second action by the second interrogator, the second interrogator, therefore, controls the first object, and the completion of the first resolution and the first action by the first interrogator; or 2) in response to the fact that the first interrogator does not give a second permission to the second interrogator, the processor is configured to prevent the second interrogator from performing the second action, the first interrogator continues to monitor the first object.
[17] В некоторых вариантах осуществления электронного устройства, в ответ на то, что первый запросчик дает второе разрешение второму запросчику и позволяет выполнять второе действие вторым элементом, первый запросчик, тем не менее, продолжает контролировать первый объект.[17] In some embodiments of the electronic device, in response to the first interrogator giving the second permission to the second interrogator and allowing the second action to be performed by the second element, the first interrogator, however, continues to monitor the first object.
[18] В некоторых вариантах осуществления электронного устройства, первое действие и второе действие являются одним и тем же действием. В альтернативных вариантах осуществления электронного устройства, первое действие и второе действие являются разными действиями. В некоторых вариантах осуществления электронного устройства, второе действие включает в себя и первое действие и дополнительное действие, и первый запросчик частично дает второе разрешение второму запросчику, таким образом, выполнение части второго действия разрешено вторым запросчиком. Например, в некоторых вариантах осуществления настоящего технического решения, первый запросчик частично дает второе разрешение второму запросчику, что позволяет выполнить первое действие вторым запросчиком и не позволяет выполнить дополнительное действие вторым запросчиком. В альтернативных вариантах осуществления настоящего технического решения, первый запросчик частично дает второе разрешение второму запросчику, что позволяет выполнить дополнительное действие вторым запросчиком и не позволяет выполнять первое действие вторым запросчиком. В подобных вариантах осуществления настоящего технического решения, первый запросчик продолжает частично контролировать первый объект, второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.[18] In some embodiments of the electronic device, the first action and the second action are the same action. In alternative embodiments of an electronic device, the first action and the second action are different actions. In some embodiments of the electronic device, the second action includes both the first action and the additional action, and the first interrogator partially gives the second permission to the second interrogator, thus the execution of the second part of the action is permitted by the second interrogator. For example, in some embodiments of the present technical solution, the first interrogator partially gives the second permission to the second interrogator, which allows the first action to be performed by the second interrogator and does not allow the additional action to be performed by the second interrogator. In alternative embodiments of the present technical solution, the first interrogator partially gives the second permission to the second interrogator, which allows an additional action to be performed by the second interrogator and does not allow the first action to be performed by the second interrogator. In such embodiments of the implementation of the present technical solution, the first interrogator continues to partially control the first object, the second interrogator controls part of the second action for which permission was given and the execution of which was allowed.
[19] В некоторых вариантах осуществления электронного устройства, первый объект включает в себя элемент пользовательского интерфейса, указатель, аудио-объект, объект изображения, видео-объект или текстовый объект. Неограничивающие примеры элементов пользовательского интерфейса включают в себя текстовые поля, панели инструментов, строки меню, гиперссылки и кнопки. В некоторых вариантах осуществления электронного устройства первый объект является всплывающим объектом.[19] In some embodiments of an electronic device, the first object includes a user interface element, a pointer, an audio object, an image object, a video object, or a text object. Non-limiting examples of user interface elements include text fields, toolbars, menu bars, hyperlinks, and buttons. In some embodiments of an electronic device, the first object is a pop-up object.
[20] В некоторых вариантах осуществления электронного устройства, первое действие, второе действие и дополнительное действие включают в себя, независимо, одно или несколько из: демонстрацию первого объекта, что позволяет первому объекту появляться, и ввод текста в первый объект, и ввод данных или информации в первый объект, и нажатие на первый объект, и выбор первого объекта, и выбор части первого объекта, и удаление первого объекта.[20] In some embodiments of the electronic device, the first action, the second action and the additional action include, independently, one or more of: a demonstration of the first object that allows the first object to appear, and text input to the first object, and data input or information into the first object, and clicking on the first object, and selecting the first object, and selecting a part of the first object, and deleting the first object.
[21] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от электронных устройств) по сети (например, сети передачи данных) и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для настоящего технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».[21] In the context of the present description, “server” means a computer program running on appropriate equipment that is able to receive requests (for example, from electronic devices) over a network (eg, data network) and execute these requests or initiate the execution of these requests . The equipment may be one physical computer or one physical computer system, but neither one nor the other is mandatory for this technical solution. In the context of this technical solution, the use of the expression “server” does not mean that each task (for example, received commands or requests) or any specific task will be received, completed or initiated to be executed by the same server (that is, by the same software and / or hardware); this means that any number of software elements or hardware devices can be involved in receiving / transmitting, executing or initiating the execution of any request or the consequences of any request associated with the client device, and all this software and hardware can be one server or several servers , both options are included in the expression “at least one server”.
[22] В контексте настоящего описания «электронное устройство» подразумевает под собой вычислительное устройство или компьютерное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, некоторыми примерами электронных устройств (среди прочего) могут служить универсальные персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), мобильные компьютерные устройства, смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что электронное устройство в настоящем контексте может вести себя как сервер по отношению к другим электронным устройствам. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода. В контексте настоящего описания термин «клиентское устройство» относится к любому из ряда клиентских электронных устройств, связанных с пользователем, например, персональные компьютеры, планшеты, смартфоны и тому подобное.[22] In the context of the present description, "electronic device" means a computing device or a computer device capable of working with software suitable for solving the corresponding problem. Thus, some examples of electronic devices (among other things) include universal personal computers (desktop computers, laptops, netbooks, etc.), mobile computer devices, smartphones, tablets, and network equipment such as routers, switches, and gateways . It should be borne in mind that an electronic device in the present context can behave like a server in relation to other electronic devices. The use of the expression “electronic device” does not exclude the possibility of using multiple electronic devices to receive / send, execute or initiate the execution of any task or request, or the consequences of any task or request, or the steps of any method described above. In the context of the present description, the term "client device" refers to any of a number of client electronic devices associated with the user, for example, personal computers, tablets, smartphones and the like.
[23] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.[23] In the context of the present description, “database” means any structured data set independent of the specific structure, database management software, hardware of the computer on which data is stored, used or otherwise made available for use. The database may reside on the same hardware that runs the process that stores or uses the information stored in the database, or it may reside on separate hardware, such as a dedicated server or multiple servers.
[24] В контексте настоящего описания термин «данные» включает в себя любую информацию, которая может храниться, например, в базе данных, или может быть передана в электронной форме, например, потоком. Таким образом, данные включают в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные о местоположении, цифровые данные и т.д., текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.[24] In the context of the present description, the term "data" includes any information that may be stored, for example, in a database, or may be transmitted in electronic form, for example, by stream. Thus, data includes, but is not limited to, audiovisual works (images, videos, sound recordings, presentations, etc.), location data, digital data, etc., text (opinions, comments, questions, messages and etc.), documents, tables, etc.
[25] В контексте настоящего описания термин «машиночитаемый носитель информации» подразумевает носитель абсолютно любого типа. Машиночитаемый носитель информации может включать в себя энергозависимые и энергонезависимые, переносные и не переносные носители, которые реализованы в соответствии с любым способом или технологией, для хранения информации, например, машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители могут включать в себя ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или любая другая архитектура памяти, компакт диски, DVD-диски или другие оптические носители, дискеты, жесткие диски, магнитные кассеты, накопители на магнитной ленте, USB ключи, твердотельные накопители, ленточные накопители или любые другие носители, которые могут быть использованы для хранения желаемой информации, которая может быть доступна для извлечения[25] In the context of the present description, the term "computer-readable storage medium" means a medium of absolutely any type. A computer-readable storage medium may include volatile and non-volatile, portable and non-portable media that are implemented in accordance with any method or technology for storing information, for example, machine-readable instructions, data structures, program modules or other data. Computer storage media may include RAM, ROM, electrically erasable programmable ROM, flash memory or any other memory architecture, CDs, DVDs or other optical media, floppy disks, hard drives, magnetic tapes, magnetic tape drives, USB keys , solid state drives, tape drives, or any other media that can be used to store the desired information that may be available for retrieval
[26] В контексте настоящего описания термин «сеть передачи данных» означает любую сеть передачи данных, например, компьютерную сеть, Интернет, телефонную сеть, систему телексной связи, сеть TCP/IP (например, сеть WAN, сеть LAN) и тому подобное. Термин «сеть передачи данных» включает в себя проводную сеть или напрямую соединенную сеть, а также беспроводную связь, например, акустическую, радиочастотную, инфракрасную и другие типы беспроводной связи, а также комбинации любых из вышеперечисленных.[26] In the context of the present description, the term "data network" means any data network, for example, a computer network, the Internet, a telephone network, a telex communication system, a TCP / IP network (for example, a WAN network, a LAN network) and the like. The term "data network" includes a wired network or a directly connected network, as well as wireless communications, for example, acoustic, radio frequency, infrared and other types of wireless communications, as well as combinations of any of the above.
[27] Специалисты в данной области техники поймут, что в настоящем описании выражение «получение данных» от пользователя или программы подразумевает получение электронным устройством данных от пользователя или программы в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя или GUI (например, экран компьютерного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя. Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Важно иметь в виду, что варианты осуществления сигналов никак конкретно не ограничены. Например, сигналы могут быть переданы и получены, без установления ограничений, с помощью оптических средств (например, оптического соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).[27] Those of ordinary skill in the art will understand that in the present description, the expression “receiving data” from a user or program means that the electronic device receives data from the user or program as an electronic (or other) signal. In addition, those skilled in the art will understand that displaying data to a user through a graphical user interface or GUI (for example, a computer device screen and the like) may include transmitting a signal to a graphical user interface, this signal contains data that can be processed, and at least a portion of this data may be displayed to the user via a graphical user interface. Some of these steps, as well as signal transmission-reception, are well known in the art and, therefore, have been omitted in specific parts of this description for simplicity. It is important to keep in mind that signal embodiments are not particularly limited. For example, signals can be transmitted and received, without limitation, using optical means (e.g., optical connection), electronic means (e.g., wired or wireless connection) and mechanical means (e.g., based on pressure, temperature or other suitable parameter) .
[28] В контексте настоящего описания термин «сервис облачного хранения» представляет собой вычислительные средства, в которых множество клиентов, клиентских устройств, обществ, IT доменов, и/или приложений управляются или контролируются по отдельности в среде со множеством управляющих элементов. «Облачная» среда относится к структуре, в которой множество независимых пользователей используют общую инфраструктуру, платформы, сервисы/приложения или ресурсы таким образом, что каждая из них изолирована друг от друга. Пользователь/клиент может представлять собой компанию, организацию, индивидуального человека, а клиентское устройство может относиться к любому из клиентских устройств пользователя, как описано здесь. Такие облачные сервисы обеспечивают связь для использования, например, персональными компьютерами, планшетами, смартфонами или другим пользовательскими устройствами (домашние развлечения и так далее). Известны многие типы облачных сервисов. Например, облачный сервис может включать в себя отдельные административные модели, которые применяются к блейд-серверам в дата центре, или любое распределение соединенных устройств. Общая инфраструктура, платформы, сервисы/приложения или ресурсы обычно управляются администратором, который поддерживает работу облачного сервиса. Облачные ресурсы могут быть личными или публичными.[28] In the context of the present description, the term "cloud storage service" is a computing tool in which multiple clients, client devices, societies, IT domains, and / or applications are individually managed or controlled in an environment with multiple controls. A “cloud” environment refers to a structure in which many independent users use a common infrastructure, platform, service / application or resource in such a way that each of them is isolated from each other. The user / client may be a company, organization, individual person, and the client device may refer to any of the client devices of the user, as described here. Such cloud services provide communications for use, for example, by personal computers, tablets, smartphones or other user devices (home entertainment, and so on). Many types of cloud services are known. For example, a cloud service may include separate administrative models that apply to blade servers in a data center, or any distribution of connected devices. Shared infrastructure, platforms, services / applications, or resources are typically managed by an administrator who maintains the cloud service. Cloud resources can be personal or public.
[29] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый пользователь» и «третий пользователь» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) пользователей/между пользователями, равно как и их использование (само по себе) не предполагает, что некий «второй пользователь» обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.[29] In the context of the present description, the words “first”, “second”, “third”, etc. used in the form of adjectives solely to distinguish the nouns to which they relate from each other, and not for the purpose of describing any specific relationship between these nouns. So, for example, it should be borne in mind that the use of the terms “first user” and “third user” does not imply any order, assignment to a certain type, chronology, hierarchy or ranking (for example) of users / between users, as well as their use (in itself) does not imply that a certain “second user” must exist in a given situation. Hereinafter, as indicated here in other contexts, reference to the “first” element and the “second” element does not exclude the possibility that it is one and the same actual real element. So, for example, in some cases, the “first” server and the “second” server can be the same software and / or hardware, and in other cases they can be different software and / or hardware.
[30] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящего технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.[30] Each embodiment of the present technical solution pursues at least one of the aforementioned objectives and / or objects. It should be borne in mind that some of the objects of this technical solution obtained as a result of attempts to achieve the aforementioned goals can also satisfy other goals not specifically indicated here.
[31] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.[31] Additional and / or alternative characteristics, aspects and advantages of embodiments of the present technical solution will become apparent from the following description, the attached drawings and the attached claims.
Краткое описание чертежейBrief Description of the Drawings
[32] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:[32] For a better understanding of this technical solution, as well as its other aspects and characteristics, reference is made to the following description, which should be used in combination with the accompanying drawings, where:
[33] На Фиг. 1 представлена принципиальная схема системы, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[33] In FIG. 1 is a schematic diagram of a system made in accordance with embodiments of the present technical solution, not limiting its scope.
[34] На Фиг. 2 представлен снимок экрана, на котором показан графический пользовательский интерфейс, отображающий карту улиц и связанные программные объекты.[34] In FIG. 2 is a screen shot showing a graphical user interface showing a street map and related software objects.
[35] На Фиг. 3 представлена блок-схема способа, выполняемого в рамках системы, изображенной на Фиг. 1, и выполненного с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[35] In FIG. 3 is a flowchart of a method performed within the system of FIG. 1, and made with the options for implementing the present technical solution, not limiting its scope.
Осуществление изобретенияThe implementation of the invention
[36] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого экземпляра настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.[36] In FIG. 1 is a schematic diagram of a
[37] Система 100 включает в себя сеть 50 передачи данных. Сеть 50 передачи данных обычно связана с электронным устройством 20 и сервером 40, сервер 40 связан с устройством 30 хранения данных, которое хранит программный код для программ 10, 15.[37]
[38] Варианты осуществления сервера 40 никак конкретно не ограничены, и, например, сервер 40 может быть реализован как одиночный сервер. Альтернативно, сервер 40 может представлять собой множество серверов.[38] Embodiments of
[39] Варианты осуществления устройства 30 хранения данных никак конкретно не ограничены. Например, устройство 30 хранения данных может является таким устройством памяти как жесткий диск (не показано), встроенный в электронное устройство 20, или устройство 30 хранения данных может быть соединено с электронным устройством 20 по сети 50 передачи данных или по любому подходящему проводному или беспроводному соединению. Устройство 30 хранения данных обычно представляет собой элемент, способный хранить файлы и данные, например, программный код для программ 10, 15. Аналогично серверу 40, устройство 30 хранения данных может быть реализовано как одиночный элемент, или, альтернативно, как множество элементов. В рамках последнего варианта, каждое из множества устройств хранения данных, реализующих устройство 30 хранения данных, может отвечать за сохранение файлов для пользователей в конкретном регионе; или конкретного типа пользователей; или конкретного типа или размера файлов. Альтернативно, каждое из множества устройств хранения данных, реализующих устройство 30 хранения данных, может быть выполнено с возможностью сохранять файлы в соответствии с принципом распределения нагрузки, который выполняется контролирующим элементом (который может быть, например, сервером 40, или одним из множества серверов).[39] Embodiments of the
[40] Важно иметь в виду, что может быть использовано любое подходящее аппаратное обеспечение для хранения данных. В некоторых вариантах осуществления настоящего технического решения устройство 30 хранения данных может быть физически смежным с сервером 40, т.е. это не обязательно должны быть различные аппаратные устройства, как представлено, хотя это может быть и так. В некоторых вариантах осуществления настоящего технического решения устройство 30 хранения данных и/или сервер 40 могут быть реализованы в облачной среде, например, как часть сервиса облачного хранения.[40] It is important to keep in mind that any suitable hardware for storing data can be used. In some embodiments of the present technical solution, the
[41] Варианты осуществления электронного устройства 20 никак конкретно не ограничены. Электронное устройство может представлять собой любое вычислительное устройство, которое способно работать с подходящим программным обеспечением для заданной задачи, например, без установления ограничений: персональные компьютеры общего назначения (настольные компьютеры, ноутбуки, нетбуки и так далее), мобильные вычислительные устройства, смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Электронное устройство 20 включает в себя процессор или центральный процессор (CPU) 22 и блок 25 памяти. Несмотря на то, на иллюстративном примере на Фиг. 1 представлено одиночное электронное устройство 20, множество электронных устройств может быть использовано для получения/передачи, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.[41] Embodiments of the
[42] Следует иметь в виду, что электронное устройство 20 может вести себя как сервер 40 по отношению к другим электронным устройствам (не показаны). Другими словами, несмотря на то, что вариант осуществления, представленный на Фиг. 1, представляет электронное устройство 20 и сервер 40 как отдельные аппаратные компоненты, в некоторых вариантах осуществления настоящего технического решения сервер 40 может быть физически смежен с электронным устройством 20, т.е. они не обязательно являются отдельными элементами аппаратного обеспечения, как показано, хотя это может быть и так.[42] It should be borne in mind that the
[43] Экземпляр 11 программы 10 загружен в адресное пространство памяти 25 электронного устройства 20. Варианты осуществления памяти 25 никак конкретно не ограничены. Память 25 может содержать в себе систему виртуальной памяти с физической памятью, отдельной от адресного пространства, но с целью упрощения память показана на Фиг. 1 как простой блок 25.[43] Instance 11 of
[44] Экземпляр 11 программы конкретно выполнен, в свою очередь, для инстанцирования ряда программных объектов от 121 до 122 (указаны вместе как программные объекты 12). Программные объекты могут представлять собой сочетание выполняемого кода и данных, и, следовательно, могут выполнять обработку самостоятельно и/или предоставлять данные для обработки другими программными объектами. Например, программный объект, такой как функция или подпрограмма, может быть создан родительским объектом или даже основной программой для выполнения некоторой обработки от имени вызывающего родительского объекта или основной программы. Данные объекта могут быть различных типов, например: примитивные типы данных, такие как целые числа, вещественные числа, булевы числа, знаки; и структурированные или абстрактные типы данных, такие как, массивы или списки, а также определенные типы данных, каждый из которых включает в себя множество экземпляров данных или комбинаций типов данных.[44] The program instance 11 is specifically executed, in turn, for instantiating a number of program objects from 121 to 122 (indicated together as program objects 12). Software objects may be a combination of executable code and data, and, therefore, may perform processing on their own and / or provide data for processing by other program objects. For example, a program object, such as a function or subroutine, can be created by the parent object or even the main program to perform some processing on behalf of the calling parent object or main program. Object data can be of various types, for example: primitive data types, such as integers, real numbers, Boolean numbers, signs; and structured or abstract data types, such as arrays or lists, as well as certain data types, each of which includes multiple instances of data or combinations of data types.
[45] Как было описано выше программные объекты могут содержать в себе примеры функций, созданных в течение выполнения экземпляра 11 программы или простых или структурированных объектов данных, некоторые из которых могут содержать значения указателей, которые указывают на другие функции или данные. Программные объекты 12 обычно расположены в иерархическом порядке, с родительскими объектами вызывающими инстанцирование одного или нескольких дочерних объектов. Для простоты понимания, только один уровень дочерних объектов показан на Фиг. 1 с объектами 121-122, которые инстанцированы экземпляром программы 10. Однако, будет понятно, что даже в программе средней сложности иерархия объектов может содержать множество уровней объектов.[45] As described above, program objects may contain examples of functions created during execution of program instance 11 or simple or structured data objects, some of which may contain pointer values that point to other functions or data. Software objects 12 are usually arranged in a hierarchical order, with parent objects invoking the instantiation of one or more child objects. For ease of understanding, only one level of child objects is shown in FIG. 1 with objects 121-122 that are instantiated by an instance of
[46] Программные объекты 12 могут быть выполнены сервером 40 как часть программных процедур, например, как часть программ 10, 15. Важно иметь в виду, что варианты осуществления программных объектов никак конкретно не ограничены. Неограничивающие примеры программных объектов 12 включают в себя элементы пользовательского интерфейса (например, текстовые поля, панели инструментов, строки меню и кнопки и тому подобное), указатели, аудио объекты, объекты изображений, видео объекты и текстовые объекты. В некоторых вариантах осуществления настоящего технического решения, программные объекты 12 могут представлять собой всплывающие объекты. Неограничивающие примеры всплывающих объектов включают в себя объекты, которые появляются поверх или над окном браузера с веб-сайтом. Например, всплывающий объект может появляться в тот момент, когда опция была выбрана путем нажатия или какого-либо другого указания на выбор пользователя. В некоторых вариантах осуществления настоящего технического решения, всплывающий объект может появляться когда пользователь располагает курсор (например, наводит курсор) на часть браузерного окна или веб-сайта. Многие варианты осуществления всплывающих объектов могут быть использованы, что хорошо известно в данной области техники.[46] Program objects 12 can be executed by
[47] Реализация сети 50 передачи данных никак конкретно не ограничена, и будет зависеть от того, как именно реализовано электронное устройство 20, сервер 40 и устройство 30 беспроводной связи. В некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем, сеть 50 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящего технического решения, сеть передачи данных 50 может быть реализована иначе - в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п.В качестве примера, но не ограничения, в данных вариантах осуществления настоящего технического решения в случаях, когда электронное устройство 20 представляет собой клиентское устройство, например, беспроводное устройство связи (например, смартфон), сеть 50 передачи данных представляет собой беспроводной канал передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 20 представляет собой портативный компьютер, сеть 50 передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet). Различные электронные устройства и различные сети передачи данных могут быть реализованы независимо друг от друга.[47] The implementation of the
[48] Для дальнейшего понимания и иллюстрации системы 100 будет сделана ссылка на Фиг. 2, на которой представлен снимок 200 экрана графического пользовательского интерфейса, который отображает карту 260 улиц пользователю (не показан), карта 260 улиц указывает местоположение адреса 250 пользователю. Важно иметь в виду, что Фиг. 2 представлена только для целей иллюстрации и облегчения понимания сути настоящего технического решения. Важно также иметь в виду, что Фиг. 2 содержит большой объем информации, но только актуальные части будут пронумерованы и описаны.[48] For further understanding and illustration of the
[49] Варианты осуществления снимка 200 экрана никак конкретно не ограничены. В одном неограничивающем примере снимок 200 экрана может отображаться браузерным приложением (не показано) или открываться с помощью интернет-браузера (не показано).[49] Embodiments of a
[50] В неограничивающем варианте осуществления настоящего технического решения, показанном на Фиг. 2, снимок 200 экрана показывает объект 210 данных, в котором пользователь (не показан) ввел адрес 250 «адрес 1» (англ. «address1»), который пользователь ищет; объект 220 кнопки, на который пользователь может нажать для инициирования отображения адреса 250, введенного в объект 210 ввода данных; второй объект 230 кнопки; объект 240 указателя, указывающий положение адреса 250 на карте 260 улиц.[50] In a non-limiting embodiment of the present technical solution shown in FIG. 2, a
[51] Во втором объекте 230 кнопки пользователь может нажимать на термины («отели», «рестораны») для инициирования поиска ближайших отелей или ресторанов (расположенных неподалеку от адреса 250). Например, если пользователь (не показан) нажимает на термин «отели» на втором объекте 230 кнопки, то может возникнуть новый объект (не показан), новый объект будет указывать на отель, расположенный неподалеку от адреса 250. В некоторых вариантах осуществления настоящего технического решения, другие объекты также могут быть перемещены в ответ на нажатие пользователем на термин «отели» на втором объекте 230 кнопки. Например, в ответ на нажатие пользователей на термин «отели» на втором объекте 230 кнопки, появляется новый объект (не показан), объект 240 указателя и объект 210 ввода данных могут быть удалены.[51] In the
[52] Реализация карты 260 улиц, доступной пользователю, никак конкретно не ограничена. В качестве одного примера, пользователь может получать доступ к веб-сайту, связанному с картой или другими сервисами. Например, сервис Яндекс Карты может быть вызван путем ввода URL (например, https://maps.yandex.com) в браузер, например, связанного с поисковой системой Yandex www.yandex.ru. Клиентское устройство может, например, выполнять приложение Яндекс браузер. Важно иметь в виду, что любое другое коммерчески доступное или собственное браузерное приложение, и любая доступная картографическая система могут быть использованы для реализации вариантов осуществления настоящего технического решения, не ограничивающих его объем.[52] The implementation of the 260 street map available to the user is not specifically limited. As one example, a user may access a website associated with a map or other services. For example, Yandex Maps service can be called by entering a URL (for example, https://maps.yandex.com) in a browser, for example, associated with the Yandex search system www.yandex.ru. The client device may, for example, run the Yandex browser application. It is important to keep in mind that any other commercially available or proprietary browser application, and any available cartographic system can be used to implement embodiments of this technical solution that do not limit its scope.
[53] В альтернативных вариантах осуществления настоящего технического решения пользователь может скачать приложение Яндекс Карты (также упоминаемое как «приложение») на клиентское устройство, например, смартфон, и может получать доступ к картографическому сервису с помощью приложения. В другом неограничивающем варианте осуществления настоящего технического решения, API Яндекс Карт может быть установлен на веб-приложении или сайте, а пользователь может получать доступ к картографическому сервису с помощью API на веб-приложении или сайте. Другие варианты осуществления также возможны, что будет очевидно специалистам в данной области техники.[53] In alternative embodiments of the present technical solution, the user can download the Yandex Maps application (also referred to as the “application”) to a client device, such as a smartphone, and can access the map service using the application. In another non-limiting embodiment of the present technical solution, the Yandex Maps API can be installed on a web application or website, and the user can access the map service using the API on a web application or website. Other embodiments are also possible, as will be apparent to those skilled in the art.
[54] На Фиг. 3 представлена принципиальная схема способа 300, выполненного в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Процесс 300 может выполняться электронным устройством 20.[54] In FIG. 3 is a schematic diagram of a
[55] Этап 302 - получение первого запроса на первый объект от первого элемента запроса, первый запрос включает в себя запрос на выполнение первого действия над первым объектом, выполнение первого действия требует первого разрешения[55] Step 302 - receiving the first request to the first object from the first request element, the first request includes a request to perform the first action on the first object, performing the first action requires first permission
[56] Способ 300 начинается на этапе 302, где процессор 22 электронного устройства 20 получает первый запрос (не показано) на первый объект 121 от сервера 40, первый запрос включает в себя запрос на выполнение первого действия (не показано) над первым объектом 121, выполнение первого действия требует первого разрешения (не показано).[56] The
[57] В некоторых неограничивающих вариантах осуществления настоящего технического решения первый запрос получают от программы 10 через сервер 40 и сеть 50 передачи данных. В альтернативных неограничивающих вариантах осуществления настоящего технического решения первый запрос получают от экземпляра 11 программы 10, загруженного в память 25 электронного устройства 20. В подобных вариантах осуществления настоящего технического решения первый запрос может быть получен от процессора 22 электронного устройства 20.[57] In some non-limiting embodiments of the present technical solution, a first request is received from
[58] Варианты осуществления первого объекта 121 никак конкретно не ограничены. Обращаясь к иллюстративному варианту осуществления настоящего технического решения, представленному на Фиг. 2, первый объект 121 для целей иллюстрации может считаться объектом 240 указателя. Важно отметить, что возможны многие другие варианты осуществления настоящего технического решения. Например, в альтернативных вариантах осуществления настоящего технического решения, первый объект 121 может представлять собой объект 210 ввода данных, объект 220 кнопки или объект 230 второй кнопки. Для простоты иллюстрации предполагается, что в рассматриваемом варианте осуществления настоящего технического решения первый объект 121 представляет собой объект 240 указателя.[58] Embodiments of the
[59] Первый запрос включает в себя запрос на выполнение первого действия над первым объектом 121. Варианты осуществления первого действия никак конкретно не ограничены. Как известно в данной области техники, могут выполняться различные операции или функции в связи с программными объектами 12 или с их помощью. Неограничивающие примеры подобных действий включают в себя отображение или демонстрацию объекта, например, в GUI; разрешение на появление объекта; ввод текста в объект; ввод данных или информации в объект; нажатие на объект; выбор объекта; выбор части объекта; и удаление объекта.[59] The first request includes a request to perform the first action on the
[60] Обращаясь снова к иллюстративному варианту осуществления, показанному на Фиг. 2, первый запрос на первый объект 121 (соответствующий объект 240 указателя в данном примере) включает в себя запрос отобразить объект 204 указателя на карте 260 улиц, на месте адреса 250. Первый запросчик в данном примере представляет собой программу 10 (или экземпляр 11 программы 10), которая в целях иллюстрации соответствует картографическому приложению (например, Яндекс Карты).[60] Turning again to the illustrative embodiment shown in FIG. 2, the first request to the first object 121 (the
[61] Далее, на первом этапе 302 способа 300, представленного на Фиг. 3, осуществляется получение первого запроса на первый объект от первого элемента запроса. Первый запрос требует первого разрешения (не показано). Другими словами, первый запросчик запрашивает разрешение для выполнения первого действия над первым объектом. В примере, показанном на Фиг. 2, картографическое приложение (не показано) запрашивает разрешение отобразить объект 240 указателя на карте 260 улиц, на месте адреса 250, пользователь ввел адрес 250 в объект 210 ввода данных и нажал на объект 220 кнопки для инициации отображения адреса 250.[61] Next, in a
[62] Этап 304 - в ответ на первый запрос дается первое разрешение на выполнение первого действия запросчику, и первый запросчик, следовательно, контролирует первый объект[62] Step 304 - in response to the first request, the first permission is given to perform the first action to the requestor, and the first requestor, therefore, controls the first object
[63] Способ 300 далее переходит к выполнению этапа 304. В ответ на получение первого запроса, первому запросчику дается первое разрешение на выполнение первого действия.[63] The
[64] В общем случае, операционная система (не показана) электронного устройства 20 включает в себя центральный менеджер разрешений (не показан), который определяет разрешения в рамках и внутри системы электронного устройства 20. На этапе 304 первый запрос поступает центральному менеджеру разрешений, первое разрешение на выполнение первого действия дается первому запросчику центральным менеджером разрешений. Со ссылкой на пример, показанный на Фиг. 2, разрешение отобразить объект 240 указателя на карте 260 улиц на месте адреса 250, дается первому запросчику центральному менеджеру разрешений (не показано) электронного устройства 20. Объект 240 указателя, следовательно, отображается на карте 260 улиц на месте адреса 250, например, на GUI (не показан) электронного устройства 20.[64] In general, the operating system (not shown) of the
[65] Продолжая с этапом 304 способа 300, первый запросчик получил первое разрешение от центрального менеджера разрешений (не показан) электронного устройства 20, первый запросчик, следовательно, контролирует первый объект 121 (объект 240 указателя в данном случае). В контексте настоящего описания термин «контролирует» данный объект подразумевает под собой контроль за разрешениями для данного объекта. Таким образом, несмотря на то, что первично центральный менеджер разрешений (не показан) электронного устройства 20 определяет разрешения для первого объекта 121, после того как первое разрешение было дано первому запросчику, первый запросчик получает контроль над разрешениями для первого объекта 121 от центрального менеджера разрешений. Далее, когда первый запросчик продолжает контролировать первый объект 121, уже первый запросчик будет давать/не давать разрешения в ответ на последующие запросы на выполнение действий над первым объектом 121.[65] Continuing with
[66] В вариантах осуществления настоящего технического решения, разрешения определяются (даются/не даются) в соответствии с заранее определенными правилами. Элемент, ответственный за разрешения (например, центральный менеджер разрешений электронного устройства 20, запросчик или элемент, контролирующий первый объект 121), будет определять разрешения для объектов 12 в соответствии с заранее установленными правилами. Например, центральный менеджер разрешений, API и/или рассматриваемая программа могут следовать набору заранее определенных правил и процедур, как будет понятно специалистам в данной области техники.[66] In embodiments of the present technical solution, permissions are determined (given / not given) in accordance with predetermined rules. The permission element (e.g., the central permission manager of the
[67] Варианты осуществления первого элемента запроса никак конкретно не ограничены. В некоторых вариантах осуществления настоящего технического решения объектно-ориентированный менеджер разрешений, отдельный от центрального менеджера разрешений, но связанный с ним, становится связанным с первым запросчиком. Последующие запросы, относящиеся к первому объекту 121, будут передаваться от центрального менеджера разрешений объектно-ориентированному менеджеру разрешений, связанному с первым запросчиком, который определяет разрешения для первого объекта 121. Если другой запросчик контролирует первый объект 121, то объектно-ориентированный менеджер разрешений становится связанным с другим запросчиком и так далее. Если не было сделано никакого запроса и ни один из элементов запроса не контролирует первый объект 121, то объектно-ориентированный менеджер разрешений остается связанным с центральным менеджером разрешений.[67] Embodiments of the first request element are not particularly limited. In some embodiments of the present technical solution, an object-oriented permission manager, separate from but associated with the central permission manager, becomes associated with the first interrogator. Subsequent requests related to the
[68] Способ 300 далее переходит к выполнению этапа 306.[68] The
[69] Этап 306 - получение второго запроса на первый объект от второго элемента запроса, второй запрос включает запрос на выполнение второго действия над первым объектом, выполнение второго действия требует второго разрешения[69] Step 306 - receiving a second request to the first object from the second request element, the second request includes a request to perform a second action on the first object, the second action requires a second permission
[70] Способ 300 продолжается на этапе 306, где второй запрос (не показан) на первый объект 121 получают от второго элемента запроса (не показан), второй запрос включает в себя запрос на выполнение второго действия (не показано) над первым объектом 121, выполнение второго действия требует второго разрешения (не показано).[70] The
[71] Как описано со ссылкой на этап 302 и первый запрос, центральный менеджер разрешений (не показан) электронного устройства 20 получает второй запрос на первый объект 121 от сервера 40. В некоторых неограничивающих вариантах осуществления настоящего технического решения второй запрос получают от второго элемента запроса через сервер 40 и сеть 50 передачи данных. В альтернативных неограничивающих вариантах осуществления настоящего технического решения, второй запросчик расположен в памяти 25 электронного устройства 20, и второй запрос получают от процессора 22 электронного устройства 20 через центральный менеджер разрешений.[71] As described with reference to step 302 and the first request, the central permission manager (not shown) of the
[72] Варианты осуществления второго действия никак конкретно не ограничены. Важно иметь в виду, что второе действие может быть или не быть точно таким же, как первое действие, т.е. первое действие и второе действие могут быть одинаковыми или отличающимися. Со ссылкой на вариант осуществления настоящего технического решения, представленный на Фиг. 2, первое действие и второе действие могут отображать объект 240 указателя на карте 260 улиц. Например, второй запрос от второго элемента запроса может быть запросом отобразить объект 240 указателя на карте 260 улиц на втором месте (не показано), которое отличается от первого места, соответствующего адресу 250. Альтернативно, второй запрос от второго элемента запроса может отличаться от первого запроса для отображения объекта 240 указателя, который является запросом на модификацию внешнего вида объекта 240 указателя, например, путем изменения цвета или размера или присоединения к нему второго объекта (например, поля текста).[72] Embodiments of the second action are not particularly limited. It is important to keep in mind that the second action may or may not be exactly the same as the first action, i.e. the first action and the second action may be the same or different. With reference to an embodiment of the present technical solution presented in FIG. 2, the first action and the second action can display a
[73] В некоторых неограничивающих вариантах осуществления настоящего технического решения, второе действие может включать в себя оба первое действие и дополнительное действие. Например, второй запрос от второго элемента запроса может быть запросом отобразить объект 240 указателя на карте 260 улиц на втором месте (не показано), а также запросом на модификацию внешнего вида объекта 240 указателя. Многие подобные варианты осуществления также возможны, что известно специалистам в данной области техники.[73] In some non-limiting embodiments of the present technical solution, the second action may include both the first action and the additional action. For example, the second request from the second request element may be a request to display a
[74] Варианты осуществления второго элемента запроса никак конкретно не ограничены. В некоторых неограничивающих вариантах осуществления настоящего технического решения, первый запросчик и второй запросчик являются отдельными элементами. Например, в описанном выше примере, первый запросчик является программой 10 (или экземпляром 11 программы 10), соответствующий в представленном на Фиг. 2 варианте осуществления настоящего технического решения картографическому приложению (например, Яндекс. Карты). Продолжая с этим примером, второй запросчик представляет собой программу 15 (или экземпляр (не показан) программы 15, загруженный в адресное пространство в памяти 25 электронного устройства 20). Программа 15 отделена от программы 10. Например, программа 10 (первый запросчик) представляет собой Яндекс. Карты, а программа 15 (второй запросчик) может представлять собой Sky Maps, приложение, которое отображает карты звезд, созвездий и других небесных объектов. Второй запросчик, программа 15 (Sky Maps) может запрашивать разрешение отображать объект 240 указателя на карте звезд (не показано) в ответ на запрос пользователя.[74] Embodiments of the second request element are not particularly limited. In some non-limiting embodiments of the present technical solution, the first interrogator and the second interrogator are separate elements. For example, in the example described above, the first interrogator is program 10 (or instance 11 of program 10) corresponding to that shown in FIG. 2 embodiment of the present technical solution to the cartographic application (for example, Yandex. Maps). Continuing with this example, the second interrogator is program 15 (or an instance (not shown) of
[75] Несмотря на то, что первый запросчик, программа 10, и второй запросчик, программа 15, представлены на Фиг. 1 как отдельные элементы, первый запросчик и второй запросчик не обязательно должны представлять собой отдельные элементы. В некоторых неограничивающих вариантах осуществления настоящего технического решения, первый запросчик и второй запросчик могут быть одинаковыми, т.е. первый запрос и второй запрос были созданы одной и той же программой. Продолжая с представленным на Фиг. 2 примером, первый запросчик представляет собой программу 10 (или экземпляр 11 программы 10), соответствующую Яндекс, картам, Яндекс. Карты запрашивают разрешение отобразить объект 240 указателя на карте 260 улиц по адресу 250. В ответ на ввод пользователем второго адреса (не показано) в объекте 210 ввода данных, второй запрос получают от Яндекс. Карт, второй запрос включает в себя запрос на отображение объекта 240 указателя на месте второго адреса. Возможны многие подобные варианты осуществления.[75] Although the first interrogator,
[76] Способ 300 далее переходит к выполнению этапа 308.[76] The
[77] Этап 308 - в ответ на второй запрос, передача второго запроса первому запросчику, первый запросчик контролирует первый объект[77] Step 308 - in response to the second request, transmitting the second request to the first interrogator, the first interrogator controls the first entity
[78] Способ 300 продолжается на этапе 308, где, в ответ на получение второго запроса, второй запрос передается первому запросчику центральным менеджером разрешения, первый запросчик контролирует первый объект 121. Например, центральный менеджер разрешения может передавать второй запрос объектно-ориентированному менеджеру разрешений. Объектно-ориентированный менеджер разрешений становится связанным с первым запросчиком.[78] The
[79] Варианты осуществления первого элемента запроса никак конкретно не ограничены. В некоторых вариантах осуществления настоящего технического решения объектно-ориентированный менеджер разрешений, отдельный от центрального менеджера разрешений, но связанный с ним, становится связанным с первым запросчиком. Последующие запросы, относящиеся к первому объекту 121, будут передаваться от центрального менеджера разрешений объектно-ориентированному менеджеру разрешений, связанному с первым запросчиком, который определяет разрешения для первого объекта 121. Если другой запросчик контролирует первый объект 121, то объектно-ориентированный менеджер разрешений становится связанным с другим запросчиком и так далее. Если не было сделано никакого запроса и ни один из элементов запроса не контролирует первый объект 121, то объектно-ориентированный менеджер разрешений остается связанным с центральным менеджером разрешений.[79] Embodiments of the first request element are not particularly limited. In some embodiments of the present technical solution, an object-oriented permission manager, separate from but associated with the central permission manager, becomes associated with the first interrogator. Subsequent requests related to the
[80] Как обсуждалось ранее, когда первый запросчик продолжает контролировать первый объект 121, уже первый запросчик будет определять разрешения на выполнение действий над первым объектом 121. Следовательно, процессор 22 электронного устройства 20 предает второй запрос запросчику (программа 10 в выше описанном примере) для определения разрешения для второго запроса.[80] As previously discussed, when the first interrogator continues to monitor the
[81] Способ 300 продолжается либо на этапе 310 либо на этапе 312, в зависимости от того, дает ли первый запросчик второе разрешение второму запросчику.[81]
[82] Этап 310 - в ответ на то, что первый запросчик дает второе разрешение второму запросчику, позволение выполнения второго действия вторым запросчиком, второй запросчик, соответственно, контролирует первый объект, и завершение первого разрешения и выполнения первого действия первым запросчиком[82] Step 310 - in response to the fact that the first interrogator gives the second permission to the second interrogator, allowing the second interrogator to perform the second action, the second interrogator controls the first object, respectively, and the first interrogator completes the first permission and the first interrupt
[83] Этап 312 - в ответ на то, что первый запросчик не дает второе разрешение второму запросчику и не позволяет выполнять второе действие вторым запросчиком, первый запросчик продолжает контролировать первый объект[83] Step 312 - in response to the fact that the first interrogator does not give a second permission to the second interrogator and does not allow the second action to be performed by the second interrogator, the first interrogator continues to monitor the first object
[84] Если первый запросчик дает второе разрешение второму запросчику, способ продолжается на этапе 310, таким образом, что разрешается выполнение второго действия вторым запросчиком. Второй запросчик, следовательно, контролирует первый объект 121, и первое разрешение и выполнение первого действия первым запросчиком завершается.[84] If the first interrogator gives the second permission to the second interrogator, the method continues at
[85] Продолжая с описанным выше и представленным на Фиг. 2 примером, предполагается, что первый запросчик представляет собой программу 10 (или экземпляр 11 программы 10), соответствующую Яндекс.Картам, Яндекс. Карты запрашивают (и получают) разрешение отобразить объект 240 указателя на карте 260 улиц по адресу 250. В ответ на ввод пользователем второго адреса (не показано) в объекте 210 ввода данных, второй запрос получают от второго элемента запроса (в данном случае, Яндекс. Карт), второй запрос включает в себя включает в себя запрос на отображение объекта 240 указателя на месте второго адреса (не показано). На этапе 310 дается разрешение на отображение объекта 240 указателя на карте 260 улиц на месте второго адреса. Соответственно, первое разрешение и выполнение первого действия первым запросчиком завершаются, т.е. объект 240 указателя убирается с адреса 250 (который отображается вместо этого на месте второго адреса). Второй элемент контролирует первый объект 121, т.е. захватывает управление за всеми последующими разрешениями для объекта 240 указателя.[85] Continuing with the above and shown in FIG. 2 by example, it is assumed that the first interrogator is program 10 (or instance 11 of program 10) corresponding to Yandex.Maps, Yandex. Cards request (and receive) permission to display a
[86] Альтернативно, если первый запросчик не дает второе разрешение второму запросчику, способ продолжается на этапе 312, таким образом, выполнение второго действия вторым запросчиком не разрешено. В этом случае, объект 240 указателя остается на карте 260 улиц по адресу 250, и первый запросчик продолжает контролировать первый объект 121.[86] Alternatively, if the first interrogator does not give a second permission to the second interrogator, the method continues at
[87] В альтернативных вариантах осуществления настоящего технического решения этапа 310 первый запросчик продолжает контролировать первый объект 121, несмотря на то, что было дано разрешение второму запросчику и было разрешено выполнение второго действия вторым запросчиком. Например, в описанном выше варианте, несмотря на то, что на этапе 310 дается разрешение второму запросчику для отображения объекта 240 указателя на карте 260 улиц на месте второго адреса, первый запросчик продолжает контролировать первый объект 121, т.е. первый запросчик все еще определяет последующие разрешения для объекта 240 указателя, а второй запросчик не захватывает контроль последующими разрешениями для объекта 240 указателя.[87] In alternative embodiments of the present technical solution of
[88] В некоторых вариантах осуществления настоящего технического решения, где второе действие включает в себя и первое действие и дополнительное действие, первый запросчик может частично давать второе разрешение второму запросчику, таким образом, разрешая выполнение части второго действия вторым запросчиком. Например, когда второй запрос от второго элемента запроса представляет собой запрос отобразить объект 240 указателя на карте 260 улиц на втором месте, а также запрос модифицировать внешний вид объекта 240 указателя, первый запросчик может давать разрешение второму запросчику отобразить объект 240 указателя на карте 260 улиц на втором месте, но не давать разрешение модифицировать внешний вид объекта 240 указателя. В альтернативных вариантах осуществления настоящего технического решения, первый запросчик может давать разрешение второму запросчику модифицировать внешний вид объекта 240 указателя, но не отображать объект 240 указателя на карте 260 улиц на втором месте. В подобных вариантах осуществления, первый запросчик может контролировать первый объект 121 (в данном случае - объект 240 указателя) полностью, частично или вовсе не контролировать (т.е. второй запросчик контролирует первый объект 121).[88] In some embodiments of the present technical solution, where the second action includes both the first action and the additional action, the first interrogator can partially give the second permission to the second interrogator, thus allowing the second interrogator to execute part of the second action. For example, when the second request from the second request element is a request to display a
[89] В вариантах осуществления настоящего технического решения, где первый запросчик продолжает контролировать объект частично, второй запросчик контролирует первый объект 121 частично, управление разрешениями в этом случае будет разделяться между первым запросчиком и вторым запросчиком. В общем случае, в подобных вариантах осуществления настоящего технического решения второй запросчик контролирует первый объект 121 для части второго действия, для которого было дано разрешение и выполнение которого было разрешено, первый запросчик продолжает контролировать первый объект 121 для части второго действия, для которого не было дано разрешения второму запросчику. Например, в случае, когда первый запросчик дал разрешение второму запросчику отобразить объект 240 указателя на карте 260 улиц на втором месте, но не давал разрешения второму запросчику модифицировать внешний вид объекта 240 указателя, второй запросчик может контролировать управление разрешениями на отображения объекта 240 указателя, а первый запросчик все еще контролирует управление разрешениями на модификацию внешнего вида объекта 240 указателя. Как будет понятно специалистам в данной области техники, возможны многие другие вариации.[89] In embodiments of the present technical solution, where the first interrogator continues to control the object partially, the second interrogator controls the
[90] В альтернативных вариантах осуществления этапа 310, первый запросчик может давать второе разрешение второму запросчику, что позволяет выполнять второе действие вторым запросчиком, без завершения первого разрешения и выполнения первого действия первым запросчиком. В описанном выше примере первый запросчик может давать разрешение второму запросчику отобразить второй объект указателя (не показан) на карте 260 улиц на втором месте (не показано), не оканчивая отображение объекта 240 указателя на первом месте, соответствующем адресу 250. В этом случае, будет отображаться два объекта указателя на карте 260 улиц, один на первом месте, соответствующем адресу 250, а второй на втором месте. В подобных вариантах осуществления настоящего технического решения, первый запросчик может продолжать или не продолжать контролировать первый объект 121 (объект 240 указателя), т.е. второй второй запросчик может контролировать или не контролировать первый объект 121.[90] In alternative embodiments of
[91] Таким образом, с некоторой точки зрения, варианты осуществления настоящего технического решения можно изложить следующим образом, структурировано, пронумерованными пунктами.[91] Thus, from a certain point of view, embodiments of the present technical solution can be stated as follows, structured, numbered paragraphs.
[92] ПУНКТ 1 Способ управления разрешениями для объектов (12), объекты (12) исполняются сервером (40) как часть программных процедур, способ выполняется на электронном устройстве (20) и включает в себя:[92] ITEM 1 A method for managing permissions for objects (12), objects (12) are executed by a server (40) as part of software procedures, the method is performed on an electronic device (20) and includes:
[93] а) получение первого запроса на первый объект (121) от первого элемента запроса, первый запрос включает в себя запрос на выполнение первого действия над первым объектом (121), выполнение первого действия требует первого разрешения.[93] a) receiving the first request to the first object (121) from the first request element, the first request includes a request to perform the first action on the first object (121), the first action requires first permission.
[94] b) ответ на указанный первый запрос дается первое разрешение на выполнение первого действия первому запросчику, и первый запросчик, следовательно, контролирует первый объект (121);[94] b) the response to the specified first request is given the first permission to perform the first action to the first requestor, and the first requestor, therefore, controls the first object (121);
[95] с) получение второго запроса на первый объект (121) от второго элемента запроса, второй запрос включает запрос на выполнение второго действия над первым объектом (121), выполнение второго действия требует второго разрешения;[95] c) receiving a second request to the first object (121) from the second request element, the second request includes a request to perform a second action on the first object (121), the second action requires a second permission;
[96] d) в ответ на второй запрос, передача второго запроса первому запросчику, первый запросчик контролирует первый объект (121); и[96] d) in response to the second request, transmitting the second request to the first interrogator, the first interrogator controls the first entity (121); and
[97] выполнение одного из:[97] performing one of:
[98] е) в ответ на то, что первый запросчик дает второе разрешение второму запросчику, позволение выполнения второго действия вторым запросчиком, второй запросчик, соответственно, контролирует первый объект (121), и завершение первого разрешения и выполнения первого действия первым запросчиком; или[98] e) in response to the fact that the first interrogator gives the second permission to the second interrogator, allowing the second interrogator to perform the second action, the second interrogator, respectively, controls the first object (121), and the completion of the first authorization and the execution of the first action by the first interrogator; or
[99] f) в ответ на то, что первый запросчик не дает второе разрешение второму запросчику и не позволяет выполнять второе действие вторым элементом, первый запросчик продолжает контролировать первый объект (121).[99] f) in response to the fact that the first interrogator does not give a second permission to the second interrogator and does not allow the second action to be performed by the second element, the first interrogator continues to monitor the first object (121).
[100] ПУНКТ 2 Способ по п. 1, в котором первое действие и второе действие являются одним и тем же действием.[100] ITEM 2 The method of
[101] ПУНКТ 3 Способ по п. 1, в котором первое действие и второе действие являются разными действиями.[101] ITEM 3 The method of
[102] ПУНКТ 4 Способ по п. 3, в котором на этапе е), в ответ на то, что первый запросчик дает второе разрешение второму запросчику и позволяет выполнять второе действие вторым элементом, первый запросчик продолжает контролировать первый объект (121).[102] ITEM 4 The method of claim 3, wherein in step e), in response to the first interrogator giving the second permission to the second interrogator and allowing the second action to be performed by the second element, the first interrogator continues to monitor the first object (121).
[103] ПУНКТ 5 Способ по любому из пп. 3-4, в котором второе действие включает в себя первое действие и дополнительное действие, в котором первый запросчик дает второе разрешение второму запросчику, включая то, что первый запросчик частично дает второе разрешение второму запросчику, разрешая выполнение части второго действия вторым запросчиком.[103] ITEM 5 The method according to any one of paragraphs. 3-4, in which the second action includes a first action and an additional action, in which the first interrogator gives the second permission to the second interrogator, including the fact that the first interrogator partially gives the second permission to the second interrogator, allowing the second interrogator to execute part of the second action.
[104] ПУНКТ 6 Способ по п. 5, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять первое действие вторым запросчиком и не позволяет выполнять дополнительное действие вторым запросчиком.[104] ITEM 6 The method of claim 5, wherein the first interrogator partially grants a second permission to the second interrogator, including that the first interrogator allows the first interrogator to perform the first action and does not allow the second interrogator to perform the additional action.
[105] ПУНКТ 7 Способ по п. 5, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять дополнительное действие вторым запросчиком и не позволяет выполнять первое действие вторым запросчиком.[105] ITEM 7 The method of claim 5, wherein the first interrogator partially gives a second permission to the second interrogator, including that the first interrogator allows the second interrogator to perform an additional action and does not allow the second interrogator to perform the first action.
[106] ПУНКТ 8 Способ по любому из пп. 5-7, в котором первый запросчик продолжает частично контролировать первый объект (121), второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.[106] ITEM 8 The method according to any one of paragraphs. 5-7, in which the first interrogator continues to partially control the first object (121), the second interrogator controls part of the second action for which permission was given and the execution of which was allowed.
[107] ПУНКТ 9 Способ по любому из пп. 1-8, в котором первый объект (121) включает в себя элемент пользовательского интерфейса и указатель и аудио-объект и объект изображения и видео-объект и текстовый объект.[107] ITEM 9 The method according to any one of paragraphs. 1-8, in which the first object (121) includes a user interface element and a pointer and an audio object and an image object and a video object and a text object.
[108] ПУНКТ 10 Способ по п. 9, в котором элемент пользовательского интерфейса включает в себя текстовое поле и панель инструментов и строку меню и гиперссылку и кнопку.[108]
[109] ПУНКТ 11 Способ по любому из пп. 1-10, в котором первый объект (121) является всплывающим объектом.[109] ITEM 11 The method according to any one of paragraphs. 1-10, in which the first object (121) is a pop-up object.
[110] ПУНКТ 12 Способ по любому из пп. 4-7, в котором первое действие, второе действие и дополнительное действие включают в себя, независимо, одно или несколько из: демонстрацию первого объекта (121), что позволяет первому объекту (121) появляться, и ввод текста в первый объект (121), и ввод данных или информации в первый объект (121), и нажатие на первый объект (121), и выбор первого объекта (121), и выбор части первого объекта (121), и удаление первого объекта (121).[110]
[111] ПУНКТ 13 Способ по любому из пп. 1-12, в котором электронное устройство (20) является клиентским устройством или сервером (40).[111] ITEM 13 The method according to any one of paragraphs. 1-12, in which the electronic device (20) is a client device or server (40).
[112] ПУНКТ 14 Электронное устройство (20) связано с пользователем, электронное устройство (20) включает в себя:[112] ITEM 14 An electronic device (20) is associated with a user, an electronic device (20) includes:
интерфейс связи для установления связи с сервером (40) через сеть (50) передачи данных, сервер (40) выполнен с возможностью выполнять объекты (12) как часть программных процедур;a communication interface for establishing communication with the server (40) through the data transmission network (50), the server (40) is configured to execute objects (12) as part of the software procedures;
процессор (22) функционально связанный с интерфейсом связи, процессор дополнительно выполнен с возможностью осуществлять:a processor (22) operably coupled to a communication interface, the processor is further configured to:
a) получение первого запроса на первый объект (121) от первого элемента запроса, первый запрос включает в себя запрос на выполнение первого действия над первым объектом (121), выполнение первого действия требует первого разрешения;a) receiving the first request to the first object (121) from the first request element, the first request includes a request to perform the first action on the first object (121), the first action requires first permission;
b) в ответ на указанный первый запрос выдачу первого разрешения на выполнение первого действия первому запросчику, и первый запросчик, следовательно, контролирует первый объект (121);b) in response to the specified first request, issuing the first permission to perform the first action to the first requestor, and the first requestor, therefore, controls the first object (121);
c) получение второго запроса на первый объект (121) от второго элемента запроса, второй запрос включает запрос на выполнение второго действия над первым объектом (121), выполнение второго действия требует второго разрешения;c) receiving a second request to the first object (121) from the second request element, the second request includes a request to perform a second action on the first object (121), the second action requires a second permission;
d) в ответ на второй запрос, передачу второго запроса первому запросчику, первый запросчик контролирует первый объект (121); иd) in response to the second request, the transmission of the second request to the first interrogator, the first interrogator controls the first object (121); and
выполнение одного из:execution of one of:
e) в ответ на то, что первый запросчик дает второе разрешение второму запросчику, позволение выполнения второго действия вторым запросчиком, второй запросчик, соответственно, контролирует первый объект (121), и завершение первого разрешения и выполнения первого действия первым запросчиком; иe) in response to the fact that the first interrogator gives the second permission to the second interrogator, allowing the second interrogator to perform the second action, the second interrogator controls the first object (121), respectively, and the first interrogator completes the first permission and the first action; and
f) в ответ на то, что первый запросчик не дает второе разрешение второму запросчику и не позволяет выполнять второе действие вторым элементом, первый запросчик продолжает контролировать первый объект (121).f) in response to the fact that the first interrogator does not give a second permission to the second interrogator and does not allow the second action to be performed by the second element, the first interrogator continues to control the first object (121).
[113] ПУНКТ 15 Электронное устройство (20) по п. 14, в котором первое действие и второе действие являются одним и тем же действием.[113]
[114] ПУНКТ 16 Электронное устройство (20) по п. 14, в котором первое действие и второе действие являются разными действиями.[114] ITEM 16 An electronic device (20) according to claim 14, wherein the first action and the second action are different actions.
[115] ПУНКТ 17 Электронное устройство (20) по п. 16, в котором на этапе е), в ответ на то, что первый запросчик дает второе разрешение второму запросчику и выполнять второе действие вторым элементом разрешено, первый запросчик продолжает контролировать первый объект (121).[115] ITEM 17 An electronic device (20) according to claim 16, wherein in step e), in response to the first interrogator giving a second permission to the second interrogator and allowing the second action to be performed by the second element, the first interrogator continues to monitor the first object ( 121).
[116] ПУНКТ 18 Электронное устройство по п. 16 или п. 17, в котором второе действие включает в себя и первое действие и дополнительное действие, в котором первый запросчик дает второе разрешение второму запросчику, включая то, что первый запросчик частично дает второе разрешение второму запросчику, разрешая выполнение части второго действия вторым запросчиком.[116] ITEM 18 An electronic device according to claim 16 or claim 17, wherein the second action includes both a first action and an additional action, in which the first interrogator gives the second permission to the second interrogator, including the fact that the first interrogator partially gives the second permission the second interrogator, allowing the execution of part of the second action by the second interrogator.
[117] ПУНКТ 19 Электронное устройство по п. 18, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять первое действие вторым запросчиком и не позволяет выполнять дополнительное действие второму запросчику.[117] Clause 19 The electronic device of claim 18, wherein the first interrogator partially grants a second permission to the second interrogator, including that the first interrogator allows the first interrogation to be performed by the second interrogator and does not allow the second interrogator to perform an additional action.
[118] ПУНКТ 20 Электронное устройство по п. 18, в котором первый запросчик частично дает второе разрешение второму запросчику, включая то, что первый запросчик позволяет выполнять дополнительное действие вторым запросчиком и не позволяет выполнять первое действие вторым запросчиком.[118]
[119] ПУНКТ 21 Электронное устройство по любому из пп. 18-20, в котором первый запросчик продолжает частично контролировать первый объект (121), второй запросчик контролирует часть второго действия, для которого было дано разрешение и выполнение которого было разрешено.[119] ITEM 21 An electronic device according to any one of paragraphs. 18-20, in which the first interrogator continues to partially control the first object (121), the second interrogator controls part of the second action for which permission was given and the execution of which was allowed.
[120] ПУНКТ 22 Способ по любому из пп. 14-21, в котором первый объект (121) включает в себя элемент пользовательского интерфейса, указатель, аудио-объект, объект изображения, видео-объект или текстовый объект.[120]
[121] ПУНКТ 23 Электронное устройство по п. 22, в котором элемент пользовательского интерфейса включает в себя текстовое поле, панель инструментов, строку меню, гиперссылку или кнопку.[121] ITEM 23 The electronic device of
[122] ПУНКТ 24 Электронное устройство по любому из пп. 14-23, в котором первый объект (121) является всплывающим объектом.[122] ITEM 24 An electronic device according to any one of paragraphs. 14-23, in which the first object (121) is a pop-up object.
[123] ПУНКТ 25 Электронное устройство по любому из пп. 17-20, в котором первое действие, второе действие и дополнительное действие включают в себя, независимо, одно или несколько из: демонстрацию первого объекта (121), что позволяет первому объекту (121) появляться, ввод текста в первый объект (121), ввод данных или информации в первый объект (121), нажатие на первый объект (121), выбор первого объекта (121), выбор части первого объекта (121), удаление первого объекта (121).[123]
[124] ПУНКТ 26 Электронное устройство по любому из пп. 14-25, в котором электронное устройство является клиентским устройством или сервером (40).[124] ITEM 26 An electronic device according to any one of paragraphs. 14-25, in which the electronic device is a client device or server (40).
[125] Некоторые технические эффекты неограничивающих вариантов осуществления настоящего технического решения могут включать в себя предоставление децентрализованного управления объектами, при этом центральный менеджер разрешений не отвечает за определение разрешений для объектов во всех экземплярах. Это предоставление управления объектами может быть эффективнее, быстрее, менее затратным с позиции вычислительных ресурсов, уменьшать нагрузку на процессор, снижать использование ОЗУ и/или снижать потребление энергии электронным устройством. В тех вариантах осуществления настоящего технического решения, где электронное устройство 20 выполнено как беспроводное устройство передачи данных, способность снижать потребление энергии может привести к сбережению заряда аккумулятора электронного устройства 20. Важно иметь в виду, варианты осуществления настоящего технического решения могут быть выполнены с проявлением и других технических результатов.[125] Some of the technical effects of non-limiting embodiments of the present technical solution may include the provision of decentralized management of objects, while the central permission manager is not responsible for determining permissions for objects in all instances. This provision of facility management can be more efficient, faster, less costly in terms of computing resources, reduce processor load, reduce RAM usage and / or reduce energy consumption by an electronic device. In those embodiments of the present technical solution where the
[126] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.[126] Modifications and improvements to the above-described embodiments of the present technical solution will be apparent to those skilled in the art. The preceding description is provided as an example only and is not subject to any restrictions. Thus, the scope of the present technical solution is limited only by the scope of the attached claims.
Claims (31)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015126020A RU2632142C2 (en) | 2015-06-30 | 2015-06-30 | Method and electronic permission management unit for objects |
PCT/IB2016/050520 WO2017001938A1 (en) | 2015-06-30 | 2016-02-02 | Objects management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015126020A RU2632142C2 (en) | 2015-06-30 | 2015-06-30 | Method and electronic permission management unit for objects |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015126020A RU2015126020A (en) | 2017-01-11 |
RU2632142C2 true RU2632142C2 (en) | 2017-10-02 |
Family
ID=57607921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015126020A RU2632142C2 (en) | 2015-06-30 | 2015-06-30 | Method and electronic permission management unit for objects |
Country Status (2)
Country | Link |
---|---|
RU (1) | RU2632142C2 (en) |
WO (1) | WO2017001938A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU186650U1 (en) * | 2018-04-25 | 2019-01-29 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Михайловская военная артиллерийская академия" МО РФ | DEVICE FOR CALCULATING THE COMPLETENESS OF THE MILITARY MANAGEMENT BODY AT THE CONTROL OF THE COMBAT PREPARATION OF SLAVING FORMATIONS |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994023362A1 (en) * | 1993-03-31 | 1994-10-13 | Kalieda Labs, Inc. | Behavior objects |
RU2207619C2 (en) * | 2001-07-12 | 2003-06-27 | Щеглов Андрей Юрьевич | Resource access differentiation system |
US6993665B2 (en) * | 2002-05-01 | 2006-01-31 | Sun Microsystems, Inc. | Applet permissions manager |
US7970823B2 (en) * | 2004-09-02 | 2011-06-28 | Broadway Technology, Llc | System for sharing data objects among applications |
WO2012155096A1 (en) * | 2011-05-11 | 2012-11-15 | Oracle International Corporation | Access control architecture |
US8656465B1 (en) * | 2011-05-09 | 2014-02-18 | Google Inc. | Userspace permissions service |
US20150089575A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Authorization policy objects sharable across applications, persistence model, and application-level decision-combining algorithm |
US9032011B2 (en) * | 2004-09-02 | 2015-05-12 | Broadway Technology Llc | Management of data object sharing among applications |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8265942B2 (en) * | 2005-04-15 | 2012-09-11 | Fmr Llc | Multi-authoring within benefits content system |
US9239666B2 (en) * | 2007-09-12 | 2016-01-19 | Citrix Systems, Inc. | Methods and systems for maintaining desktop environments providing integrated access to remote and local resources |
US10769296B2 (en) * | 2013-12-10 | 2020-09-08 | Early Warning Services, Llc | System and method of permission-based data sharing |
-
2015
- 2015-06-30 RU RU2015126020A patent/RU2632142C2/en active
-
2016
- 2016-02-02 WO PCT/IB2016/050520 patent/WO2017001938A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994023362A1 (en) * | 1993-03-31 | 1994-10-13 | Kalieda Labs, Inc. | Behavior objects |
RU2207619C2 (en) * | 2001-07-12 | 2003-06-27 | Щеглов Андрей Юрьевич | Resource access differentiation system |
US6993665B2 (en) * | 2002-05-01 | 2006-01-31 | Sun Microsystems, Inc. | Applet permissions manager |
US7970823B2 (en) * | 2004-09-02 | 2011-06-28 | Broadway Technology, Llc | System for sharing data objects among applications |
US9032011B2 (en) * | 2004-09-02 | 2015-05-12 | Broadway Technology Llc | Management of data object sharing among applications |
US8656465B1 (en) * | 2011-05-09 | 2014-02-18 | Google Inc. | Userspace permissions service |
WO2012155096A1 (en) * | 2011-05-11 | 2012-11-15 | Oracle International Corporation | Access control architecture |
US20150089575A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Authorization policy objects sharable across applications, persistence model, and application-level decision-combining algorithm |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU186650U1 (en) * | 2018-04-25 | 2019-01-29 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Михайловская военная артиллерийская академия" МО РФ | DEVICE FOR CALCULATING THE COMPLETENESS OF THE MILITARY MANAGEMENT BODY AT THE CONTROL OF THE COMBAT PREPARATION OF SLAVING FORMATIONS |
Also Published As
Publication number | Publication date |
---|---|
RU2015126020A (en) | 2017-01-11 |
WO2017001938A1 (en) | 2017-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7013466B2 (en) | Application data processing methods, equipment, and computer programs | |
US9519504B2 (en) | Managing a server template | |
US9229771B2 (en) | Cloud bursting and management of cloud-bursted applications | |
US11647086B2 (en) | System and method for maintaining user session continuity across multiple devices and/or multiple platforms | |
WO2017049769A1 (en) | Method and device for providing target page in mobile application | |
US20170010673A1 (en) | Gesture based sharing of user interface portion | |
US9838460B2 (en) | Tool for sharing applications across client devices | |
US9824205B2 (en) | Mapping process changes | |
RU2608472C2 (en) | Techniques for adapting interpretive run time application to multiple clients | |
US10956131B2 (en) | Separation of user interface logic from user interface presentation by using a protocol | |
US20210334118A1 (en) | Opening local files in remote applications | |
KR20150004817A (en) | User interface web services | |
US20150381754A1 (en) | Unifying cloud services for online sharing | |
US20130179414A1 (en) | Mechanisms for connecting files between applications | |
US10839036B2 (en) | Web browser having improved navigational functionality | |
RU2632142C2 (en) | Method and electronic permission management unit for objects | |
US20150264113A1 (en) | Dynamic Batching | |
US20210109895A1 (en) | Determining user interface contexts for requested resources | |
US9379940B2 (en) | Virtual device profile to configure virtual network interface cards | |
US10362108B2 (en) | Application transfer using time delay and proximity detection | |
US9813506B2 (en) | Distributed self-served application remoting | |
US20210374106A1 (en) | Using drag-and-drop to open local files remotely | |
CN109408336A (en) | A kind of startup item monitoring method, device, terminal and computer-readable medium | |
US10305733B1 (en) | Defining software infrastructure using a physical model | |
Mayer et al. | Platform simplification for IBM z14 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
HE9A | Changing address for correspondence with an applicant |