WO2016159654A1 - 위젯 제공 시스템 및 방법 - Google Patents

위젯 제공 시스템 및 방법 Download PDF

Info

Publication number
WO2016159654A1
WO2016159654A1 PCT/KR2016/003259 KR2016003259W WO2016159654A1 WO 2016159654 A1 WO2016159654 A1 WO 2016159654A1 KR 2016003259 W KR2016003259 W KR 2016003259W WO 2016159654 A1 WO2016159654 A1 WO 2016159654A1
Authority
WO
WIPO (PCT)
Prior art keywords
widget
external device
visual data
screen
execution screen
Prior art date
Application number
PCT/KR2016/003259
Other languages
English (en)
French (fr)
Inventor
신진우
김철주
신기혁
정선영
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US15/556,092 priority Critical patent/US10789033B2/en
Publication of WO2016159654A1 publication Critical patent/WO2016159654A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/08Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/04Display device controller operating with a plurality of display units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data

Definitions

  • the present disclosure relates to a system and a method for providing a widget, and more particularly, to a system and a method for providing visual data to another device for displaying an execution screen of a widget running on a device on another device.
  • Some embodiments may provide a widget sharing system that can provide widgets installed on a device to other devices on a local area network or remote.
  • some embodiments may provide a widget sharing system capable of controlling a widget installed in a device according to user input from another device.
  • an existing widget in sharing a widget, may be transmitted as a completed content such as an image or text and displayed on another device, thereby effectively sharing the widget regardless of the operating system and resources of the other device. It can provide a widget sharing system.
  • some embodiments may provide a widget sharing system capable of effectively managing a device providing a widget and a device receiving the widget.
  • FIG. 1 is a diagram illustrating an example of a widget sharing system according to some embodiments.
  • FIGS. 2 and 3 are diagrams illustrating examples of a connection relationship between a device 1000 and an external device 2000 in a widget sharing system, according to some embodiments.
  • FIG. 4 is a flowchart of a method of providing a widget to an external device 2000 by the device 1000 according to some embodiments.
  • FIG. 5 is a flowchart of a method in which the device 1000 provides a widget list to the external device 2000 and provides an execution screen of a widget selected by the external device 2000 to the external device 2000.
  • FIG. 6 is a flowchart of a method in which the device 1000 registers a widget, according to an exemplary embodiment.
  • FIG. 7 is a diagram illustrating an example in which the device 1000 registers a widget, according to an exemplary embodiment.
  • FIG. 8 is a flowchart of a method of generating, by the device 1000, visual data of a widget, according to an exemplary embodiment.
  • FIG 9 is a diagram illustrating an example in which the device 1000 generates visual data of a widget and transmits the generated visual data to the external device 2000.
  • FIG. 10 is a diagram illustrating an example in which the device 1000 generates visual data of a widget having an HTML format.
  • FIG. 11 is a diagram illustrating an example of visual data in HTML format converted from a layout of a widget running in the device 1000, according to some embodiments.
  • FIG. 12 is a flowchart of a method of receiving and displaying a widget by an external device 2000 according to some embodiments.
  • 13 is a diagram illustrating an example in which the external device 2000 displays an execution screen of a widget that is executed in the device 1000, according to some embodiments.
  • FIG. 14 is a diagram illustrating an example in which the external device 2000 displays an execution screen edited from an execution screen of a widget running in the device 1000, according to an exemplary embodiment.
  • 15 is a flowchart of a method of executing, by the device 1000, a function of a widget according to a user input input from an external device 2000, according to an exemplary embodiment.
  • 16 is a diagram illustrating an example of sharing a widget between the device 1000 and the external device 2000, according to some embodiments.
  • 17 is a diagram illustrating an example of a widget sharing system including a widget management server 3000, according to some embodiments.
  • FIG. 18 is a flowchart of a method in which the device 1000 and the external device 2000 manage a widget using the widget management server 3000, according to some embodiments.
  • 19 is a flowchart of a method in which the device 1000 and the external device 2000 share a widget via the widget management server 3000, according to some embodiments.
  • 20 and 21 are block diagrams of the device 1000 in accordance with some embodiments.
  • 22 is a block diagram of an external device 2000 according to some embodiments.
  • FIG. 23 is a block diagram of a widget management server 3000 according to some embodiments.
  • the first aspect of the present disclosure is a communication unit for communicating with an external device; Registers a widget to be provided to the external device, and visual data of the widget using a layout of the widget used to display an execution screen of the registered widget on the screen of the device as the communication device is connected to the external device. And a controller configured to provide the generated visual data to the external device.
  • the controller may map an identification value of a widget to be provided to the external device with an identification value of the external device.
  • the controller may map a partial area of the execution screen of the widget to be provided to the external device with an identification value of the external device.
  • the visual data may be generated as at least one of an image file, a video file, and a text file, and the controller may determine a format of the visual data according to a specification of the external device, and according to the determined format, the visual data. Can be generated.
  • the layout of the widget used to display the execution screen of the registered widget on the screen of the device may be stored in a memory of the device before displaying the execution screen of the widget on the screen of the device. Can be.
  • the controller may generate visual data of the widget by mapping all or a part of a layout of the widget and data associated with the layout to an object of a markup language.
  • the controller may determine the layout of the visual data according to the specification of the external device and generate the visual data by editing the execution screen of the widget according to the determined layout.
  • the controller may determine a format of the visual data according to a network connection method with the external device, and generate the visual data according to the determined format.
  • the controller may generate the visual data by capturing an execution screen of the widget to be displayed on the screen of the device.
  • the communication unit may transmit a list of widgets installed in the device to the external device as a communication connection with the external device, receives an identification value of the widget selected from the list of the widget, from the external device, and the controller. May generate visual data of a widget selected by the external device.
  • registering a widget to provide to the external device Generating visual data of the widget using a layout of the widget used to display an execution screen of the registered widget on the screen of the device as the communication connection with the external device is performed; And providing the generated visual data to the external device.
  • the device may include a method of providing a widget to at least one external device.
  • the identification value of the widget to be provided to the external device may be mapped with the identification value of the external device.
  • the registering of the widget may map a partial region of an execution screen of the widget to be provided to the external device with an identification value of the external device.
  • the visual data may be generated as at least one of an image file, a video file, and a text file.
  • the generating of the visual data may include determining a format of the visual data according to a specification of the external device, and determining the format of the visual data. Accordingly, the visual data can be generated.
  • the layout of the widget used to display the execution screen of the registered widget on the screen of the device may be stored in a memory of the device before displaying the execution screen of the widget on the screen of the device. Can be.
  • the generating of the visual data may generate visual data of the widget by mapping all or a part of a layout of the widget and data associated with the layout to an object of a markup language.
  • the generating of the visual data may include determining a layout of the visual data according to the specification of the external device,
  • the visual data may be generated by editing the execution screen of the widget.
  • the communication unit for receiving a list of widgets running on the external device from the external device, as communication is connected with the external device;
  • a controller for selecting a particular widget from the list of the received widgets, requesting visual data of the selected widgets from the external device, and generating an execution screen of the widgets using the requested visual data received from the external device;
  • a display unit configured to display the generated execution screen.
  • the device may display an execution screen of a widget running on an external device.
  • the visual data may be generated by the external device from a layout of the widget used to display the execution screen of the selected widget on the screen of the external device.
  • a fourth aspect of the present disclosure can provide a computer readable recording medium having recorded thereon a program for executing the method of the second aspect on a computer.
  • the device providing the widget to the external device means providing the external device with visual data indicating a part or all of the execution screen of the widget, without providing the installation file of the widget application to the external device. can do.
  • visual data is data for representing a graphical user interface (GUI) of part or all of the execution screen of the widget running on the device, and may be used by an external device to display part or all of the execution screen of the widget.
  • the visual data may include, for example, at least one of an image file, a text file, and a video file.
  • the visual data of the widget may be, for example, data in a markup language (eg, HTML, XML, etc.).
  • the external device may display the execution screen of the widget on the screen of the external device by playing the visual data as it is.
  • the visual data is a file in markup language
  • the external device stores the file in markup language in the memory of the external device and configures an execution screen of the widget to be displayed on the screen of the external device in the markup language. Available files.
  • FIG. 1 is a diagram illustrating an example of a widget sharing system according to some embodiments.
  • a widget sharing system may include a device 1000 and an external device 2000.
  • the device 1000 may be communicatively connected to the external device 2000, and the device 1000 may provide a widget running in the device 1000 to the external device 2000.
  • the device 1000 may provide the external device 2000 with visual data indicating a part or all of the execution screen of the widget.
  • the execution screen of the widget may be an execution screen displayed on the screen of the device 1000 or an execution screen to be displayed on the screen of the device 1000.
  • the execution screen of the widget is an execution screen to be displayed on the screen of the device 1000, the widget may be running in the background of the device 1000.
  • the visual data of the widget may be data representing an execution screen of the widget without being a widget application.
  • the visual data of the widget may be, for example, image data, text data, and video data of a graphical user interface (GUI) representing part or all of an execution screen of the widget.
  • GUI graphical user interface
  • the visual data of the widget may be, for example, layout data of the GUI.
  • the visual data of the widget may be, for example, data in a markup language (eg, HTML, XML, etc.). However, this is not limitative.
  • the device 1000 may register a widget to be provided to the external device 2000 in advance, and determine a format of visual data to be provided to the external device 2000 according to the specification of the external device 2000.
  • the external device 2000 may edit the execution screen of the widget according to the specification of the external device 2000 and provide it to the external device 2000.
  • the external device 2000 may receive the visual data of the widget from the device 1000, and display some or all of the execution screen of the widget on the screen of the external device 2000 using the received visual data. If the external device 2000 receives the edited visual data from the execution screen of the widget, the edited execution screen may be displayed on the screen of the external device 2000.
  • the external device 2000 receives a user input for an execution screen of a widget displayed on the screen of the external device 2000, and inputs a user input value (for example, type of touch input, coordinates of a touch point, and input). Text, etc.) may be provided to the device 1000.
  • the device 1000 may execute a predetermined function on the widget displayed on the screen of the external device 2000 according to a user input value received from the external device 2000, update the execution screen of the widget, and The visual data regarding the execution screen may be provided to the external device 2000.
  • the device 1000 and the external device 2000 may be a smartphone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a micro server, a global positioning system (GPS) device, an e-book device. , Digital broadcasting terminals, navigation, kiosks, MP3 players, digital cameras, home appliances, and other mobile or non-mobile computing devices.
  • the device 1000 and the external device 2000 may be wearable devices such as watches, glasses, hair bands, and rings having a communication function and a data processing function.
  • the present disclosure is not limited thereto, and the device 1000 and the external device 2000 may include all kinds of devices capable of providing and receiving a widget through a network.
  • the device 1000 and the external device 2000 may be communicatively connected to each other through a predetermined network.
  • Networks include Local Area Networks (LANs), Wide Area Networks (WANs), Value Added Networks (VANs), mobile radio communications networks, satellite networks, and their combinations.
  • LANs Local Area Networks
  • WANs Wide Area Networks
  • VANs Value Added Networks
  • mobile radio communications networks satellite networks, and their combinations.
  • a comprehensive data communication network that enables each network constituent illustrated in FIG. 1 to communicate smoothly with each other may include a wired internet, a wireless internet, and a mobile wireless communication network.
  • the device 1000 is a host device that provides a widget and the external device 2000 is a client device that receives a widget, the present disclosure is not limited thereto.
  • the external device 2000 may provide the widget to the device 1000 or the device 1000 may receive the widget from the external device 2000.
  • FIGS. 2 and 3 are diagrams illustrating examples of a connection relationship between a device 1000 and an external device 2000 in a widget sharing system, according to some embodiments.
  • one device 1000 may be connected to a plurality of external devices 2000, and the device 1000 may provide widgets to the plurality of external devices 2000, respectively.
  • a plurality of devices 1000 may be connected to one external device 2000, and the external devices 2000 may receive widgets from the plurality of devices 1000, respectively.
  • FIG. 4 is a flowchart of a method of providing a widget to an external device 2000 by the device 1000 according to some embodiments.
  • the device 1000 may register a widget to be provided to the external device 2000.
  • the device 1000 registers a widget to be provided to the external device 2000 in the memory of the device 1000 by selecting a list of widgets installed in the device 1000 and selecting the external device 2000 to provide the selected widget. can do.
  • the device 1000 may select all or a portion of an execution screen of the widget and map an area selected on the execution screen of the widget with the external device 2000.
  • the device 1000 may set a format of visual data of a widget to be provided to the external device 2000.
  • the device 1000 may set rights of the user who uses the widget or the external device 2000.
  • the device 1000 may set widgets that can be used by the user or the external device 2000 and predetermined functions of the widgets. A method of registering a widget to be provided to the external device 2000 by the device 1000 will be described in detail with reference to FIGS. 6 and 7.
  • the device 1000 may store device information of the external device 2000.
  • the device information may include, for example, information about a model name, type, function, screen resolution, processor, operating system (OS), and communication method of the device.
  • the device 1000 may receive device information of the external device 2000 from the external device 2000.
  • the present invention is not limited thereto, and the device 1000 may receive device information of the external device 2000 from a separate server (not shown).
  • the device 1000 may be communicatively connected to the external device 2000.
  • the device 1000 may be connected to the external device 2000 through short-range communication as the device 1000 approaches a predetermined communication range from the external device 2000.
  • the present disclosure is not limited thereto, and the device 1000 may be connected to the external device 2000 through various communication methods.
  • the device 1000 may generate visual data of the widget.
  • the device 1000 may generate visual data corresponding to the selected area on the execution screen of the widget.
  • the device 1000 may generate visual data using the screen information of the execution screen of the widget stored in the memory of the device 1000.
  • the device 1000 may extract the layout and data of the widget application stored in the memory of the device 1000 and generate visual data to be provided to the external device 2000 based on the extracted layout and data. Can be.
  • the device 1000 extracts meaningful attributes corresponding to the area selected on the execution screen of the widget from the layout and data extracted from the memory, and maps the extracted attributes to the HTML object, thereby converting the HTML attributes into HTML objects.
  • Visual data can be generated.
  • the device 1000 may edit the layout of the widget application or change the format of the visual data according to the specification of the external device 2000.
  • the device 1000 may change the format of the visual data according to the communication method between the device 1000 and the external device 2000.
  • Visual data may include, but is not limited to, formats of image files, text files, and video files, for example.
  • the device 1000 may provide the generated visual data to the external device 2000.
  • the device 1000 may provide the generated visual data to the external device 2000 in response to a request from the external device 2000.
  • the present disclosure is not limited thereto, and the device 1000 may push the generated visual data to the external device 2000 even if there is no request from the external device 2000.
  • the device 1000 may provide the external device 2000 with visual data of the widget at a predetermined period.
  • the device 1000 may provide the external device 2000 with visual data indicating the updated execution screen.
  • the external device 2000 may display the execution screen of the widget on the screen of the external device 2000 using visual data.
  • the visual data of the widget is an image file, a text file, and a video file indicating an execution screen of the widget
  • the external device 2000 directly displays the visual data of the widget received from the device 1000 on the screen of the external device 2000. Can be displayed on.
  • the visual data of the widget is an HTML file
  • the external device 2000 may display the execution screen of the widget on the screen of the external device 2000 by interpreting the HTML file.
  • this is not limitative.
  • FIG. 5 is a flowchart of a method in which the device 1000 provides a widget list to the external device 2000 and provides an execution screen of a widget selected by the external device 2000 to the external device 2000.
  • Steps S500 to S510 correspond to steps S400 to S420, and descriptions of steps S500 to S510 will be omitted for convenience.
  • the external device 2000 may provide authentication information of the external device 2000 to the device 1000.
  • the external device 2000 may provide, for example, an identification value of the external device 2000 and an identification value of the external device 2000 to the device 1000.
  • the external device 2000 may provide, for example, a password and a key value to the device 1000.
  • this is not limitative.
  • the device 1000 may provide the widget list to the external device 2000.
  • the device 1000 may authenticate the user of the external device 2000 or the external device 2000 by using the authentication information received from the external device 2000.
  • the device 1000 may provide the external device 2000 with a list of widgets available to the external device 2000.
  • the external device 2000 may select a specific widget from the widget list.
  • the external device 2000 may display a widget list on the screen of the external device 2000 and select a specific widget from the displayed widget list according to a user's selection input of the external device 2000.
  • the external device 2000 may request the device 1000 for visual data of the selected widget.
  • the external device 2000 may request the device 1000 for visual data of the selected widget by providing an identification value of the selected widget to the device 1000.
  • steps S535 to S545 correspond to steps S430 to S450, descriptions of steps S535 to S545 will be omitted for convenience.
  • the device 1000 may update visual data of the widget.
  • the device 1000 may update the execution screen of the widget by executing a specific function of the widget based on a user input with respect to the widget running in the device 1000.
  • visual data of the widget to be provided to the external device 2000 may be updated.
  • the device 1000 may provide updated visual data to the external device 2000.
  • the device 1000 may push the updated visual data to the external device 2000 even if there is no request from the external device 2000.
  • FIG. 6 is a flowchart of a method in which the device 1000 registers a widget, according to an exemplary embodiment.
  • the device 1000 may select the external device 2000 to receive the widget.
  • the device 1000 may display a list of the external devices 2000 on the screen of the device 1000, and select the external device 2000 according to a user's selection input.
  • the external device 2000 may be another device of a user of the device 1000 or a device of another user.
  • the device 1000 may select the external device 2000 by inputting an identification value of the external device 2000.
  • the user of the device 1000 may input the identification value of the external device 2000 into the device 1000 by using a predetermined input tool.
  • a predetermined input tool such as a predetermined input tool.
  • the identification value of the external device 2000 is transmitted from the external device 2000 to the device 1000, and the device ( The 1000 may display the identification value of the external device 2000 on the screen of the device 1000.
  • the user may select the external device 2000 by selecting an identification value of the external device 2000 displayed on the screen of the device 1000.
  • the device 1000 may select a widget to provide to the external device 2000.
  • the device 1000 may display a list of widgets installed in the device 1000 on the screen of the device 1000, and select a widget to be provided to the external device 2000 according to a user's selection input.
  • the device 1000 may recommend a widget that can be properly displayed on the external device 2000 to the user of the device 1000 based on the specification of the external device 2000. For example, based on the screen resolution of the external device 2000, a widget that can be properly displayed on the screen of the external device 2000 may be recommended to the user of the device 1000. For example, according to the type of network formed between the device 1000 and the external device 2000, a widget that can be smoothly provided to the external device 2000 may be recommended to the user of the device 1000. Also, for example, a widget that may be provided to the external device 2000 may be recommended to the user of the device 1000 in the type of OS of the external device 2000.
  • the device 1000 may recommend the widget to the user of the device 1000 based on the authority of the external device 2000 or the user of the external device 2000. For example, the device 1000 selects a widget having an authority that can be used by the user of the external device 2000 or the external device 2000 from among the widgets installed in the device 1000, and selects the selected widget of the device 1000. Can recommend to the user.
  • the device 1000 may select all or part of an execution screen of the selected widget.
  • the device 1000 may receive a user input for selecting all or part of an execution screen of the selected widget, and may select all or part of an execution screen of the widget according to the received user input. For example, a user of the device 1000 may select all or part of an execution screen of the widget by performing a touch and drag input.
  • the device 1000 may determine the format of the visual data of the widget based on the device information of the external device 2000.
  • the device 1000 may identify an OS of the external device 2000 and determine a format supported by the OS of the external device 2000 as a format of visual data of a widget to be provided to the external device 2000.
  • the device 1000 may determine the file format of at least one of an image file, a text file, and a video file as a format of visual data of a widget to be provided to the external device 2000.
  • the format of the visual data of the widget may be determined according to at least one of the type, function, screen resolution, screen size, processor, and communication method of the external device 2000.
  • the device 1000 may set the external device 2000 to provide visual data in a text format. For example, if the screen size or screen resolution of the external device 2000 is higher than a predetermined threshold, the device 1000 may set the external device 2000 to provide visual data in an image format or a video format.
  • the device 1000 may set the external device 2000 to provide visual data in a text format. For example, if the performance of the processor of the external device 2000 is higher than the first threshold and lower than the second threshold, the device 1000 may set the external device 2000 to provide visual data in the form of an image. . For example, if the performance of the processor of the external device 2000 is higher than the second threshold, the device 1000 may set the external device 2000 to provide visual data in a video format.
  • the device 1000 may set the external device 2000 to provide visual data in a text format.
  • the device 1000 may be configured to provide the external device 2000 with visual data in the form of an image or a video.
  • the present invention is not limited thereto, and the format of the visual data may be variously set according to a communication method between the device 1000 and the external device.
  • the device 1000 may associate and store the selected widget, the area selected in the execution screen of the widget, the device information of the selected external device 2000, and the format of visual data.
  • the device 1000 may map, for each external device 2000, a widget selected to provide the external device 2000, an area selected on an execution screen of the widget, device information of the external device 2000, and a format of visual data. .
  • FIG. 7 is a diagram illustrating an example in which the device 1000 registers a widget, according to an exemplary embodiment.
  • the device 1000 may display a list of the external devices 2000 to provide a widget on a screen of the device 1000.
  • the device 1000 may display a list of the external devices 2000.
  • a list including “clock A”, “glasses B” and “tablet C” may be displayed on the screen of the device 1000.
  • user information of the external device 2000 and device information of the external device 2000 may be displayed together in the list of the external device 2000.
  • the user of the device 1000 may select “clock A” from the list of the external device 2000.
  • a widget list for displaying a widget to be provided to “clock A” is displayed on the screen of the device 1000.
  • execution screens of widgets installed in the device 1000 may be included in the widget list.
  • the device 1000 may recommend a widget suitable for “Clock A” based on the specification of “Clock A”.
  • a user of the device 1000 may select a weather widget.
  • the device 1000 may display a GUI on the screen of the device 1000 to select an area for providing “Clock A” from the execution screen of the weather widget. Can be displayed.
  • the user of the device 1000 may select a specific area on the execution screen of the widget through, for example, a touch and drag input.
  • the device 1000 may perform setting that may provide visual data regarding the area selected in the weather widget to “clock A”.
  • FIG. 8 is a flowchart of a method of generating, by the device 1000, visual data of a widget, according to an exemplary embodiment.
  • the device 1000 may store layout and data of an execution screen of the widget in a memory using source data of the widget application.
  • the device 1000 may store the layout and data of the execution screen of the widget in a memory before displaying the execution screen of the widget on the screen of the device 1000.
  • the device 1000 draws the execution screen of the widget in the frame buffer using the layout and data of the execution screen stored in the memory so that the execution screen of the widget is displayed on the screen of the device 1000.
  • Source data of the widget application may be, for example, data in HTML format, but is not limited thereto.
  • the layout and data of the execution screen of the widget may be analyzed by the device 1000, and thus the device 1000 may be used to generate visual data to be provided to the external device 2000.
  • the device 1000 may identify a region to be provided to the external device 2000 among the execution screens of the widget.
  • the area to be provided to the external device 2000 may be an area of all or part of an execution screen of the widget.
  • the device 1000 may extract registration information of the widget from the memory and check the area mapped to the external device 2000 based on the extracted registration information.
  • the registration information of the widget may include, for example, a setting value regarding which area of the execution screen of the widget should be provided to the external device 2000 when the widget is provided to the external device 2000. have.
  • the device 1000 may identify a format of visual data to be provided to the external device 2000.
  • the device 1000 may extract registration information of the widget from the memory, and identify a format of visual data to be provided to the external device 2000 based on the extracted registration information.
  • the registration information of the widget may include, for example, a setting value regarding what type of visual data should be provided to the external device 2000 when the widget is provided to the external device 2000.
  • the format of the visual data may vary depending on the state of the external device 2000.
  • the device 1000 may be configured in an image format, a video format, or the like according to a network situation of the external device 2000, available resources of the external device 2000, and a type of an application currently running on the external device 2000. At least one of the text formats may be selected. In this case, the device 1000 may receive information about the current state of the external device 2000 from the external device 2000 and determine the format of the visual data based on the received information.
  • the device 1000 may generate visual data to be provided to the external device 2000 by analyzing the layout and data of the widget stored in the memory.
  • the device 1000 may identify the layout and the data corresponding to the area identified in operation S810 from among the layout and the data of the widget.
  • the device 1000 may generate visual data in HTML format based on the identified layout and data.
  • the device 1000 may generate visual data having the same structure as the layout of the widget running in the device 1000, but is not limited thereto.
  • the device 1000 may edit the layout of the widget running in the device 1000 and generate visual data having a structure of the edited layout. In this case, information about how to edit the layout of the widget may be set in advance according to the identification value, type, screen resolution, etc. of the external device 2000.
  • visual data in HTML format may be provided to the external device 2000 and displayed on the screen of the external device 2000 in an image, video, or text format.
  • a method of generating visual data of the widget by the device 1000 will be described in detail with reference to FIGS. 9 to 11.
  • the device 1000 has been described as generating visual data of HTML by analyzing the layout and data of the widget, the device 1000 is not limited thereto.
  • the device 1000 may generate an image file or a video file by capturing all or a part of an execution screen of a widget running in the device 1000.
  • the device 1000 may provide the generated visual data to the external device 2000.
  • the device 1000 may provide the generated visual data to the external device 2000 at a predetermined cycle or when the visual data is updated, the external device 2000.
  • this is not limitative.
  • FIG 9 is a diagram illustrating an example in which the device 1000 generates visual data of a widget and transmits the generated visual data to the external device 2000.
  • the device 1000 may display an execution screen 90 of a widget on a screen of the device 1000.
  • the device 1000 stores the layout and data constituting the execution screen of the widget application in the memory of the device 1000, and displays the screen of the device 1000 using the stored layout and data. You can draw an image to be displayed on.
  • the data constituting the execution screen of the application may include not only fixed values but also dynamically changing values.
  • the dynamically changed value may be, for example, a value collected in real time from the outside of the device 1000 and a value changed according to a user input of the device 1000, but is not limited thereto.
  • the device 1000 may generate visual data of a widget to be transmitted to the external device 2000 using layouts and data constituting an execution screen of the widget application stored in a memory.
  • the device 1000 may generate visual data of the widget in HTML format.
  • the device 1000 extracts objects and data necessary for generating the visual data of the widget from the layout and data constituting the execution screen of the widget application, and uses the extracted objects and data to display the visual data in HTML format. Can be generated.
  • the device 1000 may transmit the generated visual data to the external device 2000, and the external device 2000 displays the execution screen of the widget on the screen of the external device 2000 using the received visual data. can do.
  • the device 1000 generates visual data of a widget in an HTML format, but is not limited thereto.
  • the device 1000 may generate visual data of the widget as an image or video file.
  • the external device 2000 may directly play the image or video file from the device 1000.
  • FIG. 10 is a diagram illustrating an example in which the device 1000 generates visual data of a widget having an HTML format.
  • FIG. 10A illustrates an example of a layout and data stored in a memory of the device 1000 and constituting an execution screen of a widget.
  • FIG. 10B illustrates a widget provided to an external device 2000 and having an HTML format. An example of visual data is shown.
  • the device 1000 may include a layout constituting the execution screen of the widget as shown in FIG. 10 (a); Data may be stored in the memory of the device 1000. In the layout and data constituting the execution screen of the widget, the data may have not only fixed values but also dynamically updated values.
  • the device 1000 may store an image to be displayed on the screen of the device 1000 in a frame buffer of the device 1000 by using the layout and data stored in the memory, thereby saving the image on the screen of the device 1000.
  • the execution screen of the widget can be displayed on the screen.
  • the device 1000 uses the layout and data of FIG. 10 (a) to display visual data of a widget to be provided to the external device 2000 in the HTML format as shown in FIG. 10 (b).
  • the device 1000 may analyze the layout and data constituting the execution screen of the widget so that an execution screen identical or similar to the execution screen of the widget running on the device 1000 may be displayed on the screen of the external device 2000. have.
  • the device 1000 analyzes the structure of the layout, the objects included in the layout, the relationships between the objects, and the properties of the objects constituting the execution screen of the widget, and includes some or all of the objects included in the layout. By mapping everything to HTML objects, you can create visual data in HTML format.
  • the object may include “AppWidgetHostView”, “LinearLayout”, “FrameLayout”, “Button”, “ImageWiew”, and “”, etc., in the layout constituting the execution screen.
  • the device 1000 may edit the execution screen of the widget by selecting some of the objects in the layout constituting the execution screen of the widget running on the device 1000 and changing attributes of the selected object.
  • the device 1000 may generate visual data for mapping the changed object to the HTML object so that the edited execution screen is displayed on the screen of the external device 2000.
  • FIG. 11 is a diagram illustrating an example of visual data in HTML format converted from a layout of a widget running in the device 1000, according to some embodiments.
  • the device 1000 may generate visual data in the HTML format shown in the right side of FIG. 11 by analyzing a layout of a widget being executed in the device 1000 illustrated in the left side of FIG. 11.
  • some data 110 and 112 may be dynamically changed in the visual data in the HTML format, so that the visual data in the HTML format may be updated.
  • FIG. 12 is a flowchart of a method of receiving and displaying a widget by an external device 2000 according to some embodiments.
  • the external device 2000 may obtain a list of widgets that may be provided from the communication device 1000.
  • the external device 2000 may be communicatively connected to the device 1000 as the device 100 approaches the communication range with the device 1000, and may receive a list of preset widgets from the device 1000.
  • the external device 2000 may select a widget to be provided from the device 1000.
  • the external device 2000 may display a list of widgets received from the device 1000 on the screen of the external device 2000, and select a specific widget from the displayed list of widgets based on a user's selection input. have.
  • the external device 2000 may receive visual data of the selected widget from the device 1000.
  • the external device 2000 may receive visual data in HTML format from the device 1000.
  • the device 1000 may generate visual data of the selected widget in a predetermined format based on the identification value of the external device 2000 and the identification value of the widget selected by the external device 2000. The generated visual data May be provided to the external device 2000.
  • the external device 2000 may display the widget on the screen of the external device 2000 using the received visual data.
  • the external device 2000 may display the execution screen of the widget on the screen of the external device 2000 in the form of an image, a video, or text using visual data in an HTML format.
  • 13 is a diagram illustrating an example in which the external device 2000 displays an execution screen of a widget that is executed in the device 1000, according to some embodiments.
  • the device 1000 may display execution screens 130, 131, 132, and 133 of four widgets on a screen of the device 1000, and is connected to an external device 2000. Accordingly, visual data corresponding to the execution screens 130, 131, 132, and 133 of the four widgets may be provided to the external device 2000.
  • the external device 2000 may display the execution screens 135, 136, 137, and 138 of the widgets based on the visual data corresponding to the four widgets 130, 131, 132, and 133. ) May be displayed on the screen.
  • the sizes of the execution screens 135, 136, 137, and 138 of the widgets may be edited according to the size or resolution of the screen of the external device 2000.
  • the execution screens 135, 136, 137, and 138 of the widgets displayed on the external device 2000 may configure one page, and the execution screens 135, of the widgets according to a user's swipe input, 136, 137, and 138 may be sequentially displayed on the screen of the external device 2000.
  • FIG. 14 is a diagram illustrating an example in which the external device 2000 displays an execution screen edited from an execution screen of a widget running in the device 1000, according to an exemplary embodiment.
  • an execution screen 140 of a weather widget may be displayed on a screen of the device 1000.
  • the device 1000 edits the execution screen 140 of the weather widget by using the layout and data of the weather widget stored in the memory of the device 1000 to display the execution screen 140 of the weather widget.
  • visual data of the weather widget can be generated.
  • the device 1000 may transmit the visual data generated by editing the execution screen 140 of the weather widget to the external device 2000.
  • the external device 2000 may receive the visual data, and display the edited execution screen 142 of the weather widget on the screen of the external device 2000 using the received visual data.
  • the edited execution screen 142 of the weather widget may have a size and resolution corresponding to the screen size and resolution of the external device 2000.
  • the layout and data constituting the edited execution screen 142 of the weather widget may be different from the layout and data of the execution screen 140 of the weather widget.
  • 15 is a flowchart of a method of executing, by the device 1000, a function of a widget according to a user input input from an external device 2000, according to an exemplary embodiment.
  • the external device 2000 may display the execution screen of the widget on the screen of the external device 2000 using the visual data of the widget.
  • the widget is executed in the device 1000, and the external device 2000 displays an execution screen indicating an execution result of the widget in the device 1000.
  • the external device 2000 may receive a user input for an execution screen of the displayed widget.
  • the user may touch a specific portion of the execution screen of the widget displayed on the screen of the external device 2000 or input predetermined input data using the keypad of the external device 2000.
  • the external device 2000 may acquire coordinate values and input data of a user input. As the user touches a specific portion of the execution screen of the widget displayed on the screen of the external device 2000, the external device 2000 coordinates indicating the position of the portion touched by the user among the entire area of the execution screen of the widget. The value can be obtained. In addition, when the user inputs predetermined input data using the keypad of the external device 2000, the external device 2000 may obtain input data input by the user.
  • the external device 2000 may transmit coordinate values and input data of a user input.
  • the external device 2000 may transmit the coordinate values and the input data of the user input in real time as the user input for the displayed execution screen of the widget is received.
  • the device 1000 may execute a function of a widget based on the coordinate values and the input data of the received user input.
  • the device 1000 may execute the function of the widget as if the user of the device 1000 inputs the user input to the device 1000 by using the received coordinate values and the input data of the user input.
  • the device 1000 may identify an object corresponding to the coordinate value of the user input received from the external device 2000 among objects on the execution screen of the widget running in the device 1000. Thereafter, the device 1000 may execute a function when an identified object is selected among the functions of the widget. In addition, the device 1000 may execute a specific function of the widget running in the device 1000 by using the input data received from the external device 2000 as input data of the widget running in the device 1000. .
  • the device 1000 may update the execution screen and the visual data of the widget as the function of the widget is executed.
  • the device 1000 may update the execution screen of the widget as a specific function of the widget is executed.
  • the device 1000 may update visual data of the widget to be provided to the external device 2000 by using the changed layout and data of the widget.
  • the changed layout and data of the widget may be stored in the memory of the device 1000 before the updated execution screen of the widget is displayed on the screen of the device 1000.
  • the device 1000 may provide the updated visual data to the external device 2000.
  • the external device 2000 may update the execution screen of the widget displayed on the screen of the external device 2000 by using the updated visual data.
  • the device 1000 provides the external device 2000 with visual data of the updated widget based on the coordinate value and the input data of the user input received from the external device 2000.
  • the execution screen of the widget running in the device 1000 may be updated by a user inputting a user input to the device 1000, and as the execution screen of the widget running in the device 1000 is updated, the device ( 1000) may update the visual data of the widget.
  • the execution screen of the widget running in the device 1000 is not updated, and the device 1000 may update only the visual data of the widget. have.
  • the device 1000 changes the visual data in the image format into the visual data in the text format, The visual data may be transmitted to the external device 2000.
  • 16 is a diagram illustrating an example of sharing a widget between the device 1000 and the external device 2000, according to some embodiments.
  • the device 1000 may register an external device and a widget to be provided to the external device in a RemoteWidget Container.
  • the device 1000 may receive device information and authentication information from the external device 2000 and authenticate the external device 2000.
  • the device 1000 may generate visual data of the widget and provide the generated visual data to the external device 2000 in order to provide the widget running in the device 1000 to the external device 2000.
  • the device 1000 may receive a user input value from the external device 2000 and control a widget running in the device 1000 according to the received user input value.
  • 17 is a diagram illustrating an example of a widget sharing system including a widget management server 3000, according to some embodiments.
  • the device 1000, the external device 2000, and the widget management server 3000 may form a network, and the widget management server 3000 may transmit the device 1000 from the device 1000 to the external device 2000. You can register and manage widgets that can be provided.
  • the widget management server 3000 may store and manage setting information regarding which widget is provided by the device 1000 to which external device 2000. In addition, the widget management server 3000 may store and manage setting information regarding the format in which the device 1000 transmits visual data of the widget.
  • FIG. 18 is a flowchart of a method in which the device 1000 and the external device 2000 manage a widget using the widget management server 3000, according to some embodiments.
  • the device 1000 provides device information of the device 1000 to the widget management server 3000, and in operation S1805, the external device 2000 transmits device information of the external device 2000 to the widget management server 3000.
  • the device information may include, for example, information about a model name, type, function, screen resolution, processor, operating system (OS), and communication method of the device.
  • OS operating system
  • the device 1000 may register a widget to be provided to the external device 2000 to the widget management server 3000.
  • the device 1000 may register a widget to be provided to the external device 2000 among the widgets installed in the device 1000, to the widget management server 3000.
  • the device 1000 may select all or some areas of the execution screen of the widget and register the area selected on the execution screen of the widget with the widget management server 3000.
  • the device 1000 may register the format of the visual data of the widget to be provided to the external device 2000 in the widget management server 3000.
  • the device 1000 may register a right of the user who uses the widget or the external device 2000 to the widget management server 3000.
  • the widget management server 3000 may store and update registration information of the widget.
  • the widget management server 3000 may store and update registration information of the widget according to a request from the device 1000 or the external device 2000.
  • the device 1000 and the external device 2000 may be communicatively connected.
  • the device 1000 may be connected to the external device 2000 through short-range communication as the device 1000 approaches a predetermined communication range from the external device 2000.
  • the present disclosure is not limited thereto, and the device 1000 may be connected to the external device 2000 through various communication methods.
  • the device 1000 transmits an identification value of the device 1000 to the external device 2000.
  • the external device 2000 may provide a widget that the external device 2000 may receive from the device 1000.
  • the widget management server 3000 may be requested.
  • the external device 2000 provides the widget management server 3000 with a list of widgets while providing the widget management server 3000 with the identification value of the device 1000 and the identification value of the external device 2000 received from the device 1000. You can request
  • the external device 2000 may provide the widget management server 3000 with information regarding the current state (eg, available resource status, network connection status, etc.) of the external device 2000.
  • the widget management server 3000 may provide the external device 2000 with a list of widgets requested from the external device 2000.
  • the widget management server 3000 based on the identification value of the device 1000, the identification value of the external device 2000, and the current state of the external device 2000, the device 1000 is configured to generate the external device from the registration information stored in operation S1815.
  • a list of widgets that may be provided to the 2000 may be extracted.
  • steps S1840 to S1870 correspond to steps S525 to S555, description thereof will be omitted for convenience.
  • 19 is a flowchart of a method in which the device 1000 and the external device 2000 share a widget via the widget management server 3000, according to some embodiments.
  • the device 1000 may register a widget to be provided to the external device 2000 to the widget management server 3000.
  • the external device 2000 may provide an identification value of the device 1000 to the widget management server 3000.
  • the external device 2000 requests the list of widgets that the external device 2000 can receive from the device 1000 while providing the identification value of the device 1000 to the widget management server 3000. Can be.
  • the user of the external device 2000 may directly input the identification value of the device 1000 or select the identification value of the device 1000 previously stored in the external device 2000.
  • the device 1000 and the external device 2000 may be located at remote locations from each other.
  • the external device 2000 may provide the widget management server 3000 with information about the current state of the external device 2000.
  • the widget management server 3000 provides a list of widgets to the external device 2000, and in operation S1915, the external device 2000 may select a specific widget from the widget list.
  • the external device 2000 may request visual data of the selected widget from the widget management server 3000, and the widget management server 3000 may request visual data of the selected widget in response to a request from the external device 2000.
  • the device 1000 may make a request.
  • the device 1000 may generate visual data of the widget, and in operation S1935, the device 1000 may provide the widget management server 3000 with visual data of the generated widget. Thereafter, the widget management server 3000 provides the visual data of the widget to the external device 2000 in step S1940, and the external device 2000 uses the visual data in step S1945 to display the widget on the screen of the external device 2000. Can display the execution screen.
  • 20 and 21 are block diagrams of the device 1000 in accordance with some embodiments.
  • the device 1000 may include a user input unit 1100, an output unit 1200, a controller 1300, and a communication unit 1500.
  • the device 1000 may be implemented by more components than the components illustrated in FIG. 20, and the device 1000 may be implemented by fewer components than the components illustrated in FIG. 20.
  • the device 1000 may include a sensing unit 1400 in addition to the user input unit 1100, the output unit 1200, the control unit 1300, and the communication unit 1500. ) May further include an A / V input unit 1600 and a memory 1700.
  • the user input unit 1100 means a means for a user to input data for controlling the device 1000.
  • the user input unit 1100 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive layer type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the user input unit 1100 may receive a user input for registering a widget.
  • the output unit 1200 may output an audio signal, a video signal, or a vibration signal, and the output unit 1200 may include a display unit 1210, an audio output unit 1220, and a vibration motor 1230. have.
  • the display unit 1210 displays and outputs information processed by the device 1000.
  • the display unit 1210 may display an execution screen of a widget being executed in the device 1000.
  • the display unit 1210 may be used as an input device in addition to the output device.
  • the display unit 1210 may include a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display. 3D display, an electrophoretic display.
  • the device 1000 may include two or more display units 1210 according to an implementation form of the device 1000. In this case, the two or more display units 1210 may be disposed to face each other using a hinge.
  • the sound output unit 1220 outputs audio data received from the communication unit 1500 or stored in the memory 1700.
  • the sound output unit 1220 outputs a sound signal related to a function (for example, a call signal reception sound, a message reception sound, and a notification sound) performed by the device 1000.
  • the sound output unit 1220 may include a speaker, a buzzer, and the like.
  • the vibration motor 1230 may output a vibration signal.
  • the vibration motor 1230 may output a vibration signal corresponding to the output of audio data or video data (eg, a call signal reception sound, a message reception sound, etc.).
  • the vibration motor 1230 may output a vibration signal when a touch is input to the touch screen.
  • the controller 1300 generally controls the overall operation of the device 1000.
  • the controller 1300 may control the operation of the device 1000 of FIGS. 1 to 19.
  • the controller 1300 executes programs stored in the memory 1700, such that the user input unit 1100, the output unit 1200, the sensing unit 1400, the communication unit 1500, and the A / V input unit 1600 are provided. ) Can be controlled overall.
  • the controller 1300 may register a widget to be provided to the external device 2000, generate and provide visual data of the widget to the external device 2000, and update the visual data of the widget.
  • the controller 1300 may register a widget to be provided to the external device 2000.
  • the controller 1300 selects a list of widgets installed in the device 1000 and selects the external device 2000 to provide the selected widget, thereby providing a widget 1400 to provide the external device 2000 with the memory 1700 of the device 1000.
  • a widget management server 3000 may select all or a partial area of the execution screen of the widget and map the area selected on the execution screen of the widget with the external device 2000.
  • the controller 1300 may set a format of visual data of a widget to be provided to the external device 2000.
  • the controller 1300 may set rights of the user or the external device 2000 using the widget.
  • the controller 1300 may set a widget and a predetermined function of the widget that can be used by the user or the external device 2000.
  • the controller 1300 may store device information of the external device 2000 in the memory 1700 or the widget management server 3000.
  • the device information may include, for example, information about a model name, type, function, screen resolution, processor, operating system (OS), and communication method of the device.
  • the controller 1300 may receive device information of the external device 2000 from the external device 2000.
  • the present invention is not limited thereto, and the device 1000 may receive device information of the external device 2000 from a separate server (not shown).
  • the controller 1300 may be communicatively connected to the external device 2000.
  • the device 1000 may be connected to the external device 2000 through short-range communication as the device 1000 approaches a predetermined communication range from the external device 2000.
  • the present disclosure is not limited thereto, and the device 1000 may be connected to the external device 2000 through various communication methods.
  • controller 1300 may receive authentication information from the external device 2000 and authenticate the external device 2000.
  • the controller 1300 may provide the widget list to the authenticated external device 2000.
  • the controller 1300 may generate visual data of the widget.
  • the controller 1300 may generate visual data corresponding to the selected area on the execution screen of the widget.
  • the controller 1300 may generate visual data using the screen information of the execution screen of the widget stored in the memory of the device 1000 before displaying the execution screen of the widget on the screen of the device 1000.
  • the controller 1300 may extract the layout and data of the widget application stored in the memory of the device 1000 and generate visual data to be provided to the external device 2000 based on the extracted layout and data. Can be.
  • the controller 1300 extracts meaningful attributes corresponding to the area selected on the execution screen of the widget from the layout and data extracted from the memory, and maps the extracted attributes to the HTML object, thereby converting the HTML attributes into HTML objects.
  • Visual data can be generated.
  • controller 1300 may edit the layout of the widget application or change the format of the visual data according to the specification of the external device 2000.
  • the controller 1300 may change the format of the visual data according to the communication method between the device 1000 and the external device 2000.
  • Visual data may include, but is not limited to, formats of image files, text files, and video files, for example.
  • the controller 1300 may provide the generated visual data to the external device 2000.
  • the controller 1300 may provide the generated visual data to the external device 2000 in response to a request from the external device 2000.
  • the present invention is not limited thereto, and the controller 1300 may push the generated visual data to the external device 2000 even if there is no request from the external device 2000.
  • the controller 1300 may provide visual data of the widget to the external device 2000 at a predetermined cycle. In addition, as the execution screen of the widget executed in the device 1000 is updated, the controller 1300 may provide the external device 2000 with visual data indicating the updated execution screen.
  • the controller 1300 may push the visual data of the widget to the external device 2000 even if there is no request from the external device 2000.
  • the sensing unit 1400 may detect a state of the device 1000 or a state around the device 1000 and transmit the detected information to the controller 1300.
  • the sensing unit 1400 may include a geomagnetic sensor 1410, an acceleration sensor 1420, a temperature / humidity sensor 1430, an infrared sensor 1440, a gyroscope sensor 1450, and a position sensor. (Eg, GPS) 1460, barometric pressure sensor 1470, proximity sensor 1480, and RGB sensor (illuminance sensor) 1490, but are not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
  • the communicator 1500 may include one or more components for communicating with the external device 2000 and / or the widget management server 3000.
  • the communicator 1500 may include a short range communicator 1510, a mobile communicator 1520, and a broadcast receiver 1530.
  • the short-range wireless communication unit 151 includes a Bluetooth communication unit, a Bluetooth low energy (BLE) communication unit, a near field communication unit (Near Field Communication unit), a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an infrared ray ( IrDA (Infrared Data Association) communication unit, WFD (Wi-Fi Direct) communication unit, UWB (ultra wideband) communication unit, Ant + communication unit and the like, but may not be limited thereto.
  • the mobile communication unit 1520 transmits and receives a radio signal with at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
  • the broadcast receiving unit 1530 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel. According to an implementation example, the device 1000 may not include the broadcast receiver 1530.
  • the communicator 1500 may transmit / receive information for providing the widget to the external device 2000 and visual data of the widget with the external device 2000.
  • the communicator 1500 may transmit / receive information for registering the widget, information for providing the widget to the external device 2000, and visual data of the widget with the widget management server 3000.
  • the A / V input unit 1600 is for inputting an audio signal or a video signal, and may include a camera 1610 and a microphone 1620.
  • the camera 1610 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a photographing mode.
  • the image captured by the image sensor may be processed by the controller 1300 or a separate image processor (not shown).
  • the image frame processed by the camera 1610 may be stored in the memory 1700 or transmitted to the outside through the communication unit 1500. Two or more cameras 1610 may be provided according to the configuration aspect of the terminal.
  • the microphone 1620 receives an external sound signal and processes the external sound signal into electrical voice data.
  • the microphone 1620 may receive an acoustic signal from an external device or speaker.
  • the microphone 1620 may use various noise removing algorithms for removing noise generated in the process of receiving an external sound signal.
  • the memory 1700 may store a program for processing and controlling the controller 1300, and may store data input to or output from the device 1000.
  • the memory 1700 may store registration information of the widget.
  • the memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory), RAM Random Access Memory (RAM) Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory, Magnetic Disk It may include at least one type of storage medium of the optical disk.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • Magnetic Memory Magnetic Disk It may include at least one type of storage medium of the optical disk.
  • Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions.
  • the programs stored in the memory 1700 may be classified into a UI module 1710, a touch screen module 1720, a notification module 1730, and the like. .
  • the UI module 1710 may provide a specialized UI, GUI, or the like that is linked with the device 1000 for each application.
  • the touch screen module 1720 may detect a touch gesture on a user's touch screen and transmit information about the touch gesture to the controller 1300.
  • the touch screen module 1720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen module 1720 may be configured as separate hardware including a controller.
  • Various sensors may be provided inside or near the touch screen to detect a touch or proximity touch of the touch screen.
  • An example of a sensor for sensing a touch of a touch screen is a tactile sensor.
  • the tactile sensor refers to a sensor that senses the contact of a specific object to the extent that a person feels or more.
  • the tactile sensor may sense various information such as the roughness of the contact surface, the rigidity of the contact object, the temperature of the contact point, and the like.
  • an example of a sensor for sensing a touch of a touch screen is a proximity sensor.
  • the proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays.
  • Examples of the proximity sensor include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor.
  • the user's touch gesture may include tap, touch and hold, double tap, drag, pan, flick, drag and drop, and swipe.
  • the notification module 1730 may generate a signal for notifying occurrence of an event of the device 1000. Examples of events occurring in the device 1000 include call signal reception, message reception, key signal input, and schedule notification.
  • the notification module 1730 may output a notification signal in the form of a video signal through the display unit 1210, may output the notification signal in the form of an audio signal through the sound output unit 1220, and the vibration motor 1230. Through the notification signal may be output in the form of a vibration signal.
  • 22 is a block diagram of an external device 2000 according to some embodiments.
  • the external device 2000 may include a user input unit 2100, an output unit 2200, a control unit 2300, and a communication unit 2500.
  • the components illustrated in FIG. 21 are essential components of the external device 2000.
  • the external device 2000 may be implemented by more components than the components illustrated in FIG. 21, or the external device 2000 may be implemented by fewer components than the components illustrated in FIG. 21.
  • the user input unit 2100 means a means for a user to input data for controlling the external device 2000.
  • the user input unit 2100 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive layer type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the user input unit 2100 may receive a user input for selecting a widget from a widget list and a user input for an execution screen of the widget.
  • the output unit 2200 may output an audio signal, a video signal, or a vibration signal, and the output unit 2200 may include at least one of a display unit, a sound output unit, and a vibration motor.
  • the display unit may display and output information processed by the external device 2000.
  • the display unit may display an execution screen of the widget.
  • the sound output unit may output audio data, and the vibration motor may output a vibration signal.
  • the controller 2300 generally controls the overall operation of the external device 2000.
  • the controller 2300 may control the operation of the external device 2000 of FIGS. 1 to 19.
  • the controller 2300 may control the user input unit 2100, the output unit 2200, the communication unit 2500, and the like by executing programs stored in the memory of the external device 2000.
  • the controller 2300 receives a list of widgets running on the device 1000 from the device 1000 or the widget management server 3000, and visualizes the visual data of a particular widget in the widget list 1000 or the widget management server 3000. Can be received from. In addition, the controller 2300 may display an execution screen of the widget and provide a user input value for the execution screen of the widget to the device 1000 or the widget management server 3000.
  • the controller 2300 may communicate with the device 1000 by controlling the communicator 2500.
  • the device 1000 may be connected to the external device 2000 through short-range communication as the device 1000 approaches a predetermined communication range from the external device 2000.
  • the present disclosure is not limited thereto, and the device 1000 may be connected to the external device 2000 through various communication methods.
  • the controller 2300 may provide authentication information of the external device 2000 to the device 1000 or the widget management server 3000.
  • the controller 2300 may provide, for example, the identification value of the external device 2000 and the identification value of the external device 2000 to the device 1000 or the widget management server 3000.
  • the controller 2300 may provide, for example, a password and a key value to the device 1000 or the widget management server 3000.
  • this is not limitative.
  • the controller 2300 may receive a widget list from the device 1000 or the widget management server 3000 and select a specific widget in the widget list.
  • the controller 2300 may display a widget list on the screen of the external device 2000, and select a specific widget from the displayed widget list according to a user's selection input of the external device 2000.
  • the controller 2300 may request the device 1000 or the widget management server 3000 for visual data of the selected widget.
  • the controller 2300 may request the device 1000 or the widget management server 3000 for visual data of the selected widget by providing an identification value of the selected widget to the device 1000 or the widget management server 3000.
  • the controller 2300 may receive visual data of the widget generated by the device 1000 from the device 1000 or the widget management server 3000.
  • the controller 2300 may receive visual data of the widget from the device 1000 at a predetermined cycle.
  • the controller 2300 may receive visual data indicating the updated execution screen from the device 1000.
  • the controller 2300 may display the execution screen of the widget on the screen of the external device 2000 using the visual data.
  • the visual data of the widget is an image file, a text file, and a video file indicating an execution screen of the widget
  • the controller 2300 may display the visual data of the widget received from the device 1000 on the screen of the external device 2000 as it is. Can be displayed.
  • the visual data of the widget is an HTML file
  • the controller 2300 may display the execution screen of the widget on the screen of the external device 2000 by interpreting the HTML file.
  • this is not limitative.
  • the controller 2300 may receive updated visual data from the device 1000.
  • the device 1000 may push the updated visual data to the external device 2000 even if there is no request from the external device 2000.
  • the communication unit 2500 may include one or more components for communicating with the device 1000 and / or the widget management server 3000.
  • the communicator 2500 may include a short range communicator, a mobile communicator, and a broadcast receiver.
  • FIG. 23 is a block diagram of a widget management server 3000 according to some embodiments.
  • a widget management server 3000 may include a communication unit 3100, a controller 3200, and a DB 3300, and the DB 3300 may include a device information DB 3310 and a device. Widget registration DB 3320 may be included.
  • the communication unit 3100 may transmit / receive various information for allowing the device 1000 to provide a widget to the external device 2000 with the device 1000 and the external device 2000.
  • the communicator 3100 may include a short range communicator, a mobile communicator, and a broadcast receiver. However, this is not limitative.
  • the controller 3200 typically controls the overall operation of the widget management server 3000.
  • the controller 3200 may control an operation of the widget management server 3000 of FIGS. 17 to 19.
  • the controller 3200 may control the communicator 3100, the DB 3300, and the like overall by executing programs stored in the DB 3300.
  • the controller 3200 may receive device information of the device 1000 from the device 1000 and receive device information of the external device 2000 from the external device 2000.
  • the controller 3200 may register a widget to be provided from the device 1000 to the external device 2000 in the DB 3300.
  • the controller 3200 may register a widget to be provided to the external device 2000 among widgets installed in the device 1000.
  • the controller 3200 may include an identification value of the widget from the device 1000, an entire or partial region of the execution screen of the widget, a format of visual data of the widget to be provided to the external device 2000, a user who uses the widget, or the external device 2000. Authority and the like can be registered in the DB 3300.
  • the controller 3200 may store and update registration information of the widget.
  • the controller 3200 may store and update registration information of the widget according to a request from the device 1000 or the external device 2000.
  • the controller 3200 may receive a request from the external device 2000 for a list of widgets that the external device 2000 can receive from the device 1000.
  • the external device 2000 provides the widget management server 3000 with a list of widgets while providing the widget management server 3000 with the identification value of the device 1000 and the identification value of the external device 2000 received from the device 1000. You can request
  • the external device 2000 may provide the widget management server 3000 with information regarding the current state (eg, available resource status, network connection status, etc.) of the external device 2000.
  • the controller 3200 may provide the external device 2000 with a list of widgets requested from the external device 2000.
  • the controller 3200 is configured to determine whether the device 1000 is an external device from registration information stored in the DB 3300 based on the identification value of the device 1000, the identification value of the external device 2000, and the current state of the external device 2000.
  • a list of widgets that may be provided to the 2000 may be extracted.
  • the controller 3200 may receive the visual data of the widget selected by the external device 2000 from the external device 2000, and the controller 3200 may display the visual data of the widget in response to a request from the external device 2000. (1000).
  • the controller 3200 may receive visual data of the widget generated by the device 1000 from the device 1000, and provide the visual data of the widget to the external device 2000.
  • the visual data in the HTML format is generated and used as an example, but is not limited thereto.
  • Visual data in other markup language formats such as visual data in XML format, may be generated and used.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.
  • unit may be a hardware component such as a processor or a circuit, and / or a software component executed by a hardware component such as a processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

위젯 제공 시스템 및 방법이 제공된다. 적어도 하나의 외부 디바이스에게 위젯을 제공하는 디바이스는, 상기 외부 디바이스와 통신 연결하는 통신부; 상기 외부 디바이스에게 제공할 위젯을 등록하며, 상기 외부 디바이스와 통신 연결됨에 따라 상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃을 이용하여 상기 위젯의 비쥬얼 데이터를 생성하며, 상기 생성된 비쥬얼 데이터를 상기 외부 디바이스에게 제공하는 제어부;를 포함한다.

Description

위젯 제공 시스템 및 방법
본 개시는 위젯 제공 시스템 및 방법에 관한 것으로서, 보다 상세하게는, 디바이스에서 실행 중인 위젯의 실행 화면을 다른 디바이스에서 디스플레이하기 위한 비쥬얼 데이터를 다른 디바이스에게 제공하는 시스템 및 방법에 관한 것이다.
네트워크 및 멀티미디어 기술이 발전함에 따라, 사용자는 여러 디바이스를 이용하여 애플리케이션을 공유할 수 있게 되었다. 그러나, 종래에는 사용자가 디바이스에서 실행 중인 위젯 애플리케이션을 다른 디바이스와 공유하기 위하여는 위젯 애플리케이션의 설치 파일을 공유하거나 디바이스의 화면 전체를 공유해야 했었다.
또한, 디바이스들 간에 애플리케이션을 원격 제어하기 위한 방법으로는 마이크로소프트사의 원격 데스크톱 프로토콜(RDP)과 가상 네트워크 컴퓨팅(VNC)을 이용하는 방법이 있으며, 가전 제품의 원격 제어와 같이 대상 디바이스에 직접 제어 명령을 전송하여 제어하는 방법이 있었다.
그러나, 기존의 애플리케이션을 공유하기 위한 방법들은 몇 가지 문제점들이 있다. 디바이스의 애플리케이션을 다른 디바이스에 설치함으로써 디바이스의 애플리케이션을 공유하는 방법은 다른 디바이스의 운영체제 또는 리소스에 따라 애플리케이션의 설치가 힘든 경우가 있으며, 화면 공유를 통해 애플리케이션을 제어하는 방식은 디바이스들이 동일한 화면을 사용하기 때문에 디바이스들이 애플리케이션을 공유하는 도중에 디바이스의 사용자가 다른 작업을 수행하기 힘들다는 문제점이 있었다. 나아가 애플리케이션의 공유 중에 사용자가 공유를 원하지 않는 내용이 다른 디바이스에게 제공될 수 있어서, 사용자의 프라이버시를 보호하기 힘든 문제점이 있었다.
이에 따라, 사용자의 프라이버시를 보호하면서도 다른 디바이스의 운영체제나 리소스에 관계없이, 디바이스에 설치된 위젯을 근거리 네트워크 혹은 원격지에 있는 다른 디바이스에게 효과적으로 제공할 수 있는 기술이 요구되고 있다.
일부 실시예는 디바이스에 설치된 위젯을 근거리 네트워크 혹은 원격지에 있는 다른 디바이스에게 제공할 수 있는 위젯 공유 시스템을 제공할 수 있다.
또한, 일부 실시예는, 다른 디바이스로부터의 사용자 입력에 따라 디바이스에 설치된 위젯을 제어할 수 있는 위젯 공유 시스템을 제공할 수 있다.
또한, 일부 실시예는, 위젯을 공유함에 있어 기존의 위젯을 이미지나 텍스트와 같이 완성된 형태의 컨텐츠로 전송하여 다른 디바이스에 표시함으로써 다른 디바이스의 운영체제 및 리소스에 무관하게 위젯을 효과적으로 공유할 수 있는 위젯 공유 시스템을 제공할 수 있다.
또한, 일부 실시예는, 위젯을 제공하는 디바이스 및 위젯을 제공받는 디바이스를 효과적으로 관리할 수 있는 위젯 공유 시스템을 제공할 수 있다.
도 1은 일부 실시예에 따른 위젯 공유 시스템의 일례를 나타내는 도면이다.
도 2 및 도 3은 일부 실시예에 따른 위젯 공유 시스템 내의 디바이스(1000) 및 외부 디바이스(2000) 연결 관계의 예시를 나타내는 도면이다.
도 4는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)에게 위젯을 제공하는 방법의 흐름도이다.
도 5는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)에게 위젯 목록을 제공하고, 외부 디바이스(2000)에서 선택된 위젯의 실행화면을 외부 디바이스(2000)에게 제공하는 방법의 흐름도이다.
도 6은 일부 실시예에 따른 디바이스(1000)가 위젯을 등록하는 방법의 흐름도이다.
도 7은 일부 실시예에 따른 디바이스(1000)가 위젯을 등록하는 일례를 도시한 도면이다.
도 8은 일부 실시예에 따른 디바이스(1000)가 위젯의 비쥬얼 데이터를 생성하는 방법의 흐름도이다.
도 9는 일부 실시예에 따른 디바이스(1000)가 위젯의 비쥬얼 데이터를 생성하여 외부 디바이스(2000)에게 전송하는 예시를 나타내는 도면이다.
도 10은 일부 실시예에 따른 디바이스(1000)가 HTML 형식을 가지는 위젯의 비쥬얼 데이터를 생성하는 예시를 나타내는 도면이다.
도 11은 일부 실시예에 따른 디바이스(1000)에서 실행 중인 위젯의 레이아웃으로부터 변환된 HTML 형식의 비쥬얼 데이터의 예시를 나타내는 도면이다.
도 12는 일부 실시예에 따른 외부 디바이스(2000)가 위젯을 수신하고 디스플레이하는 방법의 흐름도이다.
도 13은 일부 실시예에 따른 외부 디바이스(2000)가 디바이스(1000)에서 실행 중인 위젯의 실행 화면을 디스플레이하는 예시를 나타내는 도면이다.
도 14는 일부 실시예에 따른 외부 디바이스(2000)가 디바이스(1000)에서 실행 중인 위젯의 실행 화면으로부터 편집된 실행 화면을 디스플레이하는 예시를 나타내는 도면이다.
도 15는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)에서 입력된 사용자 입력에 따라 위젯의 기능을 실행하는 방법의 흐름도이다.
도 16은 일부 실시예에 따른 디바이스(1000)와 외부 디바이스(2000) 간에 위젯을 공유하는 일례를 나타내는 도면이다.
도 17은 일부 실시예에 따른 위젯 관리 서버(3000)를 포함하는 위젯 공유 시스템의 일례를 나타내는 도면이다.
도 18은 일부 실시예에 따른 디바이스(1000) 및 외부 디바이스(2000)가 위젯 관리 서버(3000)를 이용하여 위젯을 관리하는 방법의 흐름도이다.
도 19는 일부 실시예에 따른 디바이스(1000) 및 외부 디바이스(2000)가 위젯 관리 서버(3000)를 경유하여 위젯을 공유하는 방법의 흐름도이다.
도 20 및 도 21은 일부 실시예에 따른 디바이스(1000)의 블록도이다.
도 22은 일부 실시예에 따른 외부 디바이스(2000)의 블록도이다.
도 23은 일부 실시예에 따른 위젯 관리 서버(3000)의 블록도이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은 외부 디바이스와 통신 연결하는 통신부; 상기 외부 디바이스에게 제공할 위젯을 등록하며, 상기 외부 디바이스와 통신 연결됨에 따라 상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃을 이용하여 상기 위젯의 비쥬얼 데이터를 생성하며, 상기 생성된 비쥬얼 데이터를 상기 외부 디바이스에게 제공하는 제어부;를 포함하는 디바이스를 제공할 수 있다.
또한, 상기 제어부는, 상기 외부 디바이스에게 제공할 위젯의 식별 값을 상기 외부 디바이스의 식별 값과 매핑할 수 있다.
또한, 상기 제어부는, 상기 외부 디바이스에게 제공할 위젯의 실행 화면의 일부 영역을 상기 외부 디바이스의 식별 값과 매핑할 수 있다.
또한, 상기 비쥬얼 데이터는 이미지 파일, 동영상 파일 및 텍스트 파일 중 적어도 하나로 생성되며, 상기 제어부는, 상기 외부 디바이스의 사양에 따라, 상기 비쥬얼 데이터의 포맷을 결정하고, 상기 결정된 포맷에 따라, 상기 비쥬얼 데이터를 생성할 수 있다.
또한, 상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃은, 상기 디바이스의 화면 상에 상기 위젯의 실행 화면을 디스플레이하기 이전에 상기 디바이스의 메모리에 저장될 수 있다.
또한, 상기 제어부는, 상기 메모리에 저장된 상기 위젯의 레이아웃 및 상기 레이아웃에 연관된 데이터 중 전부 또는 일부를 마크업 언어의 오브젝트에 매핑함으로써, 상기 위젯의 비쥬얼 데이터를 생성할 수 있다.
또한, 상기 제어부는, 상기 외부 디바이스의 사양에 따라, 상기 비쥬얼 데이터의 레이아웃을 결정하고, 상기 결정된 레이아웃에 따라, 상기 위젯의 실행 화면을 편집함으로써 상기 비쥬얼 데이터를 생성할 수 있다.
또한, 상기 제어부는, 상기 외부 디바이스와의 네트워크 연결 방식에 따라, 상기 비쥬얼 데이터의 포맷을 결정하고, 상기 결정된 포맷에 따라, 상기 비쥬얼 데이터를 생성할 수 있다.
또한, 상기 제어부는, 상기 디바이스의 화면 상에 디스플레이될 상기 위젯의 실행 화면을 캡쳐함으로써, 상기 비쥬얼 데이터를 생성할 수 있다.
또한, 상기 통신부는, 상기 외부 디바이스와 통신 연결됨에 따라, 상기 디바이스에 설치된 위젯의 목록을 상기 외부 디바이스에게 전송하며, 상기 위젯의 목록에서 선택된 위젯의 식별 값을 상기 외부 디바이스로부터 수신하며, 상기 제어부는, 상기 외부 디바이스에서 선택된 위젯의 비쥬얼 데이터를 생성할 수 있다.
또한, 본 개시의 제 2 측면은, 상기 외부 디바이스에게 제공할 위젯을 등록하는 단계; 상기 외부 디바이스와 통신 연결됨에 따라, 상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃을 이용하여 상기 위젯의 비쥬얼 데이터를 생성하는 단계; 및 상기 생성된 비쥬얼 데이터를 상기 외부 디바이스에게 제공하는 단계;를 포함하는 디바이스가 적어도 하나의 외부 디바이스에게 위젯을 제공하는 방법을 제공할 수 있다.
또한, 상기 위젯을 등록하는 단계는, 상기 외부 디바이스에게 제공할 위젯의 식별 값을 상기 외부 디바이스의 식별 값과 매핑할 수 있다.
또한, 상기 위젯을 등록하는 단계는, 상기 외부 디바이스에게 제공할 위젯의 실행 화면의 일부 영역을 상기 외부 디바이스의 식별 값과 매핑할 수 있다.
또한, 상기 비쥬얼 데이터는 이미지 파일, 동영상 파일 및 텍스트 파일 중 적어도 하나로 생성되며, 상기 비쥬얼 데이터를 생성하는 단계는, 상기 외부 디바이스의 사양에 따라, 상기 비쥬얼 데이터의 포맷을 결정하고, 상기 결정된 포맷에 따라, 상기 비쥬얼 데이터를 생성할 수 있다.
또한, 상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃은, 상기 디바이스의 화면 상에 상기 위젯의 실행 화면을 디스플레이하기 이전에 상기 디바이스의 메모리에 저장될 수 있다.
또한, 상기 비쥬얼 데이터를 생성하는 단계는, 상기 메모리에 저장된 상기 위젯의 레이아웃 및 상기 레이아웃에 연관된 데이터 중 전부 또는 일부를 마크업 언어의 오브젝트에 매핑함으로써, 상기 위젯의 비쥬얼 데이터를 생성할 수 있다.
또한, 상기 비쥬얼 데이터를 생성하는 단계는, 상기 외부 디바이스의 사양에 따라, 상기 비쥬얼 데이터의 레이아웃을 결정하고,
상기 결정된 레이아웃에 따라, 상기 위젯의 실행 화면을 편집함으로써 상기 비쥬얼 데이터를 생성할 수 있다.
또한, 본 개시의 제 3 측면은, 상기 외부 디바이스와 통신 연결됨에 따라, 상기 외부 디바이스로부터 상기 외부 디바이스에서 실행 중인 위젯의 목록을 수신하는 통신부; 상기 수신된 위젯의 목록으로부터 특정 위젯을 선택하고, 선택된 위젯의 비쥬얼 데이터를 상기 외부 디바이스에게 요청하며, 상기 외부 디바이스로부터 수신되는 상기 요청된 비쥬얼 데이터를 이용하여 상기 위젯의 실행 화면을 생성하는 제어부; 및 상기 생성된 실행 화면을 디스플레이하는 디스플레이부;를 포함하는, 외부 디바이스에서 실행 중인 위젯의 실행 화면을 디스플레이하는 디바이스를 제공할 수 있다.
또한, 상기 비쥬얼 데이터는, 상기 선택된 위젯의 실행 화면을 상기 외부 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃으로부터 상기 외부 디바이스에 의해 생성될 수 있다.
또한, 본 개시의 제 4 측면은, 제 2 측면의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 본 명세서에서, 디바이스가 외부 디바이스에게 위젯을 제공한다는 것은, 위젯 애플리케이션의 설치 파일을 외부 디바이스에게 제공하지 않고, 위젯의 실행 화면의 일부 또는 전부를 나타내는 비쥬얼 데이터를 외부 디바이스에게 제공하는 것을 의미할 수 있다.
또한, 비쥬얼 데이터는, 디바이스에서 실행 중인 위젯의 실행 화면의 일부 또는 전부의 GUI(Graphic User Interface)를 나타내기 위한 데이터로서, 외부 디바이스가 위젯의 실행 화면의 일부 또는 전부를 디스플레이하기 위하여 이용할 수 있는 데이터일 수 있다. 비쥬얼 데이터는, 예를 들어, 이미지 파일, 텍스트 파일, 및 동영상 파일 중 적어도 하나를 포함할 수 있다. 또한, 위젯의 비쥬얼 데이터는, 예를 들어, 마크업 언어(예컨대, HTML, XML 등)로된 데이터일 수 있다. 비쥬얼 데이터가 위젯의 실행 화면을 나타내는 이미지 파일, 텍스트 파일 및 동영상 파일인 경우에, 외부 디바이스는 비쥬얼 데이터를 그대로 재생함으로써 위젯의 실행 화면을 외부 디바이스의 화면 상에 디스플레이할 수 있다. 비쥬얼 데이터가 마크업 언어로된 파일인 경우에, 외부 디바이스는 마크업 언어로된 파일을 외부 디바이스의 메모리에 저장하고, 외부 디바이스의 화면 상에 디스플레이될 위젯의 실행 화면을 구성하는데 마크업 언어로된 파일을 이용할 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일부 실시예에 따른 위젯 공유 시스템의 일례를 나타내는 도면이다.
도 1을 참조하면, 일부 실시예에 따른 위젯 공유 시스템은 디바이스(1000) 및 외부 디바이스(2000)를 포함할 수 있다. 디바이스(1000)는 외부 디바이스(2000)와 통신 연결될 수 있으며, 디바이스(1000)는 디바이스(1000)에서 실행중인 위젯을 외부 디바이스(2000)에게 제공할 수 있다. 디바이스(1000)는 위젯의 실행 화면의 일부 또는 전부를 나타내는 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 위젯의 실행 화면은 디바이스(1000)의 화면 상에 디스플레이된 실행 화면 또는 디바이스(1000)의 화면 상에 디스플레이될 실행 화면일 수 있다. 예를 들어, 위젯의 실행 화면이 디바이스(1000)의 화면 상에 디스플레이될 실행 화면인 경우에, 위젯은 디바이스(1000)의 백그라운드에서 실행되고 있을 수 있다.
또한, 위젯의 비쥬얼 데이터는 위젯 애플리케이션이 아니면서, 위젯의 실행 화면을 나타내는 데이터일 수 있다. 위젯의 비쥬얼 데이터는, 예를 들어, 위젯의 실행 화면의 일부 또는 전부를 나타내는 GUI(Graphic User Interface)의 이미지 데이터, 텍스트 데이터 및 동영상 데이터일 수 있다. 또한, 위젯의 비쥬얼 데이터는, 예를 들어, GUI의 레이아웃 데이터일 수 있다. 또한, 위젯의 비쥬얼 데이터는, 예를 들어, 마크업 언어(예컨대, HTML, XML 등)로된 데이터일 수 있다. 그러나, 이에 제한되지 않는다.
또한, 디바이스(1000)는 외부 디바이스(2000)에게 제공할 위젯을 미리 등록할 수 있으며, 외부 디바이스(2000)의 사양에 따라 외부 디바이스(2000)에게 제공할 비쥬얼 데이터의 포맷을 결정할 수 있다. 또한, 외부 디바이스(2000)는 외부 디바이스(2000)의 사양에 따라 위젯의 실행 화면을 편집하여 외부 디바이스(2000)에게 제공할 수 있다.
외부 디바이스(2000)는 디바이스(1000)로부터 위젯의 비쥬얼 데이터를 수신하고, 수신된 비쥬얼 데이터를 이용하여 외부 디바이스(2000)의 화면 상에 위젯의 실행 화면의 일부 또는 전부를 디스플레이할 수 있다. 만약, 외부 디바이스(2000)가 위젯의 실행 화면으로부터 편집된 비쥬얼 데이터를 수신한 경우에는, 편집된 실행 화면을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다.
또한, 외부 디바이스(2000)는 외부 디바이스(2000)의 화면 상에 디스플레이된 위젯의 실행 화면에 대한 사용자 입력을 수신하고, 사용자 입력 값(예를 들어, 터치 입력의 종류, 터치점의 좌표 및 입력된 텍스트 등)을 디바이스(1000)에게 제공할 수 있다. 또한, 디바이스(1000)는 외부 디바이스(2000)로부터 수신된 사용자 입력 값에 따라 외부 디바이스(2000)의 화면 상에 디스플레이된 위젯을 소정 기능을 실행할 수 있으며, 위젯의 실행 화면을 갱신하고, 갱신된 실행 화면에 관한 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다.
디바이스(1000) 및 외부 디바이스(2000)는 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000) 및 외부 디바이스(2000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000) 및 외부 디바이스(2000)는 네트워크를 통하여 위젯을 제공하고 수신할 수 있는 모든 종류의 기기를 포함할 수 있다.
디바이스(1000) 및 외부 디바이스(2000)는 소정 네트워크를 통하여 서로 통신 연결될 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다.
또한, 본 명세서에서 디바이스(1000)는 위젯을 제공하는 호스트 디바이스이고 외부 디바이스(2000)는 위젯을 수신하는 클라이언트 디바이스인 것으로 설명하였지만, 이에 제한되지 않는다. 외부 디바이스(2000)가 디바이스(1000)에게 위젯을 제공하거나 디바이스(1000)가 외부 디바이스(2000)로부터 위젯을 수신할 수도 있다.
도 2 및 도 3은 일부 실시예에 따른 위젯 공유 시스템 내의 디바이스(1000) 및 외부 디바이스(2000) 연결 관계의 예시를 나타내는 도면이다.
도 2를 참조하면, 하나의 디바이스(1000)가 복수의 외부 디바이스(2000)와 연결될 수 있으며, 디바이스(1000)가 복수의 외부 디바이스(2000)에게 각각 위젯을 제공할 수 있다. 또한, 도 3을 참조하면, 복수의 디바이스(1000)가 하나의 외부 디바이스(2000)와 연결될 수 있으며, 외부 디바이스(2000)는 복수의 디바이스(1000)로부터 각각 위젯을 제공받을 수 있다.
도 4는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)에게 위젯을 제공하는 방법의 흐름도이다.
단계 S400에서 디바이스(1000)는 외부 디바이스(2000)에게 제공할 위젯을 등록할 수 있다. 디바이스(1000)는 디바이스(1000)에 설치된 위젯의 목록을 선택하고, 선택된 위젯을 제공할 외부 디바이스(2000)를 선택함으로써, 외부 디바이스(2000)에게 제공할 위젯을 디바이스(1000)의 메모리에 등록할 수 있다. 디바이스(1000)는 위젯의 실행 화면의 전부 또는 일부 영역을 선택하고, 위젯의 실행 화면에서 선택된 영역을 외부 디바이스(2000)와 매핑할 수 있다. 디바이스(1000)는 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터의 포맷을 설정할 수 있다. 또한, 디바이스(1000)는 위젯을 이용하는 사용자 또는 외부 디바이스(2000)의 권한을 설정할 수 있다. 디바이스(1000)는 사용자 또는 외부 디바이스(2000)가 이용할 수 있는 위젯 및 위젯의 소정 기능을 설정할 수 있다. 디바이스(1000)가 외부 디바이스(2000)에게 제공할 위젯을 등록하는 방법에 대하여는 도 6 및 도 7에서 보다 상세히 설명하기로 한다.
단계 S410에서 디바이스(1000)는 외부 디바이스(2000)의 디바이스 정보를 저장할 수 있다. 디바이스 정보는, 예를 들어, 디바이스의 모델명, 종류, 기능, 화면 해상도, 프로세서, OS(Operating System) 및 통신 방식에 관한 정보를 포함할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 디바이스 정보를 외부 디바이스(2000)로부터 수신할 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 외부 디바이스(2000)의 디바이스 정보를 별도의 서버(미도시)로부터 수신할 수도 있다.
단계 S420에서 디바이스(1000)는 외부 디바이스(2000)와 통신 연결될 수 있다. 디바이스(1000)는 외부 디바이스(2000)로부터 소정의 통신 가능 범위 내에 근접함에 따라, 외부 디바이스(2000)와 근거리 통신을 통하여 서로 연결될 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 외부 디바이스(2000)와 다양한 통신 방식을 통하여 서로 연결될 수 있다.
단계 S430에서 디바이스(1000)는 위젯의 비쥬얼 데이터를 생성할 수 있다. 디바이스(1000)는 위젯의 실행 화면에서 선택된 영역에 대응되는 비쥬얼 데이터를 생성할 수 있다. 디바이스(1000)는 위젯의 실행 화면을 디바이스(1000)의 화면 상에 디스플레이하기 이전에, 디바이스(1000)의 메모리에 저장된 위젯의 실행 화면의 화면 정보를 이용하여 비쥬얼 데이터를 생성할 수 있다.
예를 들어, 디바이스(1000)는 디바이스(1000)의 메모리에 저장된 위젯 애플리케이션의 레이 아웃 및 데이터를 추출하고, 추출된 레이 아웃 및 데이터에 기초하여 외부 디바이스(2000)에게 제공될 비쥬얼 데이터를 생성할 수 있다. 이 경우, 디바이스(1000)는 위젯의 실행 화면에서 선택된 영역에 대응되는 유의미한 속성들을, 메모리로부터 추출된 레이 아웃 및 데이터로부터 추출하고, 추출된 속성들을 HTML 객체(object)에 매핑함으로써, HTML 형식의 비쥬얼 데이터를 생성할 수 있다.
또한, 디바이스(1000)는 외부 디바이스(2000)의 사양에 따라, 위젯 애플리케이션의 레이아웃을 편집하거나, 비쥬얼 데이터의 포맷을 변경할 수 있다. 또한, 디바이스(1000)는 디바이스(1000)와 외부 디바이스(2000)의 통신 방식에 따라, 비쥬얼 데이터의 포맷을 변경할 수 있다. 비쥬얼 데이터는, 예를 들어, 이미지 파일, 텍스트 파일 및 동영상 파일의 형식을 포함할 수 있으나, 이에 제한되지 않는다.
디바이스(1000)가 비쥬얼 데이터를 생성하는 방법 및 생성된 비쥬얼 데이터에 대하여는, 도 8 내지 도 12에서 보다 상세히 설명하기로 한다.
단계 S440에서 디바이스(1000)는 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 디바이스(1000)는 생성된 비쥬얼 데이터를 외부 디바이스(2000)로부터의 요청에 응답하여 외부 디바이스(2000)에게 제공할 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는, 외부 디바이스(2000)로부터의 요청이 없더라도, 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 푸쉬할 수 있다.
디바이스(1000)는 기설정된 주기로 위젯의 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 또한, 디바이스(1000)는 디바이스(1000)에서 실행중인 위젯의 실행 화면이 갱신됨에 따라, 갱신된 실행 화면을 나타내는 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다.
단계 S450에서 외부 디바이스(2000)는 비쥬얼 데이터를 이용하여 위젯의 실행 화면을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 위젯의 비쥬얼 데이터가 위젯의 실행 화면을 나타내는 이미지 파일, 텍스트 파일 및 동영상 파일인 경우에, 외부 디바이스(2000)는 디바이스(1000)로부터 수신된 위젯의 비쥬얼 데이터를 그대로 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 또는 위젯의 비쥬얼 데이터가 HTML 파일인 경우에, 외부 디바이스(2000)는 HTML 파일을 해석함으로써 위젯의 실행 화면을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 그러나, 이에 제한되지 않는다.
도 5는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)에게 위젯 목록을 제공하고, 외부 디바이스(2000)에서 선택된 위젯의 실행화면을 외부 디바이스(2000)에게 제공하는 방법의 흐름도이다.
단계 S500 내지 단계 S510은 단계 S400 내지 S420에 대응되며, 단계 S500 내지 단계 S510에 대한 설명은 편의상 생략하기로 한다.
단계 S515에서 외부 디바이스(2000)는 외부 디바이스(2000)의 인증 정보를 디바이스(1000)에게 제공할 수 있다. 외부 디바이스(2000)는, 예를 들어, 외부 디바이스(2000)의 식별 값 및 외부 디바이스(2000)의 식별 값을 디바이스(1000)에게 제공할 수 있다. 또한, 외부 디바이스(2000)는, 예를 들어, 패스워드 및 키 값을 디바이스(1000)에게 제공할 수 있다. 그러나, 이에 제한되지 않는다.
단계 S520에서 디바이스(1000)는 위젯 목록을 외부 디바이스(2000)에게 제공할 수 있다. 디바이스(1000)는 외부 디바이스(2000)로부터 수신된 인증 정보를 이용하여 외부 디바이스(2000) 또는 외부 디바이스(2000)의 사용자를 인증할 수 있다. 또한, 디바이스(1000)는 외부 디바이스(2000) 또는 외부 디바이스(2000)의 사용자가 인증됨에 따라, 외부 디바이스(2000)가 이용할 수 있는 위젯의 목록을 외부 디바이스(2000)에게 제공할 수 있다.
단계 S525에서 외부 디바이스(2000)는 위젯 목록에서 특정 위젯을 선택할 수 있다. 외부 디바이스(2000)는 외부 디바이스(2000)의 화면 상에 위젯 목록을 디스플레이할 수 있으며, 외부 디바이스(2000)의 사용자의 선택 입력에 따라 디스플레이된 위젯 목록에서 특정 위젯을 선택할 수 있다.
단계 S530에서 외부 디바이스(2000)는 선택된 위젯의 비쥬얼 데이터를 디바이스(1000)에게 요청할 수 있다. 외부 디바이스(2000)는 선택된 위젯의 식별 값을 디바이스(1000)에게 제공함으로써, 선택된 위젯의 비쥬얼 데이터를 디바이스(1000)에게 요청할 수 있다.
단계 S535 내지 단계 S545는 단계 S430 내지 단계 S450에 대응되므로, 단계 S535 내지 단계 S545에 대한 설명은 편의상 생략하기로 한다.
단계 S550에서 디바이스(1000)는 위젯의 비쥬얼 데이터를 갱신할 수 있다. 디바이스(1000)는 디바이스(1000)에서 실행중인 위젯에 대한 사용자 입력에 기초하여 위젯의 특정 기능을 실행함으로써 위젯의 실행 화면을 갱신할 수 있다. 또한, 위젯의 실행 화면이 갱신됨에 따라 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터를 갱신할 수 있다.
단계 S555에서 디바이스(1000)는 외부 디바이스(2000)에게 갱신된 비쥬얼 데이터를 제공할 수 있다. 디바이스(1000)는 외부 디바이스(2000)로부터의 요청이 없더라도 갱신된 비쥬얼 데이터를 외부 디바이스(2000)에게 푸쉬할 수 있다.
도 6은 일부 실시예에 따른 디바이스(1000)가 위젯을 등록하는 방법의 흐름도이다.
단계 S600에서 디바이스(1000)는 위젯을 제공받을 외부 디바이스(2000)를 선택할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 목록을 디바이스(1000)의 화면 상에 디스플레이할 수 있으며, 사용자의 선택 입력에 따라 외부 디바이스(2000)를 선택할 수 있다. 외부 디바이스(2000)는 디바이스(1000)의 사용자의 다른 디바이스 또는 다른 사용자의 디바이스일 수 있다.
또한, 디바이스(1000)는 외부 디바이스(2000)의 식별 값을 입력함으로써 외부 디바이스(2000)를 선택할 수도 있다. 이 경우, 디바이스(1000)의 사용자는 외부 디바이스(2000)의 식별 값을 소정의 입력 도구를 이용하여 디바이스(1000)에 입력할 수 있다. 그러나, 이에 제한되지 않는다. 디바이스(1000)의 사용자가 외부 디바이스(2000)를 디바이스(1000)의 통신 가능 범위에 근접시키면, 외부 디바이스(2000)의 식별 값이 외부 디바이스(2000)로부터 디바이스(1000)에게 전송되고, 디바이스(1000)가 외부 디바이스(2000)의 식별 값을 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 이 경우, 사용자는 디바이스(1000)의 화면 상에 디스플레이된 외부 디바이스(2000)의 식별 값을 선택함으로써, 외부 디바이스(2000)를 선택할 수 있다.
단계 S610에서 디바이스(1000)는 외부 디바이스(2000)에게 제공할 위젯을 선택할 수 있다. 디바이스(1000)는 디바이스(1000)에 설치된 위젯의 목록을 디바이스(1000)의 화면 상에 디스플레이할 수 있으며, 사용자의 선택 입력에 따라 외부 디바이스(2000)에게 제공할 위젯을 선택할 수 있다.
이 경우, 디바이스(1000)는 외부 디바이스(2000)의 사양에 기초하여 외부 디바이스(2000)에서 적절하게 디스플레이될 수 있는 위젯을 디바이스(1000)의 사용자에게 추천할 수 있다. 예를 들어, 외부 디바이스(2000)의 화면 해상도에 기초하여, 외부 디바이스(2000)의 화면 상에 적절하게 디스플레이될 수 있는 위젯을 디바이스(1000)의 사용자에게 추천할 수 있다. 또한, 예를 들어, 디바이스(1000)와 외부 디바이스(2000) 간에 형성된 네트워크의 종류에 따라, 외부 디바이스(2000)에게 원활하게 제공될 수 있는 위젯을 디바이스(1000)의 사용자에게 추천할 수 있다. 또한, 예를 들어, 외부 디바이스(2000)의 OS의 종류에, 외부 디바이스(2000)에게 제공될 수 있는 위젯을 디바이스(1000)의 사용자에게 추천할 수 있다.
또한, 디바이스(1000)는 외부 디바이스(2000) 또는 외부 디바이스(2000)의 사용자의 권한에 기초하여 위젯을 디바이스(1000)의 사용자에게 추천할 수 있다. 예를 들어, 디바이스(1000)는 디바이스(1000)에 설치된 위젯 중에서 외부 디바이스(2000) 또는 외부 디바이스(2000)의 사용자가 이용할 수 있는 권한을 가지는 위젯을 선택하고, 선택된 위젯을 디바이스(1000)의 사용자에게 추천할 수 있다.
단계 S620에서 디바이스(1000)는 선택된 위젯의 실행 화면 중에서 전부 또는 일부 영역을 선택할 수 있다. 디바이스(1000)는 선택된 위젯의 실행 화면 중에서 전부 또는 일부 영역을 선택하는 사용자 입력을 수신하고, 수신된 사용자 입력에 따라 위젯의 실행 화면 중에서 전부 또는 일부 영역을 선택할 수 있다. 예를 들어, 디바이스(1000)의 사용자는 터치&드래그 입력을 함으로써 위젯의 실행 화면 중에서 전부 또는 일부 영역을 선택할 수 있다.
단계 S630에서 디바이스(1000)는 외부 디바이스(2000)의 디바이스 정보에 기초하여, 위젯의 비쥬얼 데이터의 포맷을 결정할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 OS을 식별하고, 외부 디바이스(2000)의 OS가 지원하는 포맷을, 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터의 포맷으로 결정할 수 있다.
또한, 디바이스(1000)는 이미지 파일, 텍스트 파일 및 동영상 파일 중 적어도 하나의 파일 포맷을, 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터의 포맷으로 결정할 수 있다. 이 경우, 외부 디바이스(2000)의 종류, 기능, 화면 해상도, 화면 크기, 프로세서 및 통신 방식 중 적어도 하나에 따라, 위젯의 비쥬얼 데이터의 포맷을 결정할 수 있다.
예를 들어, 외부 디바이스(2000)의 화면 크기 또는 화면 해상도가 소정 임계치보다 낮으면, 디바이스(1000)는 외부 디바이스(2000)에게 텍스트 형식의 비쥬얼 데이터를 제공하도록 설정할 수 있다. 또한, 예를 들어, 외부 디바이스(2000)의 화면 크기 또는 화면 해상도가 소정 임계치보다 높으면, 디바이스(1000)는 외부 디바이스(2000)에게 이미지 형식 또는 동영상 형식의 비쥬얼 데이터를 제공하도록 설정할 수 있다.
예를 들어, 외부 디바이스(2000)의 프로세서의 성능이 제1 임계치보다 낮으면, 디바이스(1000)는 외부 디바이스(2000)에게 텍스트 형식의 비쥬얼 데이터를 제공하도록 설정할 수 있다. 또한, 예를 들어, 외부 디바이스(2000)의 프로세서의 성능이 제1 임계치보다 높고 제2 임계치보다 낮으면, 디바이스(1000)는 외부 디바이스(2000)에게 이미지 형식의 비쥬얼 데이터를 제공하도록 설정할 수 있다. 또한, 예를 들어, 외부 디바이스(2000)의 프로세서의 성능이 제2 임계치보다 높으면, 디바이스(1000)는 외부 디바이스(2000)에게 동영상 형식의 비쥬얼 데이터를 제공하도록 설정할 수 있다.
예를 들어, 디바이스(1000)와 외부 디바이스(2000)가 블루투스 통신을 통해 서로 연결된 경우에, 디바이스(1000)가 외부 디바이스(2000)에게 텍스트 형식의 비쥬얼 데이터를 제공하도록 설정할 수 있다. 또한, 디바이스(1000)와 외부 디바이스(2000)가 WIFI 통신을 통해 서로 연결된 경우에, 디바이스(1000)가 외부 디바이스(2000)에게 이미지 또는 동영상 형식의 비쥬얼 데이터를 제공하도록 설정할 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)와 외부 디바이스 간의 통신 방법에 따라 비쥬얼 데이터의 포맷이 다양하게 설정될 수 있다.
단계 S640에서 디바이스(1000)는 선택된 위젯, 위젯의 실행 화면에서 선택된 영역, 선택된 외부 디바이스(2000)의 디바이스 정보 및 비쥬얼 데이터의 포맷을 연관지어 저장할 수 있다. 디바이스(1000)는 외부 디바이스(2000) 별로, 외부 디바이스(2000)에게 제공하기 위하여 선택된 위젯, 위젯의 실행 화면에서 선택된 영역, 외부 디바이스(2000)의 디바이스 정보 및 비쥬얼 데이터의 포맷을 매핑할 수 있다.
도 7은 일부 실시예에 따른 디바이스(1000)가 위젯을 등록하는 일례를 도시한 도면이다.
도 7(a)를 참조하면, 디바이스(1000)는 위젯을 제공할 외부 디바이스(2000)의 목록을 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 디바이스(1000)에서 소정의 사용자 입력이 있는 경우, 디바이스(1000)는 외부 디바이스(2000)의 목록을 디스플레이할 수 있다. 예를 들어, “시계 A”, “안경 B” 및 “태블릿 C”를 포함하는 목록이 디바이스(1000)의 화면 상에 디스플레이될 수 있다. 그러나, 이에 제한되지 않는다. 예를 들어, 외부 디바이스(2000)의 사용자 정보 및 외부 디바이스(2000)의 디바이스 정보 등이 외부 디바이스(2000)의 목록 내에 함께 표시될 수 있다. 또한, 예를 들어, 디바이스(1000)의 사용자는 외부 디바이스(2000)의 목록에서 “시계 A”를 선택할 수 있다.
도 7(b)를 참조하면, 디바이스(1000)의 사용자가 “시계 A”를 선택함에 따라, “시계 A”에게 제공할 위젯을 선택할 수 있도록 하는 위젯 목록이 디바이스(1000)의 화면 상에 디스플레이될 수 있다. 예를 들어, 디바이스(1000)에 설치된 위젯들의 실행 화면들이 위젯 목록에 포함될 수 있다. 또한, 디바이스(1000)는 “시계 A”의 사양에 기초하여, “시계 A”가 적합한 위젯을 추천할 수 있다. 또한, 예를 들어, 디바이스(1000)의 사용자는 날씨 위젯을 선택할 수 있다.
도 7(c)를 참조하면, 날씨 위젯이 선택됨에 따라, 디바이스(1000)는 날씨 위젯의 실행 화면에서 “시계 A”에게 제공하기 위한 영역을 선택하기 위한 GUI를 디바이스(1000)의 화면 상에 디스플레이할 수 있다. 디바이스(1000)의 사용자는, 예를 들어, 터치&드래그 입력을 통하여, 위젯의 실행 화면에서 특정 영역을 선택할 수 있다.
이에 따라, 디바이스(1000)는 날씨 위젯에서 선택된 영역에 관한 비쥬얼 데이터를 “시계 A”에게 제공할 수 있다는 설정을 수행할 수 있다.
도 8은 일부 실시예에 따른 디바이스(1000)가 위젯의 비쥬얼 데이터를 생성하는 방법의 흐름도이다.
단계 S800에서 디바이스(1000)는 위젯 애플리케이션의 소스 데이터를 이용하여 위젯의 실행 화면의 레이아웃 및 데이터를 메모리에 저장할 수 있다. 디바이스(1000)는 디바이스(1000)의 화면 상에 상기 위젯의 실행 화면을 디스플레이하기 이전에, 위젯의 실행 화면의 레이아웃 및 데이터를 메모리에 저장할 수 있다. 또한, 디바이스(1000)는 메모리에 저장된 실행 화면의 레이아웃 및 데이터를 이용하여 프레임 버퍼(frame buffer)에 위젯의 실행 화면을 그림으로써, 위젯의 실행 화면이 디바이스(1000)의 화면 상에 디스플레이되도록 할 수 있다. 위젯 애플리케이션의 소스 데이터는, 예를 들어, HTML 형식의 데이터일 수 있으나 이에 제한되지 않는다. 또한, 위젯의 실행 화면의 레이아웃 및 데이터는 디바이스(1000)에 의해 분석됨으로써, 디바이스(1000)가 외부 디바이스(2000)에게 제공할 비쥬얼 데이터를 생성하는데 이용될 수 있다.
단계 S810에서 디바이스(1000)는 위젯의 실행 화면 중에서 외부 디바이스(2000)에게 제공될 영역을 확인할 수 있다. 외부 디바이스(2000)에게 제공될 영역은 위젯의 실행 화면 중 전부 또는 일부의 영역일 수 있다. 디바이스(1000)는 메모리로부터 위젯의 등록 정보를 추출하고, 추출된 등록 정보에 기초하여 외부 디바이스(2000)에 매핑된 영역을 확인할 수 있다. 위젯의 등록 정보는, 예를 들어, 위젯이 외부 디바이스(2000)에게 제공될 때, 위젯의 실행 화면 중 어떤 영역에 관한 정보가 외부 디바이스(2000)에게 제공되어야 하는지에 관한 설정 값을 포함할 수 있다.
단계 S820에서 디바이스(1000)는 외부 디바이스(2000)에게 제공될 비쥬얼 데이터의 포맷을 확인할 수 있다. 디바이스(1000)는 메모리로부터 위젯의 등록 정보를 추출하고, 추출된 등록 정보에 기초하여, 외부 디바이스(2000)에게 제공될 비쥬얼 데이터의 포맷을 확인할 수 있다. 위젯의 등록 정보는, 예를 들어, 위젯이 외부 디바이스(2000)에게 제공될 때, 어떠한 형식의 비쥬얼 데이터가 외부 디바이스(2000)에게 제공되어야 하는지에 관한 설정 값을 포함할 수 있다. 또한, 비쥬얼 데이터의 형식은 외부 디바이스(2000)의 상태에 따라 달라질 수 있다. 디바이스(1000)는, 예를 들어, 외부 디바이스(2000)의 네트워크 상황, 외부 디바이스(2000)의 가용 리소스, 및 외부 디바이스(2000)에서 현재 실행 중인 애플리케이션의 종류 등에 따라, 이미지 형식, 동영상 형식 또는 텍스트 형식 중 적어도 하나의 형식을 선택할 수 있다. 이 경우, 디바이스(1000)는 외부 디바이스(2000)의 현재 상태에 관한 정보를 외부 디바이스(2000)로부터 수신하고, 수신된 정보에 기초하여 비쥬얼 데이터의 포맷을 결정할 수 있다.
단계 S830에서 디바이스(1000)는 메모리에 저장된 위젯의 레이아웃 및 데이터를 분석하여, 외부 디바이스(2000)에게 제공될 비쥬얼 데이터를 생성할 수 있다. 디바이스(1000)는 위젯의 레이아웃 및 데이터 중에서, 단계 S810에서 확인된 영역에 대응되는 레이아웃 및 데이터를 식별할 수 있다. 또한, 디바이스(1000)는 식별된 레이아웃 및 데이터를 바탕으로, HTML 형식의 비쥬얼 데이터를 생성할 수 있다. 이 경우, 디바이스(1000)는 디바이스(1000)에서 실행 중인 위젯의 레이아웃과 동일한 구조를 가지는 비쥬얼 데이터를 생성할 수 있으나 이에 제한되지 않는다. 디바이스(1000)는 디바이스(1000)에서 실행 중인 위젯의 레이아웃을 편집하고, 편집된 레이아웃의 구조를 갖는 비쥬얼 데이터를 생성할 수도 있다. 이 경우, 외부 디바이스(2000)의 식별 값, 종류 및 화면 해상도 등에 따라, 위젯의 레이아웃을 어떻게 편집할 지에 관한 정보가 미리 설정될 수 있다. 또한, HTML 형식의 비쥬얼 데이터가 외부 디바이스(2000)에게 제공되어 외부 디바이스(2000)의 화면 상에 이미지, 동영상 또는 텍스트 형식으로 디스플레이될 수 있다. 디바이스(1000)가 위젯의 비쥬얼 데이터를 생성하는 방법에 대하여는 도 9 내지 도 11에서 보다 상세히 설명하기로 한다.
한편, 상기에서는 디바이스(1000)가 위젯의 레이아웃 및 데이터를 분석하여 HTML의 비쥬얼 데이터를 생성하는 것으로 설명하였지만, 이에 제한되지 않는다. 디바이스(1000)는 디바이스(1000)에서 실행중인 위젯의 실행 화면의 전부 또는 일부를 캡쳐함으로써 이미지 파일 또는 동영상 파일을 생성할 수도 있다.
단계 S840에서 디바이스(1000)는 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 디바이스(1000)는 생성된 비쥬얼 데이터를 기 설정된 주기로 외부 디바이스(2000)에게 제공하거나, 비쥬얼 데이터가 갱신되었을 때 외부 디바이스(2000)에게 제공할 수 있다. 그러나, 이에 제한되지 않는다.
도 9는 일부 실시예에 따른 디바이스(1000)가 위젯의 비쥬얼 데이터를 생성하여 외부 디바이스(2000)에게 전송하는 예시를 나타내는 도면이다.
도 9를 참조하면, 디바이스(1000)는 디바이스(1000)의 화면 상에 위젯의 실행 화면(90)을 디스플레이할 수 있다. 디바이스(1000)는 위젯의 실행 화면을 디스플레이하기 이전에, 위젯 애플리케이션의 실행 화면을 구성하는 레이아웃 및 데이터를 디바이스(1000)의 메모리에 저장하고, 저장된 레이아웃 및 데이터를 이용하여 디바이스(1000)의 화면 상에 디스플레이될 이미지를 그릴 수 있다. 이 경우, 애플리케이션의 실행 화면을 구성하는 데이터는 고정된 값뿐만 아니라 동적으로 변경되는 값을 포함할 수 있다. 동적으로 변경되는 값은, 예를 들어, 디바이스(1000)의 외부로부터 실시간으로 수집되는 값 및 디바이스(1000)의 사용자 입력에 따라 변경되는 값일 수 있으나, 이에 제한되지 않는다.
또한, 디바이스(1000)는 메모리에 저장된, 위젯 애플리케이션의 실행 화면을 구성하는 레이아웃 및 데이터를 이용하여, 외부 디바이스(2000)에게 전송할 위젯의 비쥬얼 데이터를 생성할 수 있다. 예를 들어, 디바이스(1000)는 위젯의 비쥬얼 데이터를 HTML 형식으로 생성할 수 있다. 이 경우, 디바이스(1000)는 위젯 애플리케이션의 실행 화면을 구성하는 레이아웃 및 데이터 중에서, 위젯의 비쥬얼 데이터를 생성하기 위하여 필요한 오브젝트 및 데이터를 추출하고, 추출된 오브젝트 및 데이터를 이용하여 HTML 형식의 비쥬얼 데이터를 생성할 수 있다.
또한, 디바이스(1000)는 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 전송할 수 있으며, 외부 디바이스(2000)는 수신된 비쥬얼 데이터를 이용하여 외부 디바이스(2000)의 화면 상에 위젯의 실행 화면을 디스플레이할 수 있다.
도 9에서는 디바이스(1000)가 위젯의 비쥬얼 데이터를 HTML 형식으로 생성하는 것으로 설명하였지만, 이에 제한되지 않는다. 디바이스(1000)는 위젯의 비쥬얼 데이터를 이미지 또는 동영상 파일로 생성할 수도 있으며, 이 경우, 외부 디바이스(2000)는 디바이스(1000)로부터 이미지 또는 동영상 파일을 바로 재생할 수 있다.
도 10은 일부 실시예에 따른 디바이스(1000)가 HTML 형식을 가지는 위젯의 비쥬얼 데이터를 생성하는 예시를 나타내는 도면이다. 도 10(a)는 디바이스(1000)의 메모리에 저장되며 위젯의 실행 화면을 구성하는 레이아웃 및 데이터의 일례를 나타내며, 도 10(b)는 외부 디바이스(2000)에게 제공되며 HTML 형식을 가지는 위젯의 비쥬얼 데이터의 일례를 나타낸다.
도 10(a)를 참조하면, 디바이스(1000)는 실행 중인 위젯의 실행 화면을 디바이스(1000)의 화면 상에 디스플레이하기 이전에, 도 10(a)와 같은 위젯의 실행 화면을 구성하는 레이아웃 및 데이터를 디바이스(1000)의 메모리에 저장할 수 있다. 위젯의 실행 화면을 구성하는 레이아웃 및 데이터에서, 데이터는 고정된 값뿐만 아니라 동적으로 갱신되는 값을 가질 수 있다. 또한, 디바이스(1000)는 메모리에 저장된 레이아웃 및 데이터를 이용하여 디바이스(1000)의 화면 상에 디스플레이될 이미지를 디바이스(1000)의 프레임 버퍼(frame buffer)에 저장함으로써, 디바이스(1000)의 화면 상에 위젯의 실행 화면을 디스플레이할 수 있다.
도 10(b)를 참조하면, 디바이스(1000)는 도 10(a)의 레이아웃 및 데이터를 이용하여, 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터를 도 10(b)에서와 같이 HTML 형식으로 생성할 수 있다. 디바이스(1000)는 위젯의 실행 화면을 구성하는 레이아웃 및 데이터를 분석함으로써, 디바이스(1000)에서 실행 중인 위젯의 실행 화면과 동일 또는 유사한 실행 화면이 외부 디바이스(2000)의 화면 상에 디스플레이되도록 할 수 있다. 예를 들어, 디바이스(1000)는 위젯의 실행 화면을 구성하는 레이아웃의 구조, 레이아웃 내에 포함된 객체(object), 객체 간의 관계, 및 객체의 속성을 분석하고, 레이아웃 내에 포함된 객체들 중 일부 또는 전부를 HTML 객체들에 매핑함으로써, HTML 형식의 비쥬얼 데이터를 생성할 수 있다. 또한, 객체는 실행 화면을 구성하는 레이아웃 내의 “AppWidgetHostView”, “LinearLayout”, “FrameLayout”, “Button”, “ImageWiew”, 및 “” 등을 포함할 수 있으며, 객체의 속성은 객체의 폭, 높이, 객체 내에 표시될 텍스트의 크기, 텍스트의 색상 등을 포함할 수 있다. 그러나, 이에 제한되지 않는다.
또한, 디바이스(1000)는 디바이스(1000)에서 실행 중인 위젯의 실행 화면을 구성하는 레이아웃 내의 객체들 중 일부를 선택하고 선택된 객체의 속성을 변경함으로써, 위젯의 실행 화면을 편집할 수 있다. 또한, 디바이스(1000)는 속성이 변경된 객체를 HTML 객체에 매핑함으로써, 편집된 실행 화면이 외부 디바이스(2000)의 화면 상에 디스플레이되도록 하는 비쥬얼 데이터를 생성할 수 있다.
도 11은 일부 실시예에 따른 디바이스(1000)에서 실행 중인 위젯의 레이아웃으로부터 변환된 HTML 형식의 비쥬얼 데이터의 예시를 나타내는 도면이다.
도 11을 참조하면, 디바이스(1000)는 도 11의 좌측에 도시된 디바이스(1000)에서 실행 중인 위젯의 레이아웃을 분석하여, 도 11의 우측에 도시된 HTML 형식의 비쥬얼 데이터를 생성할 수 있다. 또한, HTML 형식의 비쥬얼 데이터 내에서 일부 데이터(110, 112)가 동적으로 변경됨으로써, HTML 형식의 비쥬얼 데이터가 갱신될 수 있다.
도 12는 일부 실시예에 따른 외부 디바이스(2000)가 위젯을 수신하고 디스플레이하는 방법의 흐름도이다.
단계 S1200에서 외부 디바이스(2000)는 통신 연결된 디바이스(1000)로부터 제공될 수 있는 위젯의 목록을 획득할 수 있다. 외부 디바이스(2000)는 디바이스(1000)와의 통신 가능 범위 내로 근접함에 따라 디바이스(1000)와 통신 연결될 수 있으며, 디바이스(1000)로부터 미리 설정된 위젯의 목록을 수신할 수 있다.
단계 S1210에서 외부 디바이스(2000)는 디바이스(1000)로부터 제공받을 위젯을 선택할 수 있다. 외부 디바이스(2000)는 디바이스(1000)로부터 수신된 위젯의 목록을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있으며, 사용자의 선택 입력에 기초하여, 디스플레이된 위젯의 목록에서 특정 위젯을 선택할 수 있다.
단계 S1220에서 외부 디바이스(2000)는 선택된 위젯의 비쥬얼 데이터를 디바이스(1000)로부터 수신할 수 있다. 예를 들어, 외부 디바이스(2000)는 HTML 형식의 비쥬얼 데이터를 디바이스(1000)로부터 수신할 수 있다. 이 경우, 디바이스(1000)는 외부 디바이스(2000)의 식별 값 및 외부 디바이스(2000)에서 선택된 위젯의 식별 값에 기초하여, 선택된 위젯의 비쥬얼 데이터를 소정 형식으로 생성할 수 있으며, 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다.
단계 S1230에서 외부 디바이스(2000)는 수신된 비쥬얼 데이터를 이용하여 위젯을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 외부 디바이스(2000)는, 예를 들어, HTML 형식의 비쥬얼 데이터를 이용하여 이미지, 동영상 또는 텍스트의 형식으로 외부 디바이스(2000)의 화면 상에 위젯의 실행 화면을 디스플레이할 수 있다.
도 13은 일부 실시예에 따른 외부 디바이스(2000)가 디바이스(1000)에서 실행 중인 위젯의 실행 화면을 디스플레이하는 예시를 나타내는 도면이다.
도 13을 참조하면, 디바이스(1000)는 4개의 위젯의 실행 화면들(130, 131, 132, 133)을 디바이스(1000)의 화면 상에 디스플레이할 수 있으며, 외부 디바이스(2000)와 통신 연결됨에 따라, 4개의 위젯의 실행 화면들(130, 131, 132, 133)에 대응되는 비쥬얼 데이터들을 외부 디바이스(2000)에게 제공할 수 있다.
또한, 외부 디바이스(2000)는 4개의 위젯들(130, 131, 132, 133)에 대응되는 비쥬얼 데이터들에 기초하여, 위젯들의 실행화면들(135, 136, 137, 138)을 외부 디바이스(2000)의 화면 상에 디스플레이될 수 있다. 위젯들의 실행화면들(135, 136, 137, 138)의 크기는 외부 디바이스(2000)의 화면의 크기 또는 해상도에 맞게 편집된 것일 수 있다. 또한, 외부 디바이스(2000)에서 표시되는 위젯들의 실행화면들(135, 136, 137, 138)은 각각 하나의 페이지를 구성할 수 있으며, 사용자의 스와이프 입력에 따라 위젯들의 실행화면들(135, 136, 137, 138)이 순차적으로 외부 디바이스(2000)의 화면 상에 디스플레이될 수 있다.
도 14는 일부 실시예에 따른 외부 디바이스(2000)가 디바이스(1000)에서 실행 중인 위젯의 실행 화면으로부터 편집된 실행 화면을 디스플레이하는 예시를 나타내는 도면이다.
도 14를 참조하면, 디바이스(1000)의 화면 상에 날씨 위젯의 실행 화면(140)이 디스플레이될 수 있다. 또한, 디바이스(1000)는 날씨 위젯의 실행 화면(140)을 디스플레이하기 위하여 디바이스(1000)의 메모리에 저장되어 있는 날씨 위젯의 레이 아웃 및 데이터를 이용하여, 날씨 위젯의 실행 화면(140)을 편집함으로써, 날씨 위젯의 비쥬얼 데이터를 생성할 수 있다. 또한, 디바이스(1000)는 날씨 위젯의 실행 화면(140)을 편집함으로써 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 전송할 수 있다. 외부 디바이스(2000)는 비쥬얼 데이터를 수신하고, 수신된 비쥬얼 데이터를 이용하여 날씨 위젯의 편집된 실행 화면(142)를 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다.
이 경우, 날씨 위젯의 편집된 실행 화면(142)은 외부 디바이스(2000)의 화면 크기 및 해상도에 부합하는 크기 및 해상도를 가질 수 있다. 또한, 날씨 위젯의 편집된 실행 화면(142)을 구성하는 레이아웃 및 데이터는, 날씨 위젯의 실행 화면(140)의 레이아웃 및 데이터와는 상이할 수 있다.
도 15는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)에서 입력된 사용자 입력에 따라 위젯의 기능을 실행하는 방법의 흐름도이다.
단계 S1500에서 외부 디바이스(2000)는 위젯의 비쥬얼 데이터를 이용하여 위젯의 실행 화면을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 이 경우, 위젯은 디바이스(1000)에서 실행되며, 외부 디바이스(2000)는 디바이스(1000)에서의 위젯의 실행 결과를 나타내는 실행 화면을 디스플레이하게 된다.
단계 S1510에서 외부 디바이스(2000)는 디스플레이된 위젯의 실행 화면에 대한 사용자 입력을 수신할 수 있다. 사용자는 외부 디바이스(2000)의 화면 상에 디스플레이된 위젯의 실행 화면의 특정 부분을 터치하거나 외부 디바이스(2000)의 키패드를 이용하여 소정의 입력 데이터를 입력할 수 있다.
단계 S1520에서 외부 디바이스(2000)는 사용자 입력의 좌표 값 및 입력 데이터를 획득할 수 있다. 사용자가 외부 디바이스(2000)의 화면 상에 디스플레이된 위젯의 실행 화면의 특정 부분을 터치함에 따라, 외부 디바이스(2000)는 위젯의 실행 화면의 전체 영역 중에서 사용자에 의해 터치된 부분의 위치를 나타내는 좌표 값을 획득할 수 있다. 또한, 사용자가 외부 디바이스(2000)의 키패드를 이용하여 소정의 입력 데이터를 입력한 경우에, 외부 디바이스(2000)는 사용자에 의해 입력된 입력 데이터를 획득할 수 있다.
단계 S1530에서 외부 디바이스(2000)는 사용자 입력의 좌표 값 및 입력 데이터를 전송할 수 있다. 외부 디바이스(2000)는 디스플레이된 위젯의 실행 화면에 대한 사용자 입력을 수신됨에 따라 실시간으로 사용자 입력의 좌표 값 및 입력 데이터를 전송할 수 있다.
단계 S1540에서 디바이스(1000)는 수신된 사용자 입력의 좌표 값 및 입력 데이터에 기초하여, 위젯의 기능을 실행시킬 수 있다. 디바이스(1000)는 수신된 사용자 입력의 좌표 값 및 입력 데이터을 이용하여, 마치 디바이스(1000)의 사용자가 디바이스(1000)에 사용자 입력을 입력한 경우처럼, 위젯의 기능을 실행시킬 수 있다.
디바이스(1000)는 디바이스(1000)에서 실행 중인 위젯의 실행 화면 상의 객체들 중에서 외부 디바이스(2000)로부터 수신된 사용자 입력의 좌표 값에 대응되는 객체를 식별할 수 있다. 이후, 디바이스(1000)는 위젯의 기능들 중에서, 식별된 객체가 선택되었을 때의 기능을 실행할 수 있다. 또한, 디바이스(1000)는 외부 디바이스(2000)로부터 수신된 입력 데이터를, 디바이스(1000)에서 실행 중인 위젯의 입력 데이터로 이용함으로써, 디바이스(1000)에서 실행 중인 위젯의 특정 기능을 실행시킬 수 있다.
단계 S1550에서 디바이스(1000)는 위젯의 기능이 실행됨에 따라 위젯의 실행 화면 및 비쥬얼 데이터를 갱신할 수 있다. 디바이스(1000)는 위젯의 특정 기능이 실행됨에 따라 위젯의 실행 화면을 갱신할 수 있다. 디바이스(1000)는 위젯의 실행 화면이 갱신됨에 따라 변경된 위젯의 레이아웃 및 데이터를 이용하여, 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터를 갱신할 수 있다. 이 경우, 변경된 위젯의 레이아웃 및 데이터는, 위젯의 갱신된 실행 화면이 디바이스(1000)의 화면 상에 디스플레이되기 이전에 디바이스(1000)의 메모리에 저장될 수 있다.
단계 S1560에서 디바이스(1000)는 갱신된 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 또한, 외부 디바이스(2000)는 갱신된 비쥬얼 데이터를 이용하여 외부 디바이스(2000)의 화면 상에 디스플레이된 위젯의 실행 화면을 갱신할 수 있다.
한편, 도 15에서는 디바이스(1000)가, 외부 디바이스(2000)로부터 수신되는 사용자 입력의 좌표 값 및 입력 데이터에 기초하여, 갱신된 위젯의 비쥬얼 데이터를 외부 디바이스(2000)에게 제공하는 것으로 설명하였지만, 이에 제한되지 않는다. 예를 들어, 사용자가 디바이스(1000)에 사용자 입력을 입력함으로써 디바이스(1000)에서 실행중인 위젯의 실행 화면이 갱신될 수 있으며, 디바이스(1000)에서 실행중인 위젯의 실행 화면이 갱신됨에 따라 디바이스(1000)가 위젯의 비쥬얼 데이터를 갱신할 수 있다.
또한, 디바이스(1000)와 외부 디바이스(2000)간의 통신 연결 방식이 변경됨에 따라, 디바이스(1000)에서 실행중인 위젯의 실행 화면은 갱신되지 않고, 디바이스(1000)가 위젯의 비쥬얼 데이터만을 갱신할 수 있다. 예를 들어, 디바이스(1000)와 외부 디바이스(2000) 간의 통신 연결 방식이 WIFI 통신에서 블루투스 통신으로 변경된 경우에, 디바이스(1000)는 이미지 형식의 비쥬얼 데이터를 텍스트 형식의 비쥬얼 데이터로 변경하고, 변경된 비쥬얼 데이터를 외부 디바이스(2000)에게 전송할 수도 있다.
도 16은 일부 실시예에 따른 디바이스(1000)와 외부 디바이스(2000) 간에 위젯을 공유하는 일례를 나타내는 도면이다.
도 16을 참조하면, 디바이스(1000)는 외부 디바이스 및 외부 디바이스에게 제공할 위젯을 RemoteWidget Container에 등록할 수 있다. 또한, 디바이스(1000)는 외부 디바이스(2000)로부터 디바이스 정보 및 인증 정보를 수신하고 외부 디바이스(2000)를 인증할 수 있다. 디바이스(1000)는 디바이스(1000)에서 실행 중인 위젯을 외부 디바이스(2000)에게 제공하기 위하여 위젯의 비쥬얼 데이터를 생성하고, 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 이후, 디바이스(1000)는 외부 디바이스(2000)로부터 사용자 입력 값을 수신하고, 수신된 사용자 입력 값에 따라 디바이스(1000)에서 실행 중인 위젯을 제어할 수 있다.
도 17은 일부 실시예에 따른 위젯 관리 서버(3000)를 포함하는 위젯 공유 시스템의 일례를 나타내는 도면이다.
도 17을 참조하면, 디바이스(1000), 외부 디바이스(2000) 및 위젯 관리 서버(3000)가 각각 네트워크를 형성할 수 있으며, 위젯 관리 서버(3000)는 디바이스(1000)로부터 외부 디바이스(2000)에게 제공될 수 있는 위젯을 등록하고 관리할 수 있다. 위젯 관리 서버(3000)는 디바이스(1000)가 어떤 위젯을 어느 외부 디바이스(2000)에게 제공할 것인지에 관한 설정 정보를 저장하고 관리할 수 있다. 또한, 위젯 관리 서버(3000)는 디바이스(1000)가 위젯의 비쥬얼 데이터를 어떠한 형식으로 전송할 지에 관한 설정 정보를 저장하고 관리할 수 있다.
도 18은 일부 실시예에 따른 디바이스(1000) 및 외부 디바이스(2000)가 위젯 관리 서버(3000)를 이용하여 위젯을 관리하는 방법의 흐름도이다.
단계 S1800에서 디바이스(1000)는 디바이스(1000)의 디바이스 정보를 위젯 관리 서버(3000)에게 제공하며, 단계 S1805에서 외부 디바이스(2000)는 외부 디바이스(2000)의 디바이스 정보를 위젯 관리 서버(3000)에게 제공할 수 있다. 디바이스 정보는, 예를 들어, 디바이스의 모델명, 종류, 기능, 화면 해상도, 프로세서, OS(Operating System) 및 통신 방식에 관한 정보를 포함할 수 있다.
단계 S1810에서 디바이스(1000)는 외부 디바이스(2000)에게 제공할 위젯을 위젯 관리 서버(3000)에 등록할 수 있다. 디바이스(1000)는 디바이스(1000)에 설치된 위젯들 중에서 외부 디바이스(2000)에게 제공할 위젯을 위젯 관리 서버(3000)에 등록할 수 있다. 디바이스(1000)는 위젯의 실행 화면의 전부 또는 일부 영역을 선택하고, 위젯의 실행 화면에서 선택된 영역을 위젯 관리 서버(3000)에 등록할 수 있다. 디바이스(1000)는 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터의 포맷을 위젯 관리 서버(3000)에 등록할 수 있다. 또한, 디바이스(1000)는 위젯을 이용하는 사용자 또는 외부 디바이스(2000)의 권한을 위젯 관리 서버(3000)에 등록할 수 있다.
단계 S1815에서 위젯 관리 서버(3000)는 위젯의 등록 정보를 저장하고 갱신할 수 있다. 위젯 관리 서버(3000)는 디바이스(1000) 또는 외부 디바이스(2000)로부터의 요청에 따라 위젯의 등록 정보를 저장하고 갱신할 수 있다.
단계 S1820에서 디바이스(1000)와 외부 디바이스(2000)는 통신 연결될 수 있다. 디바이스(1000)는 외부 디바이스(2000)로부터 소정의 통신 가능 범위 내에 근접함에 따라, 외부 디바이스(2000)와 근거리 통신을 통하여 서로 연결될 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 외부 디바이스(2000)와 다양한 통신 방식을 통하여 서로 연결될 수 있다.
단계 S1825에서 디바이스(1000)는 외부 디바이스(2000)에게 디바이스(1000)의 식별 값을 전송하며, 단계 S1830에서 외부 디바이스(2000)는 외부 디바이스(2000)가 디바이스(1000)로부터 제공받을 수 있는 위젯의 목록을 위젯 관리 서버(3000)에게 요청할 수 있다. 외부 디바이스(2000)는 디바이스(1000)로부터 수신된 디바이스(1000)의 식별 값 및 외부 디바이스(2000)의 식별 값을 위젯 관리 서버(3000)에게 제공하면서, 위젯 관리 서버(3000)에게 위젯의 목록을 요청할 수 있다. 또한, 외부 디바이스(2000)는 외부 디바이스(2000)의 현재 상태(예를 들어, 사용 가능한 리소스 상황, 네트워크 연결 상황 등)에 관한 정보를 위젯 관리 서버(3000)에게 제공할 수 있다.
단계 S1835에서 위젯 관리 서버(3000)는 외부 디바이스(2000)로부터 요청된 위젯의 목록을 외부 디바이스(2000)에게 제공할 수 있다. 위젯 관리 서버(3000)는 디바이스(1000)의 식별 값, 외부 디바이스(2000)의 식별 값 및 외부 디바이스(2000)의 현재 상태를 바탕으로, 단계 S1815에서 저장된 등록 정보로부터 디바이스(1000)가 외부 디바이스(2000)에게 제공할 수 있는 위젯의 목록을 추출할 수 있다.
단계 S1840 내지 단계 S1870는 단계 S525 내지 단계 S555에 대응되므로 이에 대한 설명은 편의상 생략하기로 한다.
도 19는 일부 실시예에 따른 디바이스(1000) 및 외부 디바이스(2000)가 위젯 관리 서버(3000)를 경유하여 위젯을 공유하는 방법의 흐름도이다.
단계 S1900에서 디바이스(1000)는 외부 디바이스(2000)에게 제공할 위젯을 위젯 관리 서버(3000)에게 등록할 수 있다.
단계 S1905에서 외부 디바이스(2000)는 디바이스(1000)의 식별 값을 위젯 관리 서버(3000)에게 제공할 수 있다. 외부 디바이스(2000)는 디바이스(1000)의 식별 값을 위젯 관리 서버(3000)에게 제공하면서 위젯 관리 서버(3000)에게 디바이스(1000)로부터 외부 디바이스(2000)가 수신할 수 있는 위젯의 목록을 요청할 수 있다. 이 경우, 외부 디바이스(2000)의 사용자는 디바이스(1000)의 식별 값은 직접 입력하거나, 외부 디바이스(2000)에 미리 저장되어 있는 디바이스(1000)의 식별 값을 선택할 수 있다. 또한, 디바이스(1000) 및 외부 디바이스(2000)는 서로 원격지에 위치할 수 있다. 또한, 외부 디바이스(2000)는 위젯 목록을 요청하면서, 외부 디바이스(2000)의 현재 상태에 관한 정보를 위젯 관리 서버(3000)에게 제공할 수 있다.
단계 S1910에서 위젯 관리 서버(3000)는 위젯의 목록을 외부 디바이스(2000)에게 제공하며, 단계 S1915에서 외부 디바이스(2000)는 위젯 목록에서 특정 위젯을 선택할 수 있다.
단계 S1920에서 외부 디바이스(2000)는 선택된 위젯의 비쥬얼 데이터를 위젯 관리 서버(3000)에게 요청할 수 있으며, 위젯 관리 서버(3000)는 외부 디바이스(2000)로부터의 요청에 응답하여 선택된 위젯의 비쥬얼 데이터를 디바이스(1000)에게 요청할 수 있다.
단계 S1930에서 디바이스(1000)는 위젯의 비쥬얼 데이터를 생성할 수 있으며, 단계 S1935에서 디바이스(1000)는 생성된 위젯의 비쥬얼 데이터를 위젯 관리 서버(3000)에게 제공할 수 있다. 이후, 단계 S1940에서 위젯 관리 서버(3000)는 위젯의 비쥬얼 데이터를 외부 디바이스(2000)에게 제공하며, 단계 S1945에서 외부 디바이스(2000)는 비쥬얼 데이터를 이용하여 외부 디바이스(2000)의 화면 상에 위젯의 실행 화면을 디스플레이할 수 있다.
도 20 및 도 21은 일부 실시예에 따른 디바이스(1000)의 블록도이다.
도 20에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500)를 포함할 수 있다. 그러나, 도 20에 도시된 구성 요소 모두가 디바이스(1000)의 필수 구성 요소인 것은 아니다. 도 20에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있고, 도 20에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있다.
예를 들어, 도 21에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500) 이외에 센싱부(1400), A/V 입력부(1600), 및 메모리(1700)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 사용자 입력부(1100)는, 위젯을 등록하기 위한 사용자 입력을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 디바이스(1000)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1210)는, 디바이스(1000)에서 실행 중인 위젯의 실행 화면을 디스플레이할 수 있다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 디바이스(1000)의 구현 형태에 따라 디바이스(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(1210)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 디바이스(1000)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(1220)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(1230)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
제어부(1300)는, 통상적으로 디바이스(1000)의 전반적인 동작을 제어한다. 제어부(1300)는, 도 1 내지 도 19에서의 디바이스(1000)의 동작을 제어할 수 있다. 예를 들어, 제어부(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다.
제어부(1300)는 외부 디바이스(2000)에게 제공할 위젯을 등록하고, 위젯의 비쥬얼 데이터를 생성하여 외부 디바이스(2000)에게 제공하며, 위젯의 비쥬얼 데이터를 갱신할 수 있다.
구체적으로, 제어부(1300)는 외부 디바이스(2000)에게 제공할 위젯을 등록할 수 있다. 제어부(1300)는 디바이스(1000)에 설치된 위젯의 목록을 선택하고, 선택된 위젯을 제공할 외부 디바이스(2000)를 선택함으로써, 외부 디바이스(2000)에게 제공할 위젯을 디바이스(1000)의 메모리(1700) 또는 위젯 관리 서버(3000)에 등록할 수 있다. 제어부(1300)는 위젯의 실행 화면의 전부 또는 일부 영역을 선택하고, 위젯의 실행 화면에서 선택된 영역을 외부 디바이스(2000)와 매핑할 수 있다. 제어부(1300)는 외부 디바이스(2000)에게 제공할 위젯의 비쥬얼 데이터의 포맷을 설정할 수 있다. 또한, 제어부(1300)는 위젯을 이용하는 사용자 또는 외부 디바이스(2000)의 권한을 설정할 수 있다. 제어부(1300)는 사용자 또는 외부 디바이스(2000)가 이용할 수 있는 위젯 및 위젯의 소정 기능을 설정할 수 있다.
또한, 제어부(1300)는 외부 디바이스(2000)의 디바이스 정보를 메모리(1700) 또는 위젯 관리 서버(3000)에 저장할 수 있다. 디바이스 정보는, 예를 들어, 디바이스의 모델명, 종류, 기능, 화면 해상도, 프로세서, OS(Operating System) 및 통신 방식에 관한 정보를 포함할 수 있다. 제어부(1300)는 외부 디바이스(2000)의 디바이스 정보를 외부 디바이스(2000)로부터 수신할 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 외부 디바이스(2000)의 디바이스 정보를 별도의 서버(미도시)로부터 수신할 수도 있다.
또한, 제어부(1300)는 외부 디바이스(2000)와 통신 연결될 수 있다. 디바이스(1000)는 외부 디바이스(2000)로부터 소정의 통신 가능 범위 내에 근접함에 따라, 외부 디바이스(2000)와 근거리 통신을 통하여 서로 연결될 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 외부 디바이스(2000)와 다양한 통신 방식을 통하여 서로 연결될 수 있다.
또한, 제어부(1300)는 외부 디바이스(2000)로부터 인증 정보를 수신하고 외부 디바이스(2000)를 인증할 수 있다. 제어부(1300)는 위젯 목록을 인증된 외부 디바이스(2000)에게 제공할 수 있다.
또한, 제어부(1300)는 위젯의 비쥬얼 데이터를 생성할 수 있다. 제어부(1300)는 위젯의 실행 화면에서 선택된 영역에 대응되는 비쥬얼 데이터를 생성할 수 있다. 제어부(1300)는 위젯의 실행 화면을 디바이스(1000)의 화면 상에 디스플레이하기 이전에, 디바이스(1000)의 메모리에 저장된 위젯의 실행 화면의 화면 정보를 이용하여 비쥬얼 데이터를 생성할 수 있다.
예를 들어, 제어부(1300)는 디바이스(1000)의 메모리에 저장된 위젯 애플리케이션의 레이 아웃 및 데이터를 추출하고, 추출된 레이 아웃 및 데이터에 기초하여 외부 디바이스(2000)에게 제공될 비쥬얼 데이터를 생성할 수 있다. 이 경우, 제어부(1300)는 위젯의 실행 화면에서 선택된 영역에 대응되는 유의미한 속성들을, 메모리로부터 추출된 레이 아웃 및 데이터로부터 추출하고, 추출된 속성들을 HTML 객체(object)에 매핑함으로써, HTML 형식의 비쥬얼 데이터를 생성할 수 있다.
또한, 제어부(1300)는 외부 디바이스(2000)의 사양에 따라, 위젯 애플리케이션의 레이아웃을 편집하거나, 비쥬얼 데이터의 포맷을 변경할 수 있다. 또한, 제어부(1300)는 디바이스(1000)와 외부 디바이스(2000)의 통신 방식에 따라, 비쥬얼 데이터의 포맷을 변경할 수 있다. 비쥬얼 데이터는, 예를 들어, 이미지 파일, 텍스트 파일 및 동영상 파일의 형식을 포함할 수 있으나, 이에 제한되지 않는다.
또한, 제어부(1300)는 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 제어부(1300)는 생성된 비쥬얼 데이터를 외부 디바이스(2000)로부터의 요청에 응답하여 외부 디바이스(2000)에게 제공할 수 있다. 그러나, 이에 제한되지 않으며, 제어부(1300)는, 외부 디바이스(2000)로부터의 요청이 없더라도, 생성된 비쥬얼 데이터를 외부 디바이스(2000)에게 푸쉬할 수 있다.
제어부(1300)는 기설정된 주기로 위젯의 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다. 또한, 제어부(1300)는 디바이스(1000)에서 실행중인 위젯의 실행 화면이 갱신됨에 따라, 갱신된 실행 화면을 나타내는 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다.
제어부(1300)는 외부 디바이스(2000)로부터의 요청이 없더라도 위젯의 비쥬얼 데이터를 외부 디바이스(2000)에게 푸쉬할 수 있다.
센싱부(1400)는, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신부(1500)는, 외부 디바이스(2000) 및/또는 위젯 관리 서버(3000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 및 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 디바이스(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
또한, 통신부(1500)는, 위젯을 외부 디바이스(2000)에게 제공하기 위한 정보 및 위젯의 비쥬얼 데이터를 외부 디바이스(2000)와 송수신할 수 있다. 통신부(1500)는 위젯을 등록하기 위한 정보, 위젯을 외부 디바이스(2000)에게 제공하기 위한 정보 및 위젯의 비쥬얼 데이터를 를 위젯 관리 서버(3000)와 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(1610)에서 처리된 화상 프레임은 메모리(1700)에 저장되거나 통신부(1500)를 통하여 외부로 전송될 수 있다. 카메라(1610)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수도 있다. 메모리(1700)는 위젯의 등록 정보를 저장할 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다.
근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 디바이스(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 디바이스(1000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
도 22은 일부 실시예에 따른 외부 디바이스(2000)의 블록도이다.
도 22에 도시된 바와 같이, 일부 실시예에 따른 외부 디바이스(2000)는, 사용자 입력부(2100), 출력부(2200), 제어부(2300), 및 통신부(2500)를 포함할 수 있다. 그러나, 도 21에 도시된 구성 요소 모두가 외부 디바이스(2000)의 필수 구성 요소인 것은 아니다. 도 21에 도시된 구성 요소보다 많은 구성 요소에 의해 외부 디바이스(2000)가 구현될 수도 있고, 도 21에 도시된 구성 요소보다 적은 구성 요소에 의해 외부 디바이스(2000)가 구현될 수도 있다.
사용자 입력부(2100)는, 사용자가 외부 디바이스(2000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(2100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 사용자 입력부(2100)는, 위젯 목록에서 위젯을 선택하기 위한 사용자 입력, 및 위젯의 실행 화면에 대한 사용자 입력을 수신할 수 있다.
출력부(2200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(2200)는 디스플레이부, 음향 출력부, 및 진동 모터 중 적어도 하나를 포함할 수 있다.
디스플레이부는 외부 디바이스(2000)에서 처리되는 정보를 표시 출력할 수 있다. 예를 들어, 디스플레이부는, 위젯의 실행 화면을 디스플레이할 수 있다. 음향 출력부는 오디오 데이터를 출력할 수 있으며, 진동 모터는 진동 신호를 출력할 수 있다.
제어부(2300)는, 통상적으로 외부 디바이스(2000)의 전반적인 동작을 제어한다. 제어부(2300)는 도 1 내지 도 19에서의 외부 디바이스(2000)의 동작을 제어할 수 있다. 예를 들어, 제어부(2300)는, 외부 디바이스(2000)의 메모리에 저장된 프로그램들을 실행함으로써, 사용자 입력부(2100), 출력부(2200), 및 통신부(2500) 등을 전반적으로 제어할 수 있다.
제어부(2300)는 디바이스(1000) 또는 위젯 관리 서버(3000)로부터, 디바이스(1000)에서 실행 중인 위젯 목록을 수신하고, 위젯 목록 내의 특정 위젯의 비쥬얼 데이터를 디바이스(1000) 또는 위젯 관리 서버(3000)로부터 수신할 수 있다. 또한, 제어부(2300)는 위젯의 실행 화면을 디스플레이하고 위젯의 실행 화면에 대한 사용자 입력 값을 디바이스(1000) 또는 위젯 관리 서버(3000)에게 제공할 수 있다.
구체적으로, 제어부(2300)는 통신부(2500)를 제어함으로써 디바이스(1000)와 통신 연결할 수 있다. 디바이스(1000)는 외부 디바이스(2000)로부터 소정의 통신 가능 범위 내에 근접함에 따라, 외부 디바이스(2000)와 근거리 통신을 통하여 서로 연결될 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 외부 디바이스(2000)와 다양한 통신 방식을 통하여 서로 연결될 수 있다.
제어부(2300)는 외부 디바이스(2000)의 인증 정보를 디바이스(1000) 또는 위젯 관리 서버(3000)에게 제공할 수 있다. 제어부(2300)는, 예를 들어, 외부 디바이스(2000)의 식별 값 및 외부 디바이스(2000)의 식별 값을 디바이스(1000) 또는 위젯 관리 서버(3000)에게 제공할 수 있다. 또한, 제어부(2300)는, 예를 들어, 패스워드 및 키 값을 디바이스(1000) 또는 위젯 관리 서버(3000)에게 제공할 수 있다. 그러나, 이에 제한되지 않는다.
제어부(2300)는 위젯 목록을 디바이스(1000) 또는 위젯 관리 서버(3000)로부터 수신하고, 위젯 목록 내의 특정 위젯을 선택할 수 있다. 제어부(2300)는 외부 디바이스(2000)의 화면 상에 위젯 목록을 디스플레이할 수 있으며, 외부 디바이스(2000)의 사용자의 선택 입력에 따라 디스플레이된 위젯 목록에서 특정 위젯을 선택할 수 있다.
제어부(2300)는 선택된 위젯의 비쥬얼 데이터를 디바이스(1000) 또는 위젯 관리 서버(3000)에게 요청할 수 있다. 제어부(2300)는 선택된 위젯의 식별 값을 디바이스(1000) 또는 위젯 관리 서버(3000)에게 제공함으로써, 선택된 위젯의 비쥬얼 데이터를 디바이스(1000) 또는 위젯 관리 서버(3000)에게 요청할 수 있다.
제어부(2300)는 디바이스(1000)에서 생성된 위젯의 비쥬얼 데이터를 디바이스(1000) 또는 위젯 관리 서버(3000)로부터 수신할 수 있다. 제어부(2300)는 기설정된 주기로 위젯의 비쥬얼 데이터를 디바이스(1000)로부터 수신할 수 있다. 또한, 제어부(2300)는 디바이스(1000)에서 실행중인 위젯의 실행 화면이 갱신됨에 따라, 갱신된 실행 화면을 나타내는 비쥬얼 데이터를 디바이스(1000)로부터 수신할 수 있다.
제어부(2300)는 비쥬얼 데이터를 이용하여 위젯의 실행 화면을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 위젯의 비쥬얼 데이터가 위젯의 실행 화면을 나타내는 이미지 파일, 텍스트 파일 및 동영상 파일인 경우에, 제어부(2300)는 디바이스(1000)로부터 수신된 위젯의 비쥬얼 데이터를 그대로 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 또는 위젯의 비쥬얼 데이터가 HTML 파일인 경우에, 제어부(2300)는 HTML 파일을 해석함으로써 위젯의 실행 화면을 외부 디바이스(2000)의 화면 상에 디스플레이할 수 있다. 그러나, 이에 제한되지 않는다.
제어부(2300)는 디바이스(1000)로부터 갱신된 비쥬얼 데이터를 수신할 수 있다. 디바이스(1000)는 외부 디바이스(2000)로부터의 요청이 없더라도 갱신된 비쥬얼 데이터를 외부 디바이스(2000)에게 푸쉬할 수 있다.
통신부(2500)는, 디바이스(1000) 및/또는 위젯 관리 서버(3000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2500)는, 근거리 통신부, 이동 통신부, 및 방송 수신부를 포함할 수 있다.
도 23은 일부 실시예에 따른 위젯 관리 서버(3000)의 블록도이다.
도 23을 참조하면, 일부 실시예에 따른 위젯 관리 서버(3000)는 통신부(3100), 제어부(3200) 및 DB(3300)를 포함할 수 있으며, DB(3300)는 디바이스 정보 DB(3310) 및 위젯 등록 DB(3320)를 포함할 수 있다.
통신부(3100)는, 디바이스(1000)가 외부 디바이스(2000)에게 위젯을 제공할 수 있도록 하기 위한 각종 정보를, 디바이스(1000) 및 외부 디바이스(2000)와 송수신할 수 있다. 예를 들어, 통신부(3100)는, 근거리 통신부, 이동 통신부, 및 방송 수신부를 포함할 수 있다. 그러나, 이에 제한되지 않는다.
제어부(3200)는 통상적으로 위젯 관리 서버(3000)의 전반적인 동작을 제어한다. 제어부(3200)는 도 17 내지 도 19에서의 위젯 관리 서버(3000)의 동작을 제어할 수 있다. 예를 들어, 제어부(3200)는, DB(3300)에 저장된 프로그램들을 실행함으로써, 통신부(3100) 및 DB(3300) 등을 전반적으로 제어할 수 있다.
제어부(3200)는 디바이스(1000)의 디바이스 정보를 디바이스(1000)로부터 수신하고, 외부 디바이스(2000)의 디바이스 정보를 외부 디바이스(2000)로부터 수신할 수 있다. 제어부(3200)는 디바이스(1000)로부터 외부 디바이스(2000)에게 제공될 위젯을 DB(3300)에 등록할 수 있다. 제어부(3200)는 디바이스(1000)에 설치된 위젯들 중에서 외부 디바이스(2000)에게 제공될 위젯을 등록할 수 있다. 제어부(3200)는 디바이스(1000)로부터 위젯의 식별 값, 위젯의 실행 화면의 전부 또는 일부 영역, 외부 디바이스(2000)에게 제공될 위젯의 비쥬얼 데이터의 포맷, 위젯을 이용하는 사용자 또는 외부 디바이스(2000)의 권한 등을 DB(3300)에 등록할 수 있다.
제어부(3200)는 위젯의 등록 정보를 저장하고 갱신할 수 있다. 제어부(3200)는 디바이스(1000) 또는 외부 디바이스(2000)로부터의 요청에 따라 위젯의 등록 정보를 저장하고 갱신할 수 있다.
제어부(3200)는 외부 디바이스(2000)가 디바이스(1000)로부터 제공받을 수 있는 위젯의 목록을 외부 디바이스(2000)로부터 요청받을 수 있다. 외부 디바이스(2000)는 디바이스(1000)로부터 수신된 디바이스(1000)의 식별 값 및 외부 디바이스(2000)의 식별 값을 위젯 관리 서버(3000)에게 제공하면서, 위젯 관리 서버(3000)에게 위젯의 목록을 요청할 수 있다. 또한, 외부 디바이스(2000)는 외부 디바이스(2000)의 현재 상태(예를 들어, 사용 가능한 리소스 상황, 네트워크 연결 상황 등)에 관한 정보를 위젯 관리 서버(3000)에게 제공할 수 있다.
제어부(3200)는 외부 디바이스(2000)로부터 요청된 위젯의 목록을 외부 디바이스(2000)에게 제공할 수 있다. 제어부(3200)는 디바이스(1000)의 식별 값, 외부 디바이스(2000)의 식별 값 및 외부 디바이스(2000)의 현재 상태를 바탕으로, DB(3300)에 저장된 등록 정보로부터 디바이스(1000)가 외부 디바이스(2000)에게 제공할 수 있는 위젯의 목록을 추출할 수 있다.
제어부(3200)는 외부 디바이스(2000)에서 선택된 위젯의 비쥬얼 데이터를 외부 디바이스(2000)로부터 요청받을 수 있으며, 제어부(3200)는 외부 디바이스(2000)로부터의 요청에 응답하여 위젯의 비쥬얼 데이터를 디바이스(1000)에게 요청할 수 있다.
제어부(3200)는 디바이스(1000)에서 생성된 위젯의 비쥬얼 데이터를 디바이스(1000)로부터 수신할 수 있으며, 위젯의 비쥬얼 데이터를 외부 디바이스(2000)에게 제공할 수 있다.
한편, 본 명세서에서는 HTML 형식의 비쥬얼 데이터가 생성되고 이용되는 것을 예로 들어 설명하였지만, 이에 제한되지 않는다. XML 형식의 비쥬얼 데이터 등과 같이 다른 종류의 마크업 언어 형식의 비쥬얼 데이터가 생성되고 이용될 수도 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 적어도 하나의 외부 디바이스에게 위젯을 제공하는 디바이스에 있어서,
    상기 외부 디바이스와 통신 연결하는 통신부;
    상기 외부 디바이스에게 제공할 위젯을 등록하며, 상기 외부 디바이스와 통신 연결됨에 따라 상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃을 이용하여 상기 위젯의 비쥬얼 데이터를 생성하며, 상기 생성된 비쥬얼 데이터를 상기 외부 디바이스에게 제공하는 제어부;
    를 포함하는 디바이스.
  2. 제 1 항에 있어서,
    상기 제어부는,
    상기 외부 디바이스에게 제공할 위젯의 식별 값을 상기 외부 디바이스의 식별 값과 매핑하는 것인 디바이스.
  3. 제 2 항에 있어서,
    상기 제어부는,
    상기 외부 디바이스에게 제공할 위젯의 실행 화면의 일부 영역을 상기 외부 디바이스의 식별 값과 매핑하는 것인 디바이스.
  4. 제 1 항에 있어서,
    상기 비쥬얼 데이터는 이미지 파일, 동영상 파일 및 텍스트 파일 중 적어도 하나로 생성되며,
    상기 제어부는,
    상기 외부 디바이스의 사양에 따라, 상기 비쥬얼 데이터의 포맷을 결정하고,
    상기 결정된 포맷에 따라, 상기 비쥬얼 데이터를 생성하는 것인 디바이스.
  5. 제 1 항에 있어서,
    상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃은, 상기 디바이스의 화면 상에 상기 위젯의 실행 화면을 디스플레이하기 이전에 상기 디바이스의 메모리에 저장된 것인 디바이스.
  6. 제 5 항에 있어서,
    상기 제어부는,
    상기 메모리에 저장된 상기 위젯의 레이아웃 및 상기 레이아웃에 연관된 데이터 중 전부 또는 일부를 마크업 언어의 오브젝트에 매핑함으로써, 상기 위젯의 비쥬얼 데이터를 생성하는 것인 디바이스.
  7. 제 1 항에 있어서,
    상기 제어부는,
    상기 외부 디바이스의 사양에 따라, 상기 비쥬얼 데이터의 레이아웃을 결정하고,
    상기 결정된 레이아웃에 따라, 상기 위젯의 실행 화면을 편집함으로써 상기 비쥬얼 데이터를 생성하는 것인 디바이스.
  8. 제 1 항에 있어서,
    상기 제어부는,
    상기 외부 디바이스와의 네트워크 연결 방식에 따라, 상기 비쥬얼 데이터의 포맷을 결정하고,
    상기 결정된 포맷에 따라, 상기 비쥬얼 데이터를 생성하는 것인 디바이스.
  9. 제 1 항에 있어서,
    상기 제어부는,
    상기 디바이스의 화면 상에 디스플레이될 상기 위젯의 실행 화면을 캡쳐함으로써, 상기 비쥬얼 데이터를 생성하는 것인 디바이스.
  10. 제 1 항에 있어서,
    상기 통신부는, 상기 외부 디바이스와 통신 연결됨에 따라, 상기 디바이스에 설치된 위젯의 목록을 상기 외부 디바이스에게 전송하며,
    상기 위젯의 목록에서 선택된 위젯의 식별 값을 상기 외부 디바이스로부터 수신하며,
    상기 제어부는, 상기 외부 디바이스에서 선택된 위젯의 비쥬얼 데이터를 생성하는 것인 디바이스.
  11. 디바이스가 적어도 하나의 외부 디바이스에게 위젯을 제공하는 방법에 있어서,
    상기 외부 디바이스에게 제공할 위젯을 등록하는 단계;
    상기 외부 디바이스와 통신 연결됨에 따라, 상기 등록된 위젯의 실행 화면을 상기 디바이스의 화면 상에 디스플레이하기 위하여 이용되는 상기 위젯의 레이아웃을 이용하여 상기 위젯의 비쥬얼 데이터를 생성하는 단계; 및
    상기 생성된 비쥬얼 데이터를 상기 외부 디바이스에게 제공하는 단계;
    를 포함하는 방법.
  12. 제 1 항에 있어서,
    상기 위젯을 등록하는 단계는,
    상기 외부 디바이스에게 제공할 위젯의 식별 값을 상기 외부 디바이스의 식별 값과 매핑하는 것인 방법.
  13. 제 2 항에 있어서,
    상기 위젯을 등록하는 단계는,
    상기 외부 디바이스에게 제공할 위젯의 실행 화면의 일부 영역을 상기 외부 디바이스의 식별 값과 매핑하는 것인 방법.
  14. 제 1 항에 있어서,
    상기 비쥬얼 데이터는 이미지 파일, 동영상 파일 및 텍스트 파일 중 적어도 하나로 생성되며,
    상기 비쥬얼 데이터를 생성하는 단계는,
    상기 외부 디바이스의 사양에 따라, 상기 비쥬얼 데이터의 포맷을 결정하고,
    상기 결정된 포맷에 따라, 상기 비쥬얼 데이터를 생성하는 것인 방법.
  15. 제 11 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2016/003259 2015-04-01 2016-03-30 위젯 제공 시스템 및 방법 WO2016159654A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/556,092 US10789033B2 (en) 2015-04-01 2016-03-30 System and method for providing widget

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150046193A KR102306536B1 (ko) 2015-04-01 2015-04-01 위젯 제공 시스템 및 방법
KR10-2015-0046193 2015-04-01

Publications (1)

Publication Number Publication Date
WO2016159654A1 true WO2016159654A1 (ko) 2016-10-06

Family

ID=57006162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/003259 WO2016159654A1 (ko) 2015-04-01 2016-03-30 위젯 제공 시스템 및 방법

Country Status (3)

Country Link
US (1) US10789033B2 (ko)
KR (1) KR102306536B1 (ko)
WO (1) WO2016159654A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249713B2 (en) * 2017-01-27 2022-02-15 Adobe Inc. Online conference collaboration by leveraging a plurality of client devices
KR102339835B1 (ko) * 2017-04-26 2021-12-15 삼성전자주식회사 전자 장치 및 전자 장치 제어 방법
USD852222S1 (en) * 2018-01-04 2019-06-25 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD852223S1 (en) * 2018-01-04 2019-06-25 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
KR102354746B1 (ko) 2019-05-14 2022-01-24 최수연 청소차에 의해 청소가 가능한 맨홀 악취 차단 장치
EP4283445A1 (en) * 2021-07-14 2023-11-29 Samsung Electronics Co., Ltd. Electronic device for displaying widget, and control method therefor
KR20230011795A (ko) * 2021-07-14 2023-01-25 삼성전자주식회사 위젯을 표시하는 전자 장치 및 이의 제어 방법
CN116301516A (zh) * 2021-12-21 2023-06-23 北京小米移动软件有限公司 一种应用共享方法及装置、电子设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262673A1 (en) * 2009-04-14 2010-10-14 Jae Young Chang Terminal and controlling method thereof
US20120066411A1 (en) * 2008-03-28 2012-03-15 Ianywhere Solutions, Inc. Synchronizing Events Between Mobile Devices and Servers
KR20130099733A (ko) * 2012-02-29 2013-09-06 주식회사 팬택 데이터 공유 시스템 및 방법
US20140073359A1 (en) * 2009-02-02 2014-03-13 Waldeck Technology, Llc System And Method For Automated Location-Based Widgets
US20140223490A1 (en) * 2013-02-07 2014-08-07 Shanghai Powermo Information Tech. Co. Ltd. Apparatus and method for intuitive user interaction between multiple devices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954064B2 (en) * 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
KR101961741B1 (ko) 2009-06-15 2019-03-25 삼성전자 주식회사 위젯 생성 및 통신 방법
US8060560B2 (en) * 2009-08-27 2011-11-15 Net Power And Light, Inc. System and method for pervasive computing
EP2558934A4 (en) * 2010-04-15 2014-08-13 Nokia Corp METHOD AND APPARATUS FOR COMPATIBILITY AND TRANSFER OF SOFTWARE GADGETS
KR101680344B1 (ko) * 2010-05-06 2016-11-28 엘지전자 주식회사 이동 단말기 및 그 제어방법
WO2012011636A1 (en) * 2010-07-20 2012-01-26 Lg Electronics Inc. User profile based configuration of user experience environment
US20120081299A1 (en) * 2010-10-04 2012-04-05 Verizon Patent And Licensing Inc. Method and apparatus for providing remote control via a touchable display
KR102033764B1 (ko) * 2010-10-06 2019-10-17 삼성전자주식회사 리모트 컨트롤러에서의 ui 표시 방법 및 이를 이용한 리모트 컨트롤러
KR20120122164A (ko) 2011-04-28 2012-11-07 주식회사 케이티 근거리 무선통신을 이용한 화면 공유 방법 및 장치
KR101459299B1 (ko) * 2012-10-22 2014-11-07 주식회사 비디 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체
WO2014084863A1 (en) * 2012-11-30 2014-06-05 Empire Technology Development, Llc. Application equivalence map for synchronized positioning of application icons across device platforms
KR102097578B1 (ko) * 2012-12-10 2020-04-07 삼성전자 주식회사 애플리케이션 실행 방법 및 장치
KR101822463B1 (ko) * 2013-01-21 2018-01-26 삼성전자주식회사 복수 개의 아이콘들을 화면상에 배치하는 장치 및 이의 운용 방법
KR102069748B1 (ko) * 2013-02-13 2020-01-23 삼성전자주식회사 모바일 장치, 디스플레이 장치, 그의 ui 표시 방법 및 컴퓨터 판독가능 기록매체
KR20150014319A (ko) 2013-07-29 2015-02-06 삼성전자주식회사 사용자 인터페이스 화면을 제공하는 모바일 디바이스와 화상형성장치, 및 모바일 디바이스 및 화상형성장치에서 사용자 인터페이스 화면을 제공하는 방법
KR102144553B1 (ko) * 2013-08-30 2020-08-13 삼성전자주식회사 다중 디스플레이 방법, 저장 매체 및 전자 장치
EP3054378B1 (en) * 2013-10-04 2022-11-02 Sony Group Corporation Information processing device, information processing method, and program
US10089053B2 (en) * 2014-08-01 2018-10-02 Volkswagen Ag Mirroring deeplinks
KR102269473B1 (ko) * 2014-10-24 2021-06-28 삼성전자주식회사 제어 장치, 그의 제어 방법 및 통합 제어 시스템
KR102212212B1 (ko) * 2014-12-17 2021-02-04 삼성전자주식회사 휴대 장치 및 휴대 장치의 위치 정보 제어방법
KR102364620B1 (ko) * 2015-01-26 2022-02-17 엘지전자 주식회사 영상표시장치, 및 그 동작방법
US10742792B2 (en) * 2015-08-25 2020-08-11 Lg Electronics Inc. Mobile terminal
KR20170096408A (ko) * 2016-02-16 2017-08-24 삼성전자주식회사 어플리케이션을 표시하는 방법 및 이를 지원하는 전자 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066411A1 (en) * 2008-03-28 2012-03-15 Ianywhere Solutions, Inc. Synchronizing Events Between Mobile Devices and Servers
US20140073359A1 (en) * 2009-02-02 2014-03-13 Waldeck Technology, Llc System And Method For Automated Location-Based Widgets
US20100262673A1 (en) * 2009-04-14 2010-10-14 Jae Young Chang Terminal and controlling method thereof
KR20130099733A (ko) * 2012-02-29 2013-09-06 주식회사 팬택 데이터 공유 시스템 및 방법
US20140223490A1 (en) * 2013-02-07 2014-08-07 Shanghai Powermo Information Tech. Co. Ltd. Apparatus and method for intuitive user interaction between multiple devices

Also Published As

Publication number Publication date
US10789033B2 (en) 2020-09-29
US20180267768A1 (en) 2018-09-20
KR20160118000A (ko) 2016-10-11
KR102306536B1 (ko) 2021-09-29

Similar Documents

Publication Publication Date Title
WO2016159654A1 (ko) 위젯 제공 시스템 및 방법
WO2017142293A1 (en) Electronic device and method of application data display therefor
WO2016060514A1 (en) Method for sharing screen between devices and device using the same
WO2016137272A1 (ko) 복수의 운영체제가 설치된 디바이스를 제어하는 방법 및 디바이스
WO2015119480A1 (en) User terminal device and displaying method thereof
WO2017052143A1 (en) Image display device and method of operating the same
WO2016167503A1 (en) Display apparatus and method for displaying
WO2018026059A1 (ko) 이동 단말기 및 그 제어방법
WO2016108439A1 (en) Foldable device and method of controlling the same
EP3105657A1 (en) User terminal device and displaying method thereof
WO2014092476A1 (en) Display apparatus, remote control apparatus, and method for providing user interface using the same
WO2015083975A1 (en) Method of displaying pointing information and device for performing the method
WO2014058250A1 (en) User terminal device, sns providing server, and contents providing method thereof
WO2014104658A1 (en) Method and system for executing an application
WO2013027908A1 (en) Mobile terminal, image display device mounted on vehicle and data processing method using the same
EP3241346A1 (en) Foldable device and method of controlling the same
WO2014092469A1 (en) Content playing apparatus, method for providing ui of content playing apparatus, network server, and method for controlling by network server
WO2017039341A1 (en) Display apparatus and control method thereof
WO2014163279A1 (en) Image display device and control method thereof
WO2014017784A1 (en) Content transmission method and system, device and computer-readable recording medium that uses the same
WO2016080700A1 (en) Display apparatus and display method
WO2016043530A1 (en) System and method for providing service via application
WO2014098539A1 (en) User terminal apparatus and control method thereof
WO2014042474A2 (en) Method and system for executing application, and device and recording medium thereof
WO2016111455A1 (en) Image display apparatus and method

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: 16773435

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15556092

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16773435

Country of ref document: EP

Kind code of ref document: A1