RU2463652C2 - Структура расширяемой и программируемой службы с несколькими арендаторами - Google Patents

Структура расширяемой и программируемой службы с несколькими арендаторами Download PDF

Info

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
Application number
RU2009137767/08A
Other languages
English (en)
Other versions
RU2009137767A (ru
Inventor
Акезит ДЖАНЕДИТТАКАРН (US)
Акезит ДЖАНЕДИТТАКАРН
САНТОС Роберто Адлич ДОС (US)
САНТОС Роберто Адлич ДОС
Араш ГАНАИ-СИКАНИ (US)
Араш ГАНАИ-СИКАНИ
Майкл Джеймс ОТТ (US)
Майкл Джеймс ОТТ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2009137767A publication Critical patent/RU2009137767A/ru
Application granted granted Critical
Publication of RU2463652C2 publication Critical patent/RU2463652C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling 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 выполнены с возможностью одного из добавления и удаления службы организации.
2. Способ по п.1, дополнительно содержащий этап, на котором выполняют аутентификацию клиента до предоставления местоположения службы организации, используя одно из интегрированной службы аутентификации и сторонней службы аутентификации.
3. Способ по п.2, в котором доступ клиента к запрашиваемой службе организации ограничивают на основе по меньшей мере одного из набора, состоящего из статуса безопасности соединения клиента, учетных данных клиента и членства в организации.
4. Способ по п.2, дополнительно содержащий этап, на котором предоставляют множество режимов аутентификации, причем каждый режим аутентификации включает в себя выделенную конечную точку, так что клиент имеет возможность задать желаемый режим аутентификации.
5. Способ по п.1, дополнительно содержащий этап, на котором предоставляют клиенту конфигурационную информацию, относящуюся к доступу клиента к запрашиваемой службе организации.
6. Способ по п.1, в котором масштабируемые группы приспособлены обеспечивать вертикальную и горизонтальную расширяемость приложений, ассоциированных со службами организации, размещенными на упомянутой платформе.
7. Способ по п.1, в котором упомянутая платформа выполнена с возможностью предоставления доступа по метаданным в отношении служб организации, размещенных на упомянутой платформе.
8. Система для размещения расширяемых служб с множеством арендаторов, включающая в себя:
службу обнаружения, сконфигурированную:
принимать запрос на доступ от клиента, ассоциированного с по меньшей мере одной службой организации, размещенной в данной системе,
определять местоположение запрашиваемой по меньшей мере одной службы организации и
предоставлять клиенту местоположение этой по меньшей мере одной службы организации для обеспечения возможности доступа к данной по меньшей мере одной службе организации;
множество масштабируемых кластеров служб, сконфигурированных предоставлять упомянутую по меньшей мере одну службу организации;
хранилище конфигураций, ассоциированное со службой обнаружения и выполненное с возможностью хранить информацию о конфигурации и местоположении, относящуюся к упомянутому множеству кластеров служб, так что изменение в местоположении упомянутой по меньшей мере одной службы организации во время доступа клиента к этой по меньшей мере одной службе организации предоставляется клиенту для непрерывного доступа клиента к данной по меньшей мере одной службе организации; и
множество динамических и выделенных интерфейсов прикладного программирования (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 выполнены с возможностью одного из добавления и удаления службы организации.
17. Машиночитаемое устройство хранения информации по п.16, в котором способ дополнительно содержит этап, на котором выполняют аутентификацию клиента с использованием по меньшей мере одного режима аутентификации для каждой службы организации, запрошенной клиентом.
18. Машиночитаемое устройство хранения информации по п.16, в котором способ дополнительно содержит этап, на котором предоставляют клиенту конфигурационную информацию, относящуюся к доступу клиента к запрашиваемой службе организации.
19. Машиночитаемое устройство хранения информации по п.16, при этом упомянутые масштабируемые кластеры сконфигурированы обеспечивать вертикальную и горизонтальную расширяемость приложений, ассоциированных с по меньшей мере одной службой организации, размещенной на упомянутой платформе.
20. Машиночитаемое устройство хранения информации по п.16, при этом упомянутая платформа выполнена с возможностью предоставления доступа по метаданным в отношении по меньшей мере одной службы организации, размещенной на упомянутой платформе.
RU2009137767/08A 2007-04-13 2008-04-01 Структура расширяемой и программируемой службы с несколькими арендаторами RU2463652C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2237275C2 (ru) * 1999-02-18 2004-09-27 Ситрикс Системз, Инк. Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер

Family Cites Families (46)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2237275C2 (ru) * 1999-02-18 2004-09-27 Ситрикс Системз, Инк. Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер

Cited By (2)

* Cited by examiner, † Cited by third party
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