RU2463652C2 - Структура расширяемой и программируемой службы с несколькими арендаторами - Google Patents
Структура расширяемой и программируемой службы с несколькими арендаторами Download PDFInfo
- Publication number
- RU2463652C2 RU2463652C2 RU2009137767/08A RU2009137767A RU2463652C2 RU 2463652 C2 RU2463652 C2 RU 2463652C2 RU 2009137767/08 A RU2009137767/08 A RU 2009137767/08A RU 2009137767 A RU2009137767 A RU 2009137767A RU 2463652 C2 RU2463652 C2 RU 2463652C2
- Authority
- RU
- Russia
- Prior art keywords
- organization
- service
- client
- services
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
Изобретение относится к области платформ деловых приложений с несколькими арендаторами. Техническим результатом является предоставление расширяемой платформы деловых приложений с несколькими арендаторами, выполненной в виде программного обеспечения как службы, для размещения нескольких организаций. Службы организации предоставлены посредством виртуальных или физических серверов с выделенными хранилищами данных, собранными в масштабируемые группы. Распределенное взаимодействие между компонентами данных масштабируемых групп может способствовать расширяемости и надежности, кроме того, клиенту(ам) предоставляются изменения в местоположении служб организаций для непрерывного продолжения доступа клиента к данным службам. Также в данную платформу можно встроить настраиваемые пользователем и динамические API для доступа к каждым данным и приложениям организации изолированно от других и подключаемые службы идентификации, предоставленные третьей стороной. 3 н. и 17 з.п. ф-лы, 8 ил.
Description
УРОВЕНЬ ТЕХНИКИ
Деловая активность устремлена на то, чтобы отвечать на требования пользователей незамедлительно доставлять продукты на рынок быстрее, увеличивать общую прибыльность и постоянно превосходить конкурентов. Ловкость, способность встречать эти вызовы общего рынка, зависит от прочной технологической платформы деловых приложений. Для достижения деловой ловкости требуется многосторонняя инфраструктура программного обеспечения, разработанная для интеграции приложений.
Платформы деловых приложений обычно являются платформами c одним арендатором, что означает, что они могут содержать только приложения для одной организации и все ресурсы платформы выделены только для данной организации. Подобные платформы обычно размещаются самими пользователями и устанавливаются и развертываются в помещениях их компаний. Стоимость развертывания и поддержки подобных платформ может быть высока, а окупаемость не оптимизирована.
С другой стороны, разработка и управление системы с несколькими арендаторами имеет свои сложные задачи. В реальной системе с несколькими арендаторами каждый клиент может иметь различные схемы для подключения к своим организациям. Более того, каждый клиент может подключаться к нескольким организациям, делая управление подобными системами очень сложной задачей исходя из аспектов безопасности, управления трафиком, надежности и расширяемости.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данная сущность изобретения предоставлена для ознакомления в упрощенной форме с набором подходов, которые будут дополнительно описаны ниже в подробном описании. Данная сущность изобретения не предназначена для идентификации ключевых признаков или неотъемлемых признаков заявленных объектов патентования, а также не предназначена для помощи в определении объема данных объектов патентования.
Варианты осуществления направлены на предоставление расширяемой модели программного обеспечения как службы с несколькими арендаторами для обслуживания нескольких организаций с одной платформой. По вариантам осуществления платформа может включать в себя службу обнаружения для предоставления клиентам информации, связанной с местоположением и конфигурацией служб организации, размещенных на данной платформе. В таком случае клиенту дана возможность доступа к службам организации, которые могут располагаться в масштабируемых кластерах. Клиенту(ам) могут предоставляться изменения местонахождения для непрерывного доступа клиента к запрашиваемой службе(ам).
Эти и другие признаки и преимущества станут очевидны по прочтении нижеследующего подробного описания и обзора прилагаемых чертежей. Следует понимать, что как предшествующее общее описание, так и нижеследующее подробное описание являются только пояснительными и не ограничивают аспекты формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг.1 изображен пример модели службы с одним арендатором;
на Фиг.2 изображен пример модели службы с несколькими арендаторами;
на Фиг.3 изображена расширяемая архитектура службы с несколькими арендаторами по вариантам осуществления;
на Фиг.4 изображены примерные компоненты части службы организации службы с несколькими арендаторами;
на Фиг.5 изображена схема действий, иллюстрирующая взаимодействие между клиентом и компонентами службы с несколькими арендаторами во время работы;
на Фиг.6 изображен пример сетевой среды, в которой можно реализовать варианты осуществления;
на Фиг.7 изображена блок-схема примерной вычислительной операционной среды, в которой можно реализовать варианты осуществления; и
на Фиг.8 изображена логическая схема для процесса предоставления клиенту службы с несколькими арендаторами.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Как коротко описано выше, расширяемую платформу деловых приложений с несколькими арендаторами можно предоставить, применив службу обнаружения и расширяемые кластеры серверов. В нижеследующем детальном описании сделаны ссылки на прилагающиеся чертежи, составляющие часть данного документа и на которых показаны с целью иллюстрации заданных вариантов осуществления или примеров. Данные аспекты можно объединить, можно использовать другие аспекты, а также можно совершать структурные изменения, не покидая сущности или объема настоящего изобретения. Таким образом, нижеследующее подробное описание не берется в ограничивающем значении, а объем настоящего изобретения определяется прилагаемой формулой изобретения и ее эквивалентами.
В то время как варианты осуществления будут описаны в общем контексте программных модулей, исполняемых в сочетании с прикладными программами, исполняемыми операционной системой на персональных компьютерах, специалисты в данной области техники признают, что данные аспекты также можно реализовать в сочетании с другими программными модулями.
В общем, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных и другие виды структур, выполняющих отдельные задачи или реализующих отдельные абстрактные типы данных. Более того, специалисты в данной области техники оценят, что варианты осуществления можно применять с другими конфигурациями компьютерных систем, включая в себя портативные устройства, многопроцессорные системы, микропроцессорную или программируемую бытовую электронику, универсальные ЭВМ и тому подобное. Варианты осуществления также можно применить в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, соединенными посредством сети передачи данных. В распределенных вычислительных средах программные модули могут находиться как в локальных, так и удаленных запоминающих устройствах.
Варианты осуществления можно реализовать как компьютерный процесс (способ), вычислительную систему или как изделие, такое как компьютерное программное изделие или машиночитаемый носитель. Компьютерное программное изделие может являться компьютерным запоминающим устройством, читаемым компьютерной системой и кодировкой компьютерной программы или набором команд для исполнения компьютерного процесса. Компьютерный программный продукт также может являться распространяемым сигналом на носителе, читаемом компьютерной системой и кодировкой компьютерной программы или набора команд для исполнения компьютерного процесса.
Со ссылкой на Фиг.1 показана диаграмма 100 примера модели службы с одним арендатором. Как упоминалось ранее, возможность программирования платформ для обычных деловых приложений является однопользовательской и подходит для приложений, размещенных внутри организаций.
В подобной типичной платформе с одним арендатором клиент 102 получает доступ к данным и деловым приложениям, относящимся к единственному арендатору, который обслуживается web-службой 106 через сети 104 передачи данных. Хотя сети 104 передачи данных могут являться сетью Интернет, обычно они являются сочетанием корпоративных сетей передачи данных. Поскольку данной службой обслуживается единственный арендатор, то идентификация, безопасность и другие предварительные операции могут выполняться самой службой, а не с использованием сторонней службы. Местоположение служб обычно не меняется, хотя избыточность и некоторые операции балансировки нагрузки могут предусматривать использование нескольких серверов и/или кластеров серверов.
Таким образом, работа систем с одним арендатором относительно проста и прямолинейна. Однако в современном деловом мире многие организации предпочитают передавать свои платформы деловых приложений сторонним юридическим лицам, предоставляющим эффективные, рентабельные и надежные службы. Для того чтобы рационализировать свои модели деловой деятельности и эффективно использовать свои ресурсы, подобные юридические лица могут предпочесть размещать службы для нескольких организаций. Более того, некоторые клиенты могут относиться к нескольким организациям, и в этом случае будет иметь смысл в доступе данному клиенту ко всем организациям через единую контактную точку.
На Фиг.2 показан пример модели 200 службы с несколькими арендаторами. В обслуживании с несколькими арендаторами платформа деловых приложений размещает службы для нескольких организаций. Для доступа к данным и приложениям, относящимся к одной или нескольким организациям, любое число клиентов 202 может вызывать web-службу 206 через сети 204 передачи данных, которые в данном случае скорее будут сетями Интернет или сочетанием различных сетей.
Web-служба 206 может выполнять службы по управлению и направлению клиентов к web-службам 208 конкретных организаций. Дополнительно web-служба 206 может выполнять идентификацию, проверку безопасности и похожие предварительные службы, возможно, используя сторонние службы. Web-службы 208 конкретных организаций могут включать в себя расширяемые кластеры, в которых операции отдельных организаций можно перемещать для балансировки нагрузки и в других случаях. Web-служба 206 может отслеживать подобные изменения и соответственно перенаправлять вызывающего клиента, так чтобы подобные изменения были прозрачны для клиента.
Клиенты могут быть "тонкими" или "толстыми" клиентами с дополнительными службами, возможно, предоставляемыми сторонними приложениями в случае "тонких" клиентов. Различные клиенты могут обращаться к различным службам с использованием индивидуальных схем.
Архитектура на Фиг.2 и также на Фиг.1 иллюстрирует общее представление платформ программного обеспечения как службы. В целях упрощения показаны только основные компоненты. На практике подобные системы включают в себя многочисленные дополнительные компоненты с определенными заданиями и способами передачи данных. Ниже предоставлено более подробное описание подобной платформы по вариантам осуществления.
На Фиг.3 показан пример расширяемой архитектуры 300 службы с несколькими арендаторами по вариантам осуществления. Платформу 320 деловых приложений, выполненную в виде программного обеспечения как службы, в соответствии с вариантами осуществления можно реализовать на различных узлах с возможностью размещения данных и приложений нескольких организаций на одном узле. Каждый из узлов установки платформы 320 может быть сильно расширяемым, тем самым способствуя высокой производительности и доступности служб. Данные узлы можно размещать в сети Интернет или в корпоративных сетях.
В соответствии с некоторыми вариантами осуществления для идентификации пользователей (клиента 302) каждой организации возможно использование данной службой службы идентификации, предоставленной доверенной третьей стороной (например, службы 312 мандатов). Независимые подключаемые службы идентификации также можно использовать в режиме работы в сетях Интернет или корпоративных сетях. В соответствии с другими вариантами осуществления доступ к данным и работе каждой организации можно ограничивать на основе ролей безопасности и привилегиях, а также членстве в организации.
В соответствии с некоторыми реализациями данные и приложения каждой организации можно изолировать от других и осуществлять доступ посредством набора выделенных API. Данные API могут дать возможность разработчикам получать доступ и изменять деловые данные, а также определять/вызывать/изменять бизнес-процессы и бизнес-логику удаленно через Интернет. Данные API могут быть автоматически создаваемыми и динамическими, так чтобы при добавлении новой организации или удалении с платформы данные API могли настраиваться автоматически. Данные API также могут быть настраиваемыми, позволяя добавлять для каждой организации отдельно от других организаций устанавливаемые пользователем объекты и действия.
Служба 322 обнаружения предоставляет службы по идентификации и обнаружению организации, позволяющие клиенту 302 регистрироваться в платформе 320 и обнаруживать все организации, членом которых он/она является. Служба 322 обнаружения может предоставлять подробные данные конфигурации о каждой организации, в том числе их местонахождение в платформе для прямого доступа и другую конфигурационную информацию. Конфигурационная информация может сохраняться и извлекаться из хранилища 324 конфигураций. Пользователь (клиент) может быть членом одной или нескольких организаций, размещенных на узле. Служба 322 обнаружения может работать в нескольких режимах идентификации. Каждый режим идентификации может иметь собственную выделенную конечную точку, позволяющую клиенту установить, какую идентификацию следует использовать.
Согласно дополнительным вариантам осуществления каждая конечная точка API может обслуживать несколько организаций. Каждый вызов API может определить целевую организацию, к которой предполагается обратиться. Служба 322 обнаружения может использовать хранилище 324 конфигураций для извлечения конфигурационных данных организации. Можно позволить администратору доступ и поддержку хранилища 324 конфигураций.
Данные и работы организации можно поместить во множество расширяемых групп (места службы 1, 2, и так далее), доступных в пределах кластера 330 службы платформы 320. Местоположение организации может меняться и перемещаться между расширяемыми группами с целью балансировки нагрузки. Расширяемая модель службы с несколькими арендаторами является динамической в том смысле, что она может определять местонахождение искомой организации даже после перемещения. Каждое место службы (332, 334...) может включать в себя один или несколько виртуальных или физических серверов, предоставляющих службы.
На Фиг.4 изображены примерные компоненты участка службы организации службы с несколькими арендаторами. Как упоминалось выше, расширяемые кластеры 430 серверов являются ядром расширяемой платформы программного обеспечения как службы с несколькими арендаторами. В соответствии с некоторыми вариантами осуществления кластеры 430 серверов могут включать в себя группу виртуальных или физических web-серверов 431, принимающих запросы клиентов, обрабатывающих синхронные запросы, и управляющих базами 433 данных организаций. Клиенту можно назначить отдельный сервер из web-серверов 431 посредством случайного выбора, в соответствии с предопределенным алгоритмом (например, алгоритмом балансировки нагрузки) или как-нибудь иначе. Базы 433 данных организаций могут включать в себя физические или виртуальные хранилища данных для каждой организации (или арендатора), обслуживаемой платформой. Например, система финансовых служб может включать в себя отдельные базы данных для каждой участвующей организации (банка и так далее), которые хранят информацию о счетах, информацию о доступе к счетам и так далее. Информацию о индивидуальных базах данных, их конфигурации, любой избыточности и тому подобное можно хранить в хранилище 324 конфигураций, показанном на Фиг.3.
В соответствии с другими вариантами осуществления служба определения (не показана) может предоставлять информацию о том, какая база(ы) данных может использоваться web-серверами. Web-серверы 433 также могут помещать несинхронные запросы службы в очереди, обслуживаемые асинхронными серверами 435 в сочетании с базами 433 данных организаций. При поступлении из очереди запроса клиента можно связаться с одним из асинхронных серверов 435 для обработки данного запроса. Взаимоотношения между асинхронными серверами и индивидуальными базами данных организаций могут быть распределенными, причем каждый сервер может работать с любой из баз данных. Распределенное взаимодействие между асинхронными серверами и базами данных организаций может предоставить способность автоматического восстановления после сбоев в машинах асинхронной обработки путем предоставления возможности базе данных при падении одного сервера подключиться к другому доступному серверу.
По причине независимого распределения синхронной и асинхронной работы и взаимодействия между серверами и базами данных любая часть кластера 430 серверов является расширяемой. Таким образом, можно предусмотреть несколько единиц серверов и баз данных для принятия мер при возрастании рабочей нагрузки, объемов данных, дополнительных организациях и так далее.
На Фиг.5 изображена схема действий, иллюстрирующая взаимодействие между клиентом и компонентами службы с несколькими арендаторами во время работы. Взаимодействия на диаграмме 500 действий иллюстрируют пример работы на определенных этапах. Взаимодействия в платформе с несколькими арендаторами в соответствии с вариантами осуществления могут включать в себя различные обмены с меньшим числом или дополнительными этапами, а также с другим порядком взаимодействий.
В соответствии с примером работы клиент 504 начинает вызов путем запроса у службы 506 обнаружения политики узла. Служба 506 обнаружения посылает в ответ политику узла, которая может идентифицировать необязательную службу 502 мандатов (например, для идентификации). Если используется необязательная служба 502 мандатов, клиент 504 может послать службе 504 мандатов запрос мандата и принять мандат, если регистрационные данные клиента подтверждены для доступа к запрашиваемой организации (арендатору).
Затем клиент 504 присылает службе 506 обнаружения запрос мандата узла вместе с мандатом службы, принятым от службы 502 мандатов. Служба 506 обнаружения посылает в ответ список местонахождений объектов запрашиваемых организаций и другую конфигурационную информацию (схему и так далее). Следующим этапом клиент 504 может осуществить доступ к целевым организациям с помощью служб 508 организаций, используя местоположение и конфигурационную информацию, предоставленную службой 506 обнаружения. Как было показано ранее, местоположение служб организаций может меняться из-за расширения, балансировки нагрузки и так далее. Служба 506 обнаружения может посылать клиенту обновления, содержащие информацию об изменениях в местонахождении, так что доступ клиента к службам организаций может продолжаться непрерывно.
Масштабируемые системы с несколькими арендаторами и их работа, описанная с Фиг.3 по Фиг.5, являются примером для наглядности. Систему для расширяемых служб с несколькими арендаторами можно реализовать с дополнительным или меньшим числом компонентов и действий, используя принципы, описанные в настоящем документе.
На Фиг.6 изображен пример сетевой среды, в которой можно реализовать варианты осуществления. Расширяемые системы службы с несколькими арендаторами можно реализовать посредством распределения по ряду физических и виртуальных клиентов и серверов. Их также можно реализовать в некластерных системах или кластерных системах, применяющих ряд узлов, связанных одной или несколькими сетями передачи данных (например, сетью(ями) 610).
Подобные системы могут включать в себя любые топологии серверов, клиентов поставщиков служб Интернет и средств передачи данных. Также данные системы могут иметь статическую или динамическую топологию. Термин "клиент" может относиться к клиентскому приложению или клиентскому устройству. В то время как сетевая система, реализующая расширяемые службы с несколькими арендаторами, может задействовать множество других компонентов, компоненты, относящиеся к данному вопросу, описаны в сочетании с данной фигурой.
В сетевой системе с несколькими арендаторами запросы на доступ могут приходить от арендаторов с использованием индивидуальных клиентских устройств 602-606 или сервера 608 приложений. Подобную систему также можно реализовать в виде одного или нескольких серверов (например, серверов 612, 614), вызываемых клиентскими устройствами (или приложениями). Один или несколько web-серверов (физических или виртуальных), таких как сервер 612, могут принимать запросы и направлять их к соответствующему ресурсу. Данные ресурсы могут включать в себя расширяемые кластеры серверов с синхронным или асинхронным сервером, базы данных организаций и другие компоненты.
Базы данных организаций можно осуществить в виде единого хранилища данных, такого как хранилище 618 данных, или распределенного по ряду хранилищ данных. Для координации извлечения данных и хранения в одном или нескольких подобных хранилищах данных можно использовать выделенные серверы баз данных (например, сервер баз данных 616).
Сеть(и) 610 передачи данных могут включать в себя защищенную сеть передачи данных, такую как сеть предприятия, незащищенную сеть, такую как открытая беспроводная сеть или сеть Интернет. Сеть(и) 610 передачи данных предоставляют обмен данными между узлами, описанными в настоящем документе. С целью примера, а не ограничения, сеть(и) 610 передачи данных может включать в себя проводные среды передачи данных, такие как проводные сети или прямые проводные соединения, беспроводные среды передачи данных, такие как звуковые, радиочастотные, инфракрасные и другие беспроводные среды передачи данных.
Многие другие конфигурации вычислительных устройств, приложений, источников данных, систем распределения данных можно применить для реализации расширяемой платформы служб с несколькими арендаторами. Кроме того, сетевые среды, описанные на Фиг.6, даны только в целях иллюстрации. Варианты осуществления не ограничиваются данными примерными приложениями, модулями и процессами.
Фиг.7 и связанное с ней пояснение предназначены для предоставления краткого, общего описания подходящей вычислительной среды, в которой можно реализовать варианты осуществления. Со ссылкой на Фиг.7 показана блок-схема примерной вычислительной операционной среды, такой как вычислительное устройство 700. В базовой конфигурации данное вычислительное устройство 700 может являться сервером, предоставляющим службы по управлению, связанные с расширяемой службой с несколькими арендаторами и обычно включает в себя, по меньшей мере, один процессор 702 и системное запоминающее устройство 704. Вычислительное устройство 700 также может включать в себя множество процессоров, взаимодействующих при исполнении программ. В зависимости от точной конфигурации и вида вычислительного устройства системное запоминающее устройство 704 может быть энергозависимой (такой, как ОЗУ), энергонезависимой (такой, как ПЗУ, флэш-память и так далее) или их сочетанием. Системное запоминающее устройство 704 обычно содержит в себе операционную систему 705, подходящую для управления работой сетевого персонального компьютера, такую как операционные системы WINDOWS® производства корпорации Microsoft из Редмонда, штат Вашингтон. Системное запоминающее устройство 704 также может содержать в себе одно или несколько программных приложений, такие как программные модули 706, web-службы 722, службу 724 обнаружения в составе web-служб 722 и необязательную службу 726 определения местоположения.
Web-служба 722 может быть отдельным приложением или встроенным модулем размещенной платформы службы с несколькими арендаторами, предоставляющей данные и обрабатывающей службы клиентского приложения, относящегося к вычислительному устройству 700. Служба 724 обнаружения может предоставлять местоположение и конфигурационную информацию, относящуюся к индивидуальным службам организации (арендатора) клиенту, запрашивающему доступ к этой организации. Необязательная служба 726 установления местонахождения может предоставлять службы, относящиеся к определению назначения службы и того, какие базы данных использовать для web-служб, а также асинхронной обработки серверов, как было описано ранее. Эта базовая конфигурация показана на Фиг.7 посредством компонентов в пределах пунктирной линии 708.
Вычислительное устройство 700 может иметь дополнительные признаки или функциональные возможности. Например, вычислительное устройство 700 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. Подобное дополнительное запоминающее устройство показано на Фиг.7 с помощью съемного запоминающего устройства 709 и несъемного запоминающего устройства 710. Компьютерные носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или по любой технологии для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Системное запоминающее устройство 704, съемное запоминающее устройство 709 и несъемное запоминающее устройство 710 - все являются примерами компьютерных носителей данных. Компьютерные носители данных включают в себя, но не ограничиваются этим: ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или другие технологии накопления информации, CD-ROM, универсальные цифровые диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитные ленты, накопители на магнитных дисках, или другие магнитные запоминающие устройства, или любые другие носители, которые можно использовать для хранения желаемой информации и к которым может обратиться вычислительное устройство 700. Любой подобный компьютерный носитель данных может являться частью устройства 700. Вычислительное устройство 700 также может иметь устройство(а) 712 ввода, такие как клавиатура, мышь, перо, устройство голосового ввода, устройство сенсорного ввода и так далее. Устройство(а) 714 вывода, такие как устройство отображения, колонки, принтер и так далее, также может входить в состав. Данные устройства хорошо известны в данной области техники и не требуют продолжительного описания в настоящем документе.
Вычислительное устройство 700 также может содержать коммуникационные соединения 716, позволяющие устройству обмениваться данными с другими вычислительными устройствами 718, например, посредством беспроводной сети передачи данных в распределенной вычислительной среде, например корпоративной сети или сети Интернет. Другие вычислительные устройства 718 могут включать в себя сервер(ы), исполняющие приложения, относящиеся к службе определения местонахождения или другим службам. Коммуникационное соединение 716 является единичным примером средств связи. Средства связи обычно можно осуществить посредством машиночитаемых команд, структур данных, программных модулей или других данных в модулированном сигнале передачи данных, таком как несущая волна или другой механизм переноса, и включают в себя любые средства доставки информации. Термин "модулированный сигнал передачи данных" обозначает сигнал, одна или несколько характеристик которого были установлены или изменены таким образом, чтобы закодировать информацию в данный сигнал. С целью примера, а не ограничения, средства связи включают в себя проводные среды передачи данных, такие как проводные сети или прямые проводные соединения, беспроводные среды передачи данных, такие как звуковые, радиочастотные, инфракрасные и другие беспроводные среды передачи данных. Для целей настоящего документа термин "машиночитаемый носитель" включает в себя как средства хранения данных, так и средства связи.
Заявленный объект патентования также включает в себя способы. Эти способы можно реализовать любым числом путей, включающих в себя структуры, описанные в данном документе. Одним из таких путей являются машинные операции устройств, описанных в данном документе.
Другим возможным путем является одна или несколько отдельных операций по данным способам, выполняемых совместно с одним или несколькими людьми-операторами, выполняющими некоторую часть. Эти люди-операторы не обязательно должны располагаться друг с другом, но каждый должен быть только с машиной, выполняющей часть данной программы.
На Фиг.8 показана логическая схема для процесса 800 предоставления клиенту расширяемой службы с несколькими арендаторами. Процесс 800 можно реализовать как часть платформы деловых приложений программного обеспечения как службы.
Процесс 800 начинается с операции 802, в которой от клиента принимают запрос на доступ к одной или нескольким организациям вместе с учетными данными клиента. Как было описано выше, клиенты размещенных служб с несколькими арендаторами обычно относятся к организациям или арендаторам, каждый из которых имеет службу, включающую в себя выделенную базу данных в данной системе. Перед приемом данного запроса клиент может, по возможности, использовать службу идентификации, предоставленную третьей стороной. Обработка продвигается от операции 802 к операции 804 выбора.
В операции 804 выбора совершается определение, был ли клиент идентифицирован. Определение также может включать в себя проверку, размещена ли запрашиваемая организация(и) на данной платформе службы с несколькими арендаторами. Если клиент идентифицирован, то процесс продвигается к операции 806. Иначе обработка переходит к процессу вызова для дальнейших действий.
В операции 806 определяется местоположение запрашиваемой службы организации. Обработка перемещается от операции 806 к операции 808, где местоположение данной службы организации предоставляется клиенту для доступа. Также вместе с информацией о местоположении может предоставляться дополнительная конфигурационная информация. После операции 808 обработка переходит к операции 810 выбора.
В операции 810 выбора совершается определение, изменялось ли местонахождение службы организации по причине расширения, балансировки нагрузки и так далее. Если определено изменение в местоположении, обработка переходит к операции 812. Иначе обработка переходит к процессу вызова для дальнейших действий.
В операции 812 изменение в местоположении службы организации предоставляется клиенту так, чтобы доступ клиента к данной службе мог продолжаться непрерывно. После операции 812 обработка переходит к процессу вызова для дальнейших действий.
Операции, входящие в процесс, являются иллюстративными. Предоставление клиенту расширяемой службы с несколькими арендаторами можно реализовать посредством схожих процессов с меньшим числом или с дополнительными этапами, а также с другим порядком действий, используя принципы, описанные в настоящем документе.
Вышеприведенные уточнения, примеры и данные предоставляют полное описание производства и использования набора вариантов осуществления. Несмотря на то что объект патентования был описан в конструктивных признаках и/или методических действиях, ориентированных на конкретный язык, следует понимать, что данный объект патентования, описанный в прилагаемой формуле изобретения, не обязательно ограничивается заданными признаками и действиями, описанными выше. Скорее заданные признаки и действия, описанные выше, раскрывают примерные виды реализации формулы изобретения и вариантов осуществления.
Claims (20)
1. Способ, выполняемый, по меньшей мере, частично на вычислительном устройстве и предназначенный для предоставления расширяемой платформы служб с множеством арендаторов, содержащий этапы, на которых:
принимают запрос на доступ от клиента, причем каждый клиент среди множества клиентов ассоциирован с по меньшей мере одной службой организации, размещенной на данной платформе;
определяют местоположение службы организации, причем множество служб организации собраны в масштабируемые группы в упомянутой платформе;
предоставляют клиенту местоположение службы организации для обеспечения возможности доступа к службе организации;
в случае изменения местоположения службы организации во время доступа, предоставляют клиенту измененное местоположение для непрерывного доступа клиента к службе организации; и
автоматически генерируют множество динамических и выделенных интерфейсов прикладного программирования (API), сконфигурированных для предоставления доступа к упомянутому множеству служб организации, так чтобы данные и приложения, ассоциированные со службой организации, были изолированы от других служб организации, причем данное множество API выполнены с возможностью одного из добавления и удаления службы организации.
принимают запрос на доступ от клиента, причем каждый клиент среди множества клиентов ассоциирован с по меньшей мере одной службой организации, размещенной на данной платформе;
определяют местоположение службы организации, причем множество служб организации собраны в масштабируемые группы в упомянутой платформе;
предоставляют клиенту местоположение службы организации для обеспечения возможности доступа к службе организации;
в случае изменения местоположения службы организации во время доступа, предоставляют клиенту измененное местоположение для непрерывного доступа клиента к службе организации; и
автоматически генерируют множество динамических и выделенных интерфейсов прикладного программирования (API), сконфигурированных для предоставления доступа к упомянутому множеству служб организации, так чтобы данные и приложения, ассоциированные со службой организации, были изолированы от других служб организации, причем данное множество API выполнены с возможностью одного из добавления и удаления службы организации.
2. Способ по п.1, дополнительно содержащий этап, на котором выполняют аутентификацию клиента до предоставления местоположения службы организации, используя одно из интегрированной службы аутентификации и сторонней службы аутентификации.
3. Способ по п.2, в котором доступ клиента к запрашиваемой службе организации ограничивают на основе по меньшей мере одного из набора, состоящего из статуса безопасности соединения клиента, учетных данных клиента и членства в организации.
4. Способ по п.2, дополнительно содержащий этап, на котором предоставляют множество режимов аутентификации, причем каждый режим аутентификации включает в себя выделенную конечную точку, так что клиент имеет возможность задать желаемый режим аутентификации.
5. Способ по п.1, дополнительно содержащий этап, на котором предоставляют клиенту конфигурационную информацию, относящуюся к доступу клиента к запрашиваемой службе организации.
6. Способ по п.1, в котором масштабируемые группы приспособлены обеспечивать вертикальную и горизонтальную расширяемость приложений, ассоциированных со службами организации, размещенными на упомянутой платформе.
7. Способ по п.1, в котором упомянутая платформа выполнена с возможностью предоставления доступа по метаданным в отношении служб организации, размещенных на упомянутой платформе.
8. Система для размещения расширяемых служб с множеством арендаторов, включающая в себя:
службу обнаружения, сконфигурированную:
принимать запрос на доступ от клиента, ассоциированного с по меньшей мере одной службой организации, размещенной в данной системе,
определять местоположение запрашиваемой по меньшей мере одной службы организации и
предоставлять клиенту местоположение этой по меньшей мере одной службы организации для обеспечения возможности доступа к данной по меньшей мере одной службе организации;
множество масштабируемых кластеров служб, сконфигурированных предоставлять упомянутую по меньшей мере одну службу организации;
хранилище конфигураций, ассоциированное со службой обнаружения и выполненное с возможностью хранить информацию о конфигурации и местоположении, относящуюся к упомянутому множеству кластеров служб, так что изменение в местоположении упомянутой по меньшей мере одной службы организации во время доступа клиента к этой по меньшей мере одной службе организации предоставляется клиенту для непрерывного доступа клиента к данной по меньшей мере одной службе организации; и
множество динамических и выделенных интерфейсов прикладного программирования (API), сконфигурированных для предоставления доступа к упомянутой по меньшей мере одной службе организации, так чтобы данные и приложения, ассоциированные с этой по меньшей мере одной службой организации, были изолированы от других служб организации, причем это множество API являются автоматически генерируемыми и выделенными, так что данное множество API выполнены с возможностью одного из добавления и удаления службы организации.
службу обнаружения, сконфигурированную:
принимать запрос на доступ от клиента, ассоциированного с по меньшей мере одной службой организации, размещенной в данной системе,
определять местоположение запрашиваемой по меньшей мере одной службы организации и
предоставлять клиенту местоположение этой по меньшей мере одной службы организации для обеспечения возможности доступа к данной по меньшей мере одной службе организации;
множество масштабируемых кластеров служб, сконфигурированных предоставлять упомянутую по меньшей мере одну службу организации;
хранилище конфигураций, ассоциированное со службой обнаружения и выполненное с возможностью хранить информацию о конфигурации и местоположении, относящуюся к упомянутому множеству кластеров служб, так что изменение в местоположении упомянутой по меньшей мере одной службы организации во время доступа клиента к этой по меньшей мере одной службе организации предоставляется клиенту для непрерывного доступа клиента к данной по меньшей мере одной службе организации; и
множество динамических и выделенных интерфейсов прикладного программирования (API), сконфигурированных для предоставления доступа к упомянутой по меньшей мере одной службе организации, так чтобы данные и приложения, ассоциированные с этой по меньшей мере одной службой организации, были изолированы от других служб организации, причем это множество API являются автоматически генерируемыми и выделенными, так что данное множество API выполнены с возможностью одного из добавления и удаления службы организации.
9. Система по п.8, в которой служба обнаружения и кластеры служб предоставляются в виде web-служб.
10. Система по п.8, в которой служба обнаружения дополнительно сконфигурирована для аутентификации клиента, применяя множество режимов аутентификации посредством подключаемой службы аутентификации.
11. Система по п.8, в которой упомянутые API являются индивидуализированно настраиваемыми, так что пользователю с допуском разрешено добавлять в выбранную службу организации по меньшей мере одно из индивидуализированного объекта и индивидуализированной операции.
12. Система по п.8, в которой упомянутые API сконфигурированы обеспечивать пользователям с допуском возможность выполнять действия, включающие в себя:
изменение данных, ассоциированных со службой организации,
определение одного из процесса и логики, ассоциированных со службой организации;
вызов одного из процесса и логики, ассоциированных со службой организации; и
изменение одного из процесса и логики, ассоциированных со службой организации.
изменение данных, ассоциированных со службой организации,
определение одного из процесса и логики, ассоциированных со службой организации;
вызов одного из процесса и логики, ассоциированных со службой организации; и
изменение одного из процесса и логики, ассоциированных со службой организации.
13. Система по п.11, в которой упомянутые кластеры служб включают в себя множество web-серверов, баз данных организаций и серверов асинхронной обработки, сконфигурированных взаимодействовать распределенным способом.
14. Система по п.13, в которой по меньшей мере часть упомянутого множества web-серверов, баз данных организаций и серверов асинхронной обработки является виртуальной.
15. Система по п.8, в которой упомянутые кластеры служб включают в себя множество web-серверов, баз данных организаций и серверов асинхронной обработки, сконфигурированных взаимодействовать распределенным способом.
16. Машиночитаемое устройство хранения информации, в котором сохранены машиноисполняемые команды, которыми при их исполнении компьютером осуществляется способ предоставления расширяемой платформы служб с множеством арендаторов, содержащий этапы, на которых:
принимают запрос на доступ от клиента, ассоциированного с по меньшей мере одной службой организации, размещенной на данной платформе, причем этот запрос включает в себя учетные данные клиента;
определяют список служб организации, доступных клиенту, на основе учетных данных клиента;
предоставляют клиенту список служб организации;
принимают запрос на доступ к по меньшей мере одной службе организации из данного списка;
определяют местоположение этой по меньшей мере одной запрашиваемой службы организации, причем службы организации в списке служб организации предоставляются посредством масштабируемых кластеров служб, размещенных на упомянутой платформе;
предоставляют клиенту местоположение упомянутой по меньшей мере одной службы организации для обеспечения возможности доступа к данной службе организации; и
в случае изменения местоположения упомянутой по меньшей мере одной службы организации во время доступа, предоставляют клиенту измененное местоположение для непрерывного доступа клиента к этой по меньшей мере одной службе организации; и
автоматически генерируют множество динамических и выделенных интерфейсов прикладного программирования (API), причем эти API сконфигурированы для предоставления доступа к упомянутой по меньшей мере одной службе организации, причем данное множество API выполнены с возможностью одного из добавления и удаления службы организации.
принимают запрос на доступ от клиента, ассоциированного с по меньшей мере одной службой организации, размещенной на данной платформе, причем этот запрос включает в себя учетные данные клиента;
определяют список служб организации, доступных клиенту, на основе учетных данных клиента;
предоставляют клиенту список служб организации;
принимают запрос на доступ к по меньшей мере одной службе организации из данного списка;
определяют местоположение этой по меньшей мере одной запрашиваемой службы организации, причем службы организации в списке служб организации предоставляются посредством масштабируемых кластеров служб, размещенных на упомянутой платформе;
предоставляют клиенту местоположение упомянутой по меньшей мере одной службы организации для обеспечения возможности доступа к данной службе организации; и
в случае изменения местоположения упомянутой по меньшей мере одной службы организации во время доступа, предоставляют клиенту измененное местоположение для непрерывного доступа клиента к этой по меньшей мере одной службе организации; и
автоматически генерируют множество динамических и выделенных интерфейсов прикладного программирования (API), причем эти API сконфигурированы для предоставления доступа к упомянутой по меньшей мере одной службе организации, причем данное множество API выполнены с возможностью одного из добавления и удаления службы организации.
17. Машиночитаемое устройство хранения информации по п.16, в котором способ дополнительно содержит этап, на котором выполняют аутентификацию клиента с использованием по меньшей мере одного режима аутентификации для каждой службы организации, запрошенной клиентом.
18. Машиночитаемое устройство хранения информации по п.16, в котором способ дополнительно содержит этап, на котором предоставляют клиенту конфигурационную информацию, относящуюся к доступу клиента к запрашиваемой службе организации.
19. Машиночитаемое устройство хранения информации по п.16, при этом упомянутые масштабируемые кластеры сконфигурированы обеспечивать вертикальную и горизонтальную расширяемость приложений, ассоциированных с по меньшей мере одной службой организации, размещенной на упомянутой платформе.
20. Машиночитаемое устройство хранения информации по п.16, при этом упомянутая платформа выполнена с возможностью предоставления доступа по метаданным в отношении по меньшей мере одной службы организации, размещенной на упомянутой платформе.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/787,134 | 2007-04-13 | ||
US11/787,134 US8019812B2 (en) | 2007-04-13 | 2007-04-13 | Extensible and programmable multi-tenant service architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2009137767A RU2009137767A (ru) | 2011-04-20 |
RU2463652C2 true RU2463652C2 (ru) | 2012-10-10 |
Family
ID=39854989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2009137767/08A RU2463652C2 (ru) | 2007-04-13 | 2008-04-01 | Структура расширяемой и программируемой службы с несколькими арендаторами |
Country Status (10)
Country | Link |
---|---|
US (4) | US8019812B2 (ru) |
EP (1) | EP2156308B1 (ru) |
JP (2) | JP2010526358A (ru) |
KR (1) | KR101279740B1 (ru) |
CN (1) | CN101657804B (ru) |
BR (1) | BRPI0809083B1 (ru) |
ES (1) | ES2709436T3 (ru) |
RU (1) | RU2463652C2 (ru) |
TW (1) | TWI473029B (ru) |
WO (1) | WO2008127871A1 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2646306C1 (ru) * | 2017-06-15 | 2018-03-02 | Федеральное Государственное унитарное предприятие Государственный научно-исследовательский институт гражданской авиации (ФГУП ГосНИИ ГА) | Система мониторинга ставок арендных платежей операторов аэродромов за пользование имуществом аэродромов |
RU2737601C2 (ru) * | 2019-03-13 | 2020-12-01 | Анастасия Надеровна Рубцова | Автоматизированная информационная система для размещения расширяемых служб с множеством арендаторов и субъектов (потребителей) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050471A1 (en) * | 2005-08-31 | 2007-03-01 | Microsoft Corporation | Portable Remoting Component With A Scaleable Feature Set |
US8019812B2 (en) * | 2007-04-13 | 2011-09-13 | Microsoft Corporation | Extensible and programmable multi-tenant service architecture |
US8966038B2 (en) * | 2008-08-28 | 2015-02-24 | Nec Corporation | Virtual server system and physical server selection method |
US8255490B1 (en) * | 2008-10-22 | 2012-08-28 | Amazon Technologies, Inc. | Dynamic service-oriented architecture using customization code |
US20100262632A1 (en) * | 2009-04-14 | 2010-10-14 | Microsoft Corporation | Data transfer from on-line to on-premise deployment |
US20100286992A1 (en) * | 2009-05-08 | 2010-11-11 | Microsoft Corporation | Integration of Third-Party Business Applications with Hosted Multi-Tenant Business Software System |
US20100318609A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Bridging enterprise networks into cloud |
US20100325139A1 (en) * | 2009-06-18 | 2010-12-23 | Microsoft Corporation | Service Provider Management Console |
US8561055B2 (en) * | 2009-10-15 | 2013-10-15 | Blackberry Limited | Method, system and apparatus for management of push content |
EP2320376A1 (en) * | 2009-11-06 | 2011-05-11 | Research In Motion Limited | Method, system and apparatus for management of push content when changing computing devices |
US8505034B2 (en) * | 2009-12-17 | 2013-08-06 | Amazon Technologies, Inc. | Automated service interface optimization |
US8645550B2 (en) | 2010-02-18 | 2014-02-04 | Microsoft Corporation | Database virtualization |
US9178949B2 (en) * | 2010-03-03 | 2015-11-03 | Blackberry Limited | Method, system and apparatus for managing push data transfers |
US9178947B2 (en) * | 2010-03-03 | 2015-11-03 | Blackberry Limited | Method, system and apparatus for configuring a device for interaction with a server |
US8489708B2 (en) | 2010-04-06 | 2013-07-16 | Microsoft Corporation | Virtual application extension points |
US8370905B2 (en) | 2010-05-11 | 2013-02-05 | Microsoft Corporation | Domain access system |
US20110302265A1 (en) * | 2010-06-03 | 2011-12-08 | Microsoft Corporation | Leader arbitration for provisioning services |
US8539078B2 (en) * | 2010-07-08 | 2013-09-17 | International Business Machines Corporation | Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests |
US8904511B1 (en) | 2010-08-23 | 2014-12-02 | Amazon Technologies, Inc. | Virtual firewalls for multi-tenant distributed services |
US9304614B2 (en) | 2010-10-20 | 2016-04-05 | Salesforce.Com, Inc. | Framework for custom actions on an information feed |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US20120109947A1 (en) * | 2010-11-02 | 2012-05-03 | BrightEdge Technologies | Multi-tenant analytics processing |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
KR20120062514A (ko) * | 2010-12-06 | 2012-06-14 | 한국전자통신연구원 | SaaS 환경에서의 권한 관리 장치 및 방법 |
CN102012989B (zh) * | 2010-12-07 | 2013-11-27 | 江苏风云网络服务有限公司 | 软件即服务中基于门限与密钥的授权方法 |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
US8762795B2 (en) | 2010-12-17 | 2014-06-24 | Microsoft Corporation | Alerting recipients to errors occurring when accessing external services |
US10019503B2 (en) | 2010-12-22 | 2018-07-10 | Microsoft Technology Licensing, Llc | Database transfers using constraint free data |
US20120174092A1 (en) * | 2010-12-29 | 2012-07-05 | Wolfgang Faisst | Integrated commercial infrastructure and business application platform |
CN102103637A (zh) * | 2011-01-24 | 2011-06-22 | 上海银杏界信息科技有限公司 | SaaS软件数据模型的实现方法 |
US8903884B2 (en) * | 2011-02-21 | 2014-12-02 | Microsoft Corporation | Multi-tenant services gateway |
US8667024B2 (en) * | 2011-03-18 | 2014-03-04 | International Business Machines Corporation | Shared data management in software-as-a-service platform |
US8627431B2 (en) | 2011-06-04 | 2014-01-07 | Microsoft Corporation | Distributed network name |
US9652469B2 (en) | 2011-06-04 | 2017-05-16 | Microsoft Technology Licensing, Llc | Clustered file service |
US9652790B2 (en) * | 2011-06-17 | 2017-05-16 | International Business Machines Corporation | Open data marketplace for municipal services |
US8671407B2 (en) | 2011-07-06 | 2014-03-11 | Microsoft Corporation | Offering network performance guarantees in multi-tenant datacenters |
US8856518B2 (en) | 2011-09-07 | 2014-10-07 | Microsoft Corporation | Secure and efficient offloading of network policies to network interface cards |
US8589481B2 (en) | 2011-09-14 | 2013-11-19 | Microsoft Corporation | Multi tenant access to applications |
US8635152B2 (en) | 2011-09-14 | 2014-01-21 | Microsoft Corporation | Multi tenancy for single tenancy applications |
US8819801B2 (en) * | 2011-10-31 | 2014-08-26 | Microsoft Corporation | Secure machine enrollment in multi-tenant subscription environment |
US9110729B2 (en) * | 2012-02-17 | 2015-08-18 | International Business Machines Corporation | Host system admission control |
US9075687B1 (en) | 2012-04-19 | 2015-07-07 | NetSuite Inc. | System and methods for declaration-based extension management for multi-tenant environments |
US9509571B1 (en) * | 2012-07-25 | 2016-11-29 | NetSuite Inc. | First-class component extensions for multi-tenant environments |
TWI476614B (zh) * | 2012-12-27 | 2015-03-11 | Chunghwa Telecom Co Ltd | Multi - tenant Cloud Warehouse Integrated Retrieval System and Its Method |
US9195513B2 (en) | 2013-02-22 | 2015-11-24 | Sas Institute Inc. | Systems and methods for multi-tenancy data processing |
US9607166B2 (en) | 2013-02-27 | 2017-03-28 | Microsoft Technology Licensing, Llc | Discretionary policy management in cloud-based environment |
US20140278812A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Diagnostics storage within a multi-tenant data center |
US9515947B1 (en) * | 2013-03-15 | 2016-12-06 | EMC IP Holding Company LLC | Method and system for providing a virtual network-aware storage array |
US9043458B2 (en) | 2013-03-19 | 2015-05-26 | Cognizant Technology Solutions India Pvt. Ltd. | Framework for facilitating implementation of multi-tenant SaaS architecture |
JP6056607B2 (ja) | 2013-03-28 | 2017-01-11 | 富士通株式会社 | 情報処理システム及び情報処理システムの制御方法 |
US9411973B2 (en) | 2013-05-02 | 2016-08-09 | International Business Machines Corporation | Secure isolation of tenant resources in a multi-tenant storage system using a security gateway |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US9154492B2 (en) * | 2013-09-27 | 2015-10-06 | The University Of North Carolina At Charlotte | Moving target defense against cross-site scripting |
US9621673B2 (en) | 2013-12-12 | 2017-04-11 | Sap Se | Customer initiated tenant operations in a multitenant cloud environment |
WO2015163924A1 (en) | 2014-04-25 | 2015-10-29 | Hewlett-Packard Development Company, L.P. | Data management in a distributed computing environment |
US10110501B2 (en) * | 2014-07-07 | 2018-10-23 | Microsoft Technology Licensing, Llc | Tenant control in initiating atomic platform tasks |
US20160028833A1 (en) * | 2014-07-25 | 2016-01-28 | Violeta Georgieva | Tenant aware session manager |
US9391972B2 (en) | 2014-09-12 | 2016-07-12 | Oracle International Corporation | Multi-tenant application using hierarchical bean factory container |
KR101770240B1 (ko) * | 2014-09-29 | 2017-08-22 | 삼성전자주식회사 | Ui 제공을 위한 디스플레이 장치, 시스템 및 그 제공 방법 |
JP6426489B2 (ja) * | 2015-02-03 | 2018-11-21 | 東京エレクトロン株式会社 | エッチング方法 |
US10942900B2 (en) | 2015-06-02 | 2021-03-09 | Oracle International Corporation | Techniques for tenant controlled visualizations and management of files in cloud storage systems |
US9996321B2 (en) * | 2015-06-23 | 2018-06-12 | Microsoft Technology Licensing, Llc | Multi-tenant, tenant-specific applications |
US10748070B2 (en) | 2015-07-31 | 2020-08-18 | Microsoft Technology Licensing, Llc | Identification and presentation of changelogs relevant to a tenant of a multi-tenant cloud service |
US9667725B1 (en) | 2015-08-06 | 2017-05-30 | EMC IP Holding Company LLC | Provisioning isolated storage resource portions for respective containers in multi-tenant environments |
US10146936B1 (en) | 2015-11-12 | 2018-12-04 | EMC IP Holding Company LLC | Intrusion detection for storage resources provisioned to containers in multi-tenant environments |
US9983909B1 (en) | 2016-03-15 | 2018-05-29 | EMC IP Holding Company LLC | Converged infrastructure platform comprising middleware preconfigured to support containerized workloads |
US10326744B1 (en) | 2016-03-21 | 2019-06-18 | EMC IP Holding Company LLC | Security layer for containers in multi-tenant environments |
US10754838B1 (en) * | 2016-03-31 | 2020-08-25 | EMC IP Holding Company LLC | Registration framework for an analytics platform |
US10013213B2 (en) | 2016-04-22 | 2018-07-03 | EMC IP Holding Company LLC | Container migration utilizing state storage of partitioned storage volume |
US10187395B2 (en) | 2016-04-28 | 2019-01-22 | Microsoft Technology Licensing, Llc | Resource sharing and designation of permissions for other tenants and unregistered users of same tenant |
US10284557B1 (en) | 2016-11-17 | 2019-05-07 | EMC IP Holding Company LLC | Secure data proxy for cloud computing environments |
US11128437B1 (en) | 2017-03-30 | 2021-09-21 | EMC IP Holding Company LLC | Distributed ledger for peer-to-peer cloud resource sharing |
US11063745B1 (en) | 2018-02-13 | 2021-07-13 | EMC IP Holding Company LLC | Distributed ledger for multi-cloud service automation |
KR102544820B1 (ko) | 2018-05-23 | 2023-06-16 | 삼성에스디에스 주식회사 | 마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법 |
US10747600B2 (en) * | 2018-06-12 | 2020-08-18 | commercetools GmbH | Extensibility for third party application programming interfaces |
US10445223B1 (en) * | 2018-10-25 | 2019-10-15 | Capital One Services, Llc | Service virtualization platform |
KR20220102151A (ko) * | 2020-08-17 | 2022-07-19 | 구글 엘엘씨 | 엔드포인트 디바이스 기능 향상을 위한 엔드포인트 디바이스 간 시스템 서비스 공유 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2237275C2 (ru) * | 1999-02-18 | 2004-09-27 | Ситрикс Системз, Инк. | Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434619B1 (en) * | 1998-04-29 | 2002-08-13 | Alcatel Canada Inc. | Internet-enabled service management system and method |
US7162464B1 (en) * | 1998-10-02 | 2007-01-09 | Ncr Corporation | Data mining assists in a relational database management system |
US20020049841A1 (en) * | 2000-03-03 | 2002-04-25 | Johnson Scott C | Systems and methods for providing differentiated service in information management environments |
US20020065864A1 (en) * | 2000-03-03 | 2002-05-30 | Hartsell Neal D. | Systems and method for resource tracking in information management environments |
US20020120741A1 (en) * | 2000-03-03 | 2002-08-29 | Webb Theodore S. | Systems and methods for using distributed interconnects in information management enviroments |
US20050049937A1 (en) | 2000-08-16 | 2005-03-03 | Aaron Sanders | Business method and processing system |
EP1410198A2 (en) * | 2000-08-22 | 2004-04-21 | Symbian Limited | A method of enabling a wireless information device to access data services |
US6643635B2 (en) * | 2001-03-15 | 2003-11-04 | Sagemetrics Corporation | Methods for dynamically accessing, processing, and presenting data acquired from disparate data sources |
JP2003281007A (ja) * | 2002-03-20 | 2003-10-03 | Fujitsu Ltd | 動的構成制御装置および動的構成制御方法 |
US7636499B1 (en) * | 2002-04-05 | 2009-12-22 | Bank Of America Corporation | Image processing system |
US8255548B2 (en) * | 2002-06-13 | 2012-08-28 | Salesforce.Com, Inc. | Offline web services API to mirror online web services API |
US7146499B2 (en) * | 2002-09-30 | 2006-12-05 | International Business Machines Corporation | Security system for replicated storage devices on computer networks |
JP2004151942A (ja) * | 2002-10-30 | 2004-05-27 | Ricoh Co Ltd | ウェブサービス提供装置、ウェブサービス提供方法およびウェブサービス提供プログラム |
US7076562B2 (en) | 2003-03-17 | 2006-07-11 | July Systems, Inc. | Application intermediation gateway |
US7447212B2 (en) | 2003-09-03 | 2008-11-04 | At&T Intellectual Property I, L.P. | Method and system for automating membership discovery in a distributed computer network |
US7779039B2 (en) * | 2004-04-02 | 2010-08-17 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
US7669177B2 (en) * | 2003-10-24 | 2010-02-23 | Microsoft Corporation | System and method for preference application installation and execution |
JP2005157613A (ja) * | 2003-11-25 | 2005-06-16 | Canon Inc | 情報管理装置 |
US20060184410A1 (en) * | 2003-12-30 | 2006-08-17 | Shankar Ramamurthy | System and method for capture of user actions and use of capture data in business processes |
JP4873852B2 (ja) * | 2004-02-26 | 2012-02-08 | 株式会社リコー | 第一の通信装置、情報処理装置、情報処理プログラム、記録媒体 |
US8533229B2 (en) | 2004-06-16 | 2013-09-10 | Salesforce.Com, Inc. | Soap-based web services in a multi-tenant database system |
US20060015471A1 (en) * | 2004-07-01 | 2006-01-19 | Gmorpher Incorporated | System, Method, and Computer Program Product of Building A Native XML Object Database |
US7549054B2 (en) * | 2004-08-17 | 2009-06-16 | International Business Machines Corporation | System, method, service method, and program product for managing entitlement with identity and privacy applications for electronic commerce |
JP4748763B2 (ja) * | 2004-09-06 | 2011-08-17 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、ならびにプログラム、記憶媒体 |
JP4392343B2 (ja) * | 2004-12-28 | 2009-12-24 | 株式会社日立製作所 | メッセージ配布方法、待機系ノード装置およびプログラム |
US20060235715A1 (en) | 2005-01-14 | 2006-10-19 | Abrams Carl E | Sharable multi-tenant reference data utility and methods of operation of same |
US20060235831A1 (en) | 2005-01-14 | 2006-10-19 | Adinolfi Ronald E | Multi-source multi-tenant entitlement enforcing data repository and method of operation |
US7593994B2 (en) * | 2005-03-08 | 2009-09-22 | Microsoft Corporation | Generating a dynamic web service and dynamic service surrogate for legacy application components |
JP4702835B2 (ja) * | 2005-07-06 | 2011-06-15 | 株式会社日立ソリューションズ | Webサービスカスタマイズシステム |
US20070038697A1 (en) * | 2005-08-03 | 2007-02-15 | Eyal Zimran | Multi-protocol namespace server |
US8069153B2 (en) * | 2005-12-02 | 2011-11-29 | Salesforce.Com, Inc. | Systems and methods for securing customer data in a multi-tenant environment |
US20070162537A1 (en) | 2006-01-11 | 2007-07-12 | Gearworks, Inc. | Common application services framework |
US7937711B2 (en) | 2006-06-30 | 2011-05-03 | Dell Products L.P. | Method and apparatus for providing a consolidated namespace to client applications in multi-tenant common information model (CIM) environments |
US8190724B2 (en) * | 2006-10-13 | 2012-05-29 | Yahoo! Inc. | Systems and methods for establishing or maintaining a personalized trusted social network |
WO2008061146A2 (en) * | 2006-11-14 | 2008-05-22 | Neveu Holdings, Llc | Remote time and attendance system and method |
US9064010B2 (en) * | 2006-12-13 | 2015-06-23 | Quickplay Media Inc. | Encoding and transcoding for mobile media |
US8201231B2 (en) | 2007-02-21 | 2012-06-12 | Microsoft Corporation | Authenticated credential-based multi-tenant access to a service |
WO2008111050A2 (en) * | 2007-03-09 | 2008-09-18 | Ghost, Inc. | A virtual identity system and method for web services |
US7680848B2 (en) | 2007-03-29 | 2010-03-16 | Microsoft Corporation | Reliable and scalable multi-tenant asynchronous processing |
US8019812B2 (en) * | 2007-04-13 | 2011-09-13 | Microsoft Corporation | Extensible and programmable multi-tenant service architecture |
US7840413B2 (en) * | 2007-05-09 | 2010-11-23 | Salesforce.Com, Inc. | Method and system for integrating idea and on-demand services |
US8516366B2 (en) * | 2008-06-20 | 2013-08-20 | Wetpaint.Com, Inc. | Extensible content service for attributing user-generated content to authored content providers |
US20100082737A1 (en) * | 2008-09-26 | 2010-04-01 | Carlson Marketing Worldwide, Inc. | Dynamic service routing |
US10057775B2 (en) * | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US8243949B2 (en) * | 2009-04-14 | 2012-08-14 | Plantronics, Inc. | Network addressible loudspeaker and audio play |
US9229793B2 (en) * | 2010-04-22 | 2016-01-05 | Salesforce.Com, Inc. | System, method and computer program product for routing messages to a server |
-
2007
- 2007-04-13 US US11/787,134 patent/US8019812B2/en active Active
-
2008
- 2008-04-01 CN CN200880011804.4A patent/CN101657804B/zh active Active
- 2008-04-01 ES ES08744888T patent/ES2709436T3/es active Active
- 2008-04-01 RU RU2009137767/08A patent/RU2463652C2/ru active
- 2008-04-01 KR KR1020097020861A patent/KR101279740B1/ko active IP Right Grant
- 2008-04-01 WO PCT/US2008/059061 patent/WO2008127871A1/en active Application Filing
- 2008-04-01 EP EP08744888.2A patent/EP2156308B1/en active Active
- 2008-04-01 JP JP2010503123A patent/JP2010526358A/ja active Pending
- 2008-04-01 BR BRPI0809083-1A patent/BRPI0809083B1/pt active IP Right Grant
- 2008-04-08 TW TW097112680A patent/TWI473029B/zh not_active IP Right Cessation
-
2011
- 2011-06-24 US US13/168,557 patent/US8195743B2/en active Active
-
2012
- 2012-04-18 US US13/450,022 patent/US8533261B2/en active Active
-
2013
- 2013-09-09 US US14/021,352 patent/US20140012900A1/en not_active Abandoned
-
2014
- 2014-01-06 JP JP2014000296A patent/JP2014132462A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2237275C2 (ru) * | 1999-02-18 | 2004-09-27 | Ситрикс Системз, Инк. | Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2646306C1 (ru) * | 2017-06-15 | 2018-03-02 | Федеральное Государственное унитарное предприятие Государственный научно-исследовательский институт гражданской авиации (ФГУП ГосНИИ ГА) | Система мониторинга ставок арендных платежей операторов аэродромов за пользование имуществом аэродромов |
RU2737601C2 (ru) * | 2019-03-13 | 2020-12-01 | Анастасия Надеровна Рубцова | Автоматизированная информационная система для размещения расширяемых служб с множеством арендаторов и субъектов (потребителей) |
Also Published As
Publication number | Publication date |
---|---|
US8019812B2 (en) | 2011-09-13 |
CN101657804A (zh) | 2010-02-24 |
KR101279740B1 (ko) | 2013-06-28 |
WO2008127871A1 (en) | 2008-10-23 |
US8533261B2 (en) | 2013-09-10 |
BRPI0809083B1 (pt) | 2019-05-07 |
JP2014132462A (ja) | 2014-07-17 |
US8195743B2 (en) | 2012-06-05 |
TWI473029B (zh) | 2015-02-11 |
CN101657804B (zh) | 2015-07-08 |
US20080256607A1 (en) | 2008-10-16 |
EP2156308A1 (en) | 2010-02-24 |
BRPI0809083A2 (pt) | 2014-09-09 |
EP2156308B1 (en) | 2018-11-07 |
KR20100015398A (ko) | 2010-02-12 |
RU2009137767A (ru) | 2011-04-20 |
JP2010526358A (ja) | 2010-07-29 |
TW200847055A (en) | 2008-12-01 |
US20120210390A1 (en) | 2012-08-16 |
US20140012900A1 (en) | 2014-01-09 |
US20110252089A1 (en) | 2011-10-13 |
EP2156308A4 (en) | 2014-06-04 |
ES2709436T3 (es) | 2019-04-16 |
BRPI0809083A8 (pt) | 2016-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2463652C2 (ru) | Структура расширяемой и программируемой службы с несколькими арендаторами | |
US11700296B2 (en) | Client-directed placement of remotely-configured service instances | |
US9515954B2 (en) | Automated desktop placement | |
RU2598324C2 (ru) | Средства управления доступом к онлайновой службе с использованием внемасштабных признаков каталога | |
US10764299B2 (en) | Access control manager | |
US11102196B2 (en) | Authenticating API service invocations | |
US10176059B2 (en) | Managing server processes with proxy files | |
US11297065B2 (en) | Technology for computing resource liaison | |
US10171561B2 (en) | Construct data management between loosely coupled racks | |
US11586626B1 (en) | Optimizing cloud query execution | |
US20230007004A1 (en) | Account provisioning manager |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150306 |