RU2014123714A - Автономная сетевая потоковая передача - Google Patents

Автономная сетевая потоковая передача Download PDF

Info

Publication number
RU2014123714A
RU2014123714A RU2014123714/08A RU2014123714A RU2014123714A RU 2014123714 A RU2014123714 A RU 2014123714A RU 2014123714/08 A RU2014123714/08 A RU 2014123714/08A RU 2014123714 A RU2014123714 A RU 2014123714A RU 2014123714 A RU2014123714 A RU 2014123714A
Authority
RU
Russia
Prior art keywords
data
file
data file
network
virtual
Prior art date
Application number
RU2014123714/08A
Other languages
English (en)
Other versions
RU2612579C2 (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 RU2014123714A publication Critical patent/RU2014123714A/ru
Application granted granted Critical
Publication of RU2612579C2 publication Critical patent/RU2612579C2/ru

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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/44Arrangements for executing specific programs
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

1. В компьютерной системе, включающей в себя по меньшей мере один процессор и память, в компьютерной сетевой среде, включающей в себя множество вычислительных систем, реализуемый на компьютере способ для динамической доставки виртуальных программных приложений, способ содержит:этап установления фильтра ввода/вывода (I/O) данных, выполненного с возможностью перехватывать запросы файла данных, отправляемых из виртуального программного приложения файловой системе операционной системы;этап перехвата фильтром I/O данных запроса на считывание файла данных, который выполнен с возможностью извлекать требуемый файл данных из файловой системы;этап направления фильтром I/O данных перехваченного запроса на считывание в хранилище данных, доступное по сети, сконфигурированное так, чтобы возвращать требуемый файл данных; ипосле приема требуемого файла данных из сетевого хранилища данных этап отправки фильтром I/O требуемого файла данных виртуальному программному приложению, так что требуемый файл данных является пригодным для использования виртуальным приложением в ответ на его запрос на считывание.2. Способ по п. 1, в котором множество файлов данных перехватывается и передается посредством потоковой передачи так, чтобы динамически обеспечить каждый файл, требуемый виртуальным программным приложением.3. Способ по п. 1, в котором файлы данных, принятые из сетевого хранилища данных, не сохраняются в файловой системе компьютерной системы.4. Способ по п. 1, в котором каждый файл данных, динамически извлеченный из сетевого хранилища данных, представляется виртуальному программному приложению так, как если бы файлы данных бы�

Claims (15)

1. В компьютерной системе, включающей в себя по меньшей мере один процессор и память, в компьютерной сетевой среде, включающей в себя множество вычислительных систем, реализуемый на компьютере способ для динамической доставки виртуальных программных приложений, способ содержит:
этап установления фильтра ввода/вывода (I/O) данных, выполненного с возможностью перехватывать запросы файла данных, отправляемых из виртуального программного приложения файловой системе операционной системы;
этап перехвата фильтром I/O данных запроса на считывание файла данных, который выполнен с возможностью извлекать требуемый файл данных из файловой системы;
этап направления фильтром I/O данных перехваченного запроса на считывание в хранилище данных, доступное по сети, сконфигурированное так, чтобы возвращать требуемый файл данных; и
после приема требуемого файла данных из сетевого хранилища данных этап отправки фильтром I/O требуемого файла данных виртуальному программному приложению, так что требуемый файл данных является пригодным для использования виртуальным приложением в ответ на его запрос на считывание.
2. Способ по п. 1, в котором множество файлов данных перехватывается и передается посредством потоковой передачи так, чтобы динамически обеспечить каждый файл, требуемый виртуальным программным приложением.
3. Способ по п. 1, в котором файлы данных, принятые из сетевого хранилища данных, не сохраняются в файловой системе компьютерной системы.
4. Способ по п. 1, в котором каждый файл данных, динамически извлеченный из сетевого хранилища данных, представляется виртуальному программному приложению так, как если бы файлы данных были приняты из файловой системы компьютерной системы.
5. Способ по п. 1, в котором фильтр I/O данных реализован без выполнения изменений в том, как программное приложение запрашивает файлы данных.
6. Способ по п. 1, в котором запрашиваемые файлы данных передаются посредством потоковой передачи из сетевого хранилища данных компьютерной системе.
7. Способ по п. 1, в котором перехваченный запрос отправляется службе пользовательского режима, которая сконфигурирована так, чтобы направлять запрос в сетевое хранилище данных и принимать запрашиваемые данные из сетевого хранилища.
8. Способ по п. 7, в котором служба пользовательского режима направляет принятые данные фильтру I/O, который направляет данные виртуальному приложению.
9. Способ по п. 1, в котором сетевое хранилище данных представляет собой облако, при этом требуемый файл данных извлекается из облака, используя протокол передачи гипертекста.
10. В клиентской компьютерной системе, включающей в себя по меньшей мере один процессор и память, в компьютерной сетевой среде, включающей в себя множество вычислительных систем, реализуемый на компьютере способ для распределения данных приложения между локальным и сетевым хранилищами данных, способ содержит:
этап приема от администрирующего пользователя указания того, какие требуемые части виртуального приложения должны быть сохранены в локальном хранилище данных, а какие части должны быть сохранены в сетевом хранилище данных;
этап генерирования одной или более частей метаданных, описывающих, какие требуемые части виртуального приложения сохранены в локальном хранилище данных;
этап приема запроса файла данных от виртуального приложения, запрашивающего данные требуемого файла данных;
этап определения, исходя из сгенерированных метаданных, хранить ли требуемый файл данных в локальном хранилище данных или удаленном хранилище данных; и
исходя из результата определения, этап отправки запроса файла данных к по меньшей мере одному локальному хранилищу данных и удаленному хранилищу данных.
11. Способ по п. 10, в котором администрирующий пользователь обновляет приложение в сетевом хранилище данных посредством замены пакета прикладных программ.
12. Способ по п. 11, в котором локальная служба в локальной компьютерной системе сконфигурирована так, чтобы осуществлять по меньшей мере одно из следующего, чтобы обеспечить то, что данные являются читаемыми для локальной компьютерной системой: дешифровать файлы данных, переформатировать файлы данных и распаковывать файлы данных.
13. Компьютерная система, содержащая следующее:
один или более процессоров;
системную память;
один или более машиночитаемых запоминающих носителей, на которых хранятся машиноисполняемые инструкции, которые когда исполняются одним или более процессорами, побуждают вычислительную систему выполнять способ динамической доставки виртуальных программных приложений, способ содержит:
этап установления фильтра ввода/вывода (I/O) данных, выполненного с возможностью перехватывать запросы 111 файла данных, отправляемых из виртуального программного приложения 110 файловой системе;
этап перехвата фильтром I/O запроса на считывание файла данных, который выполнен с возможностью извлекать требуемый файл данных из файловой системы;
этап создания разреженного файла в файловой системе для запрашиваемого файла данных, причем разреженный файл включает в себя информацию заполнитель для запрашиваемого файла данных, включающую в себя имя и размер файла;
этап указания виртуальному программному приложению, что файл существует, причем указание включает в себя имя и размер запрашиваемого файла данных;
этап приема запроса от виртуального программного приложения о фактическом содержании данных запрашиваемого файла данных;
этап направления перехваченного запроса на считывание службе пользовательского режима, которая направляет запрос данных в хранилище данных, доступное по сети, сконфигурированное так, чтобы возвращать требуемый файл данных; и
после приема требуемого файла данных из сетевого хранилища данных службой пользовательского режима, этап направления службой пользовательского режима содержимого файла данных фильтру I/O, который отправляет содержимое файла данных виртуальному программному приложению так, что требуемый файл данных является пригодным для использования виртуальным приложением в ответ на его запрос на считывание.
14. Компьютерная система по п. 13, в которой запрашиваемый файл данных передается посредством потоковой передачи виртуальному программному приложению без сохранения какого-либо содержимого файла данных в файловой системе.
15. Компьютерная система по п. 14, в которой по мере того как виртуальное программное приложение используется пользователем, файлы данных динамически и автоматически передаются посредством потоковой передачи из сетевого хранилища данных по мере необходимости виртуальным приложением.
RU2014123714A 2011-12-15 2012-12-06 Автономная сетевая потоковая передача RU2612579C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/327,695 US8938550B2 (en) 2011-12-15 2011-12-15 Autonomous network streaming
US13/327,695 2011-12-15
PCT/US2012/068055 WO2013090101A1 (en) 2011-12-15 2012-12-06 Autonomous network streaming

Publications (2)

Publication Number Publication Date
RU2014123714A true RU2014123714A (ru) 2015-12-20
RU2612579C2 RU2612579C2 (ru) 2017-03-09

Family

ID=47968839

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014123714A RU2612579C2 (ru) 2011-12-15 2012-12-06 Автономная сетевая потоковая передача

Country Status (12)

Country Link
US (2) US8938550B2 (ru)
EP (1) EP2791787B1 (ru)
JP (1) JP6188713B2 (ru)
KR (1) KR101991537B1 (ru)
CN (1) CN103020235B (ru)
AU (1) AU2012352719B2 (ru)
BR (1) BR112014014336B1 (ru)
CA (1) CA2858081A1 (ru)
ES (1) ES2623299T3 (ru)
MX (1) MX347985B (ru)
RU (1) RU2612579C2 (ru)
WO (1) WO2013090101A1 (ru)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832296B2 (en) 2011-12-15 2014-09-09 Microsoft Corporation Fast application streaming using on-demand staging
US20130159382A1 (en) * 2011-12-15 2013-06-20 Microsoft Corporation Generically presenting virtualized data
US9166866B2 (en) * 2013-04-30 2015-10-20 Microsoft Technology Licensing, Llc Hydration and dehydration with placeholders
US9405767B2 (en) 2013-05-01 2016-08-02 Microsoft Technology Licensing, Llc Streaming content and placeholders
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US10404520B2 (en) * 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US20160085765A1 (en) * 2014-09-22 2016-03-24 Amazon Technologies, Inc. Computing environment selection techniques
JP6619708B2 (ja) * 2016-08-08 2019-12-11 日本電信電話株式会社 データ分離評価装置、データ分離評価方法およびデータ分離評価プログラム
US20180059990A1 (en) * 2016-08-25 2018-03-01 Microsoft Technology Licensing, Llc Storage Virtualization For Files
US11507534B2 (en) 2017-05-11 2022-11-22 Microsoft Technology Licensing, Llc Metadata storage for placeholders in a storage virtualization system

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US5953729A (en) * 1997-12-23 1999-09-14 Microsoft Corporation Using sparse file technology to stage data that will then be stored in remote storage
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6574618B2 (en) * 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
WO2001067379A2 (en) * 2000-03-09 2001-09-13 Exent Technologies, Inc. Registry emulation
US7693992B2 (en) * 2000-06-14 2010-04-06 Disney Enterprises, Inc. Technique for providing access to data
JP2004502236A (ja) * 2000-06-26 2004-01-22 ピクセル ソフトウェア テクノロジーズ リミテッド ストリーム型アプリケーションオンデマンドの高速起動および実行を可能にするためのシステムおよび方法
US7272613B2 (en) * 2000-10-26 2007-09-18 Intel Corporation Method and system for managing distributed content and related metadata
US8831995B2 (en) * 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7451196B1 (en) * 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US6735601B1 (en) * 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US7047377B2 (en) * 2002-08-20 2006-05-16 Gruintine Pueche, Inc. System and method for conducting an auction-based ranking of search results on a computer network
US6999913B2 (en) * 2002-12-10 2006-02-14 John Alan Hensley Emulated read-write disk drive using a protected medium
US7769794B2 (en) * 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US8230095B2 (en) * 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
RU2007111486A (ru) * 2004-09-30 2008-11-10 Стрикс Системз, Инк. (Us) Устройство для изолирования процесса выполнения прикладных программ и способ его использования
US8024523B2 (en) * 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
CA2543941A1 (en) * 2005-04-18 2006-10-18 Diskstream Inc. Method and system for managing metadata information
KR100715674B1 (ko) 2005-09-15 2007-05-09 한국전자통신연구원 부하 분산 방법 및 장치, 그리고 이를 이용한 소프트웨어스트리밍 시스템
US8903916B2 (en) 2006-07-05 2014-12-02 International Business Machines Corporation Method, system, and computer-readable medium to render repeatable data objects streamed over a network
US7788394B2 (en) 2006-08-31 2010-08-31 General Instrument Corporation Streaming content over an internet protocol network
US8756293B2 (en) * 2007-04-23 2014-06-17 Nholdings Sa Providing a user with virtual computing services
US8892738B2 (en) * 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US20090164994A1 (en) * 2007-12-20 2009-06-25 Virtual Computer, Inc. Virtual computing management systems and methods
US7987335B1 (en) * 2008-03-28 2011-07-26 Symantec Corporation Techniques for virtualizing data
US9141934B2 (en) * 2008-04-07 2015-09-22 Blackberry Limited Techniques for deploying virtual software applications on desktop computers
US8005851B2 (en) * 2008-05-21 2011-08-23 Microsoft Corporation Streaming virtual disk for virtual applications
KR20100071688A (ko) 2008-12-19 2010-06-29 한국전자통신연구원 스케일러블 비디오 코딩 기반의 포괄적 비디오 접근을 위한스트리밍 서비스 장치 및 방법
US8533151B2 (en) * 2009-05-26 2013-09-10 Microsoft Corporation Generating a local copy of a virtualized application package from a local installation
US8341620B2 (en) * 2009-06-25 2012-12-25 Microsoft Corporation Streaming optimized virtual application images
US8352937B2 (en) * 2009-08-03 2013-01-08 Symantec Corporation Streaming an application install package into a virtual environment
US8060560B2 (en) * 2009-08-27 2011-11-15 Net Power And Light, Inc. System and method for pervasive computing
US8886762B2 (en) * 2009-09-17 2014-11-11 Adobe Systems Incorporated Stream duration management
US20110106937A1 (en) 2009-10-29 2011-05-05 Fluke Corporation Mixed-mode analysis
US8643856B2 (en) * 2010-02-02 2014-02-04 Ricoh Company, Ltd. Methods and systems for network printing with user selectable settings
CN101799826B (zh) * 2010-03-04 2011-09-14 中国电子科技集团公司第二十八研究所 一种基于虚拟视图的网络化数据共享系统及方法
KR20130028903A (ko) * 2010-03-09 2013-03-20 해피 클라우드 인코포레이티드 대화형 결정 지향적 소프트웨어 애플리케이션을 위한 데이터 스트리밍
US8489708B2 (en) * 2010-04-06 2013-07-16 Microsoft Corporation Virtual application extension points
US8560825B2 (en) * 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
US8495625B1 (en) * 2010-07-27 2013-07-23 Symantec Corporation Method and system for creation of streamed files on-demand
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
CN102014158B (zh) * 2010-11-29 2013-07-10 北京兴宇中科科技开发股份有限公司 一种云存储服务客户端高效细粒度数据缓存系统与方法
US20120158819A1 (en) * 2010-12-21 2012-06-21 Microsoft Corporation Policy-based application delivery
US9358460B2 (en) * 2011-04-28 2016-06-07 Numecent Holdings, Inc. Adaptive cloud-based application streaming
US8676938B2 (en) * 2011-06-28 2014-03-18 Numecent Holdings, Inc. Local streaming proxy server

Also Published As

Publication number Publication date
MX347985B (es) 2017-05-22
CA2858081A1 (en) 2013-06-20
MX2014007166A (es) 2014-08-21
US20150106440A1 (en) 2015-04-16
KR20140101370A (ko) 2014-08-19
CN103020235B (zh) 2017-04-12
AU2012352719A1 (en) 2014-07-03
BR112014014336B1 (pt) 2021-08-17
AU2012352719B2 (en) 2017-09-28
US8938550B2 (en) 2015-01-20
EP2791787A1 (en) 2014-10-22
EP2791787B1 (en) 2017-02-01
EP2791787A4 (en) 2015-11-04
JP6188713B2 (ja) 2017-08-30
ES2623299T3 (es) 2017-07-10
KR101991537B1 (ko) 2019-09-30
JP2015507787A (ja) 2015-03-12
CN103020235A (zh) 2013-04-03
RU2612579C2 (ru) 2017-03-09
BR112014014336A2 (pt) 2017-06-13
WO2013090101A1 (en) 2013-06-20
US20130159381A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
RU2014123714A (ru) Автономная сетевая потоковая передача
AU2012205443B2 (en) Content based file chunking
US9774564B2 (en) File processing method, system and server-clustered system for cloud storage
US8539068B2 (en) Methods and systems for providing customized domain messages
US9065796B2 (en) Dynamic application programming interface
US8533296B2 (en) Schema-based feed generation for media syndication
US10455058B2 (en) Custom digital components
US20120102154A1 (en) Cloud-Based Transcoding Platform Systems and Methods
US11132221B2 (en) Method, apparatus, and computer-readable medium for dynamic binding of tasks in a data exchange
WO2021253889A1 (zh) 负载均衡方法、装置、代理设备、缓存设备及服务节点
US20130219009A1 (en) Scalable data feed system
US20160212120A1 (en) Transaction query engine
US20140181181A1 (en) Communication System
US9336252B2 (en) Mobile application cache based on extreme scale technology
GB2597384A (en) Custom digital components
RU2014141703A (ru) Способ и система переформатирования электронного сообщения на основе его категории