RU2010138121A - Масштабируемое размещение пользовательских решений - Google Patents

Масштабируемое размещение пользовательских решений Download PDF

Info

Publication number
RU2010138121A
RU2010138121A RU2010138121/08A RU2010138121A RU2010138121A RU 2010138121 A RU2010138121 A RU 2010138121A RU 2010138121/08 A RU2010138121/08 A RU 2010138121/08A RU 2010138121 A RU2010138121 A RU 2010138121A RU 2010138121 A RU2010138121 A RU 2010138121A
Authority
RU
Russia
Prior art keywords
server
application program
module
application
application software
Prior art date
Application number
RU2010138121/08A
Other languages
English (en)
Inventor
Майкл АММЕРЛАН (US)
Майкл АММЕРЛАН
Роджер Фрэнсис ГРАМБИХЛЕР (US)
Роджер Фрэнсис ГРАМБИХЛЕР
Уилльям Дж. ГРИФФИН (US)
Уилльям Дж. ГРИФФИН
Силвиу ИФРИМ (US)
Силвиу ИФРИМ
Кристофер Д. ХОФФМАН (US)
Кристофер Д. ХОФФМАН
Хунчжоу МА (US)
Хунчжоу МА
Дэйл Энсон РЕКТОР (US)
Дэйл Энсон РЕКТОР
Рэнди Дэвид ТОМСОН (US)
Рэнди Дэвид ТОМСОН
Original Assignee
Майкрософт Корпорейшн (Us)
Майкрософт Корпорейшн
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 Майкрософт Корпорейшн (Us), Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн (Us)
Publication of RU2010138121A publication Critical patent/RU2010138121A/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

1. Система (100) для размещения прикладного программного обеспечения (304, 402), причем система (100) содержит ! локальный сервер (204), причем локальный сервер (204) включает в себя внешний интерфейсный веб-модуль (302), который обрабатывает запрос от компьютера-клиента (102) через Интернет для размещения прикладного программного обеспечения (304, 402) на сервере (202, 204, 206), причем прикладное программное обеспечение (304, 402), адаптируемое к роду деятельности пользователя, при этом прикладное программное обеспечение (304, 402) выгружается на локальный сервер (202) через Интернет, ! прикладное программное обеспечение (304, 402), включенное в модули пользовательского кода, которое может быть установлено на локальном сервере (202) или на удаленном сервере (204, 206), ! один или несколько удаленных серверов (204, 206), причем удаленный сервер (204, 206) включает в себя внутренний модуль (404), который управляет установкой и работой прикладного программного обеспечения (402), размещенного на удаленном сервере (204, 206), ! базу данных (210) конфигураций, которая включает в себя топологическую информацию, причем топологическая информация включает в себя описания серверов (202, 204, 206), которые могут размещать прикладное программное обеспечение (304, 402), и ! базу данных (208) контента, причем база данных (208) контента включает в себя информацию о контенте прикладных программ (304, 402), подлежащих размещению на сервере (202, 204, 206), ! в которой внешний интерфейсный веб-модуль (302) определяет, будет ли прикладное программное обеспечение (304, 402) размещено на локальном сервере (202) или на одном или нескольких удаленных серверах (204, 206). ! 2. Система по п.1, в которой локальный сервер (202) дополнительно вкл�

Claims (20)

1. Система (100) для размещения прикладного программного обеспечения (304, 402), причем система (100) содержит
локальный сервер (204), причем локальный сервер (204) включает в себя внешний интерфейсный веб-модуль (302), который обрабатывает запрос от компьютера-клиента (102) через Интернет для размещения прикладного программного обеспечения (304, 402) на сервере (202, 204, 206), причем прикладное программное обеспечение (304, 402), адаптируемое к роду деятельности пользователя, при этом прикладное программное обеспечение (304, 402) выгружается на локальный сервер (202) через Интернет,
прикладное программное обеспечение (304, 402), включенное в модули пользовательского кода, которое может быть установлено на локальном сервере (202) или на удаленном сервере (204, 206),
один или несколько удаленных серверов (204, 206), причем удаленный сервер (204, 206) включает в себя внутренний модуль (404), который управляет установкой и работой прикладного программного обеспечения (402), размещенного на удаленном сервере (204, 206),
базу данных (210) конфигураций, которая включает в себя топологическую информацию, причем топологическая информация включает в себя описания серверов (202, 204, 206), которые могут размещать прикладное программное обеспечение (304, 402), и
базу данных (208) контента, причем база данных (208) контента включает в себя информацию о контенте прикладных программ (304, 402), подлежащих размещению на сервере (202, 204, 206),
в которой внешний интерфейсный веб-модуль (302) определяет, будет ли прикладное программное обеспечение (304, 402) размещено на локальном сервере (202) или на одном или нескольких удаленных серверах (204, 206).
2. Система по п.1, в которой локальный сервер (202) дополнительно включает в себя модуль (506) балансировки нагрузки, причем модуль (506) балансировки нагрузки назначает прикладные программы (304, 402) серверам (202, 204, 206) на основании стоимости выполнения прикладной программы.
3. Система по п.2, в которой прикладные программы (304, 402) группируются по уровням на основании их характеристик производительности.
4. Система по п.2, в которой модуль (506) балансировки нагрузки является расширяемым, причем модуль (506) балансировки нагрузки использует обеспечиваемую пользователем структуру для назначения прикладных программ (304, 402) конкретным серверам (202, 204, 206).
5. Система по п.1, в которой локальный сервер (202) дополнительно включает в себя модуль (504) проверки правильности, причем модуль (504) проверки правильности включает в себя сторонние модули проверки правильности решения, причем модули проверки правильности решения определяют, нужно ли загружать прикладную программу (304, 402) на сервер (202, 204, 206).
6. Система по п.5, в которой модули проверки правильности решения выполняют задания из группы, состоящей из проверок безопасности выполнения и реализации моделей ценообразования.
7. Система по п.1, в которой внутренний модуль (404) включает в себя модуль (602) квотирования ресурсов, причем модуль (602) квотирования ресурсов обеспечивает квоту на системные ресурсы для каждого сервера (204, 206).
8. Система по п.8, в которой внутренний модуль (404) включает в себя модуль (604) мониторинга ресурсов, причем модуль мониторинга ресурсов (604) определяет, превышают ли ресурсы на сервере (204, 206) квоту на ресурсы.
9. Система по п.1, в которой внутренний модуль (404) включает в себя модуль (606) управления кэшем сборки, причем модуль (606) управления кэшем сборки управляет модулями пользовательского кода, чтобы гарантировать, что они загружаются, когда они нужны, и выгружаются, когда они не нужны.
10. Система по п.1, в которой прикладная программа (304, 402) выполняется с использованием изолированной инфраструктуры, причем изолированная инфраструктура не позволяет прикладной программе (304, 402), выполняющейся на сервере (202, 204, 206), негативно влиять на системные ресурсы на сервере (202, 204, 206).
11. Способ размещения прикладной программы (304, 402) на сервере (202, 204, 206), причем способ содержит этапы, на которых
принимают от компьютера-клиента (102) запрос на выполнение прикладной программы (304, 402) на сервере (202, 204, 206), причем прикладная программа (304, 402) включает в себя пользовательские компоненты, причем пользовательские компоненты позволяют адаптировать прикладную программу (304, 402) для нужд конкретного предприятия,
проверяют правильность прикладной программы (304, 402),
определяют уровень производительности для прикладной программы (304, 402),
определяют тип решения для прикладной программы (304, 402),
определяют топологию имеющихся хост-компьютеров (202, 204, 206),
используют уровень производительности, тип решения, топологию и алгоритм балансировки нагрузки для определения удаленного сервера (204, 206) на котором должна выполняться прикладная программа (304, 402),
назначают прикладную программу (304, 402) удаленному серверу (204, 206) на основании определения удаленного сервера (204, 206), на котором должна выполняться прикладная программа (304, 402),
выполняют прикладную программу (304, 402) на назначенном удаленном сервере (204, 206), и
отслеживают выполнение прикладной программы (304, 402) на удаленном сервере (204, 206).
12. Способ по п.11, дополнительно содержащий этап, на котором проверяют правильность прикладной программы (304, 402) с использованием критериев проверки правильности, обеспеченных третьей стороной.
13. Способ по п.12, в котором критерии проверки правильности включают в себя выполнение проверки безопасности и реализацию моделей ценообразования.
14. Способ по п.11, в котором уровень производительности определяют с использованием структуры, обеспеченной третьей стороной.
15. Способ по п.11, в котором тип решения определяют посредством алгоритма хэширования.
16. Способ по п.11, в котором обеспечивают квоту на ресурсы для системных ресурсов удаленного сервера (204, 206).
17. Способ по п.16, в котором ресурсы на удаленном сервере (204, 206) отслеживают для определения, превышают ли ресурсы квоту на ресурсы.
18. Способ по п.17, в котором выполнение прикладной программы (402) завершают, если ее ресурсы превышают квоту на ресурсы.
19. Способ по п.11, дополнительно содержащий служебный процесс хоста, который управляет выполнением пользовательских компонентов, и рабочий процесс, который выполняет код, связанный с пользовательскими компонентами.
20. Компьютерно-считываемый носитель, содержащий компьютерно-выполняемые инструкции, которые при выполнении осуществляют способ запрашивания размещения прикладных программ (304, 402) на сервере (202, 204, 206), причем способ содержит этапы, на которых
инициируют запрос с помощью локального сервера (202) для размещения прикладной программы (304, 402) на сервере (202, 204, 206),
выгружают прикладную программу (304, 402) на локальный сервер (202), причем прикладная программа (304, 402) включает в себя признаки, модифицированные в соответствии с решением приложения,
выгружают алгоритм балансировки нагрузки на локальный сервер (402), причем алгоритм балансировки нагрузки обеспечивает способ определения сервера (202, 204, 206), на котором должна быть размещена прикладная программа, и
выгружают механизм проверки правильности на локальный сервер (402), причем механизм проверки правильности обеспечивает способ определения, должна ли быть размещена прикладная программа (304, 402).
RU2010138121/08A 2008-03-15 2009-02-13 Масштабируемое размещение пользовательских решений RU2010138121A (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/049,316 US20090235353A1 (en) 2008-03-15 2008-03-15 Scalable Hosting of User Solutions
US12/049,316 2008-03-15

Publications (1)

Publication Number Publication Date
RU2010138121A true RU2010138121A (ru) 2012-03-20

Family

ID=41064472

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010138121/08A RU2010138121A (ru) 2008-03-15 2009-02-13 Масштабируемое размещение пользовательских решений

Country Status (9)

Country Link
US (1) US20090235353A1 (ru)
EP (1) EP2266049A4 (ru)
KR (1) KR20100136507A (ru)
CN (1) CN101971164A (ru)
AU (1) AU2009229115A1 (ru)
BR (1) BRPI0908180A2 (ru)
MX (1) MX2010009898A (ru)
RU (1) RU2010138121A (ru)
WO (1) WO2009120421A1 (ru)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316101B2 (en) * 2008-03-15 2012-11-20 Microsoft Corporation Resource management system for hosting of user solutions
CN102377598B (zh) * 2010-08-26 2015-07-01 中国移动通信集团公司 一种互联网应用托管系统、设备和方法
WO2011085624A1 (zh) * 2010-12-10 2011-07-21 华为技术有限公司 Web托管审查方法、装置及Web托管系统
KR20120072138A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 맞춤형 소프트웨어 제공 장치 및 방법, 그리고 소프트웨어 맞춤화 방법
US20130074064A1 (en) * 2011-09-15 2013-03-21 Microsoft Corporation Automated infrastructure provisioning
US9342333B2 (en) * 2013-03-14 2016-05-17 Microsoft Technology Licensing, Llc Backend custom code extensibility
US10255063B2 (en) * 2013-03-15 2019-04-09 Microsoft Technology Licensing, Llc Providing source control of custom code for a user without providing source control of host code for the user
EP2992415A4 (en) * 2013-04-30 2016-12-21 Hewlett Packard Entpr Dev Lp COORDINATION OF AN APPLICATION INSERT WITH A PLATFORM LEVEL
US9661054B2 (en) * 2013-12-04 2017-05-23 PowWow, Inc. Systems and methods to configure applications
US9953299B2 (en) 2013-12-04 2018-04-24 PowWow, Inc. Systems and methods for sharing image data
US9350792B2 (en) * 2014-04-16 2016-05-24 Go Daddy Operating Company, LLC Method for location-based website hosting optimization
CN104834562B (zh) * 2015-04-30 2018-12-18 上海新储集成电路有限公司 一种异构数据中心及该数据中心的运行方法
US10101981B2 (en) * 2015-05-08 2018-10-16 Citrix Systems, Inc. Auto discovery and configuration of services in a load balancing appliance
US20190146835A1 (en) * 2017-11-13 2019-05-16 International Business Machines Corporation Implementing cognitive dynamic logical processor optimization service
US10831638B2 (en) * 2018-08-21 2020-11-10 International Business Machines Corporation Automated analytics for improving reuse of application solutions

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961341B1 (en) * 1996-07-02 2005-11-01 Microsoft Corporation Adaptive bandwidth throttling for network services
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6532488B1 (en) * 1999-01-25 2003-03-11 John J. Ciarlante Method and system for hosting applications
US7590739B2 (en) * 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US6816882B1 (en) * 2000-05-31 2004-11-09 International Business Machines Corporation System and method for automatically negotiating license agreements and installing arbitrary user-specified applications on application service providers
US20030018694A1 (en) * 2000-09-01 2003-01-23 Shuang Chen System, method, uses, products, program products, and business methods for distributed internet and distributed network services over multi-tiered networks
AU2001289009A1 (en) * 2000-09-12 2002-03-26 Falcon Asset Acquisition Group Method and apparatus for flash load balancing
US20020062377A1 (en) * 2000-11-20 2002-05-23 Hillman Matthew F. Scalable directory, master and slave server based architecture for hosting application services
US7178143B2 (en) * 2001-03-09 2007-02-13 Bea Systems, Inc. Multi-version hosting of application services
US20020178254A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7194543B2 (en) * 2001-11-12 2007-03-20 Mci, Llc System and method for creating and managing survivable, service hosting networks
US20030101113A1 (en) * 2001-11-26 2003-05-29 Dang Hong M. Intelligent system infrastructure for financial data computation, report remittance and funds transfer over an interactive communications network
US7085837B2 (en) * 2001-12-04 2006-08-01 International Business Machines Corporation Dynamic resource allocation using known future benefits
WO2003060707A1 (en) * 2002-01-11 2003-07-24 Akamai Technologies, Inc. Java application framework for use in a content delivery network (cdn)
US7228326B2 (en) * 2002-01-18 2007-06-05 Bea Systems, Inc. Systems and methods for application deployment
US7058924B2 (en) * 2002-04-12 2006-06-06 International Business Machines Corporation Facilitating hosting of applications
US7290262B2 (en) * 2002-05-21 2007-10-30 International Business Machine Corporation Method and apparatus for dynamically determining information for deploying a web service
US7305431B2 (en) * 2002-09-30 2007-12-04 International Business Machines Corporation Automatic enforcement of service-level agreements for providing services over a network
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US7503031B2 (en) * 2004-02-19 2009-03-10 International Business Machines Corporation Method of transforming an application into an on-demand service
US7383271B2 (en) * 2004-04-06 2008-06-03 Microsoft Corporation Centralized configuration data management for distributed clients
US7747698B2 (en) * 2004-05-25 2010-06-29 Sap Ag Transaction model for deployment operations
US7478361B2 (en) * 2004-06-17 2009-01-13 International Business Machines Corporation Method and system for managing application deployment
US20060075407A1 (en) * 2004-10-06 2006-04-06 Digipede Technologies, Llc Distributed system interface
US20060080273A1 (en) * 2004-10-12 2006-04-13 International Business Machines Corporation Middleware for externally applied partitioning of applications
US7574490B2 (en) * 2004-11-20 2009-08-11 Microsoft Corporation Strategies for configuring a server-based information-transmission infrastructure
US7716254B2 (en) * 2005-09-12 2010-05-11 Infosys Technologies Ltd. System for modeling architecture for business systems and methods thereof
US20070282992A1 (en) * 2006-06-01 2007-12-06 Sun Microsystems, Inc. Method and system for service management in a zone environment
US8099454B2 (en) * 2007-08-03 2012-01-17 International Business Machines Corporation Staging a file within a distributed computing system
US9331919B2 (en) * 2007-11-30 2016-05-03 Solarwinds Worldwide, Llc Method for summarizing flow information of network devices

Also Published As

Publication number Publication date
US20090235353A1 (en) 2009-09-17
CN101971164A (zh) 2011-02-09
AU2009229115A1 (en) 2009-10-01
EP2266049A1 (en) 2010-12-29
KR20100136507A (ko) 2010-12-28
BRPI0908180A2 (pt) 2015-08-18
WO2009120421A1 (en) 2009-10-01
EP2266049A4 (en) 2012-12-12
MX2010009898A (es) 2010-09-30

Similar Documents

Publication Publication Date Title
RU2010138121A (ru) Масштабируемое размещение пользовательских решений
US9363190B2 (en) System, method and computer program product for energy-efficient and service level agreement (SLA)-based management of data centers for cloud computing
US20150067019A1 (en) Method and system for using arbitrary computing devices for distributed data processing
Beloglazov et al. OpenStack Neat: a framework for dynamic and energy‐efficient consolidation of virtual machines in OpenStack clouds
US10430332B2 (en) System and method for performance tuning of garbage collection algorithms
US8452853B2 (en) Browser with offline web-application architecture
US8706869B2 (en) Distributed cloud placement software
US20170171026A1 (en) Configuring a cloud from aggregate declarative configuration data
US20080163194A1 (en) Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
WO2012030390A1 (en) Method and system for computer power and resource consumption modeling
US9250886B2 (en) Optimizing provisioning workflows in cloud computing
CN110032576B (zh) 一种业务处理方法以及装置
CN101702650A (zh) 网络计算业务的计费方法及网络计算业务提供系统
US20150350341A1 (en) Application gateway for cloud computing systems
EP2808792B1 (en) Method and system for using arbitrary computing devices for distributed data processing
CN106656927A (zh) 将Linux账号加入AD域的方法及装置
CN104391697A (zh) 应用程序的云资源管理系统和方法
US20130282788A1 (en) File System Optimization by Log/Metadata Analysis
Procaccianti et al. A catalogue of green architectural tactics for the cloud
US20060064400A1 (en) Methods, systems and software for identifying and managing database work
CN112612588A (zh) 任务处理方法、装置、设备及存储介质
US20130145004A1 (en) Provisioning using presence detection
US20120265879A1 (en) Managing servicability of cloud computing resources
Kaur et al. A framework for hosting web services in cloud computing environment with high availability
Liu et al. Automatic cloud service testing and bottleneck detection system with scaling recommendation