RU2615316C2 - СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В Unix-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР - Google Patents

СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В Unix-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР Download PDF

Info

Publication number
RU2615316C2
RU2615316C2 RU2015113503A RU2015113503A RU2615316C2 RU 2615316 C2 RU2615316 C2 RU 2615316C2 RU 2015113503 A RU2015113503 A RU 2015113503A RU 2015113503 A RU2015113503 A RU 2015113503A RU 2615316 C2 RU2615316 C2 RU 2615316C2
Authority
RU
Russia
Prior art keywords
unix
virtual container
connection
script
host port
Prior art date
Application number
RU2015113503A
Other languages
English (en)
Other versions
RU2015113503A (ru
Inventor
Байвань ЧЖУ
Цзе ХУАН
Кэ ЛУ
Лифэн ЦЗЭН
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 RU2015113503A publication Critical patent/RU2015113503A/ru
Application granted granted Critical
Publication of RU2615316C2 publication Critical patent/RU2615316C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for 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/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

[0001] Данная заявка испрашивает приоритет патентной заявки КНР "СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В UNIX-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР" №201210345405Х, поданной 17 сентября 2012 г., раскрытие которой включено в настоящую заявку в полном объеме путем ссылки.
Область техники, к которой относится изобретение
[0002] Варианты осуществления настоящего изобретения относятся к технологии облачных вычислений, в частности, к способу, устройству и системе для входа в Unix-подобный облачный контейнер.
Уровень техники
[0003] Облачные вычисления в основном включают в себя режимы увеличения, использования и доставки, основанные на относящихся к Интернету сервисах. Обычно облачные вычисления включают в себя предоставление динамичных и расширяемых виртуализированных ресурсов через Интернет. Появление облачных вычислений означает, что вычислительные возможности могут рассматриваться в качестве продукта, который распространяется через Интернет. Облачные вычисления в узком смысле включают в себя режимы доставки и использования инфраструктуры информационных технологий (IT), что означает получение требуемых ресурсов по запросу через сеть с возможностью легкого их расширения. Облачные вычисления в широком смысле включают в себя режимы доставки и использования сервисов, что означает получение требуемых сервисов по запросу через сеть с возможностью легкого их расширения. Требуемый сервис может быть связан с IT, программным обеспечением, сетью Интернет, или относиться к другим услугам.
[0004] Обычно платформы облачных вычислений можно разделить на три категории, а именно: облачные платформы типа хранилища, в основном используемые для хранения данных; облачные платформы вычислительного типа, в основном используемые для обработки данных; и полноценные платформы облачных вычислений, используемые для хранения данных и обработки данных, например, для вычислений.
Раскрытие изобретения
[0005] Варианты осуществления настоящего изобретения описывают способ, устройство и систему входа в Unix-подобный виртуальный контейнер, при этом обеспечивается возможность входа в Unix-подобный виртуальный контейнер и отправки команды скрипта в Unix-подобный виртуальный контейнер.
[0006] Различные варианты осуществления настоящего изобретения описывают способ входа в Unix-подобный виртуальный контейнер, содержащий следующие этапы:
устанавливают соответствующую взаимосвязь между Unix-подобным виртуальным контейнером и портом хоста, на котором запущен Unix-подобный виртуальный контейнер;
устанавливают прозрачный канал между Unix-подобным виртуальным контейнером и портом хоста на основе указанной соответствующей взаимосвязи, а также устанавливают первое соединение между Unix-подобным виртуальным контейнером и портом хоста на основе прозрачного канала, и
получают команду скрипта через порт хоста и отправляют указанную команду скрипта в Unix-подобный виртуальный контейнер согласно первому соединению.
[0007] Различные варианты осуществления настоящего изобретения описывают устройство входа в Unix-подобный виртуальный контейнер, содержащее:
модуль установления прозрачного канала, конфигурированный для
установления соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста, на котором запущен Unix-подобный виртуальный контейнер, и установления прозрачного канала между Unix-подобным виртуальным контейнером и портом хоста на основе указанной соответствующей взаимосвязи;
модуль установления соединения, конфигурированный для
установления первого соединения между Unix-подобным виртуальным контейнером и портом хоста на основе прозрачного канала, и
модуль отправки команд скрипта, конфигурированный для
получения команды скрипта через порт хоста и отправки команды скрипта в Unix-подобный виртуальный контейнер согласно первому соединению.
[0008] Различные варианты осуществления настоящего изобретения описывают систему входа в Unix-подобный виртуальный контейнер, содержащую веб-браузер, устройство входа в Unix-подобный виртуальный контейнер, а также хост; причем на хосте запущен Unix-подобный виртуальный контейнер, а между веб-браузером и устройством входа в Unix-подобный виртуальный контейнер существует соединение по протоколу передачи гипертекста (HTTP);
при этом
веб-браузер конфигурирован для
получения команды скрипта и отправки указанной команды скрипта в устройство входа в Unix-подобный виртуальный контейнер через соединение HTTP; а
устройство входа в Unix-подобный виртуальный контейнер конфигурировано для
установления соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста и установления прозрачного канала между Unix-подобным виртуальным контейнером и портом хоста на основе
указанной соответствующей взаимосвязи; установления первого соединения между Unix-подобным виртуальным контейнером и портом хоста на основе прозрачного канала,
получения команды скрипта, посланной из веб-браузера через порт хоста, а также
отправки команды скрипта в Unix-подобный виртуальный контейнер согласно первому соединению.
[0009] Как видно из вышеописанной технической схемы, в соответствии с различными вариантами осуществления настоящего изобретения, устанавливают соответствующую взаимосвязь между Unix-подобным виртуальным контейнером и портом хоста, на котором запущен Unix-подобный виртуальный контейнер. На основе указанной соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста устанавливают прозрачный канал между Unix-подобным виртуальным контейнером и портом хоста. На основе прозрачного канала устанавливают первое соединение между Unix-подобным виртуальным контейнером и портом хоста. Согласно первому соединению осуществляют получение команды скрипта через порт хоста и отправку указанной команды скрипта в Unix-подобный виртуальный контейнер. При использовании различных вариантов осуществления настоящего изобретения вход в Unix-подобный виртуальный контейнер можно осуществлять через соединение между портом хоста и Unix-подобным виртуальным контейнером, а отправку команды скрипта в Unix-подобный виртуальный контейнер можно осуществлять снаружи хоста. Таким образом, информацию в пределах Unix-подобного виртуального контейнера, например, файлы, информацию о центральном процессоре (CPU), ввод-вывод дисковых данных, ввод-вывод сетевых данных и т.д., можно легко просматривать согласно команде скрипта, что важно для различных операций, в том числе интерактивной отладки, просмотра журналов, управления ресурсами устройств в реальном времени и так далее. Кроме того, вход в Unix-подобный виртуальный контейнер через порт хоста может гарантировать безопасность информации в Unix-подобном виртуальном контейнере. Кроме того, за счет асинхронного доступа можно улучшить эффективность доступа.
Краткое описание чертежей
[0010] На фиг. 1 показана блок-схема, иллюстрирующая способ входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0011] На фиг. 2 показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0012] На фиг. 2А показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0013] На фиг. 2В показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0014] На фиг. 2С показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0015] На фиг. 2D показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0016] На фиг. 2Е показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0017] На фиг. 2F показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0018] На фиг. 2G показана блок-схема, иллюстрирующая структуру аппаратных средств устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0019] На фиг. 2Н показана блок-схема, иллюстрирующая структуру аппаратных средств устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0020] На фиг. 3 показана блок-схема, иллюстрирующая структуру системы входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0021] На фиг. 4 показана схема, иллюстрирующая интерфейс входа в Unix-подобный виртуальный контейнер через планшетный компьютер в соответствии с различными вариантами осуществления настоящего изобретения.
[0022] На фиг. 5 показана схема, иллюстрирующая интерфейс входа в Unix-подобный виртуальный контейнер через персональный компьютер в соответствии с различными вариантами осуществления настоящего изобретения.
Осуществление изобретения
[0023] Данное изобретение описано более подробно ниже со ссылками на прилагаемые чертежи и иллюстративные варианты осуществления.
[0024] В настоящее время существует техническая схема, согласно которой платформа облачных вычислений реализуется посредством использования виртуальных машин. Эта схема обладает такими преимуществами, как большие возможности настройки и комплексные облачные сервисы, однако высокая стоимость затрудняет ее распространение.
[0025] Кроме реализации платформы облачных вычисление с использованием виртуальных машин, существует также другая техническая схема, согласно которой система облачных вычислений реализуется с использованием Эластичного Облачного Механизма (Cloud Elastic Engine; СЕЕ). Согласно способу СЕЕ, контроллер группы ресурсов Linux (который можно называть cgroup) используется в качестве способа разделения ресурсов, а виртуальный контейнер Linux (который можно называть LXC) используется в качестве способа виртуализации. В данном случае cgroup поддерживается ядром Linux и обеспечивает механизм управления производительностью, а также средство разделения и ограничения ресурсов для процесса и последующего подпроцесса данного процесса. Виртуальный контейнер Linux представляет собой схему виртуализации, поддерживаемую ядром Linux, а также на уровне операционной системы. Согласно способу СЕЕ, кроме Linux можно использовать различные типы Unix-подобных виртуальных контейнеров, таких как FreeBSD, OpenBSD, Solaris, Minix, Linux и QNX.
[0026] В отличие от платформы облачных вычислений, реализованной с помощью виртуальных машин, система 'облачных вычислений, реализованная с помощью СЕЕ, не требует наличия загрузочных аппаратных средств, что влечет за собой сравнительно низкий уровень накладных расходов. Как правило, для обеспечения безопасности интрасетей Unix-подобный виртуальный контейнер не является независимым от главного хоста, при этом IP-адрес Unix-подобного виртуального контейнера не раскрывается, поэтому сеть Unix-подобного виртуального контейнера изолирована от внешнего мира. По этой причине прямой вход из внешнего мира в Unix-подобный виртуальный контейнер и отправка команды скрипта в Unix-подобный виртуальный контейнер невозможны. Поэтому невозможно получить информацию, содержащуюся в Unix-подобном виртуальном контейнере. Например, невозможно просмотреть такую содержащуюся в Unix-подобном виртуальном контейнере информацию, как файлы, информация о CPU, ввод-вывод дисковых данных, ввод-вывод сетевых данных и т.п. Однако подобная информация важна для различных операций, таких как интерактивная отладка, просмотр журналов, управление ресурсами устройств в реальном времени и т.д.
[0027] Поскольку сеть Unix-подобного виртуального контейнера изолирована от внешнего мира, то в соответствии с различными вариантами осуществления настоящего изобретения обеспечивается возможность входа в хост, на котором запущен Unix-подобный виртуальный контейнер, а также обеспечивается возможность установить соответствующую взаимосвязь между Unix-подобным виртуальным контейнером и портом хоста для установления соединения между Unix-подобным виртуальном контейнером и портом хоста. Таким образом обеспечивается возможность отправки в Unix-подобный виртуальный контейнер, запущенный на хосте, команды скрипта, принятой портом хоста снаружи хоста, для входа в Unix-подобный виртуальный контейнер.
[0028] На фиг. 1 показана блок-схема, иллюстрирующая способ входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0029] Как видно на фиг. 1, способ может включать в себя следующие операции.
[0030] В блоке 101 можно установить соответствующую взаимосвязь между Unix-подобным виртуальным контейнером и портом хоста, на котором запущен Unix-подобный виртуальный контейнер.
[0031] В этом случае Unix-подобный виртуальный контейнер запущен на хосте. Unix-подобный виртуальный контейнер может поддерживаться ядром Linux.
В соответствии с различными вариантами осуществления настоящего изобретения Unix-подобный виртуальный контейнер представляет собой набор виртуализированных машиночитаемых команд, предназначенный для платформы облачных вычислений на уровне операционной системы. По сравнению с другими способами виртуализации на уровне операционной системы, Unix-подобный виртуальный контейнер интегрируется в ядро Linux без отдельного добавления патчей в ядро. Более того, Unix-подобный виртуальный контейнер является способом виртуализации на уровне операционной системы, который требует меньших накладных расходов на виртуализацию и который может быть быстрее развернут по сравнению с традиционными способами виртуализации на уровне аппаратных абстракций (HAL).
[0032] Unix-подобный виртуальный контейнер может использоваться для изоляции конкретного приложения на хосте. Поскольку Unix-подобный виртуальный контейнер установлен на хосте, можно использовать относящуюся к Unix-подобному виртуальному контейнеру команду для создания и запуска контейнера с целью обеспечения виртуальной среды исполнения для приложения. В традиционном способе виртуализации сначала создают виртуальную машину, устанавливают систему, а затем разворачивают приложения.
[0033] Посредством установления соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста можно назначить порт хоста для Unix-подобного виртуального контейнера для обеспечения, таким образом, базы для последующего установления соединения с Unix-подобным виртуальным контейнером. В этом случае на хосте может быть запущено множество Unix-подобных виртуальных контейнеров, при этом каждому Unix-подобному виртуальному контейнеру можно назначить соответствующий порт хоста.
[0034] В соответствии с различными вариантами осуществления настоящего изобретения Unix-подобный виртуальный контейнер может относиться к различным типам Unix-подобных виртуальных контейнеров, например, к виртуальному контейнеру Linux (LXC), FreeBSD, OpenBSD, Solaris, Minix, Linux, QNX и т.д., однако без ограничения данным описанием.
[0035] В блоке 102 можно установить прозрачный канал между Unix-подобным виртуальным контейнером и портом хоста на основе указанной соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста, а также можно установить первое соединение между Unix-подобным виртуальным контейнером и портом хоста на основе прозрачного канала.
[0036] После установления указанной соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста можно установить прозрачный канал между Unix-подобным виртуальным контейнером и портом хоста. На основе прозрачного канала можно установить первое соединение между Unix-подобным виртуальным контейнером и портом хоста.
[0037] В этом случае прозрачный канал в основном используется для передачи больших объемов информации. Прозрачный канал можно использовать для коммуникации между процессами, выполняющимися между Unix-подобным виртуальным контейнером и портом хоста, которые при этом принадлежат одному пользователю и имеют одного предка. Прозрачный канал может использоваться в качестве коммуникационной среды для конвейеризации передачи информации между процессами на двух концах. Обычно процесс может быть конфигурирован для записи информации в прозрачный канал, а другой процесс может быть конфигурирован для считывания информации из указанного прозрачного канала. Таким образом, прозрачный канал представляет собой битовый поток, доступ к которому осуществляют через обычные интерфейсы ввода-вывода. После создания прозрачного канала операции чтения и записи в/из прозрачного канала можно осуществлять путем вызова любой системы ввода-вывода чтения и записи, входящей в состав операционной системы. В различных типах UNIX-подобных сред (в том числе в среде Linux) для вызова системы ввода-вывода обычно используют такие команды, как read() и write().
[0038] В различных вариантах осуществления настоящего изобретения первое соединение между портом хоста и UNIX-подобным виртуальным контейнером можно установить посредством прозрачного канала на основе протокола безопасной оболочки (SSH) или протокола безопасной оболочки 2 (SSH2). При использовании протокола SSH первое установленное соединение представляет собой соединение SSH. При использовании протокола SSH2 первое установленное соединение представляет собой соединение SSH2.
[0039] Путем установления первого соединения между портом хоста и UNIX-подобным виртуальным контейнером можно осуществить вход в Unix-подобный виртуальный контейнер, а также можно осуществить получение UNIX-подобным виртуальным контейнером команды скрипта снаружи хоста через порт хоста, соответствующий UNIX-подобному виртуальному контейнеру.
[0040] В блоке 103 порт хоста может получать команду скрипта и отправлять указанную команду скрипта в Unix-подобный виртуальный контейнер согласно первому соединению.
[0041] В этом случае порт хоста может получать команду скрипта снаружи хоста и отправлять команду скрипта в UNIX-подобный виртуальный контейнер согласно первому соединению. В этом случае хост может получать команду скрипта от внешнего браузера через соединение по протоколу передачи гипертекста (HTTP) с внешним браузером.
[0042] В различных вариантах осуществления настоящего изобретения, с целью обеспечения безопасности команды скрипта, после получения портом хоста команды скрипта и до передачи портом хоста команды скрипта в UNIX-подобный виртуальный контейнер, способ может также включать в себя описанные ниже операции. Команду скрипта можно разбить согласно заданному маркеру. В отношении разбитой команды скрипта можно выполнить расширение символами для получения дополненной символами команды скрипта. Можно определить, содержится ли расширенная символами команда скрипта в заданном белом списке команд скрипта. В ответ на определение того факта, что расширенная символами команда скрипта содержится в заданном белом списке команд скрипта, расширенная символами команда скрипта может быть отправлена в Unix-подобный виртуальный контейнер согласно первому соединению. В противном случае может выдаваться подсказка о недопустимости команды.
[0043] В соответствии с различными вариантами осуществления настоящего изобретения команду скрипта можно сперва разбить с помощью маркера (например, маркер может содержать точку с запятой, символ конвейеризации и т.д.). В отношении команды скрипта можно выполнять различные типы расширения символами (например, расширение фигурными скобками и т.д.) для получения расширенной символами команды скрипта. В отношении расширенной символами команды скрипта можно выполнять фильтрацию по белому списку. Например, команда содержит символ конвейеризации "⎮", т.е., команда имеет вид ls⎮grep "аа", в этом случае соответственно получают команды, включающие в себя ls и grep, путем идентификации символа конвейеризации "⎮". Затем выполняют фильтрацию по белому списку. В другом примере команда содержит круглые скобки, как, например, команда awk '{for(i=0;i<NF;i++) print $i}' /proc/net/tcp. Три группы символьных строк разделены пробелами и кавычками, при этом первая группа - это awk, а вторая группа - это '{for(i=0;i<NF;i++) print $i}'. В отношении второй группы сначала находят и продвигают в стек левую фигурную скобку "{", а затем осуществляют поиск правой фигурной скобки "}". В течение процесса поиска находят и продвигают в стек левую круглую скобку "(", а затем осуществляют поиск правой круглой скобки ")". После нахождения правой круглой скобки ")" получают содержимое команды между "(" и ")", и выполняют над содержимым команды операционный процесс, описанный в первом примере.
[0044] В соответствии с различными вариантами осуществления настоящего изобретения символы, которые могут поддерживаться в белом списке, могут включать в себя буквы в нижнем и верхнем регистрах, пробел, числа, "⎮", "-", "_", "*", "~", ".", ";", "/", '' и т.д.
[0045] В соответствии с различными вариантами осуществления настоящего изобретения, команды скрипта, которые могут поддерживаться в белом списке, могут включать в себя "ls", "tail", "cd", "pwd", "head", "cat", "ps", "free", "vmstat", "iostat", "uptime", "lsof", "ipcs", "mpstat", "grep", "wc", "uniq", "sort", "md5sum" и т.д.
[0046] Несмотря на то, что выше были перечислены некоторые типичные символы и команды скрипта, специалисту в данном области техники понятно, что эти символы и команды скрипта перечислены исключительно в качестве примеров и не должны использоваться для ограничения объема правовой охраны различных вариантов осуществления настоящего изобретения.
[0047] В соответствии с различными вариантами осуществления настоящего изобретения операцию получения команды скрипта портом хоста можно реализовать нижеописанным способом. Можно установить соединение HTTP между портом хоста и браузером по протоколу передачи гипертекста, и через это соединение HTTP может быть получена команда скрипта. В этом случае можно предварительно конфигурировать пороговое значение времени соединения и определить, превышает ли соединение HTTP между портом хоста и браузером пороговое значение времени соединения. Если соединение HTTP между портом хоста и браузером превышает пороговое значение времени соединения, то соединение HTTP можно разъединить. Если соединение HTTP между портом хоста и браузером не превышает пороговое значение времени соединения, то соединение HTTP можно сохранить. При этом сеанс соединения между портом хоста и браузером можно сохранить на период времени после установления соединения между браузером и портом хоста по протоколу передачи гипертекста. В этом случае выражение "превышает ли соединение HTTP пороговое значение времени соединения" может означать "превышает ли продолжительность соединения HTTP пороговое значение времени соединения". Например, пороговое значение времени соединения может быть конфигурировано равным 60 секундам. Если команда, связанная с соединением, не получена в течение 60 секунд с момента установления соединения, то можно определить, что соединение превышает конфигурированное пороговое значение времени соединения. В этом случае под продолжительностью соединения понимается период времени между моментом времени, когда последний раз была выполнена команда, связанная с соединением, и текущим моментом времени.
[0048] В соответствии с различными вариантами осуществления настоящего изобретения, когда браузер осуществляет выход из порта хоста нормальным образом, сеанс соединения между браузером и портом хоста может быть сброшен мгновенно. Когда браузер осуществляет выход из порта хоста непредвиденно, сеанс соединения HTTP между браузером и портом хоста может быть сброшен регулярным образом. В этом случае сброс соединения HTTP может означать разъединение соединения HTTP и очистку ресурсов, занимаемых соединением на сервере. Регулярный сброс соединения HTTP можно определить как сброс соединения не немедленно, а по истечении заданного периода времени.
[0049] В соответствии с различными вариантами осуществления настоящего изобретения можно конфигурировать пороговое значение времени соединения для первого соединения между портом хоста и Unix-подобным виртуальным контейнером. Можно определить, превышает ли первое соединение между портом хоста и Unix-подобным виртуальным контейнером пороговое значение времени соединения. Если первое соединение превышает пороговое значение времени соединения, то первое соединение можно разъединить. Если первое соединение не превышает пороговое значение времени соединения, то первое соединение можно сохранить. При этом сеанс, связанный с первым соединением и установленный между портом хоста и Unix-подобным виртуальным контейнером можно сохранять в течение некоторого периода времени после входа в Unix-подобный виртуальный контейнер. В этом случае способ определения того, превышает ли первое соединение пороговое значение времени соединения, может быть идентичен способу определения того, превышает ли соединение HTTP пороговое значение времени соединения, который здесь не рассматривается повторно.
[0050] В соответствии с различными вариантами осуществления настоящего изобретения, если пользователь осуществляет выход из Unix-подобного виртуального контейнера через порт хоста нормальным образом, то сеанс, связанный с первым соединением, можно сбросить немедленно. Если пользователь осуществляет непредвиденный выход из Unix-подобного виртуального контейнера, то сеанс, связанный с первым соединением, можно сбросить регулярным образом. В этом случае сброс сеанса, связанного с первым соединением, может означать разъединение первого соединения и очистку ресурсов, занимаемых первым соединением на сервере. Регулярный сброс сеанса, связанного с первым соединением, можно определить как сброс первого соединения не немедленно, а по истечении заданного периода времени.
[0051] В соответствии с различными вариантами осуществления настоящего изобретения может быть установлено множество соединений через прозрачный канал между портом хоста и Unix-подобным виртуальным контейнером, и поэтому ранее установленное соединение можно закрыть благодаря множественному характеру соединений канала.
[0052] Например, порт хоста может получить команду скрипта на прекращение операций, причем в команде скрипта на прекращение операций передается идентификатор (ID) первого соединения. Через прозрачный канал может быть установлено второе соединение между Unix-подобным виртуальным контейнером и портом хоста. Через второе соединение в Unix-подобный виртуальный контейнер может быть отправлена команда скрипта на прекращение операций. Unix-подобный виртуальный контейнер может выделять ID первого соединения из команды скрипта на прекращение операций и прекращать операции, связанные с первым соединением.
[0053] В качестве примера можно рассмотреть операцию передачи данных. В соответствии с различными вариантами осуществления настоящего изобретения операция получения команды скрипта портом хоста может включать в себя следующие операции. Может быть установлено соединение HTTP между портом хоста и браузером по протоколу передачи гипертекста, при этом через соединение HTTP может быть получена команда скрипта. Для решения проблемы, заключающейся в том, что в настоящее время протокол передачи гипертекста может обеспечивать только одностороннюю связь, т.е. поток данных в пределах одного периода времени передается только в одном направлении, выполняющуюся операцию передачи данных между браузером и Unix-подобным виртуальным контейнером можно прекратить посредством установления множества соединений HTTP между браузером пользователя и портом хоста. Например, браузер пользователя получает данные из Unix-подобного виртуального контейнера через первое соединение HTTP между браузером и портом хоста и первое соединение между портом хоста и Unix-подобным виртуальным контейнером. В этот момент пользователь желает прекратить операцию передачи данных и не желает закрыть первое соединение HTTP. В этом случае пользователь вводит с клавиатуры соответствующую команду, например, путем сочетания нажатий клавиш ctrl+c, при этом между браузером и портом хоста устанавливается второе соединение HTTP. Браузер получает команду, введенную с клавиатуры пользователем, и отправляет запрос на прекращение операций передачи данных через второе соединение HTTP, причем в запросе передается ID первого соединения HTTP. После получения отправленного браузером запроса на прекращение операций передачи данных находят первое соединение HTTP согласно переданному в запросе ID первого соединения HTTP, при этом в порт хоста, соединенный с Unix-подобным виртуальным контейнером, отправляется команда скрипта на прекращение операций, так чтобы порт хоста отправил команду скрипта на прекращение операций в Unix-подобный виртуальный контейнер через первое соединение между Unix-подобным виртуальным контейнером и портом хоста. Unix-подобный виртуальный контейнер выполняет команду скрипта на прекращение операций и прекращает операции, связанные с первым соединением HTTP, то есть, операция передачи данных прекращается.
[0054] В соответствии с различными вариантами осуществления настоящего изобретения операцию получения команды скрипта портом хоста можно реализовать нижеописанным способом. Можно установить соединение HTTP между портом хоста и браузером по протоколу передачи гипертекста, при этом через это соединение HTTP может быть получена команда скрипта. Способ также может включать в себя следующие операции. Можно определить, разъединено ли соединение HTTP между портом хоста и браузером. В ответ на определение того факта, что соединение HTTP между портом хоста и браузером разъединено, можно отправить команду скрипта на прекращение операций в Unix-подобный виртуальный контейнер на основе первого соединения между Unix-подобным виртуальным контейнером и портом хоста, установленным на основе прозрачного канала. Unix-подобный виртуальный контейнер выполняет команду скрипта на прекращение операций, при этом операции, связанные с соединением HTTP, прекращаются.
[0055] В соответствии с различными вариантами осуществления настоящего изобретения аналоговый интерфейс, используемый для отображения различных команд скриптов и реакций на команды скриптов, можно реализовать с использованием различных библиотек с открытым исходным кодом (например, termlib). В соответствии с одним из вариантов реализации настоящего изобретения, при помощи библиотеки с открытым исходным кодом можно сгенерировать интерфейс отображения команд. При этом можно захватить операционный символ клавиатуры пользователя, который связан с командой скрипта, полученной портом хоста. Операционный символ клавиатуры пользователя может быть отображен на интерфейсе отображения команд.
[0056] Например, введенную пользователем с клавиатуры команду можно захватить с помощью JavaScript. Введенную с клавиатуры команду можно отобразить на интерфейсе отображения команд. Альтернативно введенная с клавиатуры команда может быть отправлена на интерфейс компьютерной графики (CGI) хоста для обработки, при этом возвращенный хостом результат обработки может быть отображен на интерфейсе отображения команд. Таким образом, можно отображать различные команды скриптов, в том числе автозаполнение, интерактивная операция и т.д.
[0057] В соответствии с различными вариантами осуществления настоящего изобретения, Unix-подобный виртуальный контейнер реагирует на команду скрипта и возвращает ответ на команду скрипта в порт хоста посредством разбиения данных на порции. Порт хоста отправляет разбитые на порции данные на интерфейс браузера для синхронизированного отображения.
[0058] В соответствии с одним из вариантов осуществления настоящего изобретения хост с помощью функции BigPipe сервера QZHTTP может обеспечивать продолжение возврата данных командами скрипта, такими как "vmstat 1" и "tail-f. Хост может возвращать один фрагмент данных за раз, причем размер фрагмента данных может каждый раз изменяться. В соответствии с различными вариантами осуществления настоящего изобретения, каждый фрагмент может быть сжат и может быть немедленно выполнен и сделан доступным. Таким образом, хост может выводить фрагмент, причем этот фрагмент можно одновременно отображать на интерфейсе отображения, соответствующем порту хоста.
[0059] Кроме того, вход в Unix-подобный виртуальный контейнер осуществляют через порт хоста вместо непосредственных операций с Unix-подобным виртуальным контейнером, причем таким образом можно гарантировать безопасность информации Unix-подобного виртуального контейнера. Кроме того, порт хоста позволяет улучшить эффективность доступа за счет асинхронного доступа к Unix-подобному виртуальному контейнеру.
[0060] На основании вышеприведенного раскрытия различные варианты осуществления настоящего изобретения описывают устройство входа в Unix-подобный виртуальный контейнер.
[0061] На фиг. 2 показана блок-схема, иллюстрирующая структуру устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0062] В соответствии с одним из вариантов осуществления настоящего изобретения это устройство может содержать модуль 201 установления прозрачного канала, модуль 202 установления соединения и модуль 203 отправки команд скрипта, как показано на фиг. 2А.
[0063] Модуль 201 установления прозрачного канала может устанавливать соответствующую взаимосвязь между Unix-подобным виртуальным контейнером и портом хоста, на котором запущен Unix-подобный виртуальный контейнер, а также устанавливать прозрачный канал между Unix-подобным виртуальным контейнером и портом хоста на основе указанной соответствующей взаимосвязи;
[0064] Модуль 202 установления соединения может устанавливать первое соединение между Unix-подобным виртуальным контейнером и портом хоста на основе прозрачного канала,
[0065] Модуль 203 отправки команд скрипта может получать команду скрипта через порт хоста и отправлять указанную команду скрипта в Unix-подобный виртуальный контейнер согласно первому соединению.
[0066] В одном из вариантов осуществления это устройство может также включать в себя модуль 204 предварительной обработки команд скрипта, как показано на фиг. 2В.
[0067] Модуль 204 предварительной обработки команд скрипта может разбивать команду скрипта согласно заданному маркеру и выполнять в отношении разбитой команды расширение символами для получения расширенной символами команды скрипта. Модуль 204 предварительной обработки команд скрипта может определять, содержится ли расширенная символами команда скрипта в заданном белом списке команд скрипта. В ответ на определение того факта, что расширенная символами команда скрипта содержится в заданном белом списке команд скрипта, модуль 204 предварительной обработки команд скрипта может разрешать модулю 203 отправки команд скрипта отправлять расширенную символами команду скрипта в Unix-подобный виртуальный контейнер согласно первому соединению. В противном случае модуль 204 предварительной обработки команд скрипта может выдавать подсказку о недопустимости команды.
[0068] В соответствии с различными вариантами осуществления настоящего изобретения команду скрипта можно сначала разбить с помощью маркера (например, маркер может содержать точку с запятой, символ конвейеризации и т.д.). В отношении команды скрипта можно выполнять различные типы расширения символами (например, расширение фигурными скобками и т.д.) для получения расширенной символами команды скрипта. В отношении расширенной символами команды скрипта можно выполнять фильтрацию по белому списку. Детальный процесс является таким же, как процесс, описанный в вариантах осуществления способа, поэтому он не описывается здесь повторно.
[0069] В соответствии с различными вариантами осуществления настоящего изобретения символы, которые могут поддерживаться в белом списке, могут включать в себя буквы в нижнем и верхнем регистрах, пробелы, числа, "⎮", "-", "_", "*", "~", ".", ";", "/", '' и т.д.
[0070] В соответствии с различными вариантами осуществления настоящего изобретения команды скрипта, которые могут поддерживаться в белом списке, могут включать в себя "ls", "tail", "cd", "pwd", "head", "cat", "ps", "free", "vmstat", "iostat", "uptime", "lsof", "ipcs", "mpstat", "grep", "wc", "uniq", "sort", "md5sum" и т.д.
[0071] Несмотря на то, что выше перечислены некоторые типичные символы и команды скриптов, специалисту в данном области техники понятно, что эти символы и команды скрипта перечислены исключительно в качестве примеров, при этом они не предназначены для ограничения объема правовой охраны различных вариантов осуществления настоящего изобретения.
[0072] В соответствии с одним из вариантов осуществления настоящего изобретения модуль 203 отправки команд скрипта может устанавливать соединение HTTP между портом хоста и браузером по протоколу передачи гипертекста и получать команду скрипта через соединение HTTP.
[0073] В соответствии с одним из вариантов осуществления настоящего изобретения устройство может также включать в себя модуль 205 сохранения времени соединения, в котором заранее конфигурируется пороговое значение времени соединения, как показано на фиг. 2С.
[0074] Модуль 205 сохранения времени соединения может определять, превышает ли соединение HTTP между портом хоста и браузером пороговое значение времени соединения. Если соединение HTTP превышает пороговое значение времени соединения, то модуль 205 сохранения времени соединения может разъединять соединение HTTP. Если соединение HTTP не превышает пороговое значение времени соединения, то модуль 205 сохранения времени соединения может сохранять соединение HTTP.
[0075] В соответствии с одним из вариантов осуществления настоящего изобретения устройство может также включать в себя модуль 206 разъединения соединения, как показано на фиг. 2D.
[0076] Модуль 206 разъединения соединения может получать команду скрипта на прекращение операций через порт хоста, причем в команде скрипта на прекращение операций передается ID первого соединения. Модуль 206 разъединения соединения может устанавливать второе соединение между портом хоста и Unix-подобным виртуальным контейнером через прозрачный канал и отправлять команду скрипта на прекращение операций в Unix-подобный виртуальный контейнер через второе соединение, так чтобы Unix-подобный виртуальный контейнер мог выделить ID первого соединения из команды скрипта на прекращение операций и прекратить операции, связанные с первым соединением.
[0077] В соответствии с одним из вариантов осуществления настоящего изобретения модуль 203 отправки команд скрипта может устанавливать первое соединение HTTP и второе соединение HTTP между браузером и портом хоста по протоколу передачи гипертекста. Модуль 206 разъединения соединения может получать, через второе соединение HTTP, отправленный из браузера запрос на прекращение операций, причем в этом запросе передается ID первого соединения HTTP. После получения отправленного браузером запроса на прекращение операций модуль 206 разъединения соединения может найти первое соединение HTTP согласно переданному в запросе ID первого соединения HTTP, и отправить в порт хоста, соединенный с Unix-подобным виртуальным контейнером, команду скрипта на прекращение операций, так чтобы порт хоста отправил команду скрипта на прекращение операций в Unix-подобный виртуальный контейнер через первое соединение между Unix-подобным виртуальным контейнером и портом хоста. Unix-подобный виртуальный контейнер выполняет команду скрипта на прекращение операций и прекращает операции, связанные с первым соединением HTTP.
[0078] В соответствии с одним из вариантов осуществления настоящего изобретения модуль 203 отправки команд скрипта может устанавливать соединение HTTP между портом хоста и браузером по протоколу передачи гипертекста и получать команду скрипта через соединение HTTP.
[0079] В соответствии с одним из вариантов осуществления настоящего изобретения устройство может также включать в себя модуль 207 определения соединения, как показано на фиг. 2Е.
[0080] Модуль 207 определения соединения HTTP может определять, разъединено ли соединение HTTP между портом хоста и браузером. В ответ на определение того факта, что соединение HTTP между портом хоста и браузером разъединено, модуль 207 определения соединения HTTP может отправлять команду скрипта на прекращение операций в Unix-подобный виртуальный контейнер на основе первого соединения между Unix-подобным виртуальным контейнером и портом хоста, которое установлено на основе прозрачного канала, так чтобы Unix-подобный виртуальный контейнер выполнил команду скрипта на прекращение операций, при этом операции, связанные с соединением HTTP, прекращаются.
[0081] В соответствии с одним из вариантов осуществления настоящего изобретения устройство может также включать в себя модуль 208 отображения команд, как показано на фиг. 2F.
[0082] Модуль 208 отображения команд может генерировать интерфейс отображения команд, захватывать операционный символ клавиатуры пользователя, связанный с принятой портом хоста командой скрипта, и отображать указанный операционный символ клавиатуры пользователя на интерфейсе отображения команд.
[0083] Вышеупомянутые модули в примерах осуществления настоящего изобретения могут быть развернуты в централизованной или распределенной конфигурации, причем могут быть либо объединены в единый модуль, либо быть далее разделены на множество субмодулей.
[0084] Вышеупомянутые модули в примерах осуществления настоящего изобретения могут представлять собой программное обеспечение (например, машиночитаемые команды, хранящиеся на энергонезависимом машиночитаемом носителе и исполняемые процессором), аппаратные средства (например, процессор на специализированной интегральной схеме (ASIC)), или же сочетание вышеперечисленного.
[0085] На фиг. 2G показана блок-схема, иллюстрирующая структуру аппаратных средств устройства входа в Unix-подобный виртуальный контейнер в соответствии с различными примерами осуществления настоящего изобретения. Как видно на фиг. 2G, устройство может включать в себя процессор 21, хранилище 22, по меньшей мере один порт 23 и шину 24. Процессор 21 и хранилище 22 соединяются шиной 24. Устройство может получать и передавать данные через порт 23.
[0086] В соответствии с различными вариантами осуществления настоящего изобретения в хранилище 22 могут храниться машиночитаемые команды. Процессор 21 может выполнять машиночитаемые команды для установления соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста, на котором запущен Unix-подобный виртуальный контейнер, устанавливать прозрачный канал между Unix-подобным виртуальным контейнером и портом хоста на основе указанной соответствующей взаимосвязи, устанавливать первое соединение между Unix-подобным виртуальным контейнером и портом хоста на основе прозрачного канала, получать команду скрипта через порт хоста и отправлять команду скрипта в Unix-подобный виртуальный контейнер согласно первому соединению.
[0087] В соответствии с различными вариантами осуществления настоящего изобретения процессор 21 может выполнять машиночитаемые команды, хранящиеся в хранилище 21, для реализации всех или части процедур вышеописанных вариантов осуществления способа, которые здесь не описываются повторно.
[0088] Как можно видеть из вышеприведенного описания, при выполнении процессором 21 машиночитаемых команд, хранящихся в хранилище 22, реализуются функции вышеописанных модуля 201 установления прозрачного канала, модуля 202 установления соединения, модуля 203 отправки команд скрипта, модуля 204 предварительной обработки команд скрипта, модуля 205 сохранения времени соединения, модуля 206 разъединения соединения, модуля 207 определения соединения HTTP и модуля 208 отображения команд. Пример структуры аппаратных средств устройства показан на фиг. 2Н.
[0089] На основе вышеприведенного описания различные варианты осуществления настоящего изобретения описывают ниже устройство входа в Unix-подобный виртуальный контейнер.
[0090] На фиг. 3 показана блок-схема, иллюстрирующая структуру системы входа в Unix-подобный виртуальный контейнер в соответствии с различными вариантами осуществления настоящего изобретения.
[0091] Как показано на фиг. 3, система может включать в себя веб-браузер 301, устройство 302 входа в Unix-подобный виртуальный контейнер и хост 303. На хосте 303 запущен Unix-подобный виртуальный контейнер 304. Между веб-браузером 301 и устройством 302 входа в Unix-подобный виртуальный контейнер имеется соединение HTTP.
[0092] Веб-браузер 301 может получать команду скрипта и отправлять указанную команду скрипта в устройство 302 входа в Unix-подобный виртуальный контейнер через соединение HTTP.
[0093] Устройство 302 входа в Unix-подобный виртуальный контейнер может устанавливать соответствующую взаимосвязь между Unix-подобным виртуальным контейнером 304 и портом хоста 303, а также устанавливать прозрачный канал между Unix-подобным виртуальным контейнером 304 и портом хоста на основе указанной соответствующей взаимосвязи; Устройство 302 входа в Unix-подобный виртуальный контейнер может устанавливать первое соединение между Unix-подобным виртуальным контейнером 304 и портом хоста на основе прозрачного канала и отправлять команду скрипта, принятую через веб-браузер 301, в Unix-подобный виртуальный контейнер 304 согласно первому соединению.
[0094] В одном из вариантов осуществления настоящего изобретения устройство 302 входа в Unix-подобный виртуальный контейнер может разбивать команду скрипта согласно заданному маркеру и выполнять в отношении разбитой команды скрипта расширение символами для получения расширенной символами команды скрипта. Устройство 302 входа в Unix-подобный виртуальный контейнер может определять, содержится ли расширенная символами команда скрипта в заданном белом списке команд. В ответ на определение того факта, что расширенная символами команда скрипта содержится в заданном белом списке команд скрипта, устройство 302 входа в Unix-подобный виртуальный контейнер может отправлять расширенную символами команду в Unix-подобный виртуальный контейнер 304 согласно первому соединению. В противном случае устройство 302 входа в Unix-подобный виртуальный контейнер может выдавать подсказку о недопустимости команды.
[0095] В одном из вариантов осуществления настоящего изобретения устройство 302 входа в Unix-подобный виртуальный контейнер может генерировать интерфейс отображения команд, захватывать операционный символ клавиатуры пользователя, связанный с принятой портом хоста командой скрипта, и отображать введенный операционный символ клавиатуры пользователя на интерфейсе отображения команд.
[0096] На практике способ и устройство входа в Unix-подобный виртуальный контейнер, раскрытые в вариантах осуществления настоящего изобретения, могут быть реализованы в различных формах. Например, устройство входа в Unix-подобный виртуальный контейнер может быть разработано с помощью стандартизованного интерфейса прикладного программирования в виде подключаемого модуля, который можно устанавливать в браузере. Альтернативно устройство входа в Unix-подобный виртуальный контейнер может быть инкапсулировано в виде приложения для загрузки и использования пользователем.
[0097] Способ и устройство входа в Unix-подобный виртуальный контейнер, раскрытые в вариантах осуществления настоящего изобретения, можно использовать с различными браузерами, например, IE, Chrome, Safari, Firefox и т.д. Кроме того, способ входа в Unix-подобный виртуальный контейнер, раскрытый в вариантах осуществления настоящего изобретения, можно использовать с различными объектами аппаратного обеспечения, например, с персональным компьютером (PC), планшетным компьютером (PAD), со смартфоном и т.д.
[0098] Например, на фиг. 4 показана схема, иллюстрирующая интерфейс входа в Unix-подобный виртуальный контейнер через планшетный компьютер в соответствии с различными вариантами осуществления настоящего изобретения. На фиг. 5 показана схема, иллюстрирующая интерфейс входа в Unix-подобный виртуальный контейнер через персональный компьютер в соответствии с различными вариантами осуществления настоящего изобретения.
[0099] Если способ и устройство входа в Unix-подобный виртуальный контейнер, раскрытые в вариантах осуществления настоящего изобретения, разрабатываются в виде подключаемого модуля, то эти способ и устройство можно реализовать в виде различных типов подключаемых модулей, таких как осх, dll, cab и т.д. Кроме того, способ и устройство входа в Unix-подобный виртуальный контейнер, раскрытые в вариантах осуществления настоящего изобретения, можно реализовать с помощью таких технологий, как подключаемый модуль Flash, подключаемый модуль RealPlayer, подключаемый модуль MMS, подключаемый модуль MIDI, подключаемый модуль ActiveX и т.д.
[0100] Способ и устройство входа в Unix-подобный виртуальный контейнер, раскрытые в вариантах осуществления настоящего изобретения, можно хранить на различных накопителях в форме команд или набора команд. Указанные накопители могут включать в себя, без ограничения, гибкие диски, CD, DVD, жесткие диски, флэш-память, U-диски, CF-карты, SD-карты, ММС-карты, SM-карты, Memory Stick, xD-карты и т.д.
[0101] Кроме того, способ и устройство входа в Unix-подобный виртуальный контейнер, раскрытые в вариантах осуществления настоящего изобретения, можно использовать с накопителями на основе NAND-флэша, напрмер, U-диски, CF-карты, SD-карты, SDHC-карты, ММС-карты, SM-карты, Memory Stick, xD-карты и т.д.
[0102] Как видно из вышеописанного, в соответствии с различными вариантами осуществления настоящего изобретения устанавливают соответствующую взаимосвязь между Unix-подобным виртуальным контейнером и портом хоста, на котором запущен Unix-подобный виртуальный контейнер. На основе указанной соответствующей взаимосвязи между Unix-подобным виртуальным контейнером и портом хоста устанавливают прозрачный канал между Unix-подобным виртуальным контейнером и портом хоста. На основе прозрачного канала устанавливают первое соединение между Unix-подобным виртуальным контейнером и портом хоста. Согласно первому соединению осуществляют получение команды скрипта через порт хоста и отправку команды скрипта в Unix-подобный виртуальный контейнер. При использовании различных вариантов осуществления настоящего изобретения вход в Unix-подобный виртуальный контейнер можно осуществлять через соединение между портом хоста и Unix-подобным виртуальным контейнером, а отправку команды скрипта в Unix-подобный виртуальный контейнер можно осуществлять снаружи хоста. Таким образом, информацию в пределах Unix-подобного виртуального контейнера, такие как файлы, информация о CPU, ввод-вывод дисковых данных, ввод-вывод сетевых данных и т.д., можно легко просматривать согласно команде скрипта, что важно для различных операций, в том числе интерактивной отладки, просмотра журналов, управления ресурсами устройств в реальном времени и так далее.
[0103] Кроме того, вход в Unix-подобный виртуальный контейнер через порт хоста может обеспечивать безопасность информации в Unix-подобном виртуальном контейнере. Кроме того, асинхронный доступ позволяет улучшить эффективность доступа.
[0104] Аппаратные модули или блоки в различных вариантах осуществления настоящего изобретения могут быть реализованы в механическом или электронном виде. Например, аппаратный модуль может содержать специализированные схемы или логику, жестко конфигурированные (например, в виде специализированного процессора, такого как программируемая пользователем вентильная матрица (FPGA) или ASIC) для выполнения определенных операций. Аппаратный модуль может также содержать программируемую логику или схемы (например, включенные в стандартном процессоре или другом программируемом процессоре), временно конфигурированные с помощью программного обеспечения для выполнения определенных операций. Специалисту в данной области техники очевидно, что решение о том, чтобы реализовать аппаратный модуль в механическом виде, посредством специализированных и жестко конфигурированных схем, или же посредством временно конфигурируемых схем (например, конфигурируемых с помощью программного обеспечения, может приниматься с учетом временных и финансовых затрат.
[0105] В соответствии с вышеприведенным описанием вариантов осуществления изобретения специалисту понятно, что варианты осуществления настоящего изобретения можно реализовать с помощью программного обеспечения, поддерживаемого стандартными аппаратными платформами, или с помощью аппаратных средств. Таким образом, существенные части вышеупомянутого технического решения настоящего изобретения или часть, относящуюся к уровню техники, можно реализовать в виде программного продукта. Программный продукт может храниться на носителе и содержит множество команд, обеспечивающих реализацию терминальным устройством (мобильным телефоном, персональным компьютером, сервером или сетевым устройством) способов, раскрытых в вариантах осуществления настоящего изобретения.
[0106] Специалисту в данной области понятно, что все или часть процедур способов в вышеописанных вариантах осуществления могут быть реализованы аппаратными модулями, выполняющими машиночитаемые команды. Машиночитаемые команды могут храниться на машиночитаемых носителях. При выполнении машиночитаемых команд могут быть реализованы процедуры вариантов осуществления способов. В качестве носителя можно использовать дискеты CD, постоянное запоминающее устройство (ROM) или оперативное запоминающее устройство (RAM) и т.д.
[0107] Чертежи представляют сбой лишь иллюстрации к примерам, причем модули или процедуры, показанные на рисунках, не обязательно являются существенными для реализации настоящего изобретения. Модули в вышеупомянутых примерах могут быть объединены в один модуль или далее разделены на множество субмодулей.
[0108] Приведенное выше раскрытие представляет собой несколько вариантов осуществления настоящего изобретения и не должно использоваться для ограничения объема правовой защиты настоящего изобретения. Любые изменения, эквиваленты, улучшения и т.д., осуществленные без отхода от принципов настоящего изобретения, должны включаться в объем правовой защиты настоящего изобретения.

Claims (65)

1. Способ входа в виртуальный контейнер типа Unix, содержащий следующее:
устанавливают соответствующую взаимосвязь между виртуальным контейнером типа Unix и портом хоста, на котором запущен виртуальный контейнер типа Unix, причем виртуальный контейнер типа Unix конфигурируют для изоляции приложения на хосте;
устанавливают канал между виртуальным контейнером типа Unix и портом хоста на основе соответствующей взаимосвязи, а также устанавливают первое соединение между виртуальным контейнером типа Unix и портом хоста на основе канала; и
получают команду скрипта через порт хоста и отправляют команду скрипта в виртуальный контейнер типа Unix согласно первому соединению.
2. Способ по п. 1, в котором после получения команды скрипта через порт хоста и перед отправкой команды скрипта в виртуальный контейнер типа Unix способ дополнительно содержит следующее:
разбивают команду скрипта согласно заданному маркеру и выполняют в отношении разбитой команды скрипта расширение символами для получения расширенной символами команды скрипта;
определяют, содержится ли расширенная символами команда скрипта в заданном белом списке команд скрипта; и
в ответ на определение, что расширенная символами команда скрипта содержится в заданном белом списке команд скрипта, отправляют расширенную символами команду скрипта в виртуальный контейнер типа Unix согласно первому соединению.
3. Способ по п. 1, в котором операция получения команды скрипта через порт хоста содержит следующее:
устанавливают соединение по протоколу передачи гипертекста (соединение HTTP) между портом хоста и браузером по протоколу передачи гипертекста и получают команду скрипта через соединение HTTP;
при этом способ дополнительно содержит следующее:
предварительно конфигурируют пороговое значение времени соединения;
определяют, превышает ли соединение HTTP между портом хоста и браузером пороговое значение времени соединения;
в ответ на определение, что соединение HTTP между портом хоста и браузером превышает пороговое значение времени соединения, разъединяют соединение HTTP; и
в ответ на определение, что соединение HTTP между портом хоста и браузером не превышает пороговое значение времени соединения, сохраняют соединение HTTP.
4. Способ по п. 1, дополнительно содержащий следующее:
устанавливают первое соединение HTTP и второе соединение HTTP между портом хоста и браузером по протоколу передачи гипертекста;
получают, через второе соединение HTTP, отправленный из браузера запрос на прекращение операций, причем в этом запросе передают идентификатор (ID) первого соединения HTTP; и
после получения отправленного браузером запроса на прекращение операций находят первое соединение HTTP согласно ID, переданному в запросе первого соединения HTTP, и отправляют в виртуальный контейнер типа Unix команду скрипта на прекращение операций через первое соединение между виртуальным контейнером типа Unix и портом хоста, так чтобы виртуальный контейнер типа Unix выполнил команду скрипта на прекращение операций и прекратил операции, связанные с первым соединением HTTP.
5. Способ по п. 1, в котором операция получения команды скрипта через порт хоста содержит следующее:
устанавливают соединение HTTP между портом хоста и браузером по протоколу передачи гипертекста и получают команду скрипта через соединение HTTP;
при этом способ дополнительно содержит следующее:
определяют, разъединено ли соединение HTTP между портом хоста и браузером;
в ответ на определение, что соединение HTTP между портом хоста и браузером разъединено, отправляют команду скрипта на прекращение операций в виртуальный контейнер типа Unix через первое соединение, так чтобы виртуальный контейнер типа Unix выполнил команду скрипта на прекращение операций и прекратил операции, связанные с соединением HTTP.
6. Способ по п. 1, дополнительно содержащий следующее:
генерируют интерфейс отображения команд;
захватывают операционный символ клавиатуры пользователя, связанный с командой скрипта, полученной портом хоста; и
отображают операционный символ клавиатуры пользователя на интерфейсе отображения команд.
7. Способ по п. 1, дополнительно содержащий следующее:
виртуальный контейнер типа Unix реагирует на команду скрипта и возвращает ответ на команду скрипта в порт хоста посредством разбиения данных на порции; и
отправляют разбитые на порции данные из порта хоста на интерфейс браузера для синхронизированного отображения.
8. Устройство входа в виртуальный контейнер типа Unix, содержащее:
модуль установления канала, конфигурированный для установления соответствующей взаимосвязи между виртуальным контейнером типа Unix и портом хоста, на котором запущен виртуальный контейнер типа Unix, и для установления канала между виртуальным контейнером типа Unix и портом хоста на основе соответствующей взаимосвязи, при этом виртуальный контейнер типа Unix конфигурирован для изоляции приложения на хосте; модуль установления соединения, конфигурированный для установления первого соединения между виртуальным контейнером типа Unix и портом хоста на основе канала; и
модуль отправки команд скрипта, конфигурированный для получения команды скрипта через порт хоста и отправки команды скрипта в виртуальный контейнер типа Unix согласно первому соединению.
9. Устройство по п. 8, дополнительно содержащее модуль предварительной обработки команд скрипта, конфигурированный для:
разбиения команды скрипта согласно заданному маркеру;
выполнения расширения разбитой команды скрипта символами для получения расширенной символами команды скрипта;
определения того, содержится ли расширенная символами команда скрипта в заданном белом списке команд скрипта; и
в ответ на определение, что расширенная символами команда скрипта содержится в заданном белом списке команд скрипта, обеспечения возможности отправки расширенной символами команды скрипта модулем отправки команд скрипта в виртуальный контейнер типа Unix согласно первому соединению.
10. Устройство по п. 8, в котором модуль отправки команд скрипта конфигурирован для установления соединения по протоколу передачи гипертекста (соединение HTTP) между портом хоста и браузером по протоколу передачи гипертекста и получения команды скрипта через соединение HTTP; при этом устройство дополнительно содержит модуль сохранения времени соединения, конфигурированный для:
предварительного конфигурирования порогового значения времени соединения,
определения, превышает ли соединение HTTP между портом хоста и браузером пороговое значение времени соединения,
разъединения соединения HTTP в ответ на определение, что соединение HTTP превышает пороговое значение времени соединения, и
сохранения соединения HTTP в ответ на определение, что соединение HTTP не превышает пороговое значение времени соединения.
11. Устройство по п. 8, в котором модуль отправки команд скрипта конфигурирован для установления первого соединения HTTP и второго соединения HTTP между браузером и портом хоста по протоколу передачи гипертекста; при этом устройство дополнительно содержит модуль разъединения соединения, конфигурированный для:
получения, через второе соединение HTTP, отправленного из браузера запроса на прекращение операций, причем в этом запросе передается идентификатор (ID) первого соединения HTTP, и
нахождения после получения отправленного из браузера запроса на прекращение операций первого соединения HTTP согласно ID, переданному в запросе первого соединения HTTP, и отправки в виртуальный контейнер типа Unix команды скрипта на прекращение операций через первое соединение между виртуальным контейнером типа Unix и портом хоста, так чтобы виртуальный контейнер типа Unix выполнил команду скрипта на прекращение операций и прекратил операции, связанные с первым соединением HTTP.
12. Устройство по п. 8, в котором модуль отправки команд скрипта конфигурирован для установления соединения HTTP между браузером и портом хоста по протоколу передачи гипертекста и получения команды скрипта через соединение HTTP; при этом устройство дополнительно содержит модуль
определения соединения HTTP, конфигурированный для: определения, разъединено ли соединение HTTP между портом хоста и браузером, и
в ответ на определение, что соединение HTTP между портом хоста и браузером разъединено, отправки команды скрипта на прекращение операций в виртуальный контейнер типа Unix через первое соединение, так чтобы виртуальный контейнер типа Unix выполнил команду скрипта на прекращение операций и прекратил операции, связанные с соединением HTTP.
13. Система входа в виртуальный контейнер типа Unix, содержащая веб-браузер, устройство входа в виртуальный контейнер типа Unix, а также хост; причем на хосте запущен виртуальный контейнер типа Unix, а между веб-браузером и устройством входа в виртуальный контейнер типа Unix существует соединение по протоколу передачи гипертекста (соединение HTTP);
при этом веб-браузер конфигурирован для получения команды скрипта и отправки команды скрипта в устройство входа в виртуальный контейнер типа Unix через соединение HTTP; и
устройство входа в виртуальный контейнер типа Unix конфигурировано для: установления соответствующей взаимосвязи между виртуальным контейнером типа Unix и портом хоста и установления канала между виртуальным контейнером типа Unix и портом хоста на основе соответствующей взаимосвязи, причем виртуальный контейнер типа Unix конфигурирован для изоляции приложения на хосте,
установления первого соединения между виртуальным контейнером типа Unix и портом хоста на основе канала,
получения команды скрипта, посланной из веб-браузера через порт хоста, и отправки команды скрипта в виртуальный контейнер типа Unix согласно первому соединению.
14. Система по п. 13, в которой устройство входа в виртуальный контейнер типа Unix дополнительно конфигурировано для:
разбиения команды скрипта согласно заданному маркеру,
выполнения расширения разбитой команды скрипта символами для получения расширенной символами команды скрипта,
определения, содержится ли расширенная символами команда скрипта в заданном белом списке команд скрипта, и
в ответ на определение, что расширенная символами команда скрипта содержится в заданном белом списке команд скрипта, отправки расширенной символами команды скрипта в виртуальный контейнер типа Unix согласно первому соединению.
15. Система по п. 13, в которой устройство входа в виртуальный контейнер типа Unix дополнительно конфигурировано для:
генерирования интерфейса отображения команд,
захвата операционного символа клавиатуры пользователя, связанного с командой скрипта, полученной портом хоста, и
отображения операционного символа клавиатуры пользователя на интерфейсе отображения команд.
16. Система по п. 13, в которой устройство входа в виртуальный контейнер типа Unix дополнительно конфигурировано для установления первого соединения между виртуальным контейнером типа Unix и портом хоста через канал на основе протокола безопасной оболочки (SSH) или протокола безопасной оболочки 2 (SSH2).
RU2015113503A 2012-09-17 2013-09-16 СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В Unix-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР RU2615316C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201210345405.X 2012-09-17
CN201210345405.? 2012-09-17
CN201210345405.XA CN103685399B (zh) 2012-09-17 2012-09-17 一种登录类Unix虚拟容器的方法、装置和系统
PCT/CN2013/083546 WO2014040562A1 (zh) 2012-09-17 2013-09-16 一种登录类Unix虚拟容器的方法、装置和系统

Publications (2)

Publication Number Publication Date
RU2015113503A RU2015113503A (ru) 2016-11-10
RU2615316C2 true RU2615316C2 (ru) 2017-04-04

Family

ID=50277644

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015113503A RU2615316C2 (ru) 2012-09-17 2013-09-16 СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В Unix-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР

Country Status (5)

Country Link
US (1) US9609063B2 (ru)
EP (1) EP2897342B1 (ru)
CN (1) CN103685399B (ru)
RU (1) RU2615316C2 (ru)
WO (1) WO2014040562A1 (ru)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291959B2 (en) 2015-09-25 2019-05-14 Contec, Llc Set top boxes under test
US10320651B2 (en) 2015-10-30 2019-06-11 Contec, Llc Hardware architecture for universal testing system: wireless router test
US10122611B2 (en) 2015-09-25 2018-11-06 Contec, Llc Universal device testing interface
US9838295B2 (en) 2015-11-23 2017-12-05 Contec, Llc Wireless routers under test
US10277497B2 (en) 2015-09-25 2019-04-30 Contec, Llc Systems and methods for testing electronic devices using master-slave test architectures
US9810735B2 (en) 2015-09-25 2017-11-07 Contec, Llc Core testing machine
US20170126536A1 (en) 2015-10-30 2017-05-04 Contec, Llc Hardware Architecture for Universal Testing System: Cable Modem Test
US10762245B2 (en) * 2015-12-17 2020-09-01 Ncr Corporation Input peripheral device security
CN105512040B (zh) * 2015-12-17 2018-09-28 致象尔微电子科技(上海)有限公司 一种基于脚本测试程序的数据处理方法及装置
CN105630607B (zh) * 2015-12-23 2019-03-29 联想(北京)有限公司 一种资源池管理方法、容器创建方法及电子设备
US10009380B2 (en) 2016-01-08 2018-06-26 Secureworks Corp. Systems and methods for security configuration
US10116625B2 (en) * 2016-01-08 2018-10-30 Secureworks, Corp. Systems and methods for secure containerization
CN105872019B (zh) * 2016-03-23 2019-01-25 北京搜狐新媒体信息技术有限公司 一种Web端登录Docker容器的方法和装置
CN109525624B (zh) * 2017-09-20 2022-01-04 腾讯科技(深圳)有限公司 一种容器登录方法、装置及存储介质
CN107634951A (zh) * 2017-09-22 2018-01-26 携程旅游网络技术(上海)有限公司 Docker容器安全管理方法、系统、设备及存储介质
US10120670B1 (en) * 2018-03-28 2018-11-06 Capital One Services, Llc Systems and methods for building generic CI/CD pipelines
US10528332B2 (en) * 2018-03-28 2020-01-07 Capital One Services, Llc Systems and methods for building generic CI/CD pipelines
CN111314799A (zh) * 2018-12-11 2020-06-19 中兴通讯股份有限公司 终端系统构架、通信系统及通信方法、存储介质
CN111835544B (zh) * 2019-04-19 2022-10-25 厦门网宿有限公司 一种基于用户态协议栈的虚拟路由器的监控方法及系统
CN111124820B (zh) * 2019-12-13 2023-12-22 郑州威科姆科技股份有限公司 一种实现操作系统及进程资源离线型监视和分析的方法
IL311031A (en) 2021-08-31 2024-04-01 Nutcracker Therapeutics Inc A state machine based application and system for generating computer code snippets

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930341A (en) * 1997-03-10 1999-07-27 Northen Telecom, Limited ADSI web browser for retrieving internet data files
US20030187995A1 (en) * 2002-03-27 2003-10-02 International Business Machines Corporation Efficient server handling of multiple requests from a web browser
US20070234228A1 (en) * 2006-04-04 2007-10-04 Rao Pramod S Command interface
CN101605084A (zh) * 2009-06-29 2009-12-16 北京航空航天大学 基于虚拟机的虚拟网络报文处理方法和系统
US20090327471A1 (en) * 2008-05-02 2009-12-31 Skytap Multitenant hosted virtual machine infrastructure
US20120054861A1 (en) * 2010-08-25 2012-03-01 International Business Machines Corporation Secure third party scripting environment
RU2458394C2 (ru) * 2006-10-27 2012-08-10 Майкрософт Корпорейшн Виртуализация для диверсифицированной защиты от несанкционированного вмешательства

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945468A (en) * 1988-02-01 1990-07-31 International Business Machines Corporation Trusted path mechanism for virtual terminal environments
CA2210147A1 (en) * 1995-01-23 1996-08-01 Tandem Computers Incorporated A method for accessing a file in a multi-processor computer system using pipes and fifos
US5884309A (en) * 1995-12-06 1999-03-16 Dynamic Web Transaction Systems, Inc. Order entry system for internet
US20030158925A1 (en) * 2002-01-18 2003-08-21 Uniacke Mark J. Management of communications networks
AU2003214975A1 (en) * 2002-02-01 2003-09-02 John Fairweather System and method for navigating data
CA2622404A1 (en) * 2004-09-15 2006-03-23 Adesso Systems, Inc. System and method for managing data in a distributed computer system
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7933964B2 (en) * 2006-02-16 2011-04-26 Microsoft Corporation Shell sessions
US20070282964A1 (en) * 2006-06-06 2007-12-06 International Business Machines Corporation Method and apparatus for processing remote shell commands
US8726014B2 (en) * 2006-10-23 2014-05-13 Ca, Inc. System and method for securely updating license files in an automated licensing system
WO2008085206A2 (en) * 2006-12-29 2008-07-17 Prodea Systems, Inc. Subscription management of applications and services provided through user premises gateway devices
US8380880B2 (en) * 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
EP2001202A1 (en) * 2007-06-06 2008-12-10 Axalto SA Method of managing communication between an electronic token and a remote web server
EP2195123B1 (en) * 2007-09-13 2018-05-16 Lockheed Martin Corporation Acility wide mixed mail sorting and/or sequencing system
US8422397B2 (en) * 2007-12-28 2013-04-16 Prodea Systems, Inc. Method and apparatus for rapid session routing
US8627342B2 (en) * 2008-01-31 2014-01-07 Paul Michael Tapper Multi-machine shell
US8127020B2 (en) * 2008-08-28 2012-02-28 Red Hat, Inc. HTTP standby connection
US8060604B1 (en) * 2008-10-10 2011-11-15 Sprint Spectrum L.P. Method and system enabling internet protocol multimedia subsystem access for non internet protocol multimedia subsystem applications
US8706836B2 (en) * 2008-12-15 2014-04-22 Shara Susznnah Vincent Live streaming media and data communication hub
US8924505B2 (en) * 2008-12-31 2014-12-30 Opera Software Asa Method and device for configuring a user agent to operate as a web server
US8601556B2 (en) * 2009-06-22 2013-12-03 Citrix Systems, Inc. Systems and methods for handling SSL session not reusable across multiple cores
US9633217B2 (en) * 2009-08-03 2017-04-25 Limelight Networks, Inc. Indiscriminate virtual containers for prioritized content-object distribution
CN101695077A (zh) * 2009-09-30 2010-04-14 曙光信息产业(北京)有限公司 一种虚拟机的操作系统部署方法、系统及设备
US8627426B2 (en) * 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US20120008943A1 (en) * 2010-07-08 2012-01-12 Nec Laboratories America, Inc. Optical switching network
US9311158B2 (en) * 2010-09-03 2016-04-12 Adobe Systems Incorporated Determining a work distribution model between a client device and a cloud for an application deployed on the cloud
US8463909B1 (en) * 2010-09-15 2013-06-11 F5 Networks, Inc. Systems and methods for managing server resources
CN102469098B (zh) * 2010-11-11 2014-08-20 财团法人资讯工业策进会 信息安全防护主机
US8689181B2 (en) * 2010-11-23 2014-04-01 Axeda Corporation Scripting web services
US9395885B1 (en) * 2010-12-10 2016-07-19 Wyse Technology L.L.C. Methods and systems for a remote desktop session utilizing HTTP header
US9245047B2 (en) * 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US8639116B2 (en) * 2010-12-17 2014-01-28 Ron Hui Digital subcarrier optical network utilizing digital subcarrier cross-connects with increased energy efficiency
US9141410B2 (en) * 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
CN103650426B (zh) * 2011-05-06 2016-10-05 思杰系统有限公司 用于在公共云与私有云之间进行云桥接的系统和方法
US8897253B2 (en) * 2011-08-12 2014-11-25 Interdigital Patent Holdings, Inc. Flexible bandwidth operation in wireless systems
CN102333098A (zh) * 2011-10-27 2012-01-25 童良勇 一种安全私有云系统的实现方法
US9262238B2 (en) * 2012-01-31 2016-02-16 Red Hat, Inc. Connection management for an application in a computing platform
US9665356B2 (en) * 2012-01-31 2017-05-30 Red Hat, Inc. Configuration of an application in a computing platform
US9563480B2 (en) * 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US8438654B1 (en) * 2012-09-14 2013-05-07 Rightscale, Inc. Systems and methods for associating a virtual machine with an access control right

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930341A (en) * 1997-03-10 1999-07-27 Northen Telecom, Limited ADSI web browser for retrieving internet data files
US20030187995A1 (en) * 2002-03-27 2003-10-02 International Business Machines Corporation Efficient server handling of multiple requests from a web browser
US20070234228A1 (en) * 2006-04-04 2007-10-04 Rao Pramod S Command interface
RU2458394C2 (ru) * 2006-10-27 2012-08-10 Майкрософт Корпорейшн Виртуализация для диверсифицированной защиты от несанкционированного вмешательства
US20090327471A1 (en) * 2008-05-02 2009-12-31 Skytap Multitenant hosted virtual machine infrastructure
CN101605084A (zh) * 2009-06-29 2009-12-16 北京航空航天大学 基于虚拟机的虚拟网络报文处理方法和系统
US20120054861A1 (en) * 2010-08-25 2012-03-01 International Business Machines Corporation Secure third party scripting environment

Also Published As

Publication number Publication date
US20150244811A1 (en) 2015-08-27
WO2014040562A1 (zh) 2014-03-20
EP2897342B1 (en) 2020-06-17
CN103685399A (zh) 2014-03-26
EP2897342A1 (en) 2015-07-22
US9609063B2 (en) 2017-03-28
EP2897342A4 (en) 2015-11-11
RU2015113503A (ru) 2016-11-10
CN103685399B (zh) 2018-03-23

Similar Documents

Publication Publication Date Title
RU2615316C2 (ru) СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В Unix-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР
CN109885311B (zh) 一种应用程序的生成方法及设备
US20180088973A1 (en) Methods and systems for interconversions among virtual machines, containers and container specifications
CN109634718B (zh) 云平台创建镜像的方法及系统
CN103034805B (zh) 多引擎病毒查杀方法和装置
US8677484B2 (en) Providing protection against unauthorized network access
US20190250960A1 (en) Method, apparatus, and server for managing image across cloud servers
US9305170B1 (en) Systems and methods for securely providing information external to documents
RU2665911C2 (ru) Система и способ анализа файла на вредоносность в виртуальной машине
US10776486B2 (en) Analysis system, analysis method, analysis device, and storage medium for analyzing operation of a program executed in an analysis environment
WO2017143928A1 (zh) 数据传输方法、虚拟机和宿主机
US8806475B2 (en) Techniques for conditional deployment of application artifacts
EA006814B1 (ru) Система и способ использования множества приложений
CN103077071A (zh) 一种kvm虚拟机进程信息的获取方法及系统
US20230418692A1 (en) File upload modifications for client side applications
CN105765531A (zh) 对程序二进制文件的通用拆包
CN115062309A (zh) 一种新型电力系统下基于设备固件仿真的漏洞挖掘方法及存储介质
CN106648838A (zh) 一种资源池管理的配置方法及装置
CN104021028A (zh) 虚拟机环境下的web缓存方法及装置
CN111600755B (zh) 上网行为管理系统和方法
WO2017097114A1 (zh) 一种共享文件的访问方法、系统及相关设备
CN110022339A (zh) 内外网资源代理方法及代理服务器
CN111143839A (zh) 一种基于虚拟化行为分析技术的恶意代码检测方法及装置
CN115774742A (zh) 私有云的数据存储新增方法、装置、设备、介质及产品
CN115268950A (zh) 一种镜像文件导入方法及装置