WO2015199293A1 - 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체 - Google Patents

클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체 Download PDF

Info

Publication number
WO2015199293A1
WO2015199293A1 PCT/KR2014/011749 KR2014011749W WO2015199293A1 WO 2015199293 A1 WO2015199293 A1 WO 2015199293A1 KR 2014011749 W KR2014011749 W KR 2014011749W WO 2015199293 A1 WO2015199293 A1 WO 2015199293A1
Authority
WO
WIPO (PCT)
Prior art keywords
web page
cloud
script code
terminal
cloud service
Prior art date
Application number
PCT/KR2014/011749
Other languages
English (en)
French (fr)
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 에스케이플래닛 주식회사
Priority to EP14895905.9A priority Critical patent/EP3163531B1/en
Priority to JP2016570814A priority patent/JP6445050B2/ja
Priority to CN201480080199.1A priority patent/CN106462911B/zh
Priority to US15/314,090 priority patent/US10171542B2/en
Publication of WO2015199293A1 publication Critical patent/WO2015199293A1/ko

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/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to a cloud streaming service, by inserting and loading a predefined cloud streaming script code when loading a web page, a cloud streaming service providing method that can process the web page to provide a cloud streaming service, therefor An apparatus and system, and a computer-readable recording medium having recorded thereon script code for cloud streaming.
  • Cloud computing may be defined as an on demand outsourcing service for computing resources through an information communication network such as the Internet.
  • service providers integrate data centers that are dispersed in multiple locations with virtualization technology to provide the services users need.
  • the service user does not install and use computing resources such as application, storage, operating system, and security in each user's own terminal, but services in virtual space created through virtualization technology. Use as many times as you want.
  • cloud computing is a computing service in which computing resources such as hardware / software, which exist in an intangible form, such as clouds, are borrowed and paid for as necessary. It refers to a technology that integrates and provides computing resources in the virtualization technology.
  • a user may access a cloud network through a terminal which performs only a network connection and basic computing functions, perform tasks requiring a large storage device and high performance computing resources, and receive various services.
  • the cloud streaming service is a service based on such a cloud computing environment, and utilizes server resources to execute content such as a web application on the server side, and then captures and encodes the execution screen into a GUI screen and transmits it to the terminal in real time.
  • content such as a web application on the server side
  • inputs and outputs are made, so that a user can use an application or content requiring high-performance computing resources regardless of the terminal specification.
  • cloud streaming services cannot be provided in a separate window other than the main window, such as opening a new window or displaying a pop-up window while the browser is in operation.
  • the browser itself must be developed separately, which causes a lot of time and cost.
  • the present invention has been proposed to solve the above-mentioned conventional problems, and in particular, by loading and inserting a predefined cloud streaming script code into a web page when the web page is loaded, the web page can be processed to provide a cloud streaming service.
  • An object of the present invention is to provide a cloud streaming service providing method, an apparatus and system therefor, and a computer readable recording medium recording script code for cloud streaming therefor.
  • Cloud service apparatus for achieving the above object is a service communication unit for transmitting and receiving information with one or more terminals and content providing device for providing a web page, and the predefined cloud streaming script code
  • the predefined cloud streaming script code is inserted into the service storage unit in the web page provided from the content providing device.
  • it may be configured to include a service control unit for controlling to provide the service communication unit by encoding the capture image to the terminal.
  • the service control unit searches for the JavaScript code region in the web page, and then determines whether or not the predefined cloud streaming script code is inserted in the detected JavaScript code region. After checking the location where the script code is to be inserted, the script code can be inserted at the identified location.
  • the service control unit captures a web page in which the script code is inserted and executes the script code inserted in the web page when generating a captured image, and as the script code is executed, the designated message in the web page is main. After redefining the specified object in the web page to display in the window, you can capture the web page and generate a captured image.
  • the designated message according to the present invention may be at least one of an alert message, a confirm message, and a prompt message.
  • the service controller may redefine the open method property information of the window object or the property information of the moving tag object in the web page by itself.
  • the service control unit may redefine the designated object in the web page so that the specified message in the web page is included in the corresponding position in the main window.
  • Cloud system for achieving the above object is a cloud defined in the web page provided from the content providing device as a request for a web page provided by the content providing device is received from the terminal Insert the script code for streaming, capture the web page in which the script code is inserted, generate and encode the captured image, and then control the web page provided by the content providing device to the cloud service device and the cloud service device. And a terminal for receiving a web page rendered from the cloud service apparatus in response thereto.
  • a cloud streaming service providing method comprising: receiving, by a cloud service device, a request for a web page provided by a content providing device from a terminal, and providing a content by the cloud service device; Inserting predefined script code for cloud streaming into a web page provided from the device, the cloud service device capturing a web page into which the script code is inserted, generating a capture image, and the cloud service device encoding the captured image It may be made, including the step of providing to the terminal.
  • the cloud service device may further include accessing the content providing device and receiving the corresponding web page.
  • the step of inserting the script code includes the step of the cloud service device to search the JavaScript code area on the web page, the cloud service device is inserted into the script code for cloud streaming predefined in the JavaScript code area Determining whether the script code is inserted; if not, the cloud service device checks the location where the script code is inserted in the JavaScript code area; and inserts the script code at the location where the cloud service device is identified. It can be achieved including.
  • the rendering according to the present invention includes the steps of the cloud service device executing the script code inserted into the web page, the cloud service device is a designated object in the web page so that the designated message in the web page is displayed in the main window Redefining and generating a captured image by capturing a result screen according to the execution of the redefined web page by the cloud service device.
  • the cloud service device may redefine the open method property information of the window object or the property information of the mobile tag object in the web page by itself.
  • the display according to the display after displaying the specified message according to the redefined object in the main window Capture the screen to generate a capture image encode the captured image can be provided to the terminal.
  • the present invention can provide a computer readable recording medium having recorded thereon a program for executing the method for providing a cloud streaming service as described above.
  • the computer-readable recording medium recording the script code for cloud streaming according to an embodiment of the present invention for achieving the above object is an alert message, confirmation message, prompt (prompt) in the inserted web page And a function of determining whether at least one of the messages is generated and a function of processing the pop-up window generated according to the generation of the message to be displayed in the main window.
  • an apparatus and a system therefor, and a computer-readable recording medium recording therein script code for cloud streaming, the script code for cloud streaming defined in the web page when the web page is loaded By inserting and loading, it is possible to easily handle pop-up window events and the like that are impossible to provide cloud streaming services without any modification to the inside of the browser engine.
  • FIG. 1 is a schematic diagram of a cloud service system according to an exemplary embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a main configuration of a terminal according to an exemplary embodiment of the present invention shown in FIG. 1.
  • FIG. 3 is a block diagram illustrating a main configuration of a cloud service apparatus according to an exemplary embodiment of the present invention illustrated in FIG. 1.
  • FIG. 4 is a block diagram illustrating a source file structure of a web page according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a cloud streaming service providing method according to an exemplary embodiment of the present invention.
  • FIG. 6 is a data flow diagram for explaining in more detail the method for providing a cloud streaming service according to an embodiment of the present invention.
  • FIG. 7 illustrates a code example for supporting a cloud streaming service providing method according to an exemplary embodiment of the present invention.
  • FIG 8 illustrates an example of script code for cloud streaming according to an embodiment of the present invention.
  • first and second are used to describe various components, and are used only to distinguish one component from another component, and to limit the components. Not used.
  • the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.
  • a component when referred to as being "connected” or “connected” to another component, it means that it may be connected or connected logically or physically. In other words, although a component may be directly connected or connected to other components, it should be understood that other components may exist in the middle, and may be connected or connected indirectly.
  • the present invention relates to a cloud streaming service that enables a user to use a predetermined service or function through screen virtualization based on a cloud computing environment regardless of the performance of the terminal.
  • the present invention may include a function of converting a web page (or a web application composed of a plurality of web pages) provided by the content providing apparatus to be suitable for a cloud streaming service and then providing the same to a terminal.
  • FIG. 1 is a schematic diagram of a cloud service system according to an exemplary embodiment of the present invention.
  • the cloud service system 1000 may transmit and receive information between the terminal 100 and the cloud service apparatus 200, and the terminal 100 and the cloud service apparatus 200. It may be configured to include a communication network 300 to support. In addition, the cloud service system 1000 according to an exemplary embodiment may operate in conjunction with the plurality of content providing apparatuses 400.
  • the terminal 100 means a user's device that can transmit and receive various data via the communication network 300 according to the user's operation.
  • the terminal 100 may perform voice or data communication through the communication network 300, and may transmit and receive various information with the cloud service device 200.
  • the terminal 100 of the present invention for this purpose may include a browser for transmitting and receiving information, a memory for storing programs and protocols, a microprocessor for executing and controlling various programs, and the like.
  • the terminal 100 requests a predetermined service or function from one or more of the cloud service device 200 and the content providing device 400, and correspondingly, the cloud service device 200.
  • Streaming data can be received from, played back, and output.
  • the terminal 100 may basically include a function of receiving and decoding encoded streaming data, and may further include a function of rendering and outputting decoded video data.
  • the terminal 100 may be implemented in various forms.
  • the terminal 100 described in the present specification may be a mobile terminal such as a smart phone, a tablet PC, a personal digital assistant (PDA), a portable multimedia player (PMP), or an MP3 player.
  • PDA personal digital assistant
  • PMP portable multimedia player
  • MP3 player an MP3 player.
  • a fixed terminal such as a smart TV, a desktop computer, or the like may be used.
  • the terminal 100 may be classified into a device having a display function and a device having no display function.
  • the device having no display function may include a TV, a monitor, and a projector.
  • a service screen may be output through the image output apparatus by being connected to another image output apparatus (not shown), and transmitting data to the image output apparatus.
  • the terminal 100 of the present invention can not enumerate all the variations of the portable device according to the convergence (convergence) trend of the digital device, but the unit of the same level as the above-mentioned unit is a terminal according to the present invention It may be used as 100, any device that can receive streaming data provided by the cloud service device 200 through the communication network 300 can be applied to any device as the terminal 100 of the present invention.
  • the cloud service device 200 is a configuration for providing a cloud streaming service of the present invention, and serves to provide a service or a function requested by the terminal 100 to the terminal 100 through a screen virtualization function.
  • the screen virtualization means that the execution screen of a specific application as executed in the terminal 100 is implemented on the server side connected through the communication network 300, that is, implemented in the cloud service device 200 and provided to the terminal 100. do.
  • the cloud service device 200 executes various applications such as resources owned by the user, for example, a user interface (UI) application, a game application, captures the execution screen, generates a captured image, and encodes the same. To the terminal 100 by streaming.
  • UI user interface
  • the cloud service apparatus 200 drives the application according to a user input transmitted from the terminal 100, and transmits the changed execution screen to the terminal 100 in a streaming manner, whereby the user of the terminal 100 has his or her own terminal.
  • a user experience may be provided, such as executing an application directly.
  • a processor mounted in the cloud service device 200 may execute a program command for executing the method according to the present invention. Can be processed.
  • this processor may be a single-threaded processor, and in other implementations, the processor may be a multi-threaded processor.
  • the processor is capable of processing instructions stored on memory or storage devices.
  • the content providing device 400 is a device that provides predetermined content separately from the cloud service device 200.
  • the content providing device 400 serves to provide a web page requested by the terminal 100 through the cloud service device 200. Can be done.
  • the content providing apparatus 400 may provide a web application, which is a set of a plurality of web pages, to the cloud service apparatus 200 in advance.
  • the content providing device 400 may provide the terminal 100 with the cloud service apparatus 200 by interworking with the cloud service apparatus 200 or a web page including the content or a web page including the real time broadcast or VOD.
  • the content providing device 400 may be operated by a different entity (service provider) than the cloud service device 200.
  • the content providing device 400 may be an IPTV head-end system or a QAM transmitter of a cable TV.
  • the communication network 300 is between the terminal 100 and the cloud service device 200, between the cloud service device 200 and the content providing device 400, the terminal 100 and the content providing device.
  • the communication network 300 may be implemented in various forms of communication networks.
  • wireless communication methods such as wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, Wimax, and High Speed Downlink Packet Access (HSDPA), or Ethernet, xDSL (ADSL, VDSL) , Wired communication methods such as Hybrid Fiber Coaxial Cable (HFC), Fiber to The Curb (FTTC), and Fiber To The Home (FTTH).
  • WLAN wireless LAN
  • Wi-Fi Wi-Fi
  • Wibro Wimax
  • Wimax Wimax
  • Wimax High Speed Downlink Packet Access
  • HSDPA High Speed Downlink Packet Access
  • Ethernet xDSL (ADSL, VDSL)
  • Wired communication methods such as Hybrid Fiber Coaxial Cable (HFC), Fiber to The Curb (FTTC), and Fiber To The Home (FTTH).
  • HFC Hybrid Fiber Coaxial Cable
  • FTTC Fiber to The Curb
  • FTTH Fiber To The Home
  • each of the terminal 100 and the cloud service device 200, the terminal 100 and the content providing device 400, the cloud service device 200 and the content providing device 400 may be connected in different communication media or communication methods.
  • the terminal 100 and the cloud service device 200, the terminal 100 and the content providing device 400 are connected to a common communication network, and the content providing device 400 and the cloud service device 300 are dedicated communication networks. Can be connected via.
  • the present invention provides the content data provided by the content providing device 400 in the cloud service device 200 through the interworking between the terminal 100, the cloud streaming device 200, and the content providing device 400.
  • the data may be fused with the data and provided to the terminal 100.
  • the convergence between the contents may be, for example, a fusion of a user interface application for user manipulation provided by the cloud streaming apparatus 200 to a video image of a real time broadcast or a VOD provided by the content providing apparatus 400.
  • the above-described example is merely a mere example, and according to the cloud streaming service according to the present invention, fusion between different types of different contents is possible.
  • the content providing device 400 will be described based on the configuration of providing a web page to the terminal 100 through the cloud service device 200.
  • FIG. 2 is a block diagram illustrating a main configuration of a terminal according to an exemplary embodiment of the present invention shown in FIG. 1.
  • the terminal 100 may include a communication unit 110, an input unit 120, a control unit 130, a storage unit 140, and a display unit 150. Can be.
  • the communication unit 110 is configured to access one or more of the cloud service apparatus 200 and the content providing apparatus 300 through the communication network 400 and transmit and receive data related to the cloud streaming service. More specifically, the communicator 110 may request a web page from the cloud service apparatus 200, and thus receive the captured and encoded image corresponding to the web page from the cloud service apparatus 200 in a streaming manner.
  • the communication unit 110 may be implemented as a communication module of various methods to transmit and receive data corresponding to the type of the communication network 400 to which the terminal 100 is connected.
  • the communication unit 110 is connected to a mobile communication module for transmitting and receiving data by connecting to a mobile communication network such as WCDMA, LTE, LTE-A, and the like through a wired communication network such as a TCP / IP-based wired communication network.
  • Wired communication module for transmitting and receiving data wireless communication module for accessing and transmitting data through wireless communication technology such as Wi-Fi, and short-range communication technology such as Bluetooth or Near Field Communication (NFC) It may include one or more different communication modules, such as a short-range communication module for transmitting and receiving data.
  • the communication unit 110 may include one or more communication modules to transmit and receive data to and from the cloud service apparatus 200 and the content providing apparatus 300 through different paths.
  • the input unit 120 is for receiving various information such as numeric and text information from the user, and generates a user input signal related to setting and controlling various functions of the terminal 100 according to a user's operation to the controller 130. To pass.
  • the input unit 120 of the present invention supports a user to request a cloud streaming service.
  • the input unit 120 may include a key input means such as a keyboard or a keypad, a touch input means such as a touch sensor or a touch pad, a gyro sensor, a geomagnetic sensor, an acceleration sensor and a proximity sensor, and a gesture including at least one of a camera. It may be implemented including one or more of the input means or voice input means.
  • the input unit 120 may include all types of input means that are currently being developed or may be developed in the future. In this case, when the input unit 120 is configured in the form of a touch screen, the input function and the display function may be simultaneously performed.
  • the controller 130 is for controlling the overall operation of the terminal 100 according to the present invention. Basically, the controller 130 performs control for power supply and performance of each component constituting the terminal 100.
  • the control unit 130 may be implemented by combining an operating system (OS) and a process device for driving each component, for example, a central processing unit (CPU). That is, the controller 130 loads and executes an OS program when the terminal 100 is powered on to build an operating system for executing various application programs, and executes one or more application programs or executes components based on the OS program. Function can be controlled.
  • OS operating system
  • CPU central processing unit
  • the controller 130 of the terminal 100 may be connected to one or more of the cloud service device 200 and the content providing device 300 through the communication unit 110 in response to a user request related to the cloud streaming service.
  • Connect and request service For example, the controller 130 may request a web page provided by the content providing device 400 to the cloud service device 200, and may support a process of decoding and outputting data provided from the cloud service device 200. .
  • the controller 130 when connected to a separate image output device (not shown), it may support a process of transferring the decoded data to the image output device (not shown).
  • the controller 130 may include a decoding module 130a.
  • the module may further include a mixing module (not shown) for streaming data fusion, a rendering module (not shown) for data output, and the like.
  • the storage 140 stores programs and data necessary for the operation of the terminal 100 according to an exemplary embodiment of the present invention.
  • the storage unit 140 may store an OS program and one or more application programs loaded and executed by the controller 130, and may further store data to be generated or used by the one or more application programs.
  • the storage unit 140 may include a flash memory, a hard disk, a multimedia card micro type memory (eg, SD or XD memory, etc.), a RAM, a ROM, and the like. ROM) and a storage medium.
  • the display unit 150 displays information on a series of operation states and operation results that occur during the functioning of the terminal 100.
  • the display unit 150 of the present invention may display content in which two contents are fused under the control of the controller 130.
  • the display unit 150 includes a liquid crystal display (LCD), a thin film transistor LCD (TFT-LCD), organic light emitting diodes (OLED), a light emitting diode (LED), an active matrix organic LED (AMOLED), a flexible display (flexible display). ) And a three-dimensional display (3 Dimension).
  • the terminal 100 may further include a sound source output unit (not shown) for converting and outputting a sound source that is an electrical signal to an analog signal.
  • the terminal 100 may be configured to further include a connection interface unit (not shown) that can be connected to other external devices to transmit a signal.
  • the connection interface unit (not shown) is connected to an image output device (not shown) such as a TV, a monitor, and a projector to input and output video and audio signals and control signals.
  • the connection interface unit (not shown) may be various AV interfaces including a high-definition multimedia interface (HDMI).
  • HDMI high-definition multimedia interface
  • connection interface unit (not shown) or the display unit 150 may be selectively provided in the terminal 100.
  • the terminal 100 may include a connection interface unit (not shown) instead of the display unit 150.
  • the connection interface unit The display unit 150 may be provided instead of the display unit 150.
  • FIG. 3 is a block diagram showing a main configuration of a cloud service apparatus according to an embodiment of the present invention shown in FIG. 1
  • FIG. 4 is a block diagram showing a source file structure of a web page according to an embodiment of the present invention. .
  • the cloud service apparatus 200 may include a service communication unit 210, a service control unit 220, and a service storage unit 230. .
  • the service communication unit 210 may transmit and receive information with one or more terminals 100 and the content providing device 400.
  • the service communication unit 210 may be configured to include a terminal communication module 210a and a device communication module 210b, the terminal communication module 210a supports the transmission and reception of information with the terminal 100, The device communication module 210b supports transmission and reception of information with the content providing device 400.
  • the service controller 220 performs overall control of the cloud service apparatus 200 according to an exemplary embodiment of the present invention, and the web page provided by the content providing apparatus 400 from the terminal 100 through the service communication unit 210 is provided. Receive request.
  • the web page may be requested to the content providing device 400 through the service communication unit 210. Accordingly, when a web page is received from the content providing device 400 through the service communication unit 210, a result screen of the received web page is captured to generate a captured image, encoded, and then provided to the terminal 100. You will be supported throughout the process.
  • the service control unit 220 of the present invention inserts a predefined cloud streaming script code into a web page provided from the content providing device 400, executes the web page in which the script code is inserted, and executes it.
  • the resultant screen is captured to generate a captured image, and then encoded and provided to the terminal 100 through the service communication unit 210.
  • a web page of one page may be referred to as a web application.
  • a web page may be implemented using web code such as markup language, style sheets, and scripting language. Dual stylesheets and scripting languages can be optionally omitted.
  • the markup language may include Hypertext Markup Language (HTML), extensible Hypertext Markup Language (XHTML), Extensible Markup Language (XML), and the like, and the markup language may include a plurality of tags and It consists of an attribute and plain text.
  • a style sheet is a language for describing a user-defined design attribute, that is, a style.
  • the style sheet describes a style such as font, size, color, layout, etc. of a page displayed by tags, attributes, and text. Pages using these stylesheets will look the same as described in the stylesheet in display devices with different screen resolutions and in different types of browsers.
  • This style sheet is representative of Cascading Style Sheets (CSS).
  • the scripting language is a programming language for dynamically controlling web applications. Representatively, Java Script can be exemplified.
  • the web page can also include resource files. The resource file can be inserted into a web page using a link tag through a programming language describing the source file.
  • Such a resource file may be preferably stored on the content providing device 400 or a device on the web, and an address (URL) for accessing the resource file may be described using the markup language described above.
  • These resource files exemplify scene description, video, audio, image, font, text, metadata, and script files. can do.
  • the resource file 120 may have various types in addition to those listed above, and may be files of various formats.
  • the source file area 500 of the web page may include a JavaScript code area 501 and a web design code area 502, as shown in FIG.
  • the JavaScript code area 501 and the web design code area 502 may be mixed and mixed, but for convenience, the JavaScript code area 501 is defined, and JavaScript functions are defined in the JavaScript code area 501, and the web design code is used. It is possible to implement a web page to which dynamic elements are assigned by calling and applying in the area 502.
  • the service control unit 220 of the present invention after searching the JavaScript code region from the web page provided from the content providing device 20, whether the predefined cloud streaming script code is inserted into the retrieved JavaScript code region If it is determined that it is not inserted, the script code is inserted into the checked position after checking the position where the script code is to be inserted.
  • the service controller 220 captures the web page and executes the script code inserted in the web page when generating the captured image, and displays the designated message on the web page in the main window as the script code is executed. After redefining the specified object on the page, you capture a web page to create a capture image.
  • the designated message may be at least one of an alert message, a confirmation message, and a prompt message.
  • the service controller 220 may self-open the property information of a specified object in the web page, for example, an open method property information of a window object or a moving tag (HTML ⁇ a> tag) object. After redefining, you can capture a web page and generate a captured image.
  • the service controller 220 may include a script processing module 220a and an encoding module 220b.
  • the script processing module 220a may play a role of inserting a predefined cloud streaming script code into a web page provided from the content providing apparatus 200 as described above.
  • the encoding module 220b captures an execution screen of the web page on which the script code is inserted, generates a captured image, encodes the generated code, and provides the terminal 100 to the terminal 100 through the service communication unit 210. You can control the whole process. In this case, the plurality of web pages may be provided to the terminal 100 in a streaming manner.
  • the service storage unit 230 stores all programs according to the execution of the function of the cloud service apparatus 200.
  • the service storage unit 230 according to the present invention stores the various information according to the service provided to the terminal 100.
  • the service storage unit 230 may store and manage the script code 230a for cloud streaming.
  • the service storage unit 230 of the present invention may be a storage located in the cloud service device 20, a data storage server that is located outside the cloud service device 200 to enable data transmission and reception with the cloud service device 200 May be
  • the cloud service apparatus 200 has the same configuration as a conventional web server or a network server in hardware.
  • software includes program modules implemented through languages such as C, C ++, Java, Visual Basic, Visual C, and the like.
  • Cloud service device 200 may be implemented in the form of a web server or a network server as described above, the web server is generally connected to an unspecified number of clients and / or other servers through an open computer network, such as the Internet, It refers to a computer system that receives a request for performing a task or a task of a client or another web server, and derives and provides a work result thereof, and a computer software (web server program) installed therefor.
  • web server program web server program
  • the cloud service device 200 uses a web server program that is variously provided according to operating systems such as DOS, Windows, Linux, UNIX, Macintosh, and the like for general server hardware. It can be implemented by using, and representative examples may be a website (Website) used in the Windows environment, Internet Information Server (IIS) and CERN, NCSA, APPACH used in the Unix environment.
  • the cloud service device 200 may classify service subscription information, store and manage the service subscription information in a member database, and the database may be implemented inside or outside the cloud service device 200.
  • the cloud service device 200 is a virtual machine (VM) independent of a plurality of users on the same hardware platform connected to one supercomputer or several computers to operate as one computer. It may be implemented in the form of a distributed computing system to provide a.
  • VM virtual machine
  • the memory mounted on the terminal 100 or the cloud service device 200 stores information in the device.
  • the memory is a computer readable medium.
  • the memory may be a volatile memory unit, and for other implementations, the memory may be a nonvolatile memory unit.
  • the storage device is a computer readable medium.
  • the storage device may include, for example, a hard disk device, an optical disk device, or some other mass storage device.
  • a ' ⁇ module' refers to a software component, ' ⁇ module' plays a role.
  • a ' ⁇ module' may include components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and subs. Routines, segments of program code, drivers, data, databases, data structures, tables, arrays, and variables.
  • the functions provided in the components and ' ⁇ modules' may be combined into a smaller number of components and ' ⁇ modules' or further separated into additional components and ' ⁇ modules'.
  • the specification and drawings describe exemplary device configurations, the functional operations and subject matter implementations described herein may be embodied in other types of digital electronic circuitry, or modified from the structures and structural equivalents disclosed herein. It may be implemented in computer software, firmware or hardware, including, or a combination of one or more of them. Implementations of the subject matter described herein relate to one or more computer program products, ie computer program instructions encoded on a program storage medium of tangible type for controlling or by the operation of an apparatus according to the invention. It may be implemented as the above module.
  • the computer readable medium may be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of materials affecting a machine readable propagated signal, or a combination of one or more thereof.
  • FIG. 5 is a flowchart illustrating a cloud streaming service providing method according to an exemplary embodiment of the present invention.
  • the cloud service device 200 first requests a web page provided by the content providing device 400 from the terminal 100. Receive (S101).
  • the cloud service apparatus 200 executes the web page in which the script code is inserted to complete loading, captures an execution screen of the web page, generates a captured image, and then encodes the generated capture image (S105). In operation S107, the process provided to the terminal 100 is performed.
  • FIG. 6 is a data flowchart illustrating a cloud streaming service providing method according to an embodiment of the present invention in more detail.
  • FIG. 7 is a code example for supporting the cloud streaming service providing method according to an embodiment of the present invention.
  • 8 illustrates an example of script code for cloud streaming according to an embodiment of the present invention.
  • the terminal 100 requests the web service provided by the content providing device 400 to the cloud service device 200. It is made (S201).
  • the above process is described by taking the cloud service device 200 in connection with an example, but the present invention is not limited thereto.
  • the cloud service device 200 and the content providing device 400 are in a previously agreed state.
  • the cloud service apparatus 200 may monitor and detect a request of the terminal 100 provided to the content providing apparatus 400.
  • the cloud service apparatus 200 may request a corresponding web page from the content providing apparatus 400 (S203), and receive it (S205).
  • the process of the cloud service device 200 receiving a web page from the content providing device 400 means a loading process, while the web page is loaded, the cloud service device 200 is a JavaScript code area on the web page.
  • Search (S207) determine whether or not the script code for cloud streaming is already defined in the region is inserted (S207), if it is determined that it is not inserted (S211), check the script code insertion position to define The script code for cloud streaming is inserted (S215).
  • the cloud service device 200 executes the inserted script code (S219).
  • the above-described process may also be inserted into a web page provided from the content providing device 400 in the form of a code.
  • a code example for checking whether the above script code is inserted, checking the script code insertion position, and executing the script code is shown in FIG. 7.
  • the code example illustrated in FIG. 8 means a script code for cloud streaming which is predefined.
  • the web page may perform a process of redefining the designated object such that the specified message is displayed in the main window at the same time as loading (S219).
  • the specified message may be any one of an alert message, a confirmation message, and a prompt message, and a pop-up window generated according to the designated message is not activated and is designated to be displayed on the main window.
  • a pop-up window generated according to the designated message is not activated and is designated to be displayed on the main window.
  • an open method of a window object is controlled to be overridden to self, or an attribute of an HTML ⁇ a> tag is overridden to self.
  • the cloud service apparatus 200 When the loading is completed, the cloud service apparatus 200 generates a captured image by capturing an execution screen of the web page, encodes it (S221), and transmits the encoded web page to the terminal 100 (S223). .
  • the terminal 100 may decode and output the same, and when a message activation event specified in the corresponding web page occurs (S225), that is, when an input event of a button for which a warning message pop-up window is activated is generated, the cloud 100 After transmitting to the service device 200, the cloud service device 200 is processed so that the processing result for the input event is displayed in the main window, that is to say that the warning message pop-up window is displayed in the main window rather than in the form of a pop-up window ( S229), a screen image of the processing result is generated, and a captured image is generated and encoded (S231) and provided to the terminal 100 (S233), and the terminal 100 outputs the provided web page (S235). .
  • the above-described process may be performed in real time, and the encoded web page provided by the cloud service apparatus 200 to the terminal 100 may be provided in real time, that is, in a streaming manner.
  • the cloud streaming service providing method according to an embodiment of the present invention has been described above.
  • a computer-readable medium suitable for storing computer program instructions and data may include, for example, a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, and a compact disk read only memory (CD-ROM).
  • Optical media such as Digital Video Disk (DVD), magneto-optical media such as Floppy Disk, and ROM (Read Only Memory), RAM
  • semiconductor memory such as a random access memory, a flash memory, an erasable programmable ROM (EPROM), and an electrically erasable programmable ROM (EEPROM).
  • the processor and memory can be supplemented by or integrated with special purpose logic circuitry.
  • Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.
  • Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the present invention relates to a method for providing a cloud streaming service, an apparatus and a system therefor, and a computer readable recording medium recording script code for cloud streaming therefor.
  • the web page may be processed to provide a cloud streaming service.
  • the present invention by inserting and loading the predefined cloud streaming script code on the web page when loading the web page, it is easy to handle pop-up window events, such as impossible to provide cloud streaming services, without any modification to the inside of the browser engine It becomes possible.
  • the present invention has industrial applicability because the present invention is not only sufficiently commercially available or commercially viable, but also practically clearly implemented.

Abstract

본 발명은 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것으로서, 웹 페이지 로딩 시 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있다. 이를 통해, 브라우저 엔진 내부에 대한 별다른 수정 없이, 클라우드 스트리밍 서비스 제공이 불가능한 팝업 창 이벤트 등을 용이하게 처리할 수 있게 된다.

Description

클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
본 발명은 클라우드 스트리밍 서비스에 관한 것으로서, 웹 페이지 로딩 시 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것이다.
컴퓨터 네트워크의 기술 발전에 따라, 각 단말기의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은 네트워크상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다.
클라우드 컴퓨팅이란, 인터넷과 같은 정보 통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스'라고 정의할 수 있다. 클라우드 컴퓨팅 환경에서, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들에게 필요로 하는 서비스를 제공한다. 서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(OS), 보안(Security) 등의 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상 공간상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용한다. 다시 말하면, 클라우드 컴퓨팅은 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어/소프트웨어 등의 컴퓨팅 자원을 자신이 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술을 말한다.
이러한 클라우드 컴퓨팅에 따르면, 사용자는 네트워크 접속과 기본적인 연산 기능만을 수행하는 단말기를 통해 클라우드 망에 접속하여 대용량의 저장 장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 다양한 서비스를 제공받을 수 있다.
클라우드 스트리밍 서비스는 이러한 클라우드 컴퓨팅 환경을 기반으로 한 서비스로서, 서버 자원을 활용하여 웹 어플리케이션 등의 컨텐츠를 서버측에서 실행한 후, 그 실행 화면을 GUI 화면으로 캡쳐 및 인코딩하여 실시간으로 단말로 전송하고, 단말 측에서는 입력 및 출력만 이루지도록 함으로써, 단말 사양에 관계없이 고성능 컴퓨팅 리소스가 요구되는 어플리케이션이나 컨텐츠를 사용자가 이용할 수 있도록 하는 것이다.
현재까지의 클라우드 스트리밍 서비스는 브라우저 동작 중 새창에서 열기, 팝업 윈도우 표시 등 메인 윈도우 외에 별도의 윈도우에서의 서비스 제공이 불가능하다. 이를 해결하기 위해서는 브라우저 자체를 별도로 개발해야 하나, 이는 많은 시간과 비용을 야기한다는 문제점이 있다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 웹 페이지 로딩 시 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체를 제공하는 데 목적이 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 서비스 장치는 하나 이상의 단말 및 웹 페이지를 제공하는 컨텐츠 제공 장치와 정보를 송수신하는 서비스 통신부와, 기 정의된 클라우드 스트리밍용 스크립트 코드를 저장하는 서비스 저장부 및 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 서비스 통신부를 통해 수신됨에 따라, 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 서비스 저장부에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 스크립트 코드가 삽입된 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성한 후, 캡쳐 이미지를 인코딩하여 서비스 통신부를 단말로 제공되도록 제어하는 서비스 제어부를 포함하여 구성될 수 있다.
이때, 본 발명에 따른 서비스 제어부는 웹 페이지에서의 자바 스크립트 코드 영역을 검색한 후, 검색된 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하여 삽입되어 있지 않을 경우, 스크립트 코드가 삽입될 위치를 확인한 후, 확인된 위치에 스크립트 코드를 삽입할 수 있다.
또한, 본 발명에 따른, 서비스 제어부는 스크립트 코드가 삽입된 웹 페이지를 캡쳐하여 캡쳐 이미지 생성 시, 웹 페이지에 삽입된 스크립트 코드를 실행하고, 스크립트 코드가 실행됨에 따라 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 웹 페이지에서의 지정된 객체를 재정의한 후 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성할 수 있다.
여기서, 본 발명에 따른 지정된 메시지는 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지일 수 있다.
또한, 본 발명에 따른 서비스 제어부는 스크립트 코드가 실행됨에 따라 웹 페이지에서의 윈도우 객체의 오픈 메소드 속성 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의할 수 있다.
또한, 본 발명에 따른 서비스 제어부는 웹 페이지에서의 지정된 메시지가 메인 윈도우 내에서의 해당 위치에 삽입 포함되도록 웹 페이지에서의 지정된 객체를 재정의할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 시스템은 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 통해 수신됨에 따라, 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 스크립트 코드가 삽입된 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하여 인코딩한 후, 단말로 제공되도록 제어하는 클라우드 서비스 장치 및 클라우드 서비스 장치로 컨텐츠 제공 장치가 제공하는 웹 페이지를 요청하고, 이에 대한 응답으로 클라우드 서비스 장치로부터 렌더링된 웹 페이지를 수신하는 단말을 포함하여 구성될 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은 클라우드 서비스 장치가 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청을 수신하는 단계와, 클라우드 서비스 장치가 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하는 단계와, 클라우드 서비스 장치가 스크립트 코드가 삽입된 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하는 단계 및 클라우드 서비스 장치가 캡쳐 이미지를 인코딩하여 단말로 제공하는 단계을 포함하여 이뤄질 수 있다.
이때, 본 발명에 따른 웹 페이지의 요청을 수신하는 단계 이후에, 클라우드 서비스 장치가 컨텐츠 제공 장치에 접속하여, 해당 웹 페이지를 수신하는 단계를 더 포함하여 이뤄질 수 있다.
또한, 본 발명에 따른 스크립트 코드를 삽입하는 단계는 클라우드 서비스 장치가 웹 페이지에서의 자바 스크립트 코드 영역을 검색하는 단계와, 클라우드 서비스 장치가 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하는 단계와, 삽입되어 있지 않을 경우, 클라우드 서비스 장치가 자바 스크립트 코드 영역에서 스크립트 코드가 삽입될 위치를 확인하는 단계 및 클라우드 서비스 장치가 확인된 위치에 스크립트 코드를 삽입하는 단계를 포함하여 이뤄질 수 있다.
또한, 본 발명에 따른 렌더링하는 단계는 클라우드 서비스 장치가 상기 웹 페이지에 삽입된 스크립트 코드를 실행하는 단계와, 클라우드 서비스 장치가 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 웹 페이지에서의 지정된 객체를 재정의하는 단계 및 클라우드 서비스 장치가 재정의된 웹 페이지의 실행에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하는 단계;를 포함하여 이뤄질 수 있다.
여기서, 본 발명에 따른 재정의하는 단계는 클라우드 서비스 장치가 웹 페이지에서의 윈도우 객체의 오픈 메소드 속성 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의할 수 있다.
또한, 본 발명에 따른, 단말로 제공하는 단계 이후에, 클라우드 서비스 장치가 단말로부터 지정된 메시지에 대한 활성화 이벤트가 수신되면, 재정의된 객체에 따라 지정된 메시지를 메인 윈도우에서 표시한 후 상기 표시에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 캡쳐 이미지를 인코딩하여 단말로 제공할 수 있다.
추가로 본 발명은 상술한 바와 같은 클라우드 스트리밍 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체는 삽입된 웹 페이지에서 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지가 발생되는 지 여부를 판단하는 기능 및 메시지의 발생에 따라 생성되는 팝업 윈도우를 메인 윈도우에서 표시되도록 처리하는 기능을 포함하여 기록할 수 있다.
본 발명의 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 의하면, 웹 페이지 로딩 시 상기 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 브라우저 엔진 내부에 대한 별다른 수정 없이, 클라우드 스트리밍 서비스 제공이 불가능한 팝업 창 이벤트 등을 용이하게 처리할 수 있게 된다.
도 1은 본 발명의 실시 예에 따른 클라우드 서비스 시스템의 개략적인 구성도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 서비스 장치의 주요 구성을 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 웹 페이지의 소스 파일 구조를 도시한 블록도이다.
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 지원하는 코드 예를 도시한 것이다.
도 8은 본 발명의 실시 예에 따른 클라우드 스트리밍용 스크립트 코드의 예를 도시한 것이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
설명에 앞서, 본 발명은 클라우드 컴퓨팅 환경을 기반으로 화면 가상화를 통해 사용자가 단말의 성능에 관계 없이 소정의 서비스 혹은 기능을 이용할 수 있도록 하는 클라우드 스트리밍 서비스에 관한 것이다. 특히, 본 발명은 컨텐츠 제공 장치가 제공하는 웹 페이지(또는 다수의 웹 페이지로 구성되는 웹 어플리케이션)을 클라우드 스트리밍용 서비스에 적합하도록 변환한 후 단말로 제공하는 기능을 포함할 수 있다.
먼저, 본 발명의 실시 예에 따른 클라우드 서비스 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 클라우드 서비스 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 클라우드 서비스 시스템(1000)은 단말(100) 및 클라우드 서비스 장치(200), 그리고 상기 단말(100) 및 클라우드 서비스 장치(200) 간의 정보의 송수신을 지원하는 통신망(300)을 포함하여 구성될 수 있다. 더하여, 본 발명의 실시 예에 따른 클라우드 서비스 시스템(1000)은 다수의 컨텐츠 제공 장치(400)와 연동하여 동작할 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 단말(100)은 사용자의 조작에 따라 통신망(300)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 이러한 단말(100)은 통신망(300)을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 클라우드 서비스 장치(200)와 다양한 정보를 송수신할 수 있다. 이를 위한 본 발명의 단말(100)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
특히, 본 발명의 실시 예에 따른 단말(100)은 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400) 중 하나 이상으로 소정의 서비스 혹은 기능을 요청하고, 이에 대응하여 상기 클라우드 서비스 장치(200)로부터 스트리밍 데이터를 수신하여 재생한 후 출력할 수 있다. 이러한 단말(100)은 기본적으로 인코딩된 스트리밍 데이터를 수신하여 디코딩하는 기능을 구비할 수 있으며, 여기에 더하여 디코딩된 비디오 데이터를 렌더링하여 출력하는 기능을 더 포함할 수 있다.
이러한 본 발명의 실시 예에 따른 단말(100)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(100)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
또한, 본 발명의 실시 예에 따른 단말(100)은 디스플레이 기능을 보유한 장치와, 디스플레이 기능을 보유하지 않은 장치로 구분될 수 있으며, 상기 디스플레이 기능을 보유하지 않은 장치는, TV, 모니터, 프로젝터와 같은 다른 영상 출력 장치(도시생략)과 연결되어, 상기 영상 출력 장치로 데이터를 전송함으로써, 상기 영상 출력 장치를 통해서 서비스 화면을 출력할 수 있다.
이러한 본 발명의 단말(100)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 단말(100)로 사용될 수도 있으며, 통신망(300)을 통해 클라우드 서비스 장치(200)가 제공하는 스트리밍 데이터를 수신할 수 있는 장치라면 그 어떠한 장치도 본 발명의 단말(100)로 적용 가능하다.
클라우드 서비스 장치(200)는 본 발명의 클라우드 스트리밍 서비스를 제공하는 구성으로, 화면 가상화 기능을 통해 단말(100)에서 요청된 서비스 혹은 기능을 단말(100)로 제공하는 역할을 수행한다. 여기서, 화면 가상화는 단말(100)에서 실행된 것과 같이 특정 어플리케이션의 실행 화면을 통신망(300)을 통해 연결된 서버 측, 즉, 클라우드 서비스 장치(200)에서 구현하여 단말(100)에 제공하는 것을 의미한다. 이를 위하여, 클라우드 서비스 장치(200)는 자신이 보유한 자원, 예를 들어, 사용자 인터페이스(UI) 어플리케이션, 게임 어플리케이션 등 다양한 어플리케이션을 실행하고, 그 실행 화면을 캡쳐하여 캡쳐 이미지를 생성한 후, 이를 인코딩하여 스트리밍 방식으로 단말(100)로 전송한다. 이때, 클라우드 서비스 장치(200)는 어플리케이션을 단말(100)로부터 전송되는 사용자 입력에 따라서 구동시키며, 변경된 실행 화면을 스트리밍 방식으로 단말(100)로 전송함으로써, 단말(100)의 사용자는 자신의 단말(100)에서 직접 어플리케이션을 실행하는 것과 같은 사용자 경험을 제공받을 수 있다.
보다 구체적인 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multi-threaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
마지막으로, 컨텐츠 제공 장치(400)는 클라우드 서비스 장치(200)와는 별도로 소정의 컨텐츠를 제공하는 장치로서, 예컨대, 단말(100)이 요청한 웹 페이지를 클라우드 서비스 장치(200)를 통해 제공하는 역할을 수행할 수 있다. 또한, 컨텐츠 제공 장치(400)는 다수의 웹 페이지의 집합인 웹 어플리케이션을 미리 클라우드 서비스 장치(200)로 제공할 수도 있다. 또한, 컨텐츠 제공 장치(400)는 웹 페이지 외에, 실시간 방송 혹은 VOD와 같은 동영상으로 이루어진 컨텐츠 또는 이러한 컨텐츠를 포함하는 웹 페이지를 클라우드 서비스 장치(200)와 연동하여 단말(100)로 제공할 수도 있다. 이러한 컨텐츠 제공 장치(400)는 클라우드 서비스 장치(200)와는 다른 주체(서비스 제공자)에 의해서 운영될 수 있다. 구체적으로, 컨텐츠 제공 장치(400)는 IPTV Head-End system 또는 케이블 TV의 QAM Transmitter 등이 될 수 있다.
아울러, 본 발명의 실시 예에 따른 통신망(300)은 단말(100)과 클라우드 서비스 장치(200) 간, 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400) 간, 단말(100)과 컨텐츠 제공 장치(400) 사이를 연결하여, 데이터를 전달하기 위한 구성으로서, 다양한 형태의 통신망으로 구현될 수 있다.
예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수 있다. 또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
또한, 단말(100)과 클라우드 서비스 장치(200), 단말(100)과 컨텐츠 제공 장치(400), 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400) 각각은 서로 다른 통신매체 혹은 통신 방식으로 연결될 수 있다. 예를 들어, 단말(100)과 클라우드 서비스 장치(200), 단말(100)과 컨텐츠 제공 장치(400)는 공용 통신망으로 연결되고, 컨텐츠 제공 장치(400)와 클라우드 서비스 장치(300)는 전용 통신망을 통해 연결될 수 있다.
본 발명은 상술한 단말(100)과 클라우드 스트리밍 장치(200)와 컨텐츠 제공 장치(400)와의 연동을 통해, 컨텐츠 제공 장치(400)로부터 제공되는 컨텐츠 데이터를 클라우드 서비스 장치(200)에서 제공하는 컨텐츠 데이터와 융합하여, 단말(100)로 제공할 수 있다. 컨텐츠 간의 융합은, 예를 들어, 컨텐츠 제공 장치(400)가 제공하는 실시간 방송 또는 VOD의 비디오 영상에, 클라우드 스트리밍 장치(200)가 제공하는 사용자 조작을 위한 사용자 인터페이스 어플리케이션의 융합이 될 수 있다. 그러나, 상술한 예는 단순한 예시에 불과하며, 본 발명에 따른 클라우드 스트리밍 서비스에 따르면 다양한 종류의 서로 다른 컨텐츠 간의 융합이 가능해진다.
이하에서는 설명의 편의를 위해, 컨텐츠 제공 장치(400)는 클라우드 서비스 장치(200)를 통해 단말(100)로 웹 페이지를 제공하는 구성을 중심으로 설명하도록 한다.
이하, 본 발명의 실시 예에 따른 단말(100)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시 예에 단말(100)은 통신부(110), 입력부(120), 제어부(130), 저장부(140) 및 표시부(150)를 포함하여 구성될 수 있다.
통신부(110)는 통신망(400)을 통해 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300) 중 하나 이상에 접속하여, 클라우드 스트리밍 서비스와 관련된 데이터를 송수신하기 위한 구성이다. 보다 구체적으로, 통신부(110)는 클라우드 서비스 장치(200)로 웹 페이지를 요청하고, 이에 따라 웹 페이지에 대응하여 캡쳐되어 인코딩된 이미지를 스트리밍 방식으로 클라우드 서비스 장치(200)로부터 수신할 수 있다.
이러한 통신부(110)는 단말(100)이 접속한 통신망(400)의 종류에 대응하여 데이터를 송수신할 수 있도록 다양한 방식의 통신 모듈로 구현될 수 있다. 예를 들어, 통신부(110)는 WCDMA, LTE, LTE-A 등의 이동통신망에 접속하여 데이터를 송수신하기 위한 이동통신 모듈, TCP/IP 기반의 유선 인터넷과 같은 유선 통신망과 접속하여 유선 통신망을 통해서 데이터를 송수신하기 위한 유선 통신 모듈, Wi-Fi 등의 무선 통신 기술을 통해 통신망(400)에 접속하여 데이터를 송수신하기 위한 무선 통신 모듈, 블루투스나 NFC(Near Field Communication)과 같은 근거리 통신 기술을 통해서 데이터를 송수신하는 근거리 통신 모듈 등 하나 이상의 서로 다른 통신 모듈을 포함할 수 있다.
통신부(110)는 이러한 하나 이상의 통신 모듈을 구비함으로써, 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(300)에 대하여 서로 다른 경로를 통해서 데이터를 송수신할 수 있다.
입력부(120)는 사용자로부터 숫자 및 문자 정보 등의 다양한 정보를 입력 받기 위한 것으로서, 사용자 조작에 따라서 단말(100)에 대한 각종 기능을 설정 및 제어와 관련된 사용자 입력 신호를 생성하여 제어부(130)로 전달한다. 특히, 본 발명의 입력부(120)는 사용자가 클라우드 스트리밍 서비스를 요청할 수 있도록 지원한다.
이러한, 입력부(120)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 또는 음성 입력 수단 중 하나 이상을 포함하여 구현될 수 있다. 상기 입력부(120)에는 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다. 이때, 입력부(120)가 터치스크린의 형태로 구성될 경우, 입력 기능과 표시 기능을 동시에 수행할 수 있다.
제어부(130)는 본 발명에 따른 단말(100)의 동작 전반을 제어하기 위한 것으로서, 기본적으로, 상기 단말(100)를 구성하는 각 구성 요소의 전원 공급 및 기능 수행을 위한 제어를 수행한다. 이때 제어부(130)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)를 결합으로 구현될 수 있다. 즉, 제어부(130)는 단말(100)의 전원 온 시, OS 프로그램을 로딩하여 실행함으로써, 다양한 응용 프로그램들의 실행을 위한 운영체제를 구축하고, 이를 기반으로 하나 이상의 응용 프로그램을 실행하거나, 구성 요소들의 기능을 제어할 수 있다.
특히, 본 발명에 따른 단말(100)의 제어부(130)는 클라우드 스트리밍 서비스와 관련된 사용자 요청에 대응하여 상기 통신부(110)를 통해서 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300) 중 하나 이상에 접속하여 서비스를 요청한다. 예컨대, 제어부(130)는 컨텐츠 제공 장치(400)가 제공하는 웹 페이지를 클라우드 서비스 장치(200)로 요청할 수 있으며, 클라우드 서비스 장치(200)로부터 제공되는 데이터를 디코딩하여 출력하는 과정을 지원할 수 있다. 또한, 별도의 영상 출력 장치(미도시)와 연결된 경우, 상기 영상 출력 장치(미도시)로 디코딩된 데이터를 전달하는 과정을 지원할 수도 있다.
상술한 과정을 수행하기 위해 제어부(130)는 디코딩 모듈(130a)을 포함하여 구성될 수 있다. 더하여, 도면에는 도시하지 않았으나, 스트리밍 데이터 융합을 위한 믹싱 모듈(미도시), 데이터 출력을 위한 렌더링 모듈(미도시) 등을 더 포함하여 구성될 수도 있다.
다음으로, 저장부(140)는 본 발명의 실시 예에 따른 단말(100)의 동작에 필요한 프로그램 및 데이터를 저장한다. 구체적으로, 상기 저장부(140)은 제어부(130)에 의해 로딩되어 실행될 OS 프로그램 및 하나 이상의 응용 프로그램을 저장하고, 아울러, 상기 하나 이상의 응용 프로그램에 의해 생성되거나 이용될 데이터를 더 저장할 수 있다. 이러한, 저장부(140)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(150)는 단말(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(150)는 상기 제어부(130)의 제어에 따라서 두 컨텐츠가 융합된 컨텐츠를 디스플레이할 수 있다. 이러한 표시부(150)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구현될 수 있다.
이와 같이, 도 2를 통해 단말(100)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말(100)이 구현될 수도 있다. 예컨대, 단말(100)은 전기적인 신호인 음원을 아날로그 신호로 변환하여 출력하는 음원 출력부(미도시)를 더 포함하여 구성될 수 있다. 또한, 외부의 다른 장치와 연결하여 신호를 전달할 수 있는 접속 인터페이스부(미도시)를 더 포함하여 구성될 수 있다. 이때, 접속 인터페이스부(미도시)는 TV, 모니터, 프로젝터와 같은 영상 출력 장치(미도시)와 접속되어 영상 및 음성 신호 및 제어 신호를 입출력할 수 있도록 한다. 이때의 접속 인터페이스부(미도시)는 HDMI(High-Definition Multimedia Interface: 고선명 멀티미디어 인터페이스)를 포함하는 다양한 AV 인터페이스가 될 수 있다.
또한, 접속 인터페이스부(미도시) 또는 표시부(150)는 선택적으로 단말(100)에 구비될 수 있다. 예컨대, 단말(100)이 셋탑박스로 구현되는 경우, 단말(100)은 표시부(150) 대신 접속 인터페이스부(미도시)를 구비할 수 있으며, 스마트폰, 태블릿 PC로 구현되는 경우, 접속 인터페이스부(미도시) 대신 표시부(150)가 구비될 수 있다.
또한, 도 2를 통해 도시된 단말(100)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다.
이하, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 서비스 장치의 주요 구성을 도시한 블록도이며, 도 4는 본 발명의 실시 예에 따른 웹 페이지의 소스 파일 구조를 도시한 블록도이다.
먼저, 도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 서비스 통신부(210), 서비스 제어부(220) 및 서비스 저장부(230)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저 서비스 통신부(210)는 하나 이상의 단말(100) 및 컨텐츠 제공 장치(400)와 정보를 송수신할 수 있다. 이를 위해, 서비스 통신부(210)는 단말 통신 모듈(210a) 및 장치 통신 모듈(210b)을 포함하여 구성될 수 있으며, 단말 통신 모듈(210a)은 단말(100)과의 정보의 송수신을 지원하며, 장치 통신 모듈(210b)은 컨텐츠 제공 장치(400)와의 정보의 송수신을 지원한다.
서비스 제어부(220)는 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 전반적인 제어를 수행하는 것으로, 서비스 통신부(210)를 통해 단말(100)로부터 컨텐츠 제공 장치(400)가 제공하는 웹 페이지의 요청을 수신한다. 그리고, 서비스 통신부(210)를 통해 컨텐츠 제공 장치(400)로 웹 페이지를 요청할 수 있다. 이에 따라 서비스 통신부(210)를 통해 컨텐츠 제공 장치(400)로부터 웹 페이지가 수신되면, 수신된 웹 페이지에 대한 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩한 후 단말(100)로 제공하는 과정 전반을 지원하게 된다.
그러나, 웹 페이지가 클라우드 스트리밍 서비스 용으로 정의되지 않은 웹 페이지일 경우, 웹 페이지에 팝업 윈도우 활성화 이벤트 등이 존재하는 경우, 이에 따른 정상적은 클라우드 스트리밍 서비스 제공이 어렵다는 문제점이 있다. 이를 해결하기 위해, 본 발명의 서비스 제어부(220)는 컨텐츠 제공 장치(400)로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 스크립트 코드가 삽입된 웹 페이지를 실행하여, 실행에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩하여 서비스 통신부(210)를 통해 단말(100)로 제공하게 된다.
본 발명의 실시 예에 따른 1 페이지의 웹 페이지를 의미하는 것으로, 다수 개의 웹 페이지의 집합을 웹 어플리케이션으로 지칭할 수 있다. 이러한 웹 페이지는 마크업 언어(Markup Language), 스타일시트(Style Sheets), 및 스크립트 언어(scripting language) 등의 웹 코드를 이용하여 구현될 수 있다. 이중 스타일시트 및 스크립트 언어는 선택적으로 생략 가능하다. 또한, 마크업 언어로는 HTML(Hypertext Markup Language), XHTML(extensible Hypertext Markup Language), XML(Extensible Markup Language) 등을 예시할 수 있으며, 이러한 마크업 언어는 다수의 태그(tag)와 각 태그의 속성 (attribute) 및 일반적인 텍스트로 이루어진다. 스타일시트는 사용자가 정의한 디자인 속성, 즉, 스타일을 기술하기 위한 언어로서, 태그, 속성, 및 텍스트에 의해 보여지는 페이지의 글꼴, 크기, 색상, 레이아웃 등의 스타일을 기술한다. 이러한 스타일시트를 사용한 페이지는 다른 화면 해상도를 가지는 표시 장치와 다른 종류의 브라우저에서도 스타일시트에 기술한 바에 따라 동일하게 보여진다. 이 스타일시트는 대표적으로 CSS(Cascading Style Sheets)를 예시할 수 있다. 스크립트 언어는 프로그래밍 언어로서 웹 어플리케이션을 동적으로 제어하기 위한 언어이다. 대표적으로, 자바 스크립트(Java Script)를 예시할 수 있다. 또한 웹 페이지는 리소스 파일을 포함할 수 있다. 리소스 파일은 소스 파일을 기술하는 프로그래밍 언어를 통해 링크 태그를 이용하여 웹 페이지에 삽입될 수 있다. 이러한 리소스 파일은 바람직하게는 컨텐츠 제공 장치(400) 또는 웹 상의 일 디바이스 상에 저장될 수 있으며, 이 리소스 파일에 접근할 수 있는 주소(URL)는 상술한 마크업 언어를 이용하여 기술될 수 있다. 이러한 리소스 파일은 장면 기술(scene description), 비디오(video), 오디오(audio), 이미지(image), 폰트(font), 텍스트(text), 메타데이터(metadata) 및 스크립트(script) 파일 등을 예시할 수 있다. 리소스 파일(120)은 앞서 나열한 것 이외에도 다양한 종류가 존재할 수 있으며, 다양한 형식(format)의 파일이 될 수 있다.
더하여, 웹 페이지의 소스 파일 영역(500)은 도 4에 도시된 바와 같이, 자바 스크립트 코드 영역(501) 및 웹 디자인 코드 영역(502)을 포함하여 구성될 수 있다. 여기서, 자바 스크립트 코드 영역(501) 및 웹 디자인 코드 영역(502)은 뒤섞여 혼재될 수 있으나, 편의 상 이를 구분하도록 하며, 자바 스크립트 코드 영역(501)에 자바 스크립트 함수들을 정의하고, 이를 웹 디자인 코드 영역(502)에서 호출하여 적용하는 방식으로 동적인 요소가 부여된 웹 페이지의 구현이 가능하다.
본 발명의 서비스 제어부(220)는 컨텐츠 제공 장치(20)로부터 제공되는 웹 페이지에서 자바 스크립트 코드 영역을 검색한 후, 검색된 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하여, 삽입되어 있지 않을 경우, 스크립트 코드가 삽입될 위치를 확인한 후 확인된 위치에 스크립트 코드를 삽입하게 된다.
그리고, 서비스 제어부(220)는 상기 웹 페이지를 캡쳐하여 캡쳐 이미지 생성 시, 상기 웹 페이지에 삽입된 스크립트 코드를 실행하고, 스크립트 코드가 실행됨에 따라 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 웹 페이지에서의 지정된 객체를 재정의한 후, 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하게 된다.
이때, 지정된 메시지는 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지일 수 있다. 또한, 서비스 제어부(220)는 상기 웹 페이지에서의 지정된 객체, 예컨대 윈도우(window) 객체의 오픈(open) 메소드 속성 정보 또는 이동 태그(HTML <a> 태그) 객체의 속성 정보를 셀프(self)로 재정의한 후, 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성할 수 있다.
아울러, 본 발명의 실시 예에 따른 서비스 제어부(220)는 스크립트 처리 모듈(220a) 및 인코딩 모듈(220b)을 포함하여 구성될 수 있다. 스크립트 처리 모듈(220a)은 상술한 바와 같은 컨텐츠 제공 장치(200)로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하는 역할을 수행할 수 있다.
그리고, 인코딩 모듈(220b)은 상기 스크립트 코드가 삽입되어 실행된 상기 웹 페이지의 실행 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩한 후, 서비스 통신부(210)를 통해 단말(100)로 제공하는 과정 전반을 제어할 수 있다. 이때, 다수의 웹 페이지는 스트리밍 방식으로 단말(100)로 제공될 수 있다.
서비스 저장부(230)는 클라우드 서비스 장치(200)의 기능 실행에 따른 모든 프로그램을 저장한다. 특히, 본 발명에 따른 서비스 저장부(230)는 단말(100)로 서비스 제공에 따른 다양한 정보를 저장하게 된다. 예컨대, 서비스 저장부(230)는 기 정의된 클라우드 스트리밍용 스크립트 코드(230a)를 저장하고 관리할 수 있다.
이러한, 본 발명의 서비스 저장부(230)는 클라우드 서비스 장치(20) 내 위치하는 저장소일 수 있고, 클라우드 서비스 장치(200) 외부에 위치하여 클라우드 서비스 장치(200)와 데이터 송수신이 가능한 데이터 저장 서버가 될 수도 있다.
이상으로 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다.
클라우드 서비스 장치(200)는 전술한 바와 같이 웹서버 또는 네트워크 서버의 형태로 구현될 수 있으며, 웹서버는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 웹서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(웹서버 프로그램)를 뜻하는 것이다. 그러나, 전술한 웹서버 프로그램 이외에도, 웹서버 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 이러한 클라우드 서비스 장치(200)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH 등이 이용될 수 있다. 또한, 클라우드 서비스 장치(200)는 서비스 가입 정보를 분류하여 회원 데이터베이스(Database)에 저장시키고 관리할 수 있으며, 이러한 데이터베이스는 클라우드 서비스 장치(200)의 내부 또는 외부에 구현될 수 있다.
또한, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 하나의 슈퍼 컴퓨터 또는 여러 대의 컴퓨터가 하나의 컴퓨터처럼 작동하도록 연결된 동일한 하드웨어 플랫폼상에서 복수의 사용자에게 독립적인 가상 머신(Virtual Machine:VM)을 제공하는 분산 컴퓨팅 시스템의 형태로 구현될 수 있다.
한편, 단말(100) 또는 클라우드 서비스 장치(200)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 대해 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 1 및 도 5를 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은 먼저, 클라우드 서비스 장치(200)가 단말(100)로부터 컨텐츠 제공 장치(400)가 제공하는 웹 페이지의 요청을 수신한다(S101).
그리고, 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입한다(S103).
이후, 클라우드 서비스 장치(200)는 상기 스크립트 코드가 삽입된 웹 페이지를 실행하여 로딩을 완료하고, 웹 페이지의 실행 화면을 캡쳐하여 캡쳐 이미지를 생성한 후, 생성된 캡쳐 이미지를 인코딩하여(S105), 단말(100)로 제공되는 과정을 수행하게 된다(S107).
이하, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 데이터 흐름도이며, 도 7은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 지원하는 코드 예를 도시한 것이며, 도 8은 본 발명의 실시 예에 따른 클라우드 스트리밍용 스크립트 코드의 예를 도시한 것이다.
먼저, 도 6을 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은 먼저, 단말(100)이 클라우드 서비스 장치(200)로 컨텐츠 제공 장치(400)가 제공하는 웹 페이지의 제공을 요청하게 된다(S201).
본 발명의 실시 예에서는 상기 과정이, 클라우드 서비스 장치(200)를 연동하여 이뤄지는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400)가 미리 협약된 상태에서, 컨텐츠 제공 장치(400)로 제공되는 단말(100)의 요청을 클라우드 서비스 장치(200)가 모니터링하여 검출하여 이뤄질 수도 있다.
이후, 클라우드 서비스 장치(200)는 컨텐츠 제공 장치(400)로 해당 웹 페이지를 요청하고(S203), 이를 수신한 수 있다(S205).
여기서, 클라우드 서비스 장치(200)가 컨텐츠 제공 장치(400)로부터 웹 페이지를 수신 받는 과정은 로딩 과정을 의미하며, 웹 페이지가 로딩되는 동안, 클라우드 서비스 장치(200)는 웹 페이지에서 자바 스크립트 코드 영역을 검색하고(S207), 상기 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하고(S207), 삽입되지 않은 것으로 판단되면(S211), 스크립트 코드 삽입 위치를 확인하여 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하게 된다(S215).
이후에, 클라우드 서비스 장치(200)는 삽입된 스크립트 코드를 실행한다(S219).
상술한 과정 또한, 코드 형태로 컨텐츠 제공 장치(400)로부터 제공되는 웹 페이지에 삽입될 수 있다. 상술한 스크립트 코드가 삽입되어 있는 지 체크하는 과정, 스크립트 코드 삽입 위치를 확인하는 과정, 스크립트 코드를 실행하는 과정에 대한 코드 예는 도 7에 도시되어 있다.
또한, 도 8에 도시된 코드 예는 기 정의된 클라우드 스트리밍용 스크립트 코드를 의미한다. 이러한, 스크립트 코드가 웹 페이지에 삽입되어 실행되면, 웹 페이지는 로딩과 동시에 지정된 메시지가 메인 윈도우에서 표시되도록 지정된 객체를 재정의하는 과정을 수행할 수 있다(S219).
여기서, 지정된 메시지는 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 어느 하나가 될 수 있으며, 이러한 지정된 메시지에 따라 발생되는 팝업 윈도우가 활성화되지 않고, 메인 윈도우 상에서 표시되도록 지정된 객체, 예컨대 도 8에 도시된 바와 같이, 윈도우(window) 객체의 오픈(open) 메소드가 self로 재정의되도록 제어하거나, HTML의 <a> 태그의 속성이 self로 재정의되도록 제어하게 된다.
그리고, 로딩이 완료되면, 클라우드 서비스 장치(200)는 웹 페이지의 실행 화면을 캡쳐하여 캡쳐 이미지를 생성한 후 이를 인코딩하고(S221), 인코딩된 웹 페이지를 단말(100)로 전송한다(S223).
그리고, 단말(100)은 이를 디코딩하여 출력할 수 있으며, 해당 웹 페이지에서 지정된 메시지 활성화 이벤트가 발생되면(S225), 다시 말해, 경고 메시지 팝업 창 활성화가 설정된 버튼의 입력 이벤트가 발생되면, 이를 클라우드 서비스 장치(200)로 전송하고, 클라우드 서비스 장치(200)는 상기 입력 이벤트에 대한 처리 결과가 메인 윈도우에서 표시되도록, 다시 말해 경고 메시지 팝업 창이 팝업 창 형태가 아닌 메인 윈도우에서 표시되도록 처리한 후(S229), 처리 결과에 대한 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩하여(S231), 단말(100)로 제공하며(S233), 단말(100)은 제공된 웹 페이지를 출력하게 된다(S235).
상술한 과정은 실시간으로 이뤄질 수 있으며, 클라우드 서비스 장치(200)가 단말(100)로 제공하는 인코딩된 웹 페이지는 실시간, 즉 스트리밍 방식으로 제공될 수 있다.
이상으로 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 클라우드 스트리밍 서비스 제공 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것으로서, 웹 페이지 로딩 시 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있다. 본 발명에 의하면, 웹 페이지 로딩 시 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 브라우저 엔진 내부에 대한 별다른 수정 없이, 클라우드 스트리밍 서비스 제공이 불가능한 팝업 창 이벤트 등을 용이하게 처리할 수 있게 된다. 더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.

Claims (15)

  1. 하나 이상의 단말 및 웹 페이지를 제공하는 컨텐츠 제공 장치와 정보를 송수신하는 서비스 통신부;
    기 정의된 클라우드 스트리밍용 스크립트 코드를 저장하는 서비스 저장부; 및
    단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 상기 서비스 통신부를 통해 수신됨에 따라, 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 상기 서비스 저장부에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성한 후, 상기 캡쳐 이미지를 인코딩하여 상기 서비스 통신부를 상기 단말로 제공되도록 제어하는 서비스 제어부;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 장치.
  2. 제1 항에 있어서, 상기 서비스 제어부는
    상기 웹 페이지에서의 자바 스크립트 코드 영역을 검색한 후, 상기 검색된 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하여 삽입되어 있지 않을 경우, 상기 스크립트 코드가 삽입될 위치를 확인한 후, 상기 확인된 위치에 상기 스크립트 코드를 삽입하는 것을 특징으로 하는 클라우드 서비스 장치.
  3. 제1 항에 있어서, 상기 서비스 제어부는
    상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지 생성 시,
    상기 웹 페이지에 삽입된 스크립트 코드를 실행하고, 상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 상기 웹 페이지에서의 지정된 객체를 재정의한 후 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하는 것을 특징으로 하는 클라우드 서비스 장치.
  4. 제3 항에 있어서, 상기 지정된 메시지는
    경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지인 것을 특징으로 하는 클라우드 서비스 장치.
  5. 제3 항에 있어서, 상기 서비스 제어부는
    상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 윈도우 객체의 오픈 메소드 속성 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의하는 것을 특징으로 하는 클라우드 서비스 장치.
  6. 제3 항에 있어서, 상기 서비스 제어부는
    상기 웹 페이지에서의 지정된 메시지가 상기 메인 윈도우 내에서의 해당 위치에 삽입 포함되도록 상기 웹 페이지에서의 지정된 객체를 재정의하는 것을 특징으로 하는 클라우드 서비스 장치.
  7. 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 통해 수신됨에 따라, 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하여 인코딩한 후, 상기 단말로 제공되도록 제어하는 클라우드 서비스 장치; 및
    상기 클라우드 서비스 장치로 컨텐츠 제공 장치가 제공하는 웹 페이지를 요청하고, 이에 대한 응답으로 상기 클라우드 서비스 장치로부터 상기 인코딩된 웹 페이지를 수신하는 단말;
    을 포함하는 것을 특징으로 하는 클라우드 시스템.
  8. 클라우드 서비스 장치가 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청을 수신하는 단계;
    상기 클라우드 서비스 장치가 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하는 단계;
    상기 클라우드 서비스 장치가 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하는 단계; 및
    상기 클라우드 서비스 장치가 상기 캡쳐 이미지를 인코딩하여 상기 단말로 제공하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  9. 제8 항에 있어서, 상기 웹 페이지의 요청을 수신하는 단계 이후에,
    상기 클라우드 서비스 장치가 상기 컨텐츠 제공 장치에 접속하여, 해당 웹 페이지를 수신하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  10. 제8 항에 있어서, 상기 스크립트 코드를 삽입하는 단계는
    상기 클라우드 서비스 장치가 상기 웹 페이지에서의 자바 스크립트 코드 영역을 검색하는 단계;
    상기 클라우드 서비스 장치가 상기 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하는 단계;
    삽입되어 있지 않을 경우, 상기 클라우드 서비스 장치가 상기 자바 스크립트 코드 영역에서 상기 스크립트 코드가 삽입될 위치를 확인하는 단계; 및
    상기 클라우드 서비스 장치가 상기 확인된 위치에 상기 스크립트 코드를 삽입하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  11. 제8 항에 있어서, 상기 캡쳐 이미지를 생성하는 단계는
    상기 클라우드 서비스 장치가 상기 웹 페이지에 삽입된 스크립트 코드를 실행하는 단계;
    상기 클라우드 서비스 장치가 상기 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 상기 웹 페이지에서의 지정된 객체를 재정의하는 단계; 및
    상기 클라우드 서비스 장치가 상기 재정의된 웹 페이지의 실행에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  12. 제11 항에 있어서, 상기 재정의하는 단계는
    상기 클라우드 서비스 장치가 상기 웹 페이지에서의 윈도우 객체의 오픈 메소드 속성 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  13. 제11 항에 있어서, 상기 단말로 제공하는 단계 이후에,
    상기 클라우드 서비스 장치가 상기 단말로부터 상기 지정된 메시지에 대한 활성화 이벤트가 수신되면, 상기 재정의된 객체에 따라 상기 지정된 메시지를 메인 윈도우에서 표시한 후 상기 표시에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 상기 캡쳐 이미지를 인코딩하여 상기 단말로 제공하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  14. 제8 항 내지 제13 항 중 어느 하나의 항에 기재된 클라우드 스트리밍 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  15. 삽입된 웹 페이지에서 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지가 발생되는 지 여부를 판단하는 기능; 및
    상기 메시지의 발생에 따라 생성되는 팝업 윈도우를 메인 윈도우에서 표시되도록 처리하는 기능;
    을 포함하는 것을 특징으로 하는 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체.
PCT/KR2014/011749 2014-06-25 2014-12-03 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체 WO2015199293A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14895905.9A EP3163531B1 (en) 2014-06-25 2014-12-03 Method for providing cloud streaming service, device and system for same, and computer-readable recording medium having, recorded thereon, cloud streaming script code for same
JP2016570814A JP6445050B2 (ja) 2014-06-25 2014-12-03 クラウドストリーミングサービス提供方法、そのための装置及びシステム、並びにそのためのクラウドストリーミング用スクリプトコードを記録したコンピュータ読み取り可能な記録媒体
CN201480080199.1A CN106462911B (zh) 2014-06-25 2014-12-03 提供云流服务的方法及其装置和系统
US15/314,090 US10171542B2 (en) 2014-06-25 2014-12-03 Method for providing cloud streaming service, device and system for same, and computer-readable recording medium having, recorded thereon, cloud streaming script code for same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0077925 2014-06-25
KR1020140077925A KR102086731B1 (ko) 2014-06-25 2014-06-25 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체

Publications (1)

Publication Number Publication Date
WO2015199293A1 true WO2015199293A1 (ko) 2015-12-30

Family

ID=54938358

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/011749 WO2015199293A1 (ko) 2014-06-25 2014-12-03 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체

Country Status (6)

Country Link
US (1) US10171542B2 (ko)
EP (1) EP3163531B1 (ko)
JP (1) JP6445050B2 (ko)
KR (1) KR102086731B1 (ko)
CN (1) CN106462911B (ko)
WO (1) WO2015199293A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468293B2 (ja) * 2015-01-22 2019-02-13 富士通株式会社 アプリケーション機能拡張方法、アプリケーション機能拡張プログラム、及びアプリケーション機能拡張装置
AU2018303801B2 (en) * 2017-07-20 2024-01-18 Laava Id Pty Ltd Secure tags
CN112769877A (zh) * 2019-10-21 2021-05-07 比亚迪股份有限公司 团雾预警方法、云端服务器及车辆和介质
CN113703889A (zh) * 2021-08-10 2021-11-26 上海原圈网络科技有限公司 一种第三方平台显示页面停留功能扩展方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072113A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 클라우드 서비스 기반의 pc를 이용하여 메시지 서비스를 제공하는 시스템 및 방법
KR20130066069A (ko) * 2011-12-12 2013-06-20 주식회사 케이티 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템
KR20140022254A (ko) * 2012-08-13 2014-02-24 삼성전자주식회사 클라우드 서버를 이용하여 단말 장치에서 웹 인텐트 메시지 및 이벤트를 처리하는 방법 및 장치
KR20140051359A (ko) * 2011-07-27 2014-04-30 퀄컴 인코포레이티드 클라우드 컴퓨팅에 의해 향상된 웹 브라우징
KR20140076069A (ko) * 2012-12-12 2014-06-20 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 이동 방법, 시스템, 클라이언트 단말기 및 서비스장치

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191854A (ja) * 1993-12-27 1995-07-28 Canon Inc 複合周辺装置
US7281199B1 (en) * 1999-04-14 2007-10-09 Verizon Corporate Services Group Inc. Methods and systems for selection of multimedia presentations
US6895557B1 (en) * 1999-07-21 2005-05-17 Ipix Corporation Web-based media submission tool
JP2003281093A (ja) * 2002-03-26 2003-10-03 Rikogaku Shinkokai ブラウザにおけるリンク先情報の閲覧方法及び装置
US20150135214A1 (en) * 2002-05-10 2015-05-14 Convergent Media Solutions Llc Method and apparatus for browsing using alternative linkbases
US7269792B2 (en) * 2003-04-24 2007-09-11 International Business Machines Corporation System and method for generating high-function browser widgets with full addressability
US20060075088A1 (en) * 2004-09-24 2006-04-06 Ming Guo Method and System for Building a Client-Side Stateful Web Application
US8156176B2 (en) * 2005-04-20 2012-04-10 Say Media, Inc. Browser based multi-clip video editing
US20070180147A1 (en) 2006-02-01 2007-08-02 Connect It, Llc System for insertion of advertising content in user-requested internet web pages
US7941525B1 (en) * 2006-04-01 2011-05-10 ClickTale, Ltd. Method and system for monitoring an activity of a user
US8260845B1 (en) * 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US20090157727A1 (en) * 2007-12-18 2009-06-18 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Native Broadcast Support for Hypermedia Formats and/or Widgets
US8635701B2 (en) * 2008-03-02 2014-01-21 Yahoo! Inc. Secure browser-based applications
KR101021656B1 (ko) * 2008-03-24 2011-03-16 강민수 유무선 네트워크를 이용한 디지털 콘텐츠의 전달 과정에 참여하는 콘텐츠 신디케이션 시스템의 정보 처리 방법
US9723319B1 (en) * 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US8812959B2 (en) * 2009-06-30 2014-08-19 International Business Machines Corporation Method and system for delivering digital content
US9058489B2 (en) * 2010-01-25 2015-06-16 Samsung Electronics Co., Ltd. Marking documents with executable text for processing by computing systems
JP5413357B2 (ja) * 2010-11-30 2014-02-12 カシオ計算機株式会社 サーバ装置、シンクライアントシステムおよびプログラム
US8903897B2 (en) * 2011-07-08 2014-12-02 Google Inc. System and method for providing interactive content to non-native application environments
KR20130026609A (ko) 2011-08-18 2013-03-14 (주)필링크 멀티미디어 클라우드 시스템의 클라이언트에서 멀티미디어 클라우드 서비스 제공 장치 및 방법, 그리고 멀티미디어 클라우드 시스템의 소셜 네트워크 서비스 서버에서 멀티미디어 클라우드 서비스 제공 방법
EP2754004A4 (en) * 2011-09-08 2015-08-19 Double Verify Inc SYSTEM AND METHOD FOR IMPROVED INTERACTION BETWEEN AN IFRAME OR SITE AND AN EMBEDDED IFRAME FROM ANOTHER DOMAIN
US9270718B2 (en) * 2011-11-25 2016-02-23 Harry E Emerson, III Internet streaming and the presentation of dynamic content
US8972568B2 (en) * 2012-02-21 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Quantifying user quality of experience by passive monitoring
KR20140000373A (ko) * 2012-06-22 2014-01-03 에스코어 주식회사 컴파일된 자바스크립트 코드를 이용한 웹 페이지 표시 방법 및 장치
US9854280B2 (en) * 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
US9256691B2 (en) * 2012-07-10 2016-02-09 Recursive Labs, Inc. Systems and methods for enabling Internet co-browsing experience for multiple users
CN104704485B (zh) * 2012-07-19 2018-11-30 格兰斯电讯网络有限公司 一种在第二位置查看第一浏览器的内容的方法
US20140072223A1 (en) * 2012-09-13 2014-03-13 Koepics, Sl Embedding Media Content Within Image Files And Presenting Embedded Media In Conjunction With An Associated Image
US9411782B2 (en) 2012-11-09 2016-08-09 Adobe Systems Incorporated Real time web development testing and reporting system
US9549024B2 (en) * 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
KR20140076073A (ko) * 2012-12-12 2014-06-20 에스케이플래닛 주식회사 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
KR20140108494A (ko) 2013-02-28 2014-09-11 엘지전자 주식회사 멀티미디어 커머스 서비스를 위한 리모트 디바이스 및 이의 제어 방법
US9081473B2 (en) * 2013-03-14 2015-07-14 Google Inc. Indicating an object at a remote location
WO2014152865A1 (en) * 2013-03-14 2014-09-25 Citta LLC System and method of content stream utilization
KR20140117122A (ko) * 2013-03-26 2014-10-07 삼성전자주식회사 전자장치에서 동적으로 변하는 웹페이지 내용을 제어하는 방법 및 장치
US9292323B2 (en) * 2013-05-17 2016-03-22 Citrix Systems, Inc. Context aware virtual desktop
US20150244814A1 (en) * 2014-02-24 2015-08-27 Oracle International Corporation Adaptive co-browsing
US9576070B2 (en) * 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
FR3022657A1 (fr) * 2014-06-20 2015-12-25 Orange Procede de partage de navigation sur une page web affichee par un navigateur web

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072113A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 클라우드 서비스 기반의 pc를 이용하여 메시지 서비스를 제공하는 시스템 및 방법
KR20140051359A (ko) * 2011-07-27 2014-04-30 퀄컴 인코포레이티드 클라우드 컴퓨팅에 의해 향상된 웹 브라우징
KR20130066069A (ko) * 2011-12-12 2013-06-20 주식회사 케이티 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템
KR20140022254A (ko) * 2012-08-13 2014-02-24 삼성전자주식회사 클라우드 서버를 이용하여 단말 장치에서 웹 인텐트 메시지 및 이벤트를 처리하는 방법 및 장치
KR20140076069A (ko) * 2012-12-12 2014-06-20 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 이동 방법, 시스템, 클라이언트 단말기 및 서비스장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3163531A4 *

Also Published As

Publication number Publication date
US20170187777A1 (en) 2017-06-29
EP3163531A1 (en) 2017-05-03
JP2017527872A (ja) 2017-09-21
JP6445050B2 (ja) 2018-12-26
CN106462911B (zh) 2020-04-10
EP3163531B1 (en) 2019-01-30
KR20160000912A (ko) 2016-01-06
KR102086731B1 (ko) 2020-04-14
CN106462911A (zh) 2017-02-22
US10171542B2 (en) 2019-01-01
EP3163531A4 (en) 2017-12-06

Similar Documents

Publication Publication Date Title
WO2013022172A1 (en) Broadcast signal receiver, method for providing broadcast signal relation information, and server
WO2014175520A1 (en) Display apparatus for providing recommendation information and method thereof
WO2015199293A1 (ko) 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
US11861381B2 (en) Icon updating method and apparatus, and electronic device
WO2016126018A1 (ko) 메신저의 대화내용을 관리하는 방법과 시스템 및 기록 매체
JP2008226202A (ja) 情報処理装置および方法、並びにプログラム
WO2012105783A2 (en) E-book terminal, server, and service providing method
WO2014084490A1 (en) Method of executing application installed in outside server and image forming apparatus to perform the same
WO2017111313A1 (ko) 웹푸시를 이용한 푸시 서비스 제공 방법 및 이를 지원하는 전자 장치
WO2014129748A1 (en) Display apparatus and control method thereof
WO2014030869A1 (ko) 스마트 tv에서 디지털 사이니지 탬플릿을 편집하기 위한 시스템 및 그 방법
WO2015108282A1 (ko) 전자 장치의 광고 방법 및 그 전자 장치
CN111400581B (zh) 用于标注样本的系统、方法和装置
WO2014061859A1 (ko) 댓글을 분석하고 표시할 수 있는 방법, 이를 위한 장치 및 시스템
WO2015199299A1 (ko) 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치
WO2015130062A1 (ko) 클라우드 스트리밍 기반의 영상데이터 제공 방법, 이를 위한 장치 및 시스템
EP2681664A2 (en) Browsing method, device, and computer-readable storage medium
WO2014054906A1 (en) Display system with content presentation mechanism and method of operation thereof
WO2018169364A1 (ko) 긴급 호를 제공하는 전자 장치 및 방법, 그리고 이를 위한 서버
WO2016190584A1 (ko) 웹 페이지에 기초한 정보 제공 방법 및 장치
WO2017213454A1 (ko) 사용자 서버를 이용한 파일 제어 시스템 및 방법
WO2011112035A2 (en) Method and apparatus for transmitting and receiving application/content based on purchase information
WO2014133343A1 (en) Apparatus and method for manufacturing web widget
WO2019098635A1 (ko) 북마크된 컨텐츠와 관련된 정보를 제공하는 전자 장치 및 그 전자 장치의 제어 방법
WO2016182111A1 (ko) 학습 활동 관리 방법 및 이를 수행하는 학습 활동 관리 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14895905

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2014895905

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014895905

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15314090

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2016570814

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE