WO2007066993A1 - Procede et dispositif de fourniture de logiciel par des unites fonctionnelles dans un systeme de logiciel en continu - Google Patents
Procede et dispositif de fourniture de logiciel par des unites fonctionnelles dans un systeme de logiciel en continu Download PDFInfo
- Publication number
- WO2007066993A1 WO2007066993A1 PCT/KR2006/005295 KR2006005295W WO2007066993A1 WO 2007066993 A1 WO2007066993 A1 WO 2007066993A1 KR 2006005295 W KR2006005295 W KR 2006005295W WO 2007066993 A1 WO2007066993 A1 WO 2007066993A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- streaming
- functional unit
- execution
- function
- streamed
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 235000015250 liver sausages Nutrition 0.000 claims 1
- 238000007639 printing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
Definitions
- the present invention relates to a software streaming service and, more particularly, to a method and apparatus for providing software by function units in order to stream execution pages required for performing predetermined functions of software at once in a software streaming system.
- a software streaming service is a service technology to execute a software
- FIG. 1 is a block diagram illustrating a procedure for transmitting and receiving control data and streaming data related to application software execution between a streaming server and a client for providing a software streaming service according to the related art.
- a streaming client 110 and a streaming server 120 are identical to a streaming client 110 and a streaming server 120 .
- a communication network such as the Internet for the software streaming service.
- the streaming client 110 is installed at a user terminal for receiving a streaming service.
- the streaming client 110 transmits a request of an execution code for executing application software to the streaming server 120.
- the streaming server 120 receives the request for executing application software from the streaming client 110. Then, the streaming server 120 finds the requested execution code from entire execution code 130 of application software, that is, predetermined execution pages, according to the received request, and transmits the found execution code to the client 110 through the Internet.
- the streaming client 110 receives execution pages of the application software from the streaming server 120 and performs the received execution pages, thereby using application software not installed in the streaming client 110 like as application software installed in the streaming client 110.
- execution page units it requires the streaming client to repeatedly request a related streaming service and receive execution pages as many as the number of execution pages necessary for performing a corresponding function in order to perform the pre- determined function of application software.
- the streaming client 110 repeatedly requests a related streaming service to the streaming server 120 and receives execution pages five times to perform the printing function.
- the execution of requested function may be delayed due to the repeated requests and receiving processes as many as the number of information required for performing the predetermined function.
- An aspect of the present invention is to provide a method and apparatus for
- the invention provides a method for
- a software streaming system including a streaming client and a streaming server, including: at the streaming client, creating a functional unit identification for identifying a function requested from a user by intercepting a request of a predetermined function in application software from a user; determining whether a functional unit corresponding to the created functional unit identification is streamed or not; determining whether each of execution pages of the functional unit is streamed or not when the functional unit is not streamed; composing a streaming list with execution pages that are not streamed based on the determination result; requesting a streaming service by transmitting the composed streaming list to the streaming server; and receiving execution pages transmitted from the streaming server and storing the received execution pages.
- the invention provides an apparatus for providing software by functional units in a software streaming system including: a function recognition library for creating a functional unit identification to identify a function requested from a user by intercepting a request of a function in application software from a user; a streaming controller for requesting streaming of a functional unit corresponding to the created functional unit identification from the function recognition library and for receiving execution pages included in a functional unit transmitted from the streaming server; and a local cache for storing the streamed execution pages.
- a streaming controller is independently embodied separately from a streaming file system filter.
- Such a structure allows easy porting of client engine, and various services can be provided by providing various streaming policies from a streaming controller that is a typical process, not an operation system. Since the execution pages are provided by function units, corresponding application software can be limitedly used based on the streamed functional unit although a related network is malfunctioned while using a streaming service. Moreover, by providing software by function units, it is possible to charge a service fee for a streaming service by function units.
- FIG. 1 is a block diagram illustrating a software streaming service system according to the related art
- FIG. 2 is a block diagram illustrating a streaming client according to an
- FIG. 3 is a diagram for describing the configuration of functional unit according to an embodiment of the present invention.
- FIG. 4 is a flowchart illustrating the operation of a streaming client according to an embodiment of the present invention.
- FIG. 5 is a flowchart illustrating the operation of a streaming file system filter
- FIG. 2 is a block diagram illustrating a streaming client according to an
- the streaming client 200 includes a function recognition library 220, a streaming controller 240, a local cache 270, and a streaming file system filter (SFSF) 250.
- the function recognition library 220 intercepts are a request of a predetermined function from a user for streamed application software 210, creates a functional unit identification corresponding to the requested function, and requests a related streaming service to the streaming controller 240.
- the streaming controller 240 manages the states of streaming by function units, and determines whether a streaming service of a function unit requested from the function recognition library 220 is provided or not. If not, the streaming controller 240 determines whether execution pages included in the corresponding functional unit are not streamed or not.
- the streaming controller 240 composes a streaming list with execution pages not previously streamed, and receives the execution pages of the streaming list from the streaming server 100 at once.
- the local cache 270 stores execution pages streamed by the streaming controller 240.
- the streaming file system filter (SFSF) 250 processes a file calculation or a page fault generated while executing the streamed application software 210.
- the functional unit denotes a set of execution pages required for performing any function of application software.
- the functional units are managed by the functional unit identification that is a unique identification of a functional unit. It assumes that a list of execution pages included in a predetermined functional unit is previously defined.
- the function recognition library always generates the same function unit identification of the same function unit.
- the application software 210 is typical application software linked to the function recognition library. By replacing or adding the library of the application software 210 to have a function of generating a functional unit identification, a function requested by a user can be recognized and a streaming service can be provided by function units without modifying application program.
- the streaming controller 240 includes a cache manager 260 for managing the local cache 270 and stores the streamed execution pages into the local cache 270 through the cache manager 260.
- the streaming controller 240 also confirms or reads the execution pages stored in the local cache 270 and provides the read execution pages to the ap- plication software 210 through the cache manger 260.
- the SFSF 250 determines whether a page with a fault is stored in the local cache 270 or not when a page fault is generated from a predetermined page while a predetermined function is performing. If the page with fault is not stored in the local cache 270, the SFSF 250 requests the streaming service of a corresponding execution page to the streaming controller 240 and returns the corresponding execution page received as a result thereof to the operating system 280.
- the streaming controller 240 receives a request of a predetermined execution page from the SFSF 250, the streaming controller 240 determines whether the requested execution page is included in the current streaming list or not. If it is in the current streaming list, the streaming controller 240 provides an execution page to the SFSF 250 after completely streaming the streaming list. If not, the streaming controller 240 requests a corresponding execution page to the streaming server 100 and provides the execution page received from the streaming server 100 to the SFSF 250.
- the streaming client 240 can receive execution pages to
- the streaming client 200 sets and manages the functional unit that is a set of execution pages required by functions performed in application software.
- Fig. 3 is a diagram for describing a function unit according to an embodiment of the present invention.
- a functional unit for performing the printing function in the application software is formed of the execution files p2 and p3 in the first file 1, the execution file ql of the second file 2, and the execution files r2 and r5 of the third file 3.
- Such a functional unit is identified by a unique identification.
- the streaming controller 240 in the streaming client 200 requests the
- streaming service for the execution pages p2, p3, ql, r2, and r5 of the functional unit corresponding to the functional unit identification at one time and receives the requested execution pages at once.
- the same execution pages per each function may overlap. That is, previously streamed execution pages for performing different function may be included in a currently requested functional unit.
- the streaming controller 240 checks each of execution pages in a functional unit whether it is previously streamed or not, composes a streaming list with execution pages not previously streamed, and transmits the composed streaming list to the streaming server 100, thereby receiving the streaming service of the execution pages.
- the streaming controller 240 performs asynchronous file input/output and synchronous transmission with a server while being operated with at least one of threads or processes, thereby preventing the performance from being degraded due to direct network delay or I/O delay.
- FIG. 4 is a flowchart illustrating a method for providing software by function units in a streaming client 200 according to an embodiment of the present invention. With reference to Fig. 4, the method for providing software by functional units will be described.
- the function recognition library 220 of the application software requests the streaming service of a functional unit corresponding to the selected function to the streaming controller 240. That is, the function recognition library 220 creates a functional unit identification for the requested function and transmits the created identification, thereby requesting the streaming request of the functional unit.
- the function recognition library 220 requests the streaming service for the functional unit at steps S410 and S411. Then, the streaming controller 240 determines whether a streaming service of a corresponding functional unit is provided or not by confirming a functional unit corresponding to the functional unit identification at step S412. In order to determine, the streaming controller 240 manages the streaming state value of a corresponding function unit as a streaming completion state after providing the streaming service of a predetermined functional unit. At the step S412, the streaming controller 240 confirms whether the streaming state value of the functional unit is the streaming completion state value or not.
- the streaming controller 240 waits for the next request because additional streaming request is not necessary.
- step S412 if the requested functional unit is not in the streaming completion state, it determines whether execution pages of the requested function unit are streamed and stored in the local cache 270 or not at step S413.
- the streaming state value of the corresponding function unit changes to the streaming completion state at step S417 because additional streaming for execution pages is not necessary. Then, it waits for the next request.
- a streaming list is composed by registering execution pages not stored in the local cache 270 at step S414. Then, the streaming service is requested to the streaming server 100 at once by transmitting the composed streaming list, and the requested execution pages are received through the streaming service at once at step S415.
- the streaming request from the streaming client 200 to the streaming server 100 is performed at once, the streaming server 100 may asynchronously transmit the requested execution pages to the streaming client 200.
- the streaming controller 240 stores execution pages asynchronously received from the streaming server 100 according to the request in the local cache 270, and the execution pages stored in the local cache 270 are deleted from the streaming list at step S416.
- streaming state value of the corresponding function unit changes to the streaming completion state, and it waits for the next request at step S417.
- the execution pages of the corresponding functional unit stored in the local cache 270 are provided to the application software 210 by the SFSF 250.
- a page fault may be generated for a predetermined execution page.
- the SFSF 250 performs a necessary operation to process the page fault. The operation of the SFSF 250 will be described with reference to Fig. 5, hereinafter.
- the SFSF 250 confirms whether a corresponding execution page is present in the local cache 270 or not at step S512.
- the SFSF 250 requests the streaming controller 250 to stream a corresponding page, receives the pages streamed from the streaming controller 240 at step S516, and returns the received execution page to the operation system 280 at step S518.
- the step S418 is performed to confirm whether the requested execution page is in the previous streaming list or not because it is not the request of the application software 210 at the step S411.
- the streaming controller 240 requests the streaming service for a corresponding execution page to the streaming server 100 at step S421. Then, the streaming controller 240 receives the corresponding execution page streamed from the streaming server 100, transfers the received execution page to the SFSF 250, and stores it in the local cache 270 at steps S422 and S423.
- the method and apparatus for providing software by function units according to the certain embodiments of the present invention can be applied to a software streaming service field and can stream execution pages required for performing a predetermined function of software at once in a software streaming system.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Procédé et dispositif de fourniture de logiciel par des unités fonctionnelles. Selon le procédé, au niveau du client en continu, une identification d'unité fonctionnelle est créée pour l'identification d'une fonction demandée par un utilisateur, à travers une interception de demande de fonction préétablie dans un logiciel d'application émanant d'un utilisateur ; ensuite, il est déterminé si une unité fonctionnelle correspondant à l'identification ainsi créée est en continu ou non, et si chacune des pages d'exécution de l'unité fonctionnelle est en continu ou non lorsque l'unité fonctionnelle n'est pas en continu ; après une telle détermination, une liste de mode en continu est dressée avec les pages d'exécution qui ne sont pas en continu, sur la base du résultat de la détermination ; enfin, un service en continu est demandé par transmission de la liste dressée, au serveur en continu, et les pages d'exécution transmises depuis ce serveur sont reçues et enregistrées.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/088,073 US20080256178A1 (en) | 2005-12-08 | 2006-12-07 | Method and Apparatus for Providing Software by Functional Units in a Software Streaming System |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2005-0120156 | 2005-12-08 | ||
KR20050120156 | 2005-12-08 | ||
KR1020060123734A KR100798928B1 (ko) | 2005-12-08 | 2006-12-07 | 소프트웨어 스트리밍 시스템에서 기능 단위 소프트웨어제공 방법 및 장치 |
KR10-2006-0123734 | 2006-12-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007066993A1 true WO2007066993A1 (fr) | 2007-06-14 |
Family
ID=38123086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2006/005295 WO2007066993A1 (fr) | 2005-12-08 | 2006-12-07 | Procede et dispositif de fourniture de logiciel par des unites fonctionnelles dans un systeme de logiciel en continu |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2007066993A1 (fr) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010037399A1 (en) * | 1998-07-22 | 2001-11-01 | Dan Eylon | Method and system for streaming software applications to a client |
US20010044850A1 (en) * | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US20020091763A1 (en) * | 2000-11-06 | 2002-07-11 | Shah Lacky Vasant | Client-side performance optimization system for streamed applications |
US20050066063A1 (en) * | 2003-08-01 | 2005-03-24 | Microsoft Corporation | Sparse caching for streaming media |
-
2006
- 2006-12-07 WO PCT/KR2006/005295 patent/WO2007066993A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010037399A1 (en) * | 1998-07-22 | 2001-11-01 | Dan Eylon | Method and system for streaming software applications to a client |
US20010044850A1 (en) * | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US20020091763A1 (en) * | 2000-11-06 | 2002-07-11 | Shah Lacky Vasant | Client-side performance optimization system for streamed applications |
US20050066063A1 (en) * | 2003-08-01 | 2005-03-24 | Microsoft Corporation | Sparse caching for streaming media |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7280238B2 (en) | Image forming apparatus, user restriction method and use history generation method | |
JP4827523B2 (ja) | 情報処理装置、情報処理方法、ならびに制御プログラム | |
CN107967140B (zh) | 软件修改的发起方法、发布元数据的方法及装置 | |
CN109327499B (zh) | 业务接口的管理方法及装置、存储介质、终端 | |
CA2365730A1 (fr) | Methode et dispositif pour aider dans l'execution d'operations de taches paralleles | |
CN111143023A (zh) | 一种资源变更的方法及装置、设备、存储介质 | |
US20130174217A1 (en) | Access control information generating system | |
US20040193746A1 (en) | Service search device, service search method and document processing system | |
US20080256178A1 (en) | Method and Apparatus for Providing Software by Functional Units in a Software Streaming System | |
JP5086820B2 (ja) | サービス管理方法とシステムおよびプログラム | |
WO2007066993A1 (fr) | Procede et dispositif de fourniture de logiciel par des unites fonctionnelles dans un systeme de logiciel en continu | |
US20060066898A1 (en) | Multiple function image formation device and method thereof | |
WO2006075885A1 (fr) | Procede efficace de transmission/reception de programmes d'application et dispositif associe faisant appel a un concept de module au niveau d'un reseau de radiodiffusion numerique | |
KR101405920B1 (ko) | 잡 컨트롤 장치 및 복합장치 그리고 그들의 동작 방법 | |
CN109547552B (zh) | Api请求处理方法、装置、存储介质及电子设备 | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof | |
JP2008269113A (ja) | アプリケーション実行環境構築システム、装置及びそれに用いる方法並びにそのプログラム | |
CN111708568A (zh) | 一种组件化开发解耦方法及终端 | |
JP4337747B2 (ja) | ハードウェア資源提供システム | |
US9485367B2 (en) | Connecting image forming devices based on a communication session count | |
US10630741B2 (en) | Communication method, storage medium storing communication program, and communication system | |
JP2010061212A (ja) | データ配信方法、データ配信プログラムおよび記憶媒体 | |
CN116302169A (zh) | 一种开源托管软件配置方法、电子设备及介质 | |
JP2005173764A (ja) | サービス処理装置 | |
CN120200846A (zh) | 一种密码计算服务提供方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 12088073 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06824002 Country of ref document: EP Kind code of ref document: A1 |