WO2014092289A1 - 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치 - Google Patents

클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치 Download PDF

Info

Publication number
WO2014092289A1
WO2014092289A1 PCT/KR2013/007494 KR2013007494W WO2014092289A1 WO 2014092289 A1 WO2014092289 A1 WO 2014092289A1 KR 2013007494 W KR2013007494 W KR 2013007494W WO 2014092289 A1 WO2014092289 A1 WO 2014092289A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
client terminal
information
service
execution
Prior art date
Application number
PCT/KR2013/007494
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
Priority claimed from KR1020120144193A external-priority patent/KR101471914B1/ko
Priority claimed from KR1020120144194A external-priority patent/KR20140076073A/ko
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to CN201380062193.7A priority Critical patent/CN104823178B/zh
Priority to EP13862151.1A priority patent/EP2933729B1/en
Publication of WO2014092289A1 publication Critical patent/WO2014092289A1/ko
Priority to US14/570,187 priority patent/US20150100629A1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Definitions

  • the present invention relates to a cloud service providing method. More particularly, when an application requested by a client terminal cannot be executed on the client terminal, the cloud service providing method may be executed on the client terminal or another application device having the application. It relates to a system device for this.
  • the user in order to drive a high specification application such as a 3D game, the user must confirm whether the terminal to be used is a terminal suitable for driving the high specification application in advance. If the specification is insufficient, users may not be able to use the application itself.
  • a screen virtualization-based cloud service transmits a result screen of an application driven on a server to a user's terminal in real time in response to a user's request. Even if it is not provided with means a service that can easily use the application.
  • the server For such a cloud service, the server must be equipped with an application that can run on the user's terminal in advance.
  • the server providing the cloud service should be provided with an application suitable for the user's terminal in advance.
  • a large cost is caused when the server wants to have all the applications suitable for the user's terminal.
  • the server should be provided with an application that can run in the user's terminal in advance. At this time, even if the server has a suitable application in advance in consideration of various types of user terminal, if the server is unable to provide a normal application to the user terminal due to various reasons, for example, network failure, server overload, etc. There is a problem that is difficult.
  • the present invention has been proposed to solve the above-mentioned conventional problems, and in particular, when the application requesting execution in the client device is an application that cannot be executed in the client terminal, the application is converted into executable and then returned to the client terminal. It is an object of the present invention to provide a cloud service providing method, a system and an apparatus therefor.
  • the present invention has been proposed to solve the above-mentioned conventional problems, and in particular, when the application providing apparatus having an application requested by any one of the client terminals is unable to provide the application to the client terminal, the application is held. It is an object of the present invention to provide a cloud service providing method, a system and a device therefor that can request execution of an application to another application providing device.
  • the cloud system determines whether the application is executable on the client terminal, and if not, the client terminal A service device that converts and executes the application so as to be executable and transmits the result information according to the application execution to the client terminal; And a client terminal requesting the execution of a specific application from the service device, and receiving and outputting result information according to the application execution from the service device.
  • the service apparatus checks the first application providing apparatus holding the application and then sends the application to the application using the first application providing apparatus. If the first application providing apparatus cannot execute the application, the second application providing apparatus having the application may be requested to execute the application.
  • the device storage unit for storing the minimum specification information of one or more applications and a client terminal capable of running the application; And when an execution request for a specific application is received from any one client terminal, by comparing the minimum specification information of the application and resource information of the client terminal to determine whether the application is executable on the client terminal, otherwise, the client terminal And converting and executing the application so as to be executable, and transmitting the result information according to the execution of the application to the client terminal.
  • the device controller may check the pre-stored resource information of the client terminal and compare it with the minimum specification information of the application.
  • the device controller may check after requesting resource collection to the client terminal when there is no previously stored resource information of the client terminal.
  • the device controller checks the necessary resource information of the client terminal for executing the application, and then transmits a guide message including the necessary resource information to the client terminal if the application cannot be converted. It may be.
  • the device controller may convert the application to suit the input device provided by the client terminal.
  • the device controller may convert the application to suit the resolution of the client terminal.
  • the device controller may encode the application according to the compression rate supported by the decoder and transmit the encoded application to the client terminal.
  • the device storage unit for storing the retained application information received from the at least one application providing device and the minimum specification information of the client terminal capable of running the application; And when an execution request for a specific application is received from any one client terminal, after confirming the first application providing apparatus having the application, requesting the execution of the application to the first application providing apparatus and providing the first application. If the device is unable to execute the application, the device may include a device controller for requesting the execution of the application to the second application providing device having the application.
  • the device controller may check the corresponding first application providing device by comparing the resource information of the client terminal with the minimum specification information of the application.
  • the device controller may check the request after collecting the resource to the client terminal.
  • the device controller When the application control state information is received from the first application providing apparatus, the device controller provides a second application that is identical to the application held by the first application providing apparatus but has an application having different minimum specification information of the client terminal.
  • the device can request execution of the application.
  • Cloud service providing method of the present invention for achieving the above object comprises the steps of receiving a request for execution of a specific application from any one client terminal; Comparing the minimum specification information of the application with the resource information of the client terminal to determine whether the application is executable on the client terminal; Determining that the application is executable in the client terminal when the application is not executable in the client terminal; And transmitting the result information according to the execution of the application to the client terminal by executing the converted application.
  • the step of receiving the execution request receiving and storing the application information and the minimum specification information of the client terminal that can use the application from the one or more application providing apparatus; further comprising the step of converting the application
  • the application may be converted after receiving the application from the application providing device.
  • the screen data according to the execution may be encoded in real time and transmitted to the client terminal.
  • the converting may include determining whether the application is an convertible application when the determination result indicates that the application is not executable in the client terminal; As a result of the check, when the application cannot be converted, confirming necessary resource information of the client terminal for executing the application; And transmitting a guide message including the identified necessary resource information to the client terminal.
  • the service device receiving a request for execution of a specific application from any one client terminal; Identifying, by the service device, the first application providing device having the application; Requesting execution of an application from the service device to the first application providing device; Checking, by the service device, a second application providing device having an application when application information impossible state information is received from the first application providing device; And requesting, by the service device, to execute the application to the second application providing device.
  • the service device receives the first application providing apparatus and the second application providing apparatus the minimum application information and the minimum specification information of the client terminal capable of driving the application ; And storing, by the service device, the reserved application information and the minimum specification information of the client terminal capable of driving the application, wherein the applications held by the first application providing device and the second application providing device are the same. Only the minimum specification information of the client terminal corresponding thereto may be different.
  • the checking of the first application providing apparatus may be confirmed by comparing the resource information of the client terminal with the minimum specification information previously stored corresponding to the application.
  • the step of requesting the execution of the application to the second application providing apparatus determining whether the second application providing apparatus can provide the application to the client terminal; Determining, by the second application providing apparatus, whether the application is executable on the client terminal when the application is available to the client terminal; As a result of the determination, when the application is not executable in the client terminal, converting the application based on resource information of the client terminal by the second application providing apparatus; And after the second application providing apparatus executes the converted application, encoding the screen data according to the execution in real time and transmitting the encoded data to the client terminal.
  • a computer-readable recording medium may be further provided which records a program for executing the cloud service providing method as described above.
  • the application requested by the service device to be executed in the client terminal is an application that cannot be executed in the client terminal
  • the application may be converted into executable and then provided to the client terminal. It becomes possible.
  • a system and apparatus therefor when the application providing apparatus holding the application requested by the client terminal is unable to provide the normal application to the client terminal due to overload, the service which confirmed this By requesting the execution of the application from another application providing device having the application, the client terminal can use the application smoothly.
  • the present invention may be more flexibly provided even if the number of client terminals requesting a cloud service increases by connecting the appropriate application providing apparatus and the client terminal according to the situation of the application providing apparatus that the service apparatus provides the application. .
  • FIG. 1 is a configuration diagram schematically showing a cloud system according to embodiments of the present invention.
  • FIG. 2 is a block diagram illustrating a main configuration of a client terminal according to embodiments of the present invention.
  • FIG. 3 is a block diagram illustrating a main configuration of a service device according to an embodiment of the present invention.
  • FIG. 4 is a data flowchart illustrating a cloud service providing method according to a first embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a cloud service providing method in a service apparatus according to a first embodiment of the present invention.
  • FIG. 6 is a data flowchart illustrating a cloud service providing method according to a second embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a cloud service providing method in a service apparatus according to a second embodiment of the present invention.
  • FIG. 1 is a configuration diagram schematically showing a cloud system according to embodiments of the present invention.
  • the cloud system 100 executes an application according to a request of one or more client terminals 10 and the client terminal 10, and the application execution result. It may be configured to include a service device 20 and the communication network 30 for transmitting the resulting information to the client terminal 10.
  • it may be configured to further include a plurality of application providing apparatus 40 for providing a plurality of applications.
  • the client terminal 10 is connected to the service device 20 through the communication network 30, the user's device that can use the various functions provided by the service device 20 it means.
  • the client terminal 10 according to an embodiment of the present invention connects to the service device 20 and requests execution of a specific application among a plurality of applications provided by the service device 20, and the service device 20.
  • the application can be used by receiving the result information according to the execution of the application from the output and outputting the result information.
  • the service device 20 is a device for providing a cloud-based application to a plurality of client terminals 10, and when an execution request for a specific application is received from any one of the client terminals 10, the service apparatus 20 holds a corresponding application. After the application is executed from the application providing device 40 and executed, only the result of the execution is transmitted to the client terminal 10.
  • the service device 20 when the service device 20 directly stores the application, after executing the application without interworking with the application providing device 40, the service device 20 may transmit the result information according to the execution to the client terminal 10.
  • the service device 20 more accurately encodes screen data according to an application execution result in frame units, and transmits the encoded data to the client terminal 10.
  • the service device 20 may include a plurality of applications, and may include an application execution module 22_2 capable of executing the application and transmitting the result to the client terminal 10.
  • the service apparatus 20 of the present invention stores any application information of the plurality of application providing apparatuses 40 and minimum specification information of the client terminal capable of driving the application.
  • the client can check the resource information of the client terminal 10 and then run the previously stored application corresponding to the resource information of the client terminal 10 and the application. Comparison with the minimum specification information of the terminal is performed.
  • the service device 20 executes the application and then transmits the result information according to the execution of the application to the client terminal 10. Done. However, if it is determined that the client terminal 10 cannot execute the application, the service device 20 converts the application to be executable in the client terminal 10 and then executes the converted application to execute the client terminal. (10) can be provided.
  • the service device 20 checks resource information required for driving the application of the client terminal 10, and then transmits a guide message to the client terminal 10. It may be.
  • the user can use all the applications provided by the service device 20, and the service device 20 providing the cloud service also has the application suitable for the client terminal 10 considering the number of cases in advance. If not, by providing the application after converting the application to the client terminal 10, it is possible to use resources more efficiently.
  • the plurality of application providing apparatuses 40 have one or more applications, and serve to provide applications according to the request of the service apparatus 20.
  • the application that may be provided to the service device 20 may be any document editing application, a game application, a media playback application such as music or movie, or another service application.
  • an application providing device 40 provides an application to the service device 20 according to a request of the service device 20, and the service device 20 executes the application.
  • the present disclosure is not limited thereto.
  • the application providing apparatus 40 directly executes an application to the client terminal 10. Result information can also be provided.
  • the client terminal 10 and the service apparatus 20 of the present invention use the communication network 30.
  • the communication network 30 at this time may be used in various forms of communication network.
  • 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
  • FIG. 2 is a block diagram illustrating a main configuration of a client terminal according to embodiments of the present invention.
  • the client terminal 10 includes a communication unit 11, an input unit 12, a control unit 13, a storage unit 14, and a display unit 15. It can be configured to include.
  • the communication unit 11 transmits and receives various information related to the service device 20 through the communication network 30, in particular, the communication unit 11 of the present invention is a service device ( In step 20), a request for executing a specific application may be transmitted, and result information according to the execution of the application may be received from the service device 20.
  • the communication unit 11 may receive resource collection request information from the service device 20, transmit resource information to the service device 20, and may also transmit user information required for user authentication.
  • various user inputs generated during the execution of the application may be transmitted to the service device 20.
  • the input unit 12 receives various information such as numeric and character information input from a user, sets various functions, and transmits a signal input in relation to the function control of the client terminal 10 to the control unit 13.
  • the input unit 12 of the present invention supports input of user information for user authentication to the service device 20, and inputs input of execution request information for a specific application among a plurality of applications provided by the service device 20. Can support In addition, it supports a user's input for performing various functions and operations generated while the application is running.
  • the input unit 12 may include at least one of a keypad and a touch pad generating an input signal according to a user's touch or manipulation.
  • the input unit 12 may be configured in the form of one touch panel (or touch screen) together with the display unit 15 to be described later to simultaneously perform input and display functions.
  • the input unit 12 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 comprise one or more of an input means or a voice input means. In addition, it may include all types of input means that are currently under development or may be developed in the future.
  • the controller 13 performs overall control of the client terminal 10. For example, the controller 13 controls the flow of signals for supplying power and performing functions to each component constituting the client terminal 10.
  • the control unit 13 may be a process unit for driving an operating system (OS) and each component, for example, a central processing unit (CPU).
  • OS operating system
  • CPU central processing unit
  • the control unit 13 attempts to access a service page provided by the service device 20, for example, a web page, at the request of a user.
  • the service device 20 may provide the service device 20 with user information capable of performing user authentication, such as a service subscription ID and a password. Subsequently, if user authentication is successfully performed based on the user information, a connection with the service device 20 is established, and the control unit 13 receives application list information from the service device 20, and then displays the information on the display unit 15. Will be displayed.
  • control unit 13 transmits execution request information for the corresponding application to the service device 20 through the communication unit 11.
  • the control unit 13 collects information about its hardware specifications and software specifications. For example, it may be a type of input device supported by the input unit 12, a display specification supported by the display unit 15, or the like.
  • the control unit 13 collects various information about hardware and software specifications in the terminal, and then service the device 20. To send.
  • control unit 13 may receive the application execution result received in real time from the service device 20 and output the result through the display unit 15.
  • the control unit 13 may include a resource collection module 13_1 for collecting resources in response to a request from the service device 20, the service device ( And a stream data decoder 13_2 capable of receiving screen data according to an execution result of the application received from the application 20 in real time, and decoding and outputting the received screen data in real time.
  • the stream data decoder 13_2 may be a decoder of the H.264 method.
  • the resource collection module 13_1 and the stream data decoder 13_2 may be provided by being provided from the service device 20 after accessing the service device 20, or at the request of the service device 20. After a certain time, the resource collection module 13_1 and the stream data decoder 13_2 may be deleted.
  • the storage unit 14 may temporarily store various data generated during execution of the application program, including an application program required for operating a function according to an exemplary embodiment of the present invention.
  • the storage unit 14 of the present invention can temporarily store the application list information provided from the service device 20, the result information according to the application execution result requested by the user, the service device 20 When the connection with the network is terminated, the temporarily stored data may be deleted.
  • the storage unit 14 may largely include a program area and a data area.
  • the program area stores relevant information for driving the terminal 10 such as an operating system (OS) for booting the client terminal 10, and the data area is an area for storing data generated according to the use of the client terminal 10.
  • OS operating system
  • the storage unit 14 may be a flash memory, a hard disk, a memory of a multimedia card micro type (for example, SD or XD memory, etc.), a RAM, a ROM, or the like. ROM) and a storage medium.
  • the display unit 15 displays information on a series of operation states and operation results that occur during the functioning of the client terminal 10.
  • the display unit 15 of the present invention can display the list information on the application provided by the service device 20, and the result information according to the execution of the application, as well as various generated through the input unit 12 during the execution of the application. User input information can also be displayed.
  • the display unit 15 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), and a flexible display (Flexible display). ) And a three-dimensional display (3 Dimension) or the like.
  • LCD liquid crystal display
  • TFT-LCD thin film transistor LCD
  • OLED organic light emitting diodes
  • LED light emitting diode
  • AMOLED active matrix organic LED
  • a flexible display Flexible display
  • a three-dimensional display (3 Dimension) or the like.
  • client terminal 10 main components of the client terminal 10 have been described with reference to FIG. 2. However, not all components illustrated in FIG. 2 are required components, and the client terminal 10 may be implemented by more components than the illustrated components, and the client terminal 10 may be implemented by fewer components. ) May be implemented.
  • the client terminal 10 of the present invention may be implemented in various forms.
  • the client terminal 10 of the present invention 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.
  • Fixed terminals such as smart TVs, desktop computers, and the like may be used.
  • FIG. 3 is a block diagram illustrating a main configuration of a service device according to an embodiment of the present invention.
  • the service device 20 may include a device communication unit 21, a device control unit 22, and a device storage unit 23.
  • the device communication unit 21 transmits and receives information related to the plurality of client terminals 10 through the communication network 30, in particular, when the connection of any one client terminal 10 is confirmed, the client terminal 10
  • the client terminal 10 When the list information about the application that can be provided is transmitted and the execution request for the specific application is received from the client terminal 10, the result information according to the execution of the application may be transmitted to the client terminal 10.
  • the client terminal 10 may transmit a resource collection request or receive resource information from the client terminal 10 in response thereto.
  • the device control unit 22 controls the overall operation of the service device 20 of the present invention.
  • the device control unit 22 of the present invention may first hold application information and the application from one or more application providing devices 40.
  • the minimum specification information of the client terminal 10 capable of driving is received, it is stored in the device storage unit 23.
  • the first application providing device 41 of the plurality of application providing devices 40 holds the A game application
  • the second application providing device 42 has the B document editing application
  • the first application The providing device 41 transmits A game application information and minimum specification information of a client terminal capable of running the A game application to the service device 20, and the second application providing device 42 sends a B document editing application.
  • Information and minimum specification information of a client terminal capable of running the B document editing application may be transmitted to the service apparatus 20.
  • the plurality of application providing apparatuses 40 may all store the same application. According to a system design scheme, the plurality of application providing apparatuses 40 may divide one application into a predetermined unit and then store the divided application.
  • the received information is received. It will be stored in the device storage unit 23.
  • information as shown in Table 2 below may be stored in the device storage unit 23.
  • the device controller 22 checks the connection of any one client terminal 10.
  • the connection of the client terminal 10 means that the client terminal 10 accesses a service page provided by the service apparatus 20, for example, a web page or an access page in a wired / wireless application, so that the service page is accessed.
  • the user information for example, an ID, a personal identification number (PIN), and the like, the user's identification information and a password corresponding thereto may be input to the service device 20.
  • PIN personal identification number
  • the device controller 22 performs user authentication based on the user information and checks whether the user is a suitable user. If the user of the client terminal 10 is determined to be a suitable user, the device controller 22 may provide application list information on the application held by the client terminal 10.
  • the device controller 22 corresponds to resource information of the client terminal 10 and an application requested for execution by the client terminal 10.
  • the minimum specification information of the client terminal capable of running the previously stored application is compared.
  • the resource information of the client terminal 10 may be stored in advance in the device storage unit 23 in response to the user information, and if not stored in advance, the device control unit 22 is the client terminal 10 Resource collection request can be sent. Thereafter, the device controller 22 may receive resource information about hardware and software from the client terminal 10.
  • the device controller 22 may first provide a resource collection module to the client terminal 10.
  • the resource collection module here may be provided in the form of an API (Application Programming Interface).
  • the device controller 22 executes the application and encodes the result information according to the execution result, that is, screen data in frame units in real time. Then, the encoded data is transmitted to the client terminal 10.
  • the device control unit 22 stores only information on the held application, and if it does not store the actual application data, after confirming the application providing device 40 corresponding to the application, the confirmed application providing device 40
  • the application may be executed after receiving and requesting an application.
  • the device controller 22 may convert the application to be driven in the client terminal 10.
  • resource information received from the client terminal 10 is as shown in ⁇ Table 1>.
  • the application information stored in the device storage unit 23 and the minimum specification information of the client terminal capable of running the application are as shown in Table 2.
  • the device controller 22 compares minimum specification information of the client terminal capable of driving the game 1 application with resource information of the client terminal 10. The device controller 22 determines that the game 1 application requires a separate dedicated game pad, but the client terminal 10 does not have the dedicated game pad, and thus cannot be driven.
  • the device controller 22 converts a dedicated game pad input method supported by the application to an input method supporting a keyboard and a mouse. That is, the application may be composed of a plurality of program modules, the device controller 22 is to convert to support the keyboard and mouse in the module associated with the input of the application. Alternatively, the device controller 22 may store various inputs generated through a keyboard and a mouse in advance in response to a dedicated game pad input, and if input information generated through the keyboard and a mouse is applied from the client terminal 10, the device controller 22 may respond to the input. Can be converted to dedicated gamepad input. For example, when 'A' input through the keyboard is received from the client terminal 10, the device controller 22 may convert the 'A' into an input of a [LEFT] button of a dedicated game pad and process the same.
  • the application may be composed of a plurality of program modules, the device controller 22 is to convert to support the keyboard and mouse in the module associated with the input of the application.
  • the device controller 22 may store various inputs generated through a keyboard and a
  • the device controller 22 supports 700x800 resolution through the resource information of the client terminal 10, but the application requested by the client terminal 10 is optimized for 1200x1000 resolution.
  • the resolution may be converted and executed and then provided to the client terminal 10.
  • the resolution converting method can be applied to various known techniques, and can be converted from high resolution to low resolution, for example, by deleting macro blocks of low importance.
  • the device controller 22 identifies the decoder supported by the client terminal 10 through the resource information of the client terminal 10, and then encodes the application according to the compression rate supported by the decoder to the client terminal 10. You can also provide. For example, if the decoder 22 of the client terminal 10 is a decoder capable of decoding H.264 stream data, the device controller 22 may display the screen data according to the execution of the application in the H.264 scheme. After encoding to the client terminal 10 can be provided.
  • the device controller 22 may first check whether the application is a convertible application before converting the application to be executable by the client terminal 10. If the application cannot be converted, the device controller 22 checks the necessary resource information of the client terminal 10 for executing the application, and then sends a guide message including the necessary resource information to the client terminal 10. You can also send.
  • the application may be more easily provided to the client terminal 10 by converting the application around a necessary portion. It has an excellent effect of increasing the utility of resources.
  • the device controller 22 may include a user management module 22_1 and an application execution module 22_2.
  • the user management module 22_1 may perform various management related to user authentication
  • the application execution module 22_2 may perform a role of providing, managing, converting, and executing the application to the client terminal 10.
  • the service device 20 is to take the application from the application providing device 40, and then execute and transmit the result information according to the execution to the client terminal 10, an example The present invention is not limited thereto, and the service apparatus 20 checks the application providing apparatus 40 holding the application requested to be executed by the client terminal 10 and then requests the application providing apparatus 40 to execute the application providing apparatus. 40 may directly execute the application, and may transmit the result information according to the execution to the client terminal 10.
  • the device storage unit 23 stores various types of information related to the cloud service of the present invention.
  • the device storage unit 23 stores user information 23_1 for performing user authentication, and possessed application information received from the application providing device 40.
  • 23_2 and minimum specification information 23_3 of the client terminal 10 capable of driving the application may be stored.
  • the resource information may be stored and managed in response to the user information 23_1.
  • the service device 20 has been described as an example of operating in a cloud method, the service device 20 may be easily applied to a general server-based computing method.
  • FIG. 4 is a data flowchart illustrating a cloud service providing method according to a first embodiment of the present invention.
  • the service device 20 may drive information about the held application and the application from the application providing device 40 having the application.
  • the minimum specification information of the client terminal can be received (S101) and stored (S103).
  • the service device 20 may automatically provide the reserved application information and minimum specification information of the client terminal capable of driving the application.
  • the service device 20 receives the information on the holding application and the minimum specification information from the application providing device 40, and stores the same as an example, but is not limited thereto.
  • the service device 20 may store and manage an application as well as information on a holding application.
  • the service device 20 receives an execution request for a specific application from any one client terminal 10 (S105).
  • the service device 20 may receive user information necessary for user authentication from the client terminal 10 and perform user authentication based on the user information. .
  • the service device 20 determines whether the application requested by the client terminal 10 to be executed is an application executable in the client terminal 10 (S107).
  • the confirmation may be confirmed by comparing the resource information with minimum specification information of the client terminal capable of running the application when the resource information previously stored in the service device 20 corresponding to the client terminal 10 exists. have.
  • the client terminal 10 may request resource collection and then check the resource information.
  • the application is an application that cannot be executed in the client terminal 10 according to the result of checking S107
  • the application is converted to be executable in the client terminal 10 (S109), and then the application is executed (S111).
  • the result information according to the execution may be provided to the client terminal 10.
  • a program module for processing the input of the application may be converted to be suitable for the input device provided by the client terminal 10. have.
  • the application may be converted to suit the resolution of the client terminal 10.
  • the screen data according to the execution of the application may be encoded and provided to the client terminal 10 according to the compression rate supported by the decoder.
  • FIG. 5 is a flowchart illustrating a cloud service providing method in a service apparatus according to a first embodiment of the present invention.
  • the service device 20 first receives information on a holding application and minimum specification information from at least one application providing device 40 (S201), and the service device 20. It is stored in the device storage unit (S203).
  • the service device 20 may first store resource information corresponding to the client terminal 10. It is determined whether there exists (S207).
  • the service device 20 may request resource collection from the client terminal 10 (S209) and then receive the resource information. (S211).
  • the process may be omitted.
  • the service device 20 to the client terminal 10 You can also request resource collection.
  • the service apparatus 20 compares the minimum specification information of the client terminal for driving the application previously stored corresponding to the application with the resource information of the client terminal 10 in operation S203 (S213), and the application is a client. It is checked whether the application is executable in the terminal 10 (S215).
  • the service device 20 may check again whether the application is a convertible application (S217).
  • the application when the conversion is possible, the application is converted to be executable in the client terminal 10 and executed (S221), and the result information according to the execution, for example, screen data is encoded and provided to the client terminal 10, which is then executed.
  • the received client terminal 10 can decode the screen data and output the screen data.
  • the service device 20 checks the resource information necessary for the client terminal 10 to execute the application (S223), the client terminal 10 for the guidance message for this Can be provided as (S225).
  • S223 the resource information necessary for the client terminal 10 to execute the application
  • S225 the client terminal 10 for the guidance message for this Can be provided as (S225).
  • 'This application is an application that requires a dedicated haptic device. If you want to purchase a dedicated haptic device, you can provide the message 'Please click the' OK 'button.
  • the user can receive and use an application suitable for his terminal specification from the service device 20, and can additionally be informed of necessary information for executing an application that cannot be executed in his terminal, thereby providing convenience for the user. This can be improved.
  • the service device 20 that provides the cloud service does not have an application considering all the client terminal 10 specifications in advance, in some cases, by converting only necessary parts and providing them to the user, the resource may be utilized more efficiently. There is an advantage that it can.
  • FIG. 1 is a configuration diagram schematically showing a cloud system according to embodiments of the present invention.
  • the cloud system 100 may include at least one client terminal 10, a service device 20 supporting a service connection of the client terminal 10, and a communication network ( 30).
  • it may be configured to further include a plurality of application providing apparatus 40 for providing one or more applications.
  • the client terminal 10 is connected to the service device 20 through the communication network 30, the user's device that can use the various functions provided by the service device 20 it means.
  • the client terminal 10 according to an embodiment of the present invention connects to the service device 20 and requests execution of a specific application among a plurality of applications provided by the service device 20, and the service device 20.
  • the application may use the corresponding application by receiving the connection result information from the application providing apparatus 40 and outputting the result information.
  • the service device 20 is a device supporting service access of a plurality of client terminals 10.
  • the service device 20 may determine that the service connection of any one client terminal 10 is confirmed.
  • the client terminal 10 may provide list information on an application that can provide a service. The client terminal 10 receives and outputs the same, and when a selection input for any one application is confirmed by the user, transmits an execution request for the application to the service device 20.
  • the service device 20 When the service device 20 receives an execution request for an application from any one of the client terminals 10, the service device 20 checks the application providing device 40 holding the application, for example, the first application providing device 41. . Subsequently, the application execution request is transmitted to the confirmed first application providing apparatus 41. In this case, preferably, the identification information of the client terminal 10 is further included and transmitted, and the first application providing device 41 receiving the received information executes the corresponding application, and thereafter, the result information according to the execution, for example, screen data. Real time encoding in units of frames, and the encoded data is transmitted to the client terminal (10).
  • the application providing state information may not be provided to the service apparatus 20. Can be transmitted.
  • the service device 20 that receives this checks another application providing device having the application, for example, the second application providing device 42, and then transmits an application execution request to the second application providing device 42. . After receiving the second application providing apparatus 42 executes the corresponding application, the second application providing apparatus 42 transmits the result information according to the execution to the client terminal 10.
  • the service device 20 preferably stores in advance information about the held application from the plurality of application providing devices 40 and minimum specification information of the client terminal capable of driving the application. Then, when the service device 20 receives a request for execution of a specific application from any one of the client terminal 10, based on the resource information of the client terminal 10, the application having a corresponding application first The providing device 40 can be checked.
  • the plurality of application providing apparatuses 40 having received an application execution request from the service apparatus 20 include an encoder capable of real-time encoding result information according to the execution, for example, screen data, after executing the application.
  • the application that the application providing device 40 may provide to the client terminal 10 may be any document editing application, a game application, a media playback application such as music or a movie, or another service application.
  • the user can use the application smoothly regardless of the network situation, and the situation of the application providing device 40 in which the service device 20 provides the application. According to the connection between the appropriate application providing device 40 and the client terminal 10, even if the number of the client terminal 10 requesting the cloud service may be more flexible service provision.
  • the application providing apparatus 40 directly executes the application to the client terminal 10.
  • the present invention provides the result information according to the present invention, but is not limited thereto.
  • the application providing device 40 provides an application to the service device 20, and the service device 40 executes the application after executing the application.
  • the result information according to the present invention may be provided to the client terminal 10.
  • the client terminal 10 and the service apparatus 20 of the present invention use the communication network 30.
  • the communication network 30 at this time may be used in various forms of communication network.
  • 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
  • FIG. 2 is a block diagram illustrating a main configuration of a client terminal according to embodiments of the present invention.
  • the client terminal 10 may include a communication unit 11, an input unit 12, a control unit 13, a storage unit 14, and a display unit 15. It can be configured to include.
  • the communication unit 11 transmits and receives various information related to the service device 20 through the communication network 30, in particular, the communication unit 11 of the present invention is a service device ( In step 20), a request for executing a specific application may be transmitted, and result information according to the execution of the application may be received from the service device 20.
  • the communication unit 11 may receive resource collection request information from the service device 20, transmit resource information to the service device 20, and may also transmit user information required for user authentication.
  • various user inputs generated during the execution of the application may be transmitted to the service device 20.
  • the input unit 12 receives various information such as numeric and character information input from a user, sets various functions, and transmits a signal input in relation to the function control of the client terminal 10 to the control unit 13.
  • the input unit 12 of the present invention supports input of user information for user authentication to the service device 20, and inputs input of execution request information for a specific application among a plurality of applications provided by the service device 20. Can support In addition, it supports a user's input for performing various functions and operations generated while the application is running.
  • the input unit 12 may include at least one of a keypad and a touch pad generating an input signal according to a user's touch or manipulation.
  • the input unit 12 may be configured in the form of one touch panel (or touch screen) together with the display unit 15 to be described later to simultaneously perform input and display functions.
  • the input unit 12 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 comprise one or more of an input means or a voice input means. In addition, it may include all types of input means that are currently under development or may be developed in the future.
  • the controller 13 performs overall control of the client terminal 10. For example, the controller 13 controls the flow of signals for supplying power and performing functions to each component constituting the client terminal 10.
  • the control unit 13 may be a process unit for driving an operating system (OS) and each component, for example, a central processing unit (CPU).
  • OS operating system
  • CPU central processing unit
  • the control unit 13 attempts to access a service page provided by the service device 20, for example, a web page, at the request of a user.
  • the service device 20 may provide user information for performing user authentication, such as a service subscription ID and a password input from the user. Subsequently, if user authentication is successfully performed based on the user information, a connection with the service device 20 is established, and the control unit 13 receives application list information from the service device 20, and then displays the information on the display unit 15. Will be displayed.
  • control unit 13 transmits execution request information for the corresponding application to the service device 20 through the communication unit 11.
  • the control unit 13 collects information about its hardware specifications and software specifications. For example, it may be a type of input device supported by the input unit 12, a display specification supported by the display unit 15, or the like.
  • the control unit 13 collects various information about the hardware specification and the software specification in the terminal, and then the service apparatus 20 To send.
  • control unit 13 may receive the application execution result received in real time from the service device 20 and output the result through the display unit 15.
  • the control unit 13 may include a resource collection module 13_1 for collecting resources in response to a request from the service device 20, the service device ( And a stream data decoder 13_2 capable of receiving screen data according to an execution result of the application received from the application 20 in real time, and decoding and outputting the received screen data in real time.
  • the stream data decoder 13_2 may be a decoder of the H.264 method.
  • the resource collection module 13_1 and the stream data decoder 13_2 may be provided by being provided from the service device 20 after accessing the service device 20, or at the request of the service device 20. After a certain time, the resource collection module 13_1 and the stream data decoder 13_2 may be deleted.
  • the storage unit 14 may temporarily store various data generated during execution of the application program, including an application program required for operating a function according to an exemplary embodiment of the present invention.
  • the storage unit 14 of the present invention can temporarily store the application list information provided from the service device 20, the result information according to the application execution result requested by the user, the service device 20 When the connection with the network is terminated, the temporarily stored data may be deleted.
  • the storage unit 14 may largely include a program area and a data area.
  • the program area stores relevant information for driving the terminal 10 such as an operating system (OS) for booting the client terminal 10, and the data area is an area for storing data generated according to the use of the client terminal 10.
  • OS operating system
  • the storage unit 14 may be a flash memory, a hard disk, a memory of a multimedia card micro type (for example, SD or XD memory, etc.), a RAM, a ROM, or the like. ROM) and a storage medium.
  • the display unit 15 displays information on a series of operation states and operation results that occur during the functioning of the client terminal 10.
  • the display unit 15 of the present invention can display the list information on the application provided by the service device 20, and the result information according to the execution of the application, as well as various generated through the input unit 12 during the execution of the application. User input information can also be displayed.
  • the display unit 15 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), and a flexible display (Flexible display). ) And a three-dimensional display (3 Dimension) or the like.
  • LCD liquid crystal display
  • TFT-LCD thin film transistor LCD
  • OLED organic light emitting diodes
  • LED light emitting diode
  • AMOLED active matrix organic LED
  • a flexible display Flexible display
  • a three-dimensional display (3 Dimension) or the like.
  • client terminal 10 main components of the client terminal 10 have been described with reference to FIG. 2. However, not all components illustrated in FIG. 2 are required components, and the client terminal 10 may be implemented by more components than the illustrated components, and the client terminal 10 may be implemented by fewer components. ) May be implemented.
  • the client terminal 10 may be implemented in various forms.
  • the client terminal 10 of the present invention 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.
  • Fixed terminals such as smart TVs, desktop computers, and the like may be used.
  • FIG. 3 is a block diagram illustrating a main configuration of a service device according to an embodiment of the present invention.
  • the service device 20 may include a device communication unit 21, a device control unit 22, and a device storage unit 23.
  • the device communication unit 21 transmits and receives information related to the plurality of client terminals 10 through the communication network 30, in particular, when the connection of any one client terminal 10 is confirmed, the client terminal 10
  • the client terminal 10 When the list information about the application that can be provided is transmitted and the execution request for the specific application is received from the client terminal 10, the result information according to the execution of the application may be transmitted to the client terminal 10.
  • the client terminal 10 may transmit a resource collection request or receive resource information from the client terminal 10 in response thereto.
  • the device control unit 22 controls the overall operation of the service device 20 according to the second embodiment of the present invention.
  • the device control unit 22 according to the second embodiment of the present invention may first include one or more applications.
  • the retaining application information and the minimum specification information of the client terminal 10 capable of driving the application are received from the providing device 40, they are stored in the device storage unit 23.
  • the first application providing device 41 of the plurality of application providing devices 40 holds the A game application
  • the second application providing device 42 has the B document editing application
  • the first application The providing device 41 transmits A game application information and minimum specification information of a client terminal capable of running the A game application to the service device 20, and the second application providing device 42 sends a B document editing application.
  • Information and minimum specification information of a client terminal capable of running the B document editing application may be transmitted to the service apparatus 20.
  • the plurality of application providing apparatuses 40 may have the same application.
  • both the first application providing device 41 and the second application providing device 42 may have an A game application.
  • the minimum specification information of the client terminal of the A game application supported by the first application providing apparatus 41 and the minimum specification information of the client terminal of the A game application supported by the second application providing apparatus 42 may be different from each other. have.
  • the plurality of application providing apparatuses 40 may hold the divided applications.
  • the received information is received. It will be stored in the device storage unit 23.
  • information as shown in Table 4 below may be stored in the device storage unit 23.
  • Table 4 Application provision device information Application Information Minimum usage information of client terminal First application providing device Game 1 OS X17 CPU Pen 3.2 GHz Graphics card F 7800GT Memory 1 GB Input device Dedicated gamepad Second application providing device Game 1 OS X17 CPU Pen 3.2 GHz Graphics card F 7800GT Memory 1 GB Input device Keyboard, mouse
  • the device controller 22 checks the connection of any one client terminal 10.
  • the connection of the client terminal 10 means that the client terminal 10 accesses a service page provided by the service apparatus 20, for example, a web page or an access page in a wired / wireless application, so that the service page is accessed.
  • the user information for example, an ID, a personal identification number (PIN), and the like, the user's identification information and a password corresponding thereto may be input to the service device 20.
  • PIN personal identification number
  • the device controller 22 performs user authentication based on the user information and checks whether the user is a suitable user. If the user of the client terminal 10 is determined to be a suitable user, the device controller 22 may provide application list information on the application held by the client terminal 10.
  • the device controller 22 receives a request for executing a specific application from the client terminal 10. For example, an application execution request for game 1 may be received from the client terminal 10.
  • the device controller 22 checks the application providing device 40 holding the game 1 application requested by the client terminal 10. As a result of the check, since the game 1 application has both the first application providing device 41 and the second application providing device 42, the device control unit 22 corresponds to the resource information of the client terminal 10 and the application. The minimum specification information of the client terminal capable of executing the stored application is compared.
  • the resource information of the client terminal 10 may be stored in advance in the device storage unit 23 in response to the user information, and if not stored in advance, the device control unit 22 is the client terminal 10 Resource collection request can be sent. Thereafter, the device controller 22 may receive resource information about hardware and software from the client terminal 10.
  • the device controller 22 may first provide a resource collection module to the client terminal 10.
  • the resource collection module here may be provided in the form of an API (Application Programming Interface).
  • the device controller 22 compares resource information of the client terminal 10 with minimum specification information of a client terminal capable of executing the previously stored application corresponding to the application. It is assumed that resource information received from 10) is as shown in Table 1. In addition, it is assumed that the application information stored in the device storage unit 23 and the minimum specification information of the client terminal capable of running the application are as shown in Table 2. When the execution request for the game 1 application is received from the client terminal 10, the device controller 22 compares minimum specification information of the client terminal capable of driving the game 1 application with resource information of the client terminal 10. The device controller 22 determines that the game 1 application held by the first application providing device 41 requires a separate dedicated game pad, but the client terminal 10 does not include the game 1 application. Done.
  • the device controller 22 confirms that the game 1 application held by the second application providing device 42 can be normally driven in the client terminal 10.
  • the device controller 22 requests the second application providing device 42 to execute the game 1 application.
  • the identification information of the game 1 application and the identification information of the client terminal 10 may be transmitted together to the second application providing device 42.
  • the second application providing apparatus 42 After receiving the second application providing device 42 checks the current state, if the game 1 application can be provided to the client terminal 10, the second application providing apparatus 42 executes the game 1 application and then displays screen data according to the execution. The encoding is transmitted to the client terminal 10.
  • the second application providing device 42 may play the game device 1 as the client device 10 with the service device 20. You will be notified that the application cannot be provided.
  • the service device 20 receiving the request requests the execution of the game 1 application to the first application providing device 41 having the same application as the game 1 application.
  • the service device 20 may further provide resource information of the client terminal 10 together with game 1 application identification information and identification information of the client terminal 10 to the first application providing device 41.
  • the first application providing device 41 that receives the input device of the client terminal 10 is different from the input device supported by the game 1 application owned by the client terminal 10, and therefore, the dedicated game pad input supported by the game 1 application. After converting the method into an input method supporting a keyboard and a mouse, the method is provided to the client terminal 10.
  • the application may be composed of a plurality of program modules
  • the first application providing device 41 is converted to support the keyboard and mouse in the module associated with the input of the application.
  • the first application providing apparatus 41 stores various inputs generated through the keyboard and the mouse in advance in response to a dedicated game pad input, and then receives input information generated through the keyboard and the mouse from the client terminal 10. It can be converted into a dedicated game pad input corresponding thereto. For example, when the 'A' input through the keyboard is received from the client terminal 10, the first application providing device 41 may convert the 'A' into an input of a [LEFT] button of a dedicated game pad and process the same. have.
  • the first application providing apparatus 41 converts the game 1 application to the client terminal 10 environment and provides it to the client terminal 10 at the request of the service device 20.
  • the present invention is not limited thereto, and the first application providing device 41 transmits information about a game 1 application that the user has to the service device 20, and the service device 20 transmits the game 1.
  • the application may be converted into a client terminal 10 environment and executed, and then provided to the client terminal 10.
  • the input method of the application held by the first application providing apparatus 41 is converted to an input method supported by the client terminal 10 as an example, but the proper resolution of the client terminal 10 is described.
  • the application may be encoded and provided to the client terminal 10 according to the compression ratio supported by the decoder held by the client terminal 10.
  • the device controller 22 may include a user management module 22_1 and an application execution module 22_2.
  • the user management module 22_1 may perform various managements related to user authentication
  • the application execution module 22_2 may receive the retained application information from the plurality of application providing apparatuses 40 or request the client terminal 10. It may serve to identify the application providing device 40 that holds the application.
  • the application execution module 22_2 may perform a role such as application execution and encoding.
  • the device storage unit 23 stores various types of information related to the cloud service of the present invention.
  • the device storage unit 23 stores user information 23_1 for performing user authentication, and possessed application information received from the application providing device 40.
  • 23_2 and minimum specification information 23_3 of the client terminal 10 capable of driving the application may be stored.
  • the resource information may be stored and managed in response to the user information 23_1.
  • the service device 20 according to the second embodiment of the present invention has been described as an example of operating in a cloud method, the service device 20 may be easily applied to a general server-based computing method.
  • FIG. 6 is a data flowchart illustrating a cloud service providing method according to a second embodiment of the present invention.
  • the first application providing apparatus 41 and the second application providing apparatus 42 may include information about an application held by the first application providing apparatus 41 and a minimum specification information of a client terminal capable of driving the application. Transmission to the service device 20 (S301 to S303).
  • the service device 20 stores the application information and minimum specification information of the client terminal capable of driving the application. It may provide, and may transmit the information at the request of the service device 20.
  • the service device 20 stores the reserved application information and the minimum specification information received from the first application providing device 41 and the second application providing device 42 (S305). Thereafter, an execution request for a specific application is received from any one client terminal 10 (S307).
  • the service device 20 may receive user information necessary for user authentication from the client terminal 10 and perform user authentication based on the user information. .
  • the service device 20 checks the application providing device that holds the application that the client terminal 10 requests to execute (S309).
  • the application providing apparatus may be checked by comparing resource information of the client terminal 10 with minimum specification information previously stored corresponding to the application in operation S305.
  • the service device 20 determines that the first application providing device 41 has a corresponding application, the service device 20 requests the first application providing device 41 to execute an application (S311). Accordingly, the first application providing apparatus 41 determines whether the current state is a state in which an application can be provided (S313). If the application is in a state of providing an application, the first application providing device 41 executes the corresponding application and outputs result information according to the execution of the client terminal 10.
  • the first application providing device 41 transmits the application providing impossible state information to the service device 20 (S317), and the service device 20 receiving the application provides the corresponding application.
  • the other application providing apparatus is checked, and the second application providing apparatus 42 is requested to execute an application (S319).
  • the service device 20 may further transmit resource information of the client terminal 10 to the second application providing device 42, and the second application providing device 42 that receives the request needs to convert the application (S321). After the application is converted to be driven in the client terminal 10 (S323), the application is executed (S125), and the result information according to the execution is provided (S327).
  • the second application providing device 42 may input the application appropriately for the input device included in the client terminal 10. You can convert a program module that processes.
  • the application may be converted to suit the resolution of the client terminal 10.
  • the screen data according to the execution of the application may be encoded and provided to the client terminal 10 according to the compression rate supported by the decoder.
  • the client terminal 10 decodes and outputs result information according to the execution of the application transmitted from the second application providing apparatus 42, for example, encoded screen data (S329).
  • the second application providing device 42 which has provided the application to the client terminal 10 may provide information related to the application use of the client terminal 10. It may transmit to the service device 20. For example, if the client terminal 10 terminates the connection while the game application is running, information such as the last game storage time, game use time, and the like is transmitted to the service device 20. Subsequently, when an application execution request is received from the client terminal 10, the service apparatus 20 first requests the application execution to the first application providing apparatus 41, as described above, and the first application providing apparatus 41. When the application can be provided to the client terminal 10, information related to the use of the application received from the second application providing device 42 is transmitted to the first application providing device 41, and the first application is provided. The device 41 may execute the application after the last game storage time and then provide the client terminal 10 with the result information according to the execution.
  • FIG. 7 is a flowchart illustrating a cloud service providing method in a service apparatus according to a second embodiment of the present invention.
  • the service device 20 first receives information on a holding application and minimum specification information from at least one application providing device 40 (S401), and the service device 20. It is stored in the device storage unit (S403).
  • the service device 20 may first store resource information corresponding to the client terminal 10. It is determined whether there exists (S407).
  • the service device 20 may request resource collection from the client terminal 10 (S409) and then receive the resource information. (S411). As a result of the determination, when there is previously stored resource information corresponding to the client terminal 10, the process may be omitted. In addition, even if the pre-stored resource information corresponding to the client terminal 10 exists, if the hardware and software specifications of the client terminal 10 is changed, it is detected, the service device 20 to the client terminal 10 You can also request resource collection.
  • the service apparatus 20 compares the minimum specification information of the client terminal for driving the application previously stored in correspondence with the application in step S403 and the resource information of the client terminal 10 to provide the application having the application.
  • the device is checked (S413).
  • the service device 20 requests the execution of the application from the identified application providing device, for example, the first application providing device 41 (S415). Subsequently, when the application providing impossible state information is received from the first application providing device 41 (S417), the service device 20 checks another application providing device, for example, the second application providing device 42.
  • the second application providing apparatus 42 is in a state in which the same application as the application held by the first application providing apparatus 41 or an application having different minimum specification information of the client terminal corresponding thereto are stored.
  • the service apparatus 20 requests the execution of the application to the confirmed second application providing apparatus 42, and when the application can be provided, the second application providing apparatus 42 executes the application and provides the result information according to the execution of the client terminal. (10) can be provided.
  • the user can use the application smoothly regardless of the network situation when using the cloud service affected by the network situation, and also provide the appropriate application according to the situation of the application providing device that the service device provides the application.
  • the service can be more flexibly provided.
  • the cloud service providing method may be implemented as computer readable codes on a computer readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination, and includes all kinds of recording devices in which data that can be read by a computer system is stored.
  • Examples of computer-readable recording media include optical media such as magnetic media, such as hard disks, floppy disks, and magnetic tape, compact disk read only memory (CD-ROM), and digital video disks (DVD).
  • CD-ROM compact disk read only memory
  • DVD digital video disks
  • Stores magnetic-optical media such as optical media, floppy disks and program instructions such as read only memory (ROM), random access memory (RAM), flash memory, etc. And hardware devices specially configured to perform.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
  • a method of converting an application to be suitable for a client terminal may use various methods.
  • a computer program (also known as a program, software, software application, script or code) mounted on an apparatus according to the invention and executing a method according to the invention is a programming comprising a compiled or interpreted language or a priori or procedural language. It can be written in any form of language, and can be deployed in any form, including stand-alone programs or modules, components, subroutines, or other units suitable for use in a computer environment. Computer programs do not necessarily correspond to files in the file system.
  • a program may be in a single file provided to the requested program, in multiple interactive files (eg, a file that stores one or more modules, subprograms, or parts of code), or part of a file that holds other programs or data. (Eg, one or more scripts stored in a markup language document).
  • the computer program may be deployed to run on a single computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.
  • the present invention relates to a cloud service providing method, and more particularly, when the application requested by the client terminal is not executable in the client terminal, the cloud service providing method is provided to the client terminal after converting to run in the client terminal, It relates to a system device for this.
  • a system and apparatus therefor when the application requested by the service device to be executed in the client terminal is an application that cannot be executed in the client terminal, after converting the application to be executable, the client terminal It can be provided. For this reason, even if the service apparatus does not have an application in consideration of all the specifications of the client terminal in advance, only the necessary parts are converted and provided to the client terminal according to the specifications of the client terminal, thereby enabling more efficient service provision.
  • the present invention also relates to a cloud service providing method. More specifically, when an application providing device having an application requested to be executed by a client terminal cannot execute an application, the application is provided to another application providing device having the application.
  • the present invention relates to a cloud service providing method, a system and an apparatus for the same, characterized by requesting for execution.
  • the client terminal can use the application smoothly without being affected by the network situation, and the cloud terminal requests the cloud service by connecting the appropriate application providing apparatus and the client terminal according to the situation of the application providing apparatus providing the application. Even if the number of client terminals increases, the service can be flexibly provided. This will contribute to the development of the cloud services industry.
  • the present invention has industrial applicability because the present invention is not only sufficiently commercially available or commercially viable, but also practically clearly implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능할 경우, 클라이언트 단말에서 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공하는 클라우드 서비스 제공 방법, 이를 위한 시스템 장치에 관한 것이다. 이를 위해 본 발명의 일 실시 예에 따른 클라우드 시스템은 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한 지 여부를 판단하여, 그렇지 않을 경우, 상기 클라이언트 단말에서 실행 가능하도록 상기 어플리케이션을 변환하여 실행하고, 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 서비스 장치 및 상기 서비스 장치로 특정 어플리케이션에 대한 실행을 요청하고, 상기 서비스 장치로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여 출력하는 클라이언트 단말을 포함하여 구성될 수 있다.

Description

클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능할 경우, 클라이언트 단말 또는 어플리케이션을 보유하고 있는 다른 어플리케이션 장치에서 실행 가능하도록 하는 클라우드 서비스 제공 방법, 이를 위한 시스템 장치에 관한 것이다.
기술이 발전됨에 따라, 사용자의 단말에서 구동될 수 있는 어플리케이션의 수가 증대되고 있으며, 상기 어플리케이션 구동에 필요한 단말의 사양 또한 급속히 발전하고 있다.
그러나, 사용자들은 3D 게임 등과 같이 고사양의 어플리케이션을 구동하기 위해서는 자신이 이용하고자 하는 단말이 고사양의 어플리케이션 구동에 적합한 단말인지 여부를 사전에 확인해야 하며, 만일 사용자의 단말이 고사양의 어플리케이션을 구동하기에 부족한 사양일 경우, 사용자들은 어플리케이션 자체를 이용할 수 없다는 불편함이 있다.
이에, 사용자의 단말의 사양과는 상관없이 네트워크를 통해 서비스 제공자가 제공하는 서비스에 접속하여 어플리케이션을 이용할 수 있는 클라우드 서비스가 주목 받고 있다.
최근에는 화면 가상화 기반의 클라우드 서비스가 개발되고 있는데, 화면 가상화 기반의 클라우드 서비스는 사용자의 요청에 서버에서 구동된 어플리케이션의 결과 화면을 실시간으로 사용자의 단말로 전송함으로써, 사용자는 자신의 단말에 해당 어플리케이션을 구비하고 있지 않더라도 어플리케이션을 용이하게 이용할 수 있는 서비스를 의미한다.
이러한 클라우드 서비스를 위해 서버는 사용자의 단말에서 구동 가능한 어플리케이션을 미리 구비하고 있어야 한다.
예를 들어, 조이스틱 입력 장치를 지원하는 어플리케이션을 사용자가 요청한 경우, 사용자의 단말이 조이스틱 입력 장치를 구비하고 있지 않다면 사용자는 해당되는 어플리케이션을 정상적으로 이용할 수 없게 된다. 따라서, 이러한 문제점을 해결하기 위해, 클라우드 서비스를 제공하는 서버는 사용자의 단말에 적합한 어플리케이션을 미리 구비하고 있어야 한다. 그러나, 서버가 사용자의 단말에 적합한 어플리케이션을 모두 구비하고자 할 경우 많은 비용이 야기된다는 문제점이 있다.
또한, 클라우드 서비스를 위해 서버는 사용자의 단말에서 구동 가능한 어플리케이션을 미리 구비하고 있어야 한다. 이때, 다양한 종류의 사용자 단말을 고려하여 적합한 어플리케이션을 서버에서 미리 구비하고 있더라도, 상기 서버가 다양한 이유, 예컨대 네트워크 이상 발생, 서버 과부하 등으로 인해 사용자의 단말로 정상적인 어플리케이션 제공이 불가능한 경우, 이에 대처하기가 어렵다는 문제점이 있다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 서비스 장치가 클라이언트 단말에서 실행을 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능한 어플리케이션일 경우, 어플리케이션을 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공할 수 있는 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치를 제공하는 데 목적이 있다.
또한, 본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 어느 하나의 클라이언트 단말이 실행 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치가 클라이언트 단말로 어플리케이션 제공이 불가능한 경우, 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청할 수 있는 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치를 제공하는 데 목적이 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 클라우드 시스템은 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션이 클라이언트 단말에서 실행 가능한 지 여부를 판단하여, 그렇지 않을 경우, 클라이언트 단말에서 실행 가능하도록 어플리케이션을 변환하여 실행하고, 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말로 전송하는 서비스 장치; 및 서비스 장치로 특정 어플리케이션에 대한 실행을 요청하고, 서비스 장치로부터 어플리케이션 실행에 따른 결과 정보를 수신하여 출력하는 클라이언트 단말;을 포함하여 구성될 수 있다.
본 발명의 클라우드 시스템에 있어서, 서비스 장치는, 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 제1 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하되, 제1 어플리케이션 제공 장치가 어플리케이션 실행이 불가능할 경우, 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 서비스 장치는, 하나 이상의 어플리케이션 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션의 최소 사양 정보와 클라이언트 단말의 리소스 정보를 비교하여 어플리케이션이 클라이언트 단말에서 실행 가능한지 여부를 판단하고, 그렇지 않을 경우, 클라이언트 단말에서 실행 가능하도록 어플리케이션을 변환하여 실행한 후 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말로 전송하는 장치 제어부;를 포함하여 구성될 수 있다.
여기서, 장치 제어부는 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 클라이언트 단말의 기 저장된 리소스 정보를 확인한 후 어플리케이션의 최소 사양 정보와 비교할 수 있다.
또한, 장치 제어부는 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 클라이언트 단말로 리소스 수집을 요청한 후 확인할 수 있다.
또한, 장치 제어부는 어플리케이션이 변환 가능한 지 여부를 확인한 후, 어플리케이션이 변환이 불가능한 경우, 어플리케이션을 실행하기 위한 클라이언트 단말의 필요 리소스 정보를 확인한 후, 필요 리소스 정보를 포함하는 안내 메시지를 클라이언트 단말로 전송할 수도 있다.
또한, 장치 제어부는 어플리케이션이 지원하는 입력 장치를 클라이언트 단말이 구비하고 있지 않을 경우, 클라이언트 단말이 구비하고 있는 입력 장치에 적합하게 어플리케이션을 변환할 수 있다.
또한, 장치 제어부는 어플리케이션이 지원하는 해상도가 클라이언트 단말의 해상도와 상이한 경우, 클라이언트 단말의 해상도에 적합하게 어플리케이션을 변환할 수도 있다.
또한, 장치 제어부는 클라이언트 단말의 디코더를 확인한 후, 디코더가 지원하는 압축률에 따라 어플리케이션을 인코딩하여 클라이언트 단말로 전송할 수도 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 서비스 장치는, 하나 이상의 어플리케이션 제공 장치로부터 수신한 보유 어플리케이션 정보 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하되, 제1 어플리케이션 제공 장치가 상기 어플리케이션 실행이 불가능할 경우, 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하는 장치 제어부를 포함할 수 있다.
여기서, 장치 제어부는 클라이언트 단말의 리소스 정보와 어플리케이션의 최소 사양 정보와 비교하여, 해당되는 제1 어플리케이션 제공 장치를 확인할 수 있다.
또한, 장치 제어부는 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 클라이언트 단말로 리소스 수집을 요청한 후 확인할 수 있다.
또한, 장치 제어부는 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 제1 어플리케이션 제공 장치가 보유하고 있는 어플리케이션과 동일하나 클라이언트 단말의 최소 사양 정보가 다른 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 클라우드 서비스 제공 방법은 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계; 어플리케이션의 최소 사양 정보와 클라이언트 단말의 리소스 정보를 비교하여, 어플리케이션이 클라이언트 단말에서 실행 가능한지 여부를 판단하는 단계; 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능하지 않을 경우, 어플리케이션을 클라이언트 단말에서 실행 가능하도록 변환하는 단계; 및 변환된 어플리케이션을 실행하여 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말로 전송하는 단계;를 포함하여 이뤄질 수 있다.
이때, 실행 요청을 수신하는 단계 이전에, 하나 이상의 어플리케이션 제공 장치로부터 보유 어플리케이션 정보 및 어플리케이션을 이용할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하여 저장하는 단계;를 더 포함하며, 변환하는 단계는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치로부터 어플리케이션을 수신한 후 변환할 수 있다.
또한, 판단하는 단계 이후에, 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능한 경우, 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 클라이언트 단말로 전송할 수도 있다.
여기서, 변환하는 단계는 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능하지 않을 경우, 어플리케이션이 변환 가능한 어플리케이션인지 확인하는 단계; 확인 결과, 어플리케이션이 변환이 불가능한 경우, 어플리케이션을 실행하기 위한 클라이언트 단말의 필요 리소스 정보를 확인하는 단계; 및 확인된 필요 리소스 정보를 포함하는 안내 메시지를 클라이언트 단말로 전송하는 단계;를 더 포함할 수도 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 다른 클라우드 서비스 제공 방법은, 서비스 장치가 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계; 서비스 장치가 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인하는 단계; 서비스 장치가 제1 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하는 단계; 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 서비스 장치가 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치를 확인하는 단계; 및 서비스 장치가 제2 어플리케이션 제공 장치로 어플리케이션에 대한 실행을 요청하는 단계;를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
이때, 특정 어플리케이션에 대한 실행 요청을 수신하는 단계 이전에, 서비스 장치가 제1 어플리케이션 제공 장치 및 제2 어플리케이션 제공 장치가 보유 어플리케이션 정보 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하는 단계; 및 서비스 장치가 보유 어플리케이션 정보 및 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 단계;를 더 포함하며, 제1 어플리케이션 제공 장치가 및 제2 어플리케이션 제공 장치가 보유하고 있는 어플리케이션은 동일하나, 이에 대응하는 클라이언트 단말의 최소 사양 정보만이 다를 수 있다.
또한, 제1 어플리케이션 제공 장치를 확인하는 단계는 클라이언트 단말의 리소스 정보와 어플리케이션에 대응하여 기 저장된 최소 사양 정보와 비교하여 확인할 수 있다.
여기서, 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계 이후에, 제2 어플리케이션 제공 장치가 클라이언트 단말로 어플리케이션 제공이 가능한 지 판단하는 단계; 판단 결과, 클라이언트 단말로 어플리케이션 제공이 가능한 경우, 제2 어플리케이션 제공 장치가 어플리케이션이 클라이언트 단말에서 실행 가능한지 판단하는 단계; 판단 결과, 어플리케이션이 클라이언트 단말에서 실행 가능하지 않을 경우, 제2 어플리케이션 제공 장치가 클라이언트 단말의 리소스 정보를 기초로 어플리케이션을 변환하는 단계; 및 제2 어플리케이션 제공 장치가 변환된 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 클라이언트 단말로 전송하는 단계를 더 포함할 수 있다.
추가로, 상술한 바와 같은 클라우드 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 더 제공할 수도 있다.
본 발명의 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 의하면, 서비스 장치가 클라이언트 단말에서 실행을 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능한 어플리케이션일 경우, 어플리케이션을 실행 가능하도록 변환한 후 클라이언트 단말로 제공할 수 있게 된다.
이로 인해, 서비스 장치는 클라이언트 단말의 모든 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 클라이언트 단말의 사양에 따라 필요한 부분만을 변환하여 상기 클라이언트 단말로 제공함으로써, 보다 효율적인 서비스 제공이 가능하며, 사용자 또한 자신의 클라이언트 단말에서 이용이 불가능한 어플리케이션이 없이, 모든 종류의 어플리케이션을 이용할 수 있다는 효과가 있다.
또한, 본 발명의 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 의하면, 클라이언트 단말이 실행 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치가 과부하 등의 이유로 상기 클라이언트 단말로 정상적인 어플리케이션 제공이 불가능한 경우, 이를 확인한 서비스 장치가 상기 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청함으로써, 클라이언트 단말은 원활한 어플리케이션 이용이 가능하게 된다.
더욱이, 본 발명은 서비스 장치가 어플리케이션을 제공하는 어플리케이션 제공 장치의 상황에 따라 적절한 어플리케이션 제공 장치와 클라이언트 단말을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능할 수 있다.
도 1은 본 발명의 실시 예들에 따른 클라우드 시스템을 개략적으로 도시한 구성도이다.
도 2는 본 발명의 실시 예들에 따른 클라이언트 단말의 주요 구성을 도시한 블록도이다.
도 3은 본 발명의 실시 예들에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 4는 본 발명의 제1 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 5는 본 발명의 제1 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 제2 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 제2 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
이하, 본 발명의 실시 예들에 따른 클라우드 시스템에 대해 설명하도록 한다. 우선, 본 발명의 제1 실시예에 따른 클라우드 시스템에 대해 설명하기로 한다.
도 1은 본 발명의 실시 예들에 따른 클라우드 시스템을 개략적으로 도시한 구성도이다.
도 1을 참조하면, 본 발명의 제1 실시 예들에 따른 클라우드 시스템은(100)은 하나 이상의 클라이언트 단말(10), 상기 클라이언트 단말(10)의 요청에 따라 어플리케이션을 실행하고, 상기 어플리케이션 실행 결과에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송하는 서비스 장치(20) 및 통신망(30)을 포함하여 구성될 수 있다.
여기어 더불어, 다수의 어플리케이션을 제공하는 다수의 어플리케이션 제공 장치(40)를 더 포함하여 구성될 수 있다.
각 구성에 대해 개략적으로 설명하면, 클라이언트 단말(10)은 통신망(30)을 통해 서비스 장치(20)에 접속을 수행하고, 서비스 장치(20)가 제공하는 다양한 기능들을 이용할 수 있는 사용자의 장치를 의미한다. 특히, 본 발명의 실시 예에 따른 클라이언트 단말(10)은 서비스 장치(20)에 접속하여 상기 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션의 실행을 요청하고, 상기 서비스 장치(20)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여, 이를 출력함으로써 해당 어플리케이션을 이용할 수 있다.
서비스 장치(20)는 다수의 클라이언트 단말(10)로 클라우드 기반의 어플리케이션을 제공하는 장치로, 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 해당되는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)로부터 어플리케이션을 가져와 실행한 후, 실행에 따른 결과만을 상기 클라이언트 단말(10)로 전송하는 역할을 수행하게 된다.
또는 상기 서비스 장치(20)가 직접 어플리케이션을 저장하고 있는 경우, 어플리케이션 제공 장치(40)와의 연동없이 어플리케이션을 실행한 후 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송할 수도 있다.
이때, 보다 정확하게 서비스 장치(20)는 어플리케이션 실행 결과에 따른 화면 데이터를 프레임 단위로 실시간 인코딩하고, 인코딩된 데이터를 상기 클라이언트 단말(10)로 전송하게 된다.
이를 위해 서비스 장치(20)는 다수의 어플리케이션을 포함하며, 상기 어플리케이션을 실행하고, 그 결과를 클라이언트 단말(10)로 전송할 수 있는 어플리케이션 실행 모듈(22_2)을 포함하여 구성될 수 있다.
특히, 본 발명의 서비스 장치(20)는 다수의 어플리케이션 제공 장치(40)의 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하고 있는 상태에서, 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말(10)의 리소스 정보를 확인한 후 상기 클라이언트 단말(10)의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 비교를 수행하게 된다.
상기 비교 결과, 상기 클라이언트 단말(10)이 상기 어플리케이션을 실행할 수 있는 것으로 확인되면, 서비스 장치(20)는 상기 어플리케이션을 실행한 후, 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송하게 된다. 그러나, 상기 클라이언트 단말(10)이 상기 어플리케이션을 실행할 수 없는 것으로 확인되면, 서비스 장치(20)는 상기 어플리케이션을 상기 클라이언트 단말(10)에서 실행 가능하도록 변환한 후 변환된 어플리케이션을 실행하여 상기 클라이언트 단말(10)로 제공할 수 있다.
여기서, 서비스 장치(20)는 상기 어플리케이션이 변환될 수 없는 어플리케이션일 경우, 상기 클라이언트 단말(10)의 상기 어플리케이션 구동에 필요한 리소스 정보를 확인한 후, 이에 대한 안내 메시지를 상기 클라이언트 단말(10)로 전송할 수도 있다.
이를 통해, 사용자는 서비스 장치(20)가 제공하는 모든 어플리케이션을 이용할 수가 있으며, 클라우드 서비스를 제공하는 서비스 장치(20) 또한 모든 경우의 수를 고려한 클라이언트 단말(10)에 적합한 어플리케이션을 미리 구비하고 있지 않더라도, 클라이언트 단말(10)에 적합하게 어플리케이션을 변환한 후 제공함으로써, 자원을 보다 효율적으로 사용할 수 있게 된다.
더하여, 다수의 어플리케이션 제공 장치(40)는 하나 이상의 어플리케이션을 보유하며, 서비스 장치(20)의 요청에 따라 어플리케이션을 제공하는 역할을 수행하게 된다. 여기서, 서비스 장치(20)에 제공될 수 있는 어플리케이션은 문서 편집 어플리케이션, 게임 어플리케이션, 음악 또는 영화 등과 같은 미디어 재생 어플리케이션, 기타 서비스 어플리케이션 등 그 어떠한 것도 가능하다.
또한, 본 발명의 일 실시 예에서는 서비스 장치(20)의 요청에 따라 어플리케이션 제공 장치(40)가 상기 서비스 장치(20)로 어플리케이션을 제공하고, 서비스 장치(20)가 상기 어플리케이션을 실행하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 서비스 장치(20)가 클라이언트 단말(10)과 적합한 어플리케이션 제공 장치(40)를 연결하게 되면, 어플리케이션 제공 장치(40)가 직접 클라이언트 단말(10)로 어플리케이션 실행에 따른 결과 정보를 제공할 수도 있다.
본 발명의 클라이언트 단말(10) 및 서비스 장치(20)에서의 보다 구체적인 동작 방법에 대해서는 후술하도록 하며, 앞서 설명한 바와 같이 본 발명의 클라이언트 단말(10) 및 서비스 장치(20)는 통신망(30)을 통해 관련된 다양한 정보를 송수신하게 되며, 이때의 통신망(30)은 다양한 형태의 통신망이 이용될 수 있다.
예컨대, 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) 등의 유선 통신 방식을 이용할 수 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 제1 실시 예에 따른 클라이언트 단말(10)의 주요 구성 및 동작 방법에 대해 먼저 설명하도록 한다.
도 2는 본 발명의 실시 예들에 따른 클라이언트 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 제1 실시예에 따른 클라이언트 단말(10)은 통신부(11), 입력부(12), 제어부(13), 저장부(14) 및 표시부(15)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(11)는 통신망(30)을 통해 서비스 장치(20)와 관련된 다양한 정보를 송수신하는 것으로, 특히 본 발명의 통신부(11)는 서비스 장치(20)로 특정 어플리케이션에 대한 실행 요청을 전송하고, 상기 서비스 장치(20)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신할 수 있다.
더하여, 통신부(11)는 서비스 장치(20)로부터 리소스 수집 요청 정보를 수신하고, 상기 서비스 장치(20)로 리소스 정보를 전달할 수 있으며, 이와 더불어 사용자 인증에 필요한 사용자 정보를 전달할 수도 있다. 또한, 상기 어플리케이션 실행 중에 발생되는 다양한 사용자 입력을 서비스 장치(20)로 전송할 수도 있다.
입력부(12)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 클라이언트 단말(10)의 기능 제어와 관련하여 입력되는 신호를 제어부(13)로 전달한다. 특히, 본 발명의 입력부(12)는 서비스 장치(20)로 사용자 인증을 위한 사용자 정보 입력을 지원하며, 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션에 대한 실행 요청 정보에 대한 입력을 지원할 수 있다. 또한, 어플리케이션 구동 중에 발생되는 다양한 기능 및 동작을 수행하기 위한 사용자의 입력을 지원하게 된다.
이러한, 입력부(12)는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 이때, 입력부(12)는 후술할 표시부(15)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 입력부(12)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 또는 음성 입력 수단 중 하나 이상을 포함할 수 있다. 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(13)는 클라이언트 단말(10)의 전반적인 제어를 수행하는 것으로, 예컨대 상기 클라이언트 단말(10)을 구성하는 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다. 이때의 제어부(13)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다.
특히, 본 발명의 실시 예에 따른 제어부(13)는 사용자의 요청에 따라 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대 웹 페이지로 접속을 시도하게 된다. 이때, 바람직하게는 서비스 장치(20)로 서비스 가입 아이디와 비밀번호 등 사용자 인증을 수행할 수 있는 사용자 정보를 서비스 장치(20)로 제공할 수 있다. 이후, 상기 사용자 정보를 기초로 사용자 인증이 성공적으로 수행되면, 서비스 장치(20)와의 접속이 이뤄지고, 제어부(13)는 서비스 장치(20)로부터 어플리케이션 목록 정보를 수신하여, 표시부(15)를 통해 표시하게 된다.
이후, 입력부(12)를 통해 사용자로부터 특정 어플리케이션에 대한 선택이 입력되면, 제어부(13)는 상기 통신부(11)를 통해 서비스 장치(20)로 해당 어플리케이션에 대한 실행 요청 정보를 전송하게 된다.
이때, 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 제어부(13)는 자신의 하드웨어 사양 및 소프트웨어 사양에 대한 정보를 수집하게 된다. 예컨대, 입력부(12)에서 지원하는 입력 장치의 종류, 표시부(15)에서 지원하는 표시 사양 등이 될 수 있다.
표 1
OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 키보드, 마우스
상기의 <표 1>과 같이, 제어부(13)는 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 단말 내 하드웨어 사양 및 소프트웨어 사양에 대한 다양한 정보를 수집한 후, 이를 서비스 장치(20)로 전송한다.
이후, 제어부(13)는 서비스 장치(20)로부터 실시간 수신되는 상기 어플리케이션 실행 결과를 수신하여 표시부(15)를 통해 출력할 수 있게 된다.
상술한 바와 같은 제어부(13)의 동작을 위해, 제어부(13)는 서비스 장치(20)로부터의 요청에 따라 리소스를 수집하기 위한 리소스 수집 모듈(13_1)을 포함하여 구성될 수 있으며, 서비스 장치(20)로부터 수신되는 어플리케이션에 대한 실행 결과에 따른 화면 데이터를 실시간으로 수신하고, 수신된 상기 화면 데이터를 실시간으로 복호화하여 출력할 수 있는 스트림 데이터 디코더(13_2)를 포함하여 구성될 수 있다. 이때, 스트림 데이터 디코더(13_2)는 H.264 방식의 디코더가 될 수 있다.
여기서, 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 서비스 장치(20)에 접속한 후 상기 서비스 장치(20)로부터 제공받아 구비될 수 있으며, 서비스 장치(20)의 요청에 따라 또는 일정 시간 경과 후 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 삭제될 수 있다.
저장부(14)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히 본 발명의 저장부(14)는 서비스 장치(20)로부터 제공되는 어플리케이션 목록 정보, 사용자가 요청한 어플리케이션 실행 결과에 따른 결과 정보를 일시적으로 저장하는 역할을 수행할 수 있으며, 상기 서비스 장치(20)와의 접속이 종료되면, 상기 일시적으로 저장된 데이터는 삭제될 수 있다.
이러한 저장부(14)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 클라이언트 단말(10)를 부팅시키는 운영체제(OS)와 같은 단말(10) 구동을 위한 관련된 정보들을 저장하며, 데이터 영역은 클라이언트 단말(10)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 서비스 장치(20)로부터 수신되는 정보 등이 일시적으로 저장될 수 있다. 이러한, 저장부(14)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(15)는 클라이언트 단말(10)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(15)는 서비스 장치(20)가 제공하는 어플리케이션에 대한 목록 정보를 표시할 수 있으며, 어플리케이션 실행에 따른 결과 정보는 물론 상기 어플리케이션 실행 중에 입력부(12)를 통해 발생되는 다양한 사용자 입력 정보를 표시할 수도 있다.
이러한 표시부(15)는 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를 참조하여 클라이언트 단말(10)의 주요 구성 요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성 요소가 모두 필수 구성 요소인 것은 아니며, 도시된 구성 요소보다 많은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있고, 그 보다 적은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있다.
이러한, 본 발명의 클라이언트 단말(10)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 발명의 클라이언트 단말(10)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있다.
이하, 본 발명의 제1 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 본 발명의 실시 예들에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 제1 실시예에 따른 서비스 장치(20)는 장치 통신부(21), 장치 제어부(22) 및 장치 저장부(23)를 포함하여 구성될 수 있다.
먼저, 장치 통신부(21)는 통신망(30)을 통해 다수의 클라이언트 단말(10)과 관련된 정보를 송수신하는 것으로, 특히, 어느 하나의 클라이언트 단말(10)의 접속이 확인되면, 상기 클라이언트 단말(10)로 제공 가능한 어플리케이션에 대한 목록 정보를 전송하고, 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송할 수 있다.
또한, 장치 제어부(22)의 제어에 따라 상기 클라이언트 단말(10) 리소스 수집 요청을 전송하거나 이에 대응하여 상기 클라이언트 단말(10)로부터 리소스 정보를 수신할 수 있다.
장치 제어부(22)는 본 발명의 서비스 장치(20)의 전반적인 동작을 제어하는 것으로, 특히, 본 발명의 장치 제어부(22)는 먼저, 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보가 수신되면, 이를 장치 저장부(23)에 저장하게 된다.
예컨대, 다수의 어플리케이션 제공 장치(40) 중 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션을 보유하며, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션을 보유하고 있는 상태라면, 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션 정보 및 상기 A 게임 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 상기 서비스 장치(20)로 전송하고, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션 정보 및 상기 B 문서 편집 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 서비스 장치(20)로 전송할 수도 있다.
또한, 다수의 어플리케이션 제공 장치(40)가 모두 동일한 어플리케이션을 저장할 수도 있으며, 시스템 설계 방식에 따라, 하나의 어플리케이션을 일정 단위로 분할한 후, 분할된 어플리케이션을 저장할 수도 있다.
이와 같이, 서비스 장치(20)의 장치 제어부(22)가 다수의 어플리케이션 제공 장치(40)로부터 보유하고 있는 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 수신되면, 수신된 정보를 장치 저장부(23)에 저장하게 된다.
예컨대, 하기의 <표 2>와 같은 정보가 장치 저장부(23)에 저장될 수 있다.
표 2
어플리케이션 제공 장치 정보 보유 어플리케이션 정보 클라이언트 단말의 최소 사양 정보
제1 어플리케이션 제공 장치 게임 1 OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 전용 게임패드
제2 어플리케이션 제공 장치 문서 편집 1 OS X17
CPU Pen 2.0GHz
그래픽 카드 F 3800GT
메모리 500MB
입력 장치 키보드, 마우스
이후, 장치 제어부(22)는 어느 하나의 클라이언트 단말(10)의 접속을 확인하게 된다. 여기서, 클라이언트 단말(10)의 접속이란, 사용자가 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대, 웹 페이지, 유무선 어플리케이션에서의 접속 페이지로 상기 클라이언트 단말(10)이 접근하여, 상기 서비스 페이지를 통해 사용자 정보, 예컨대, 아이디, PIN(Personal Identification Number) 등 사용자 식별 정보와 이에 대응하는 비밀번호를 입력하여 서비스 장치(20)로 전송하는 행위가 될 수 있다.
이후, 장치 제어부(22)는 서비스 장치(20)는 클라이언트 단말(10)로부터 사용자 정보가 수신되면, 상기 사용자 정보를 기초로 사용자 인증을 수행하고, 적합한 사용자인지 확인하게 된다. 장치 제어부(22)는 상기 클라이언트 단말(10)의 사용자가 적합한 사용자로 확인되면, 상기 클라이언트 단말(10)로 보유하고 있는 어플리케이션에 대한 어플리케이션 목록 정보를 제공할 수 있다.
그리고 나서, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말(10)의 리소스 정보와 상기 클라이언트 단말(10)이 실행을 요청한 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 비교하게 된다.
이때, 상기 클라이언트 단말(10)의 리소스 정보는 사용자 정보에 대응하여 장치 저장부(23)에 미리 저장되어 있을 수 있으며, 미리 저장되어 있지 않을 경우, 장치 제어부(22)는 상기 클라이언트 단말(10)로 리소스 수집 요청을 전송할 수 있다. 이후, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 하드웨어 및 소프트웨어에 대한 리소스 정보를 수신할 수 있다.
여기서, 장치 제어부(22)는 상기 클라이언트 단말(10)의 리소스 수집 모듈이 존재하지 않는 것으로 확인되면, 먼저, 클라이언트 단말(10)로 리소스 수집 모듈을 제공할 수도 있다. 여기서의 리소스 수집 모듈을 API(Application Programming Interface) 형태로 제공될 수 있다.
상기 비교 결과, 장치 제어부(22)는 클라이언트 단말(10)이 요청한 어플리케이션이 클라이언트 단말(10)에서 구동 가능하면, 상기 어플리케이션을 실행하고 실행 결과에 따른 결과 정보, 즉 프레임 단위의 화면 데이터를 실시간 인코딩하고, 인코딩된 데이터를 상기 클라이언트 단말(10)로 전송하게 된다.
이때, 장치 제어부(22)는 보유 어플리케이션에 대한 정보만을 저장하고, 실제 어플리케이션 데이터를 저장하고 있지 않을 경우, 상기 어플리케이션에 대응하는 어플리케이션 제공 장치(40)를 확인한 후, 확인된 어플리케이션 제공 장치(40)로 어플리케이션을 요청하여 수신한 후 상기 어플리케이션을 실행할 수 있다.
반면, 클라이언트 단말(10)이 요청한 어플리케이션이 클라이언트 단말(10)에서 구동이 불가능한 경우, 장치 제어부(22)는 상기 어플리케이션을 클라이언트 단말(10)에서 구동 가능하도록 변환할 수 있다.
예를 들어, 클라이언트 단말(10)로부터 수신된 리소스 정보가 <표 1>에 도시된 바와 같다고 가정한다. 또한 장치 저장부(23)에 저장된 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 <표 2>에 도시된 바와 같다고 가정한다. 장치 제어부(22)는 클라이언트 단말(10)로부터 게임 1 어플리케이션에 대한 실행 요청이 수신되면, 상기 게임 1 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하게 되고, 장치 제어부(22)는 상기 게임 1 어플리케이션은 별도의 전용 게임패드가 필요하나, 클라이언트 단말(10)은 이를 구비하고 있지 않아 구동이 불가능한 것으로 확인하게 된다.
이후, 장치 제어부(22)는 상기 어플리케이션이 지원하는 전용 게임패드 입력 방식을 키보드와 마우스를 지원하는 입력 방식으로 변환하게 된다. 즉, 어플리케이션은 다수의 프로그램 모듈로 구성될 수 있는 데, 장치 제어부(22)는 상기 어플리케이션의 입력과 관련된 모듈에서, 키보드 및 마우스를 지원하도록 변환하게 된다. 또는 장치 제어부(22)는 미리 키보드 및 마우스를 통해 발생되는 다양한 입력을 전용 게임패드 입력에 대응하여 저장한 후, 클라이언트 단말(10)로부터 키보드 및 마우스를 통해 발생되는 입력 정보가 인가되면, 이에 대응하는 전용 게임패드 입력으로 변환할 수 있다. 예컨대, 클라이언트 단말(10)로부터 키보드를 통해 입력된 'A'가 수신되면, 장치 제어부(22)는 상기 'A'를 전용 게임패드의 [LEFT] 버튼 입력인 것으로 변환하여 처리할 수 있다.
또한, 장치 제어부(22)는 클라이언트 단말(10)의 리소스 정보를 통해 상기 클라이언트 단말(10)은 700x800 해상도를 지원하나 상기 클라이언트 단말(10)이 요청한 어플리케이션은 1200x1000 해상도에 최적화된 경우, 상기 어플리케이션의 해상도를 변환하여 실행한 후 클라이언트 단말(10)로 제공할 수도 있다. 해상도 변환하는 방법은 다양한 공지된 기술을 적용할 수 있으며, 예컨대, 중요도가 낮은 매크로 블록을 삭제함으로써 고 해상도에서 저 해상도로 변환할 수 있다.
또한, 장치 제어부(22)는 클라이언트 단말(10)의 리소스 정보를 통해 상기 클라이언트 단말(10)이 지원하는 디코더를 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션을 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다. 예컨대, 장치 제어부(22)는 클라이언트 단말(10)이 구비하고 있는 디코더가 H.264 스트림 데이터를 디코딩할 수 있는 디코더일 경우, 장치 제어부(22)는 어플리케이션 실행에 따른 화면 데이터를 H.264 방식으로 인코딩한 후 클라이언트 단말(10)로 제공할 수 있다.
여기서, 장치 제어부(22)는 클라이언트 단말(10)이 실행 가능하도록 어플리케이션을 변환하기에 앞서, 상기 어플리케이션이 변환 가능한 어플리케이션인지 여부를 먼저 확인할 수도 있다. 만약, 어플리케이션이 변환이 불가능한 경우, 장치 제어부(22)는 상기 어플리케이션을 실행하기 위한 클라이언트 단말(10)의 필요 리소스 정보를 확인한 후, 필요 리소스 정보를 포함하는 안내 메시지를 상기 클라이언트 단말(10)로 전송할 수도 있다.
이를 통해, 서비스 장치(20)는 클라이언트 단말(10)의 다양한 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 필요한 부분을 중심으로 어플리케이션을 변환함으로써, 보다 쉽게 클라이언트 단말(10)로 어플리케이션을 제공할 수 있으며, 자원의 효용성이 높아진다는 우수한 효과가 있다.
상기와 같은 동작을 위해 장치 제어부(22)는 사용자 관리 모듈(22_1) 및 어플리케이션 실행 모듈(22_2)을 포함하여 구성될 수 있다. 여기서 사용자 관리 모듈(22_1)는 사용자 인증과 관련된 다양한 관리를 수행할 수 있으며, 어플리케이션 실행 모듈(22_2)는 어플리케이션 관리, 변환 및 실행하여 클라이언트 단말(10)로 제공하는 역할을 수행할 수 있다.
더불어, 본 발명의 일 실시 예에서는 서비스 장치(20)가 어플리케이션 제공 장치(40)로부터 어플리케이션을 가져와 실행한 후 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 전송하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 서비스 장치(20)는 클라이언트 단말(10)이 실행을 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인한 후 상기 어플리케이션 제공 장치(40)로 실행을 요청하면, 어플리케이션 제공 장치(40)가 직접 어플리케이션을 실행하고, 그 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송할 수도 있다.
장치 저장부(23)는 상술한 바와 같이 본 발명의 클라우드 서비스와 관련된 다양한 정보들을 저장하는 것으로, 사용자 인증을 수행하기 위한 사용자 정보 (23_1), 어플리케이션 제공 장치(40)로부터 수신한 보유 어플리케이션 정보(23_2) 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보(23_3)를 저장할 수 있다. 또한, 사용자 정보(23_1)에 대응하여 리소스 정보를 저장하고 관리할 수도 있다.
이상으로, 본 발명의 제1 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 제1 실시 예에 따른 서비스 장치(20)는 클라우드 방식으로 동작하는 것을 예로 들어 설명하였으나, 일반적인 서버 기반 컴퓨팅 방식에도 용이하게 적용 가능하다.
이하, 본 발명의 제1 실시 예에 따른 클라우드 서비스 제공 방법에 대해 설명하도록 한다.
도 4는 본 발명의 제1 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 4를 참조하면, 먼저, 클라이언트 단말(10)로 어플리케이션을 제공하기 이전에, 서비스 장치(20)는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하여(S101) 저장하게 된다(S103).
여기서, 어플리케이션 제공 장치(40)에 새로운 어플리케이션이 등록되는 즉시 서비스 장치(20)로 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 자동적으로 제공될 수 있다. 또한, 본 발명의 일 실시 예에서는 서비스 장치(20)가 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 최소 사양 정보를 수신한 후, 이를 저장하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 보유 어플리케이션에 대한 정보뿐 아니라 어플리케이션을 가져와 서비스 장치(20)가 저장하고 관리할 수도 있다.
이후, 서비스 장치(20)는 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청을 수신하게 된다(S105). 여기서, 특정 어플리케이션에 대한 실행 요청을 수신하기에 앞서, 서비스 장치(20)는 상기 클라이언트 단말(10)로부터 사용자 인증에 필요한 사용자 정보를 수신하고, 상기 사용자 정보를 기초로 사용자 인증을 수행할 수도 있다.
이후, 서비스 장치(20)는 클라이언트 단말(10)이 실행을 요청한 상기 어플리케이션이 상기 클라이언트 단말(10)에서 실행 가능한 어플리케이션인지 확인하게 된다(S107).
상기 확인은, 서비스 장치(20)에 상기 클라이언트 단말(10)에 대응하여 미리 저장된 리소스 정보가 존재할 경우, 상기 리소스 정보와 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 비교를 통해 확인할 수 있다. 또한, 상기 클라이언트 단말(10)에 대응하여 미리 저장된 리소스 정보가 존재하지 않을 경우, 클라이언트 단말(10)로 리소스 수집을 요청한 후 리소스 정보를 확인 할 수 있다.
이후, S107 확인 결과에 따라, 상기 어플리케이션이 클라이언트 단말(10)에서 실행이 불가능한 어플리케이션일 경우, 상기 어플리케이션을 상기 클라이언트 단말(10)에서 실행 가능하도록 변환(S109)한 후, 어플리케이션을 실행하고(S111), 실행에 따른 결과 정보를 상기 클라이언트 단말(10)로 제공할 수 있다(S113).
예컨대, 어플리케이션이 지원하는 입력 장치를 상기 클라이언트 단말(10)이 구비하고 있지 않을 경우, 상기 클라이언트 단말(10)이 구비하고 있는 입력 장치에 적합하게 상기 어플리케이션의 입력을 처리하는 프로그램 모듈을 변환할 수 있다. 또한, 상기 어플리케이션이 지원하는 해상도가 상기 클라이언트 단말(10)의 해상도와 상이한 경우, 클라이언트 단말(10)의 해상도에 적합하게 상기 어플리케이션을 변환할 수도 있다. 또한, 상기 클라이언트 단말(10)의 디코더의 압축률을 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션 실행에 따른 화면 데이터를 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다.
이하, 도 5를 참조하여 상기 서비스 장치(20)에서의 클라우드 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
도 5는 본 발명의 제1 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 1 및 도 5를 참조하면, 앞서 설명한 바와 같이 먼저 서비스 장치(20)는 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 최소 사양 정보를 수신하여(S201), 서비스 장치(20) 내 장치 저장부에 저장하게 된다(S203).
이후, 서비스 장치(20)가 어느 하나의 클라이언트 단말(10)로부터 어플리케이션 실행 요청을 수신하게 되면(S205), 서비스 장치(20)는 먼저, 상기 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 지 판단하게 된다(S207).
상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하지 않을 경우, 서비스 장치(20)는 클라이언트 단말(10)로 리소스 수집을 요청한 후(S209), 리소스 정보를 수신할 수 있다(S211). 상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 경우, 상기 과정은 생략될 수 있다. 또한, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하더라도, 상기 클라이언트 단말(10)의 하드웨어 및 소프트웨어 사양이 변경된 경우, 이를 감지하여, 서비스 장치(20)가 상기 클라이언트 단말(10)로 리소스 수집을 요청할 수도 있다.
이후, 서비스 장치(20)는 S203 단계에서 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동하기 위한 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하여(S213), 상기 어플리케이션이 클라이언트 단말(10)에서 실행 가능한 어플리케이션인지 확인하게 된다(S215).
확인 결과, 상기 어플리케이션이 클라이언트 단말(10)에서 실행 불가능한 어플리케이션인 경우, 서비스 장치(20)는 상기 어플리케이션이 변환 가능한 어플리케이션인지 여부를 다시 확인할 수 있다(S217).
이때, 변환이 가능한 경우, 상기 어플리케이션을 상기 클라이언트 단말(10)에서 실행 가능하도록 변환하여 실행(S221)한 후 실행에 따른 결과 정보, 예컨대 화면 데이터를 인코딩하여 클라이언트 단말(10)로 제공하고, 이를 수신한 클라이언트 단말(10)은 상기 화면 데이터를 디코딩하여 화면을 통해 출력할 수 있게 된다.
상술한 과정은 실시간으로 이뤄지게 되므로, 사용자는 별다른 인지 없이 서비스 장치(20)가 제공하는 쉽게 어플리케이션을 이용할 수 있게 된다.
반면, 상기 어플리케이션이 변환이 불가능한 경우, 서비스 장치(20)는 상기 클라이언트 단말(10)이 상기 어플리케이션을 실행하기 위해 필요한 리소스 정보를 확인한 후(S223), 이에 대한 안내 메시지를 상기 클라이언트 단말(10)로 제공할 수 있다(S225). 예컨대, '해당 어플리케이션은 전용 햅틱 장비를 필요로 하는 어플리케이션입니다. 전용 햅틱 장비를 구매하시려면 [확인] 버튼을 클릭하세요'라는 안내 메시지를 제공할 수도 있다.
이를 통해, 사용자는 자신의 단말 사양에 적합한 어플리케이션을 서비스 장치(20)로부터 제공받아 이용할 수 있으며, 추가로 자신의 단말에서 실행이 불가능한 어플리케이션을 실행하기 위한 필요한 정보를 안내 받을 수 있어, 사용자의 편의성이 향상될 수 있다.
또한, 클라우드 서비스를 제공하는 서비스 장치(20)는 모든 클라이언트 단말(10) 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 경우에 따라 필요한 부분만을 변환한 후 사용자에게 제공함으로써, 자원을 보다 효율적으로 활용할 수 있다는 장점이 있다.
다음으로, 본 발명의 제2 실시 예에 따른 클라우드 서비스를 제공하기 위한 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 실시 예들에 따른 클라우드 시스템을 개략적으로 도시한 구성도이다.
도 1을 참조하면, 본 발명의 제2 실시 예에 따른 클라우드 시스템은(100)은 하나 이상의 클라이언트 단말(10), 상기 클라이언트 단말(10)의 서비스 접속을 지원하는 서비스 장치(20) 및 통신망(30)을 포함하여 구성될 수 있다.
여기어 더불어, 하나 이상의 어플리케이션을 제공하는 다수의 어플리케이션 제공 장치(40)를 더 포함하여 포함하여 구성될 수 있다.
각 구성에 대해 개략적으로 설명하면, 클라이언트 단말(10)은 통신망(30)을 통해 서비스 장치(20)에 접속을 수행하고, 서비스 장치(20)가 제공하는 다양한 기능들을 이용할 수 있는 사용자의 장치를 의미한다. 특히, 본 발명의 실시 예에 따른 클라이언트 단말(10)은 서비스 장치(20)에 접속하여 상기 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션의 실행을 요청하고, 상기 서비스 장치(20)가 연결을 어플리케이션 제공 장치(40)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여, 이를 출력함으로써 해당 어플리케이션을 이용할 수 있다.
서비스 장치(20)는 다수의 클라이언트 단말(10)의 서비스 접속을 지원하는 장치로, 특히 본 발명의 실시 예에 따른 서비스 장치(20)는 어느 하나의 클라이언트 단말(10)의 서비스 접속이 확인되면, 클라이언트 단말(10)로 서비스 제공이 가능한 어플리케이션에 대한 목록 정보를 제공할 수 있다. 클라이언트 단말(10)은 이를 수신하여 출력하고, 사용자로부터 어느 하나의 어플리케이션에 대한 선택 입력이 확인되면, 서비스 장치(20)로 상기 어플리케이션에 대한 실행 요청을 전송하게 된다.
서비스 장치(20)는 어느 하나의 클라이언트 단말(10)로부터 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40), 예컨대 제1 어플리케이션 제공 장치(41)를 확인하게 된다. 이후, 확인된 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행 요청을 전송한다. 이때, 바람직하게는 클라이언트 단말(10)의 식별 정보를 더 포함하여 전송하게 되며, 이를 수신한 제1 어플리케이션 제공 장치(41)는 해당되는 어플리케이션을 실행한 후, 실행에 따른 결과 정보, 예컨대 화면 데이터를 프레임 단위로 실시간 인코딩하고, 인코딩된 데이터를 상기 클라이언트 단말(10)로 전송하게 된다.
만일, 제1 어플리케이션 제공 장치(41)가 다수의 클라이언트 단말(10)로 어플리케이션을 제공하는 과부하 상태이거나 어플리케이션을 제공할 수 없는 문제가 발생된 상태라면, 서비스 장치(20)로 어플리케이션 제공 불가능 상태 정보를 전송할 수 있다. 이를 수신한 서비스 장치(20)는 상기 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치, 예컨대 제2 어플리케이션 제공 장치(42)를 확인한 후, 상기 제2 어플리케이션 제공 장치(42)로 어플리케이션 실행 요청을 전송하게 된다. 이를 수신한 제2 어플리케이션 제공 장치(42)는 해당되는 어플리케이션을 실행한 후, 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송하게 된다.
상술한 바와 같은 동작을 위해 서비스 장치(20)는 다수의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 미리 저장하는 것이 바람직하다. 이후, 서비스 장치(20)는 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 먼저, 상기 클라이언트 단말(10)의 리소스 정보를 기초로, 해당되는 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인할 수 있다.
또한, 서비스 장치(20)로부터 어플리케이션 실행 요청을 수신한 다수의 어플리케이션 제공 장치(40)는 어플리케이션을 실행한 후, 실행에 따른 결과 정보, 예컨대 화면 데이터를 실시간 인코딩할 수 있는 인코더를 포함하고 있는 것이 바람직하다. 여기서, 어플리케이션 제공 장치(40)가 클라이언트 단말(10)로 제공할 수 있는 어플리케이션은 문서 편집 어플리케이션, 게임 어플리케이션, 음악 또는 영화 등과 같은 미디어 재생 어플리케이션, 기타 서비스 어플리케이션 등 그 어떠한 것도 가능하다.
본 발명의 제2 실시 예에 따른 클라우드 시스템(100)을 통해, 사용자는 네트워크 상황과는 상관없이 원활한 어플리케이션 이용이 가능하며, 서비스 장치(20)가 어플리케이션을 제공하는 어플리케이션 제공 장치(40)의 상황에 따라 적절한 어플리케이션 제공 장치(40)와 클라이언트 단말(10)을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말(10)의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능할 수 있다.
또한, 본 발명의 제2 실시 예에서는 서비스 장치(20)가 클라이언트 단말(10)과 적합한 어플리케이션 제공 장치(40)를 연결하게 되면, 어플리케이션 제공 장치(40)가 직접 클라이언트 단말(10)로 어플리케이션 실행에 따른 결과 정보를 제공하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 어플리케이션 제공 장치(40)가 서비스 장치(20)로 어플리케이션을 제공하고, 서비스 장치(40)가 상기 어플리케이션을 실행한 후 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공할 수도 있다.
본 발명의 클라이언트 단말(10) 및 서비스 장치(20)에서의 보다 구체적인 동작 방법에 대해서는 후술하도록 하며, 앞서 설명한 바와 같이 본 발명의 클라이언트 단말(10) 및 서비스 장치(20)는 통신망(30)을 통해 관련된 다양한 정보를 송수신하게 되며, 이때의 통신망(30)은 다양한 형태의 통신망이 이용될 수 있다.
예컨대, 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) 등의 유선 통신 방식을 이용할 수 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 제2 실시 예에 따른 클라이언트 단말(10)의 주요 구성 및 동작 방법에 대해 먼저 설명하도록 한다.
도 2는 본 발명의 실시 예들에 따른 클라이언트 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 제2 실시예에 따른 클라이언트 단말(10)은 통신부(11), 입력부(12), 제어부(13), 저장부(14) 및 표시부(15)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(11)는 통신망(30)을 통해 서비스 장치(20)와 관련된 다양한 정보를 송수신하는 것으로, 특히 본 발명의 통신부(11)는 서비스 장치(20)로 특정 어플리케이션에 대한 실행 요청을 전송하고, 상기 서비스 장치(20)로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신할 수 있다.
더하여, 통신부(11)는 서비스 장치(20)로부터 리소스 수집 요청 정보를 수신하고, 상기 서비스 장치(20)로 리소스 정보를 전달할 수 있으며, 이와 더불어 사용자 인증에 필요한 사용자 정보를 전달할 수도 있다. 또한, 상기 어플리케이션 실행 중에 발생되는 다양한 사용자 입력을 서비스 장치(20)로 전송할 수도 있다.
입력부(12)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 클라이언트 단말(10)의 기능 제어와 관련하여 입력되는 신호를 제어부(13)로 전달한다. 특히, 본 발명의 입력부(12)는 서비스 장치(20)로 사용자 인증을 위한 사용자 정보 입력을 지원하며, 서비스 장치(20)가 제공하는 다수의 어플리케이션 중 특정 어플리케이션에 대한 실행 요청 정보에 대한 입력을 지원할 수 있다. 또한, 어플리케이션 구동 중에 발생되는 다양한 기능 및 동작을 수행하기 위한 사용자의 입력을 지원하게 된다.
이러한, 입력부(12)는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 이때, 입력부(12)는 후술할 표시부(15)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 입력부(12)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 또는 음성 입력 수단 중 하나 이상을 포함할 수 있다. 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(13)는 클라이언트 단말(10)의 전반적인 제어를 수행하는 것으로, 예컨대 상기 클라이언트 단말(10)을 구성하는 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다. 이때의 제어부(13)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다.
특히, 본 발명의 실시 예에 따른 제어부(13)는 사용자의 요청에 따라 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대 웹 페이지로 접속을 시도하게 된다. 이때, 바람직하게는 사용자로부터 입력된 서비스 가입 아이디와 비밀번호 등 사용자 인증을 수행할 수 있는 사용자 정보를 서비스 장치(20)로 제공할 수 있다. 이후, 상기 사용자 정보를 기초로 사용자 인증이 성공적으로 수행되면, 서비스 장치(20)와의 접속이 이뤄지고, 제어부(13)는 서비스 장치(20)로부터 어플리케이션 목록 정보를 수신하여, 표시부(15)를 통해 표시하게 된다.
이후, 입력부(12)를 통해 사용자로부터 특정 어플리케이션에 대한 선택이 입력되면, 제어부(13)는 상기 통신부(11)를 통해 서비스 장치(20)로 해당 어플리케이션에 대한 실행 요청 정보를 전송하게 된다.
이때, 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 제어부(13)는 자신의 하드웨어 사양 및 소프트웨어 사양에 대한 정보를 수집하게 된다. 예컨대, 입력부(12)에서 지원하는 입력 장치의 종류, 표시부(15)에서 지원하는 표시 사양 등이 될 수 있다.
표 3
OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 키보드, 마우스
상기의 <표 3>과 같이, 제어부(13)는 서비스 장치(20)로부터 리소스 수집 요청 정보가 수신되면, 단말 내 하드웨어 사양 및 소프트웨어 사양에 대한 다양한 정보를 수집한 후, 이를 서비스 장치(20)로 전송한다.
이후, 제어부(13)는 서비스 장치(20)로부터 실시간 수신되는 상기 어플리케이션 실행 결과를 수신하여 표시부(15)를 통해 출력할 수 있게 된다.
상술한 바와 같은 제어부(13)의 동작을 위해, 제어부(13)는 서비스 장치(20)로부터의 요청에 따라 리소스를 수집하기 위한 리소스 수집 모듈(13_1)을 포함하여 구성될 수 있으며, 서비스 장치(20)로부터 수신되는 어플리케이션에 대한 실행 결과에 따른 화면 데이터를 실시간으로 수신하고, 수신된 상기 화면 데이터를 실시간으로 복호화하여 출력할 수 있는 스트림 데이터 디코더(13_2)를 포함하여 구성될 수 있다. 이때, 스트림 데이터 디코더(13_2)는 H.264 방식의 디코더가 될 수 있다.
여기서, 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 서비스 장치(20)에 접속한 후 상기 서비스 장치(20)로부터 제공받아 구비될 수 있으며, 서비스 장치(20)의 요청에 따라 또는 일정 시간 경과 후 상기 리소스 수집 모듈(13_1) 및 스트림 데이터 디코더(13_2)는 삭제될 수 있다.
저장부(14)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히 본 발명의 저장부(14)는 서비스 장치(20)로부터 제공되는 어플리케이션 목록 정보, 사용자가 요청한 어플리케이션 실행 결과에 따른 결과 정보를 일시적으로 저장하는 역할을 수행할 수 있으며, 상기 서비스 장치(20)와의 접속이 종료되면, 상기 일시적으로 저장된 데이터는 삭제될 수 있다.
이러한 저장부(14)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 클라이언트 단말(10)를 부팅시키는 운영체제(OS)와 같은 단말(10) 구동을 위한 관련된 정보들을 저장하며, 데이터 영역은 클라이언트 단말(10)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 서비스 장치(20)로부터 수신되는 정보 등이 일시적으로 저장될 수 있다. 이러한, 저장부(14)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(15)는 클라이언트 단말(10)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(15)는 서비스 장치(20)가 제공하는 어플리케이션에 대한 목록 정보를 표시할 수 있으며, 어플리케이션 실행에 따른 결과 정보는 물론 상기 어플리케이션 실행 중에 입력부(12)를 통해 발생되는 다양한 사용자 입력 정보를 표시할 수도 있다.
이러한 표시부(15)는 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를 참조하여 클라이언트 단말(10)의 주요 구성 요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성 요소가 모두 필수 구성 요소인 것은 아니며, 도시된 구성 요소보다 많은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있고, 그 보다 적은 구성 요소에 의해 클라이언트 단말(10)이 구현될 수도 있다.
이러한, 본 발명의 제2 실시 예에 따른 클라이언트 단말(10)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 발명의 클라이언트 단말(10)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있다.
이하, 본 발명의 제2 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 본 발명의 실시 예들에 따른 서비스 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 제2 실시예에 따른 서비스 장치(20)는 장치 통신부(21), 장치 제어부(22) 및 장치 저장부(23)를 포함하여 구성될 수 있다.
먼저, 장치 통신부(21)는 통신망(30)을 통해 다수의 클라이언트 단말(10)과 관련된 정보를 송수신하는 것으로, 특히, 어느 하나의 클라이언트 단말(10)의 접속이 확인되면, 상기 클라이언트 단말(10)로 제공 가능한 어플리케이션에 대한 목록 정보를 전송하고, 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 어플리케이션 실행에 따른 결과 정보를 클라이언트 단말(10)로 전송할 수 있다.
또한, 장치 제어부(22)의 제어에 따라 상기 클라이언트 단말(10) 리소스 수집 요청을 전송하거나 이에 대응하여 상기 클라이언트 단말(10)로부터 리소스 정보를 수신할 수 있다.
장치 제어부(22)는 본 발명의 제2 실시예에 따른 서비스 장치(20)의 전반적인 동작을 제어하는 것으로, 특히, 본 발명의 제2 실시예에 따른 장치 제어부(22)는 먼저, 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보가 수신되면, 이를 장치 저장부(23)에 저장하게 된다.
예컨대, 다수의 어플리케이션 제공 장치(40) 중 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션을 보유하며, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션을 보유하고 있는 상태라면, 제1 어플리케이션 제공 장치(41)는 A 게임 어플리케이션 정보 및 상기 A 게임 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 상기 서비스 장치(20)로 전송하고, 제2 어플리케이션 제공 장치(42)는 B 문서 편집 어플리케이션 정보 및 상기 B 문서 편집 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 서비스 장치(20)로 전송할 수도 있다.
또한, 다수의 어플리케이션 제공 장치(40)는 동일한 어플리케이션을 보유하고 있을 수 있다. 예컨대, 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42) 모두 A 게임 어플리케이션을 보유하고 있을 수 있다. 이때, 제1 어플리케이션 제공 장치(41)가 지원하는 A 게임 어플리케이션의 클라이언트 단말의 최소 사양 정보와 제2 어플리케이션 제공 장치(42)가 지원하는 A 게임 어플리케이션의 클라이언트 단말의 최소 사양 정보는 서로 상이할 수 있다. 또한, 시스템 설계 방식에 따라 하나의 어플리케이션을 일정 단위로 분할한 후, 분할된 어플리케이션을 다수의 어플리케이션 제공 장치(40)가 보유하고 있을 수도 있다.
이와 같이, 서비스 장치(20)의 장치 제어부(22)가 다수의 어플리케이션 제공 장치(40)로부터 보유하고 있는 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 수신되면, 수신된 정보를 장치 저장부(23)에 저장하게 된다.
예컨대, 하기의 <표 4>와 같은 정보가 장치 저장부(23)에 저장될 수 있다.
표 4
어플리케이션 제공 장치 정보 보유 어플리케이션 정보 클라이언트 단말의 최소 사용 정보
제1 어플리케이션 제공 장치 게임 1 OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 전용 게임패드
제2 어플리케이션 제공 장치 게임 1 OS X17
CPU Pen 3.2GHz
그래픽 카드 F 7800GT
메모리 1GB
입력 장치 키보드, 마우스
이후, 장치 제어부(22)는 어느 하나의 클라이언트 단말(10)의 접속을 확인하게 된다. 여기서, 클라이언트 단말(10)의 접속이란, 사용자가 서비스 장치(20)가 제공하는 서비스 페이지, 예컨대, 웹 페이지, 유무선 어플리케이션에서의 접속 페이지로 상기 클라이언트 단말(10)이 접근하여, 상기 서비스 페이지를 통해 사용자 정보, 예컨대, 아이디, PIN(Personal Identification Number) 등 사용자 식별 정보와 이에 대응하는 비밀번호를 입력하여 서비스 장치(20)로 전송하는 행위가 될 수 있다.
이후, 장치 제어부(22)는 서비스 장치(20)는 클라이언트 단말(10)로부터 사용자 정보가 수신되면, 상기 사용자 정보를 기초로 사용자 인증을 수행하고, 적합한 사용자인지 확인하게 된다. 장치 제어부(22)는 상기 클라이언트 단말(10)의 사용자가 적합한 사용자로 확인되면, 상기 클라이언트 단말(10)로 보유하고 있는 어플리케이션에 대한 어플리케이션 목록 정보를 제공할 수 있다.
그리고 나서, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청이 수신하게 된다. 예컨대 클라이언트 단말(10)로부터 게임 1에 대한 어플리케이션 실행 요청을 수신할 수 있다.
이후, 장치 제어부(22)는 클라이언트 단말(10)이 실행 요청한 게임 1 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인하게 된다. 확인 결과, 게임 1 어플리케이션은 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42) 모두 보유하고 있으므로, 장치 제어부(22)는 클라이언트 단말(10)의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 실행할 수 있는 클라이언트 단말의 최소 사양 정보를 비교하게 된다.
이때, 상기 클라이언트 단말(10)의 리소스 정보는 사용자 정보에 대응하여 장치 저장부(23)에 미리 저장되어 있을 수 있으며, 미리 저장되어 있지 않을 경우, 장치 제어부(22)는 상기 클라이언트 단말(10)로 리소스 수집 요청을 전송할 수 있다. 이후, 장치 제어부(22)는 상기 클라이언트 단말(10)로부터 하드웨어 및 소프트웨어에 대한 리소스 정보를 수신할 수 있다.
또한, 장치 제어부(22)는 상기 클라이언트 단말(10)의 리소스 수집 모듈이 존재하지 않는 것으로 확인되면, 먼저, 클라이언트 단말(10)로 리소스 수집 모듈을 제공할 수도 있다. 여기서의 리소스 수집 모듈을 API(Application Programming Interface) 형태로 제공될 수 있다.
장치 제어부(22)가 클라이언트 단말(10)의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 실행할 수 있는 클라이언트 단말의 최소 사양 정보를 비교하는 것을 예를 들어 보다 구체적으로 설명하면, 클라이언트 단말(10)로부터 수신된 리소스 정보가 <표 1>에 도시된 바와 같다고 가정한다. 또한 장치 저장부(23)에 저장된 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보가 <표 2>에 도시된 바와 같다고 가정한다. 장치 제어부(22)는 클라이언트 단말(10)로부터 게임 1 어플리케이션에 대한 실행 요청이 수신되면, 상기 게임 1 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하게 되고, 장치 제어부(22)는 제1 어플리케이션 제공 장치(41)가 보유하고 있는 게임 1 어플리케이션은 별도의 전용 게임패드가 필요하나, 클라이언트 단말(10)은 이를 구비하고 있지 않아 구동이 불가능한 것으로 확인하게 된다.
반면, 장치 제어부(22)는 제2 어플리케이션 제공 장치(42)가 보유하고 있는 게임 1 어플리케이션은 클라이언트 단말(10)에서 정상적으로 구동이 가능한 것으로 확인하게 된다.
이후, 장치 제어부(22)는 제2 어플리케이션 제공 장치(42)로 게임 1 어플리케이션 실행을 요청하게 된다. 이때, 게임 1 어플리케이션에 대한 식별 정보와 클라이언트 단말(10)의 식별 정보를 함께 제2 어플리케이션 제공 장치(42)로 전달할 수 있다. 이를 수신한 제2 어플리케이션 제공 장치(42)는 현재의 상태를 확인한 후, 클라이언트 단말(10)로 게임 1 어플리케이션을 제공할 수 있는 상태이면, 게임 1 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 클라이언트 단말(10)로 전송하게 된다.
반면, 제2 어플리케이션 제공 장치(42)가 현재 다수의 다른 클라이언트 단말로 어플리케이션을 제공하여 과부하 상태일 경우, 제2 어플리케이션 제공 장치(42)는 서비스 장치(20)로 클라이언트 단말(10)로 게임 1 어플리케이션을 제공할 수 없음을 통보하게 된다. 이를 수신한 서비스 장치(20)는 게임 1 어플리케이션과 동일한 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치(41)로 게임 1 어플리케이션 실행을 요청하게 된다. 이때, 서비스 장치(20)는 제1 어플리케이션 제공 장치(41)로 게임 1 어플리케이션 식별 정보와 클라이언트 단말(10)의 식별 정보와 더불어, 클라이언트 단말(10)의 리소스 정보를 더 제공할 수 있다.
이를 수신한 제1 어플리케이션 제공 장치(41)는 클라이언트 단말(10)의 입력 장치는 자신이 보유하고 있는 게임 1 어플리케이션이 지원하는 입력 장치와는 상이하므로, 상기 게임 1 어플리케이션이 지원하는 전용 게임패드 입력 방식을 키보드와 마우스를 지원하는 입력 방식으로 변환하여 실행한 후 클라이언트 단말(10)로 제공하게 된다.
즉, 어플리케이션은 다수의 프로그램 모듈로 구성될 수 있는데, 제1 어플리케이션 제공 장치(41)는 상기 어플리케이션의 입력과 관련된 모듈에서, 키보드 및 마우스를 지원하도록 변환하게 된다. 또는 제1 어플리케이션 제공 장치(41)는 미리 키보드 및 마우스를 통해 발생되는 다양한 입력을 전용 게임패드 입력에 대응하여 저장한 후, 클라이언트 단말(10)로부터 키보드 및 마우스를 통해 발생되는 입력 정보가 인가되면, 이에 대응하는 전용 게임패드 입력으로 변환할 수 있다. 예컨대, 클라이언트 단말(10)로부터 키보드를 통해 입력된 'A'가 수신되면, 제1 어플리케이션 제공 장치(41)는 상기 'A'를 전용 게임패드의 [LEFT] 버튼 입력인 것으로 변환하여 처리할 수 있다.
본 발명의 제2 실시 예에서는 서비스 장치(20)의 요청 하에 제1 어플리케이션 제공 장치(41)가 게임 1 어플리케이션을 클라이언트 단말(10) 환경에 적합하게 변환한 후 클라이언트 단말(10)로 제공하는 것을 예로 들어 설명하였으나, 이에 한정되는 것은 아니며, 제1 어플리케이션 제공 장치(41)가 자신이 보유하고 있는 게임 1 어플리케이션에 대한 정보를 서비스 장치(20)로 전달하고, 서비스 장치(20)가 상기 게임 1 어플리케이션을 클라이언트 단말(10) 환경에 적합하게 변환하여 실행한 후 클라이언트 단말(10)로 제공할 수도 있다.
또한, 상술한 예에서는 제1 어플리케이션 제공 장치(41)가 보유하고 있는 어플리케이션의 입력 방식을 클라이언트 단말(10)에서 지원 가능한 입력 방식으로 변환하는 것을 예로 들어 설명하였으나, 클라이언트 단말(10)의 적합한 해상도로 변환하거나, 클라이언트 단말(10)이 보유하고 있는 디코더가 지원하는 압축률에 따라 어플리케이션을 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다.
상기와 같은 동작을 위해 장치 제어부(22)는 사용자 관리 모듈(22_1) 및 어플리케이션 실행 모듈(22_2)을 포함하여 구성될 수 있다. 여기서 사용자 관리 모듈(22_1)는 사용자 인증과 관련된 다양한 관리를 수행할 수 있으며, 어플리케이션 실행 모듈(22_2)는 다수의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션 정보를 수신하거나, 클라이언트 단말(10)이 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치(40)를 확인하는 역할을 수행할 수 있다. 더불어, 서비스 장치(20)가 직접 어플리케이션을 실행한 후 클라이언트 단말(10)로 제공하는 경우, 어플리케이션 실행 모듈(22_2)이 어플리케이션 실행 및 인코딩 등의 역할을 수행할 수도 있다.
장치 저장부(23)는 상술한 바와 같이 본 발명의 클라우드 서비스와 관련된 다양한 정보들을 저장하는 것으로, 사용자 인증을 수행하기 위한 사용자 정보 (23_1), 어플리케이션 제공 장치(40)로부터 수신한 보유 어플리케이션 정보(23_2) 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말(10)의 최소 사양 정보(23_3)를 저장할 수 있다. 또한, 사용자 정보(23_1)에 대응하여 리소스 정보를 저장하고 관리할 수도 있다.
이상으로, 본 발명의 제2 실시 예에 따른 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 제2 실시 예에 따른 서비스 장치(20)는 클라우드 방식으로 동작하는 것을 예로 들어 설명하였으나, 일반적인 서버 기반 컴퓨팅 방식에도 용이하게 적용 가능하다.
이하, 본 발명의 제2 실시 예에 따른 클라우드 서비스 제공 방법에 대해 설명하도록 한다.
도 6은 본 발명의 제2 실시 예에 따른 클라우드 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 6을 참조하면, 먼저, 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42)는 자신이 보유하고 있는 어플리케이션에 대한 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 서비스 장치(20)로 전송하게 된다(S301 ~ S303).
여기서, 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42)에 새로운 어플리케이션이 등록되는 즉시 서비스 장치(20)로 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 제공할 수 있으며, 서비스 장치(20)의 요청에 따라 상기 정보를 전송할 수 있다.
이후, 서비스 장치(20)는 제1 어플리케이션 제공 장치(41) 및 제2 어플리케이션 제공 장치(42)로부터 수신된 보유 어플리케이션 정보 및 최소 사양 정보를 저장하게 된다(S305). 이후, 어느 하나의 클라이언트 단말(10)로부터 특정 어플리케이션에 대한 실행 요청을 수신한다(S307). 여기서, 특정 어플리케이션에 대한 실행 요청을 수신하기에 앞서, 서비스 장치(20)는 상기 클라이언트 단말(10)로부터 사용자 인증에 필요한 사용자 정보를 수신하고, 상기 사용자 정보를 기초로 사용자 인증을 수행할 수도 있다.
이후, 서비스 장치(20)는 클라이언트 단말(10)이 실행을 요청한 상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치를 확인하게 된다(S309). 이때, 클라이언트 단말(10)의 리소스 정보와 S305 단계에 어플리케이션에 대응하여 기 저장된 최소 사양 정보를 비교하여, 어플리케이션 제공 장치를 확인할 수 있다.
상기 확인 결과, 서비스 장치(20)는 제1 어플리케이션 제공 장치(41)가 해당되는 어플리케이션을 보유하고 있는 것으로 확인되면, 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행을 요청하게 된다(S311). 이에 제1 어플리케이션 제공 장치(41)는 현재의 상태가 어플리케이션 제공이 가능한 상태인지 판단한 후(S313), 어플리케이션 제공이 가능한 상태이면, 해당 어플리케이션을 실행하고, 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공한다
반면, S313 단계에서 어플리케이션 제공이 불가능한 경우, 제1 어플리케이션 제공 장치(41)는 어플리케이션 제공 불가능 상태 정보를 서비스 장치(20)로 전송하고(S317), 이를 수신한 서비스 장치(20)는 해당 어플리케이션을 보유하고 있는 또 다른 어플리케이션 제공 장치를 확인하여, 제2 어플리케이션 제공 장치(42)로 어플리케이션 실행을 요청하게 된다(S319).
이때, 서비스 장치(20)는 제2 어플리케이션 제공 장치(42)로 클라이언트 단말(10)의 리소스 정보를 더 전송할 수 있으며, 이를 수신한 제2 어플리케이션 제공 장치(42)는 어플리케이션 변환이 필요한 경우(S321), 어플리케이션을 클라이언트 단말(10)에서 구동 가능하도록 변환한 후(S323), 어플리케이션을 실행하고(S125), 실행에 따른 결과 정보를 제공하게 된다(S327).
예컨대, 제2 어플리케이션 제공 장치(42)는 어플리케이션이 지원하는 입력 장치를 상기 클라이언트 단말(10)이 구비하고 있지 않을 경우, 상기 클라이언트 단말(10)이 구비하고 있는 입력 장치에 적합하게 상기 어플리케이션의 입력을 처리하는 프로그램 모듈을 변환할 수 있다. 또한, 상기 어플리케이션이 지원하는 해상도가 상기 클라이언트 단말(10)의 해상도와 상이한 경우, 클라이언트 단말(10)의 해상도에 적합하게 상기 어플리케이션을 변환할 수도 있다. 또한, 상기 클라이언트 단말(10)의 디코더의 압축률을 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션 실행에 따른 화면 데이터를 인코딩하여 클라이언트 단말(10)로 제공할 수도 있다.
이후, 클라이언트 단말(10)은 제2 어플리케이션 제공 장치(42)로부터 전송되는 어플리케이션 실행에 따른 결과 정보, 예컨대 인코딩된 화면 데이터를 디코딩하여 출력하게 된다(S329).
더하여, 클라이언트 단말(10)이 어플리케이션 이용 중에 서비스를 종료하게 되면, 상기 클라이언트 단말(10)로 어플리케이션을 제공하고 있던 제2 어플리케이션 제공 장치(42)는 클라이언트 단말(10)의 어플리케이션 이용과 관련된 정보를 서비스 장치(20)로 전송할 수 있다. 예컨대, 게임 어플리케이션 실행 중에 클라이언트 단말(10)이 접속을 종료하게 되면, 마지막 게임 저장 시점, 게임 이용 시간 등의 정보를 서비스 장치(20)로 전송하게 된다. 이후, 클라이언트 단말(10)로부터 어플리케이션 실행 요청이 수신되면, 서비스 장치(20)는 상술한 바와 같이, 먼저 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행을 요청하고, 제1 어플리케이션 제공 장치(41)가 클라이언트 단말(10)로 어플리케이션 제공이 가능한 경우, 제2 어플리케이션 제공 장치(42)로부터 수신된 어플리케이션 이용과 관련된 정보를 제1 어플리케이션 제공 장치(41)로 전달하게 되며, 이를 수신한 제1 어플리케이션 제공 장치(41)는 상기 마지막 게임 저장 시점 이후부터 어플리케이션을 실행한 후 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공할 수도 있다.
이하, 도 7을 참조하여 상기 서비스 장치(20)에서의 클라우드 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
도 7은 본 발명의 제2 실시 예에 따른 서비스 장치에서의 클라우드 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 1 및 도 7을 참조하면, 앞서 설명한 바와 같이 먼저 서비스 장치(20)는 하나 이상의 어플리케이션 제공 장치(40)로부터 보유 어플리케이션에 대한 정보 및 최소 사양 정보를 수신하여(S401), 서비스 장치(20) 내 장치 저장부에 저장하게 된다(S403).
이후, 서비스 장치(20)가 어느 하나의 클라이언트 단말(10)로부터 어플리케이션 실행 요청을 수신하게 되면(S405), 서비스 장치(20)는 먼저, 상기 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 지 판단하게 된다(S407).
상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하지 않을 경우, 서비스 장치(20)는 클라이언트 단말(10)로 리소스 수집을 요청한 후(S409), 리소스 정보를 수신할 수 있다(S411). 상기 판단 결과, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하는 경우, 상기 과정은 생략될 수 있다. 또한, 클라이언트 단말(10)에 대응하여 기 저장된 리소스 정보가 존재하더라도, 상기 클라이언트 단말(10)의 하드웨어 및 소프트웨어 사양이 변경된 경우, 이를 감지하여, 서비스 장치(20)가 상기 클라이언트 단말(10)로 리소스 수집을 요청할 수도 있다.
이후, 서비스 장치(20)는 S403 단계에서 어플리케이션에 대응하여 기 저장된 상기 어플리케이션을 구동하기 위한 클라이언트 단말의 최소 사양 정보와 상기 클라이언트 단말(10)의 리소스 정보를 비교하여 상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치를 확인하게 된다(S413).
이후, 서비스 장치(20)는 확인된 어플리케이션 제공 장치, 예컨대 제1 어플리케이션 제공 장치(41)로 어플리케이션 실행을 요청하게 된다(S415). 이후, 제1 어플리케이션 제공 장치(41)로부터 어플리케이션 제공 불가능 상태 정보가 수신되면(S417), 서비스 장치(20)는 다른 어플리케이션 제공 장치, 예컨대 제2 어플리케이션 제공 장치(42)를 확인하게 된다.
여기서, 제2 어플리케이션 제공 장치(42)는 제1 어플리케이션 제공 장치(41)가 보유하고 있는 어플리케이션과 동일한 어플리케이션이나 이에 대응하는 클라이언트 단말의 최소 사양 정보가 다른 어플리케이션을 저장하고 있는 상태이다.
서비스 장치(20)는 확인된 제2 어플리케이션 제공 장치(42)로 어플리케이션 실행을 요청하고, 제2 어플리케이션 제공 장치(42)는 어플리케이션 제공이 가능한 경우, 어플리케이션을 실행하고 실행에 따른 결과 정보를 클라이언트 단말(10)로 제공할 수 있다.
이를 통해, 사용자는 네트워크 상황에 많은 영향을 받는 클라우드 서비스 이용 시 네트워크 상황과는 전혀 상관없이 원활하게 어플리케이션 이용이 가능하며, 또한, 서비스 장치가 어플리케이션을 제공하는 어플리케이션 제공 장치의 상황에 따라 적절한 어플리케이션 제공 장치와 클라이언트 단말을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능하게 된다.
이상으로, 본 발명의 실시 예들에 따른 클라우드 서비스 제공 방법에 대해 설명하였다.
본 발명의 실시 예들에 따른 클라우드 서비스 제공 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예들과 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 이탈함없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예들에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 예컨대, 클라이언트 단말에 적합하도록 어플리케이션을 변환하는 방법은 다양한 방법을 이용할 수 있다.
본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션이 클라이언트 단말에서 실행이 불가능할 경우, 클라이언트 단말에서 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공하는 클라우드 서비스 제공 방법, 이를 위한 시스템 장치에 관한 것이다.
본 발명의 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 의하면, 서비스 장치가 클라이언트 단말에서 실행을 요청한 어플리케이션이 상기 클라이언트 단말에서 실행이 불가능한 어플리케이션일 경우, 상기 어플리케이션을 실행 가능하도록 변환한 후 상기 클라이언트 단말로 제공할 수 있게 된다. 이로 인해, 서비스 장치는 클라이언트 단말의 모든 사양을 고려한 어플리케이션을 미리 구비하고 있지 않더라도, 클라이언트 단말의 사양에 따라 필요한 부분만을 변환하여 상기 클라이언트 단말로 제공함으로써, 보다 효율적인 서비스 제공이 가능하게 된다.
또한, 본 발명은 클라우드 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 클라이언트 단말이 실행 요청한 어플리케이션을 보유하고 있는 어플리케이션 제공 장치가 어플리케이션 실행이 불가능한 경우, 상기 어플리케이션을 보유하고 있는 다른 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 것을 특징으로 하는 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치에 관한 것이다.
이를 통해, 클라이언트 단말은 네트워크 상황에 영향을 받지 않고 원활한 어플리케이션 이용이 가능하게 되며, 서비스 장치가 어플리케이션을 제공하는 어플리케이션 제공 장치의 상황에 따라 적절한 어플리케이션 제공 장치와 클라이언트 단말을 연결함으로써, 클라우드 서비스를 요청하는 클라이언트 단말의 수가 증가하더라도 보다 유연하게 서비스 제공이 가능하게 된다. 이를 통해 클라우드 서비스 산업 발전에 이바지할 수 있다.
더불어, 본 발명은 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.

Claims (22)

  1. 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한 지 여부를 판단하여, 그렇지 않을 경우, 상기 클라이언트 단말에서 실행 가능하도록 상기 어플리케이션을 변환하여 실행하고, 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 서비스 장치; 및
    상기 서비스 장치로 특정 어플리케이션에 대한 실행을 요청하고, 상기 서비스 장치로부터 상기 어플리케이션 실행에 따른 결과 정보를 수신하여 출력하는 클라이언트 단말;
    을 포함하는 것을 특징으로 하는 클라우드 시스템.
  2. 제1항에 있어서, 상기 서비스 장치는,
    상기 어느 하나의 클라이언트 단말로부터 상기 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 상기 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하되, 상기 제1 어플리케이션 제공 장치가 상기 어플리케이션 실행이 불가능할 경우, 상기 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 것을 특징으로 하는 클라이언트 시스템.
  3. 하나 이상의 어플리케이션 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및
    어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션의 최소 사양 정보와 상기 클라이언트 단말의 리소스 정보를 비교하여 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한지 여부를 판단하고, 그렇지 않을 경우, 상기 클라이언트 단말에서 실행 가능하도록 상기 어플리케이션을 변환하여 실행한 후 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 장치 제어부;
    를 포함하는 것을 특징으로 하는 서비스 장치.
  4. 제3 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말의 기 저장된 리소스 정보를 확인한 후 상기 어플리케이션의 최소 사양 정보와 비교하는 것을 특징으로 하는 서비스 장치.
  5. 제3 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 상기 클라이언트 단말로 리소스 수집을 요청한 후 확인하는 것을 특징으로 하는 서비스 장치.
  6. 제3 항에 있어서,
    상기 장치 제어부는
    상기 어플리케이션이 변환 가능한 지 여부를 확인한 후, 상기 어플리케이션이 변환이 불가능한 경우, 상기 어플리케이션을 실행하기 위한 상기 클라이언트 단말의 필요 리소스 정보를 확인한 후, 필요 리소스 정보를 포함하는 안내 메시지를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 서비스 장치.
  7. 제3 항에 있어서,
    상기 장치 제어부는
    상기 어플리케이션이 지원하는 입력 장치를 상기 클라이언트 단말이 구비하고 있지 않을 경우, 상기 클라이언트 단말이 구비하고 있는 입력 장치에 적합하게 상기 어플리케이션을 변환하는 것을 특징으로 하는 서비스 장치.
  8. 제3 항에 있어서,
    상기 장치 제어부는
    상기 어플리케이션이 지원하는 해상도가 상기 클라이언트 단말의 해상도와 상이한 경우, 상기 클라이언트 단말의 해상도에 적합하게 상기 어플리케이션을 변환하는 것을 특징으로 하는 서비스 장치.
  9. 제3 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말의 디코더를 확인한 후, 상기 디코더가 지원하는 압축률에 따라 상기 어플리케이션을 인코딩하여 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 서비스 장치.
  10. 하나 이상의 어플리케이션 제공 장치로부터 수신한 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 장치 저장부; 및
    어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청이 수신되면, 상기 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인한 후, 상기 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하되, 상기 제1 어플리케이션 제공 장치가 상기 어플리케이션 실행이 불가능할 경우, 상기 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 장치 제어부;
    를 포함하는 것을 특징으로 하는 서비스 장치.
  11. 제10 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말의 리소스 정보와 상기 어플리케이션의 최소 사양 정보와 비교하여, 해당되는 제1 어플리케이션 제공 장치를 확인하는 것을 특징으로 하는 서비스 장치.
  12. 제10 항에 있어서,
    상기 장치 제어부는
    상기 클라이언트 단말의 기 저장된 리소스 정보가 없을 경우, 상기 클라이언트 단말로 리소스 수집을 요청한 후 확인하는 것을 특징으로 하는 서비스 장치.
  13. 제10 항에 있어서,
    상기 장치 제어부는
    상기 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 상기 제1 어플리케이션 제공 장치가 보유하고 있는 어플리케이션과 동일하나 클라이언트 단말의 최소 사양 정보가 다른 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 것을 특징으로 하는 서비스 장치.
  14. 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계;
    상기 어플리케이션의 최소 사양 정보와 상기 클라이언트 단말의 리소스 정보를 비교하여, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한지 여부를 판단하는 단계;
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능하지 않을 경우, 상기 어플리케이션을 상기 클라이언트 단말에서 실행 가능하도록 변환하는 단계; 및
    상기 변환된 어플리케이션을 실행하여 상기 어플리케이션 실행에 따른 결과 정보를 상기 클라이언트 단말로 전송하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  15. 제14 항에 있어서,
    상기 실행 요청을 수신하는 단계 이전에,
    하나 이상의 어플리케이션 제공 장치로부터 보유 어플리케이션 정보 및 상기 어플리케이션을 이용할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하여 저장하는 단계;
    를 더 포함하며,
    상기 변환하는 단계는
    상기 어플리케이션을 보유하고 있는 어플리케이션 제공 장치로부터 상기 어플리케이션을 수신한 후 변환하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  16. 제14 항에 있어서,
    상기 판단하는 단계 이후에,
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한 경우, 상기 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  17. 제14 항에 있어서,
    상기 변환하는 단계는
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능하지 않을 경우, 상기 어플리케이션이 변환 가능한 어플리케이션인지 확인하는 단계;
    상기 확인 결과, 상기 어플리케이션이 변환이 불가능한 경우, 상기 어플리케이션을 실행하기 위한 상기 클라이언트 단말의 필요 리소스 정보를 확인하는 단계; 및
    확인된 필요 리소스 정보를 포함하는 안내 메시지를 상기 클라이언트 단말로 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 서비스 제공 방법.
  18. 서비스 장치가 어느 하나의 클라이언트 단말로부터 특정 어플리케이션에 대한 실행 요청을 수신하는 단계;
    상기 서비스 장치가 상기 어플리케이션을 보유하고 있는 제1 어플리케이션 제공 장치를 확인하는 단계;
    상기 서비스 장치가 상기 제1 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계;
    상기 제1 어플리케이션 제공 장치로부터 어플리케이션 제공 불가능 상태 정보가 수신되면, 상기 서비스 장치가 상기 어플리케이션을 보유하고 있는 제2 어플리케이션 제공 장치를 확인하는 단계; 및
    상기 서비스 장치가 상기 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  19. 제18 항에 있어서,
    상기 특정 어플리케이션에 대한 실행 요청을 수신하는 단계 이전에,
    상기 서비스 장치가 상기 제1 어플리케이션 제공 장치 및 상기 제2 어플리케이션 제공 장치가 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 수신하는 단계; 및
    상기 서비스 장치가 상기 보유 어플리케이션 정보 및 상기 어플리케이션을 구동할 수 있는 클라이언트 단말의 최소 사양 정보를 저장하는 단계;
    를 더 포함하며,
    상기 제1 어플리케이션 제공 장치가 및 상기 제2 어플리케이션 제공 장치가 보유하고 있는 어플리케이션은 동일하나, 이에 대응하는 클라이언트 단말의 최소 사양 정보만이 다른 것을 특징으로 하는 클라우드 서비스 제공 방법.
  20. 제18 항에 있어서,
    상기 제1 어플리케이션 제공 장치를 확인하는 단계는
    상기 클라이언트 단말의 리소스 정보와 상기 어플리케이션에 대응하여 기 저장된 최소 사양 정보와 비교하여 확인하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  21. 제18 항에 있어서,
    상기 제2 어플리케이션 제공 장치로 상기 어플리케이션에 대한 실행을 요청하는 단계 이후에,
    상기 제2 어플리케이션 제공 장치가 상기 클라이언트 단말로 상기 어플리케이션 제공이 가능한 지 판단하는 단계;
    상기 판단 결과, 상기 클라이언트 단말로 상기 어플리케이션 제공이 가능한 경우, 상기 제2 어플리케이션 제공 장치가 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능한지 판단하는 단계;
    상기 판단 결과, 상기 어플리케이션이 상기 클라이언트 단말에서 실행 가능하지 않을 경우, 상기 제2 어플리케이션 제공 장치가 상기 클라이언트 단말의 리소스 정보를 기초로 상기 어플리케이션을 변환하는 단계; 및
    상기 제2 어플리케이션 제공 장치가 상기 변환된 어플리케이션을 실행한 후 실행에 따른 화면 데이터를 실시간 인코딩하여 상기 클라이언트 단말로 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 서비스 제공 방법.
  22. 제14 항 내지 제21 항에 기재된 클라우드 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
PCT/KR2013/007494 2012-12-12 2013-08-21 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치 WO2014092289A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201380062193.7A CN104823178B (zh) 2012-12-12 2013-08-21 提供云服务的方法及其系统和装置
EP13862151.1A EP2933729B1 (en) 2012-12-12 2013-08-21 Method for providing cloud service, and system and apparatus therefor
US14/570,187 US20150100629A1 (en) 2012-12-12 2014-12-15 Method for providing cloud service, and system and apparatus therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2012-0144193 2012-12-12
KR10-2012-0144194 2012-12-12
KR1020120144193A KR101471914B1 (ko) 2012-12-12 2012-12-12 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
KR1020120144194A KR20140076073A (ko) 2012-12-12 2012-12-12 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/570,187 Continuation US20150100629A1 (en) 2012-12-12 2014-12-15 Method for providing cloud service, and system and apparatus therefor

Publications (1)

Publication Number Publication Date
WO2014092289A1 true WO2014092289A1 (ko) 2014-06-19

Family

ID=50934549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/007494 WO2014092289A1 (ko) 2012-12-12 2013-08-21 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치

Country Status (4)

Country Link
US (1) US20150100629A1 (ko)
EP (1) EP2933729B1 (ko)
CN (1) CN104823178B (ko)
WO (1) WO2014092289A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104823179B (zh) * 2012-12-12 2018-08-07 Sk 普兰尼特有限公司 用于提供用户输入的即时结果的方法及其系统和设备
CN106254409A (zh) * 2015-11-20 2016-12-21 深圳超多维科技有限公司 应用于移动终端的立体应用启动方法、装置及系统
EP3920596A1 (en) * 2016-11-03 2021-12-08 Sony Group Corporation Wireless telecommunications apparatuses and methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010093237A (ko) * 1998-12-31 2001-10-27 엘그레시 도론 클라이언트-서버 동적 파일 엑세스 시스템 및 방법
WO2004038614A2 (en) * 2002-10-21 2004-05-06 The Boeing Company Client-server system for converting project management data
KR100625383B1 (ko) * 2004-07-01 2006-09-20 에스케이 텔레콤주식회사 기업용 무선 어플리케이션 서비스의 변환엔진 시스템 및운용방법
KR101088673B1 (ko) * 2010-07-13 2011-12-01 인하대학교 산학협력단 클라이언트 단말 운영 시스템 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094805B2 (en) * 2003-06-25 2015-07-28 Oracle International Corporation Mobile messaging concierge
US8347263B1 (en) * 2007-05-09 2013-01-01 Vmware, Inc. Repository including installation metadata for executable applications
US8478245B2 (en) * 2007-08-01 2013-07-02 Phunware, Inc. Method and system for rendering content on a wireless device
JP5285069B2 (ja) * 2008-06-17 2013-09-11 パナソニック株式会社 サーバ装置、サーバ処理方法およびプログラム
US8527578B2 (en) * 2008-08-29 2013-09-03 Red Hat, Inc. Methods and systems for centrally managing multiple provisioning servers
US20100159898A1 (en) * 2008-12-19 2010-06-24 Openpeak, Inc. Services platform for networked devices that provide telephony and digital media services
US9842006B2 (en) * 2009-12-01 2017-12-12 International Business Machines Corporation Application processing allocation in a computing system
US8606920B1 (en) * 2010-05-28 2013-12-10 Amazon Technologies, Inc. Providing notification of computing resource availability for on-demand allocation
US9424018B2 (en) * 2011-03-21 2016-08-23 Microsoft Technology Licensing, Llc Filtering and promoting application store applications
US8694995B2 (en) * 2011-12-14 2014-04-08 International Business Machines Corporation Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment
US9392047B1 (en) * 2012-09-13 2016-07-12 Amazon Technologies, Inc. Facilitating application compatibility across devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010093237A (ko) * 1998-12-31 2001-10-27 엘그레시 도론 클라이언트-서버 동적 파일 엑세스 시스템 및 방법
WO2004038614A2 (en) * 2002-10-21 2004-05-06 The Boeing Company Client-server system for converting project management data
KR100625383B1 (ko) * 2004-07-01 2006-09-20 에스케이 텔레콤주식회사 기업용 무선 어플리케이션 서비스의 변환엔진 시스템 및운용방법
KR101088673B1 (ko) * 2010-07-13 2011-12-01 인하대학교 산학협력단 클라이언트 단말 운영 시스템 및 방법

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN104823178B (zh) 2018-06-08
CN104823178A (zh) 2015-08-05
EP2933729A4 (en) 2016-07-06
US20150100629A1 (en) 2015-04-09
EP2933729A1 (en) 2015-10-21
EP2933729B1 (en) 2018-11-21

Similar Documents

Publication Publication Date Title
WO2017142293A1 (en) Electronic device and method of application data display therefor
WO2016068622A1 (en) Terminal device and method of controlling same
WO2015041494A1 (ko) 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
WO2018026059A1 (ko) 이동 단말기 및 그 제어방법
WO2022050652A1 (en) Method, apparatus, and computer readable storage medium for controlling account
WO2015026058A1 (en) Method, terminal, and system for reproducing content
WO2019078617A1 (en) ELECTRONIC APPARATUS AND VOICE RECOGNITION METHOD
WO2018076841A1 (zh) 数据分享方法、装置、存储介质及服务器
WO2014157903A1 (en) Method and device for displaying service page for executing application
WO2014126335A1 (ko) 클라우드 컴퓨팅 기반의 데이터 관리 방법, 이를 위한 시스템 및 장치
WO2018076812A1 (zh) 数据请求的响应方法、装置、存储介质、服务器及系统
WO2012124985A2 (en) Method and apparatus for synchronizing personal inforamtion
WO2018117536A1 (en) Electronic apparatus, control authority authentication method thereof and user terminal apparatus
WO2017034136A1 (en) Mobile apparatus, image scan apparatus and method for processing a job
WO2016010319A2 (ko) 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
WO2014042357A1 (ko) 화면 동기 제어 시스템, 이를 이용한 화면 동기 방법 및 장치
WO2014092389A1 (en) Application execution method and apparatus
WO2018076829A1 (zh) 终端数据的处理方法、装置、系统、存储介质及服务器
WO2019135553A1 (en) Electronic device, control method thereof, and computer readable recording medium
WO2014092289A1 (ko) 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
WO2017222204A1 (ko) 화상 형성 장치, 모바일 단말 및 그 장치들의 로컬 로그인 처리 방법
WO2015119361A1 (ko) 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
WO2021101275A1 (en) Method, system and device for sharing contents
WO2020027562A1 (en) Electronic apparatus for controlling display of virtual input interface in environment of a plurality of output screens and operating method thereof
WO2020197281A1 (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: 13862151

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013862151

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE