WO2022191616A1 - 전자 장치 및 그의 클립보드 운영 방법 - Google Patents

전자 장치 및 그의 클립보드 운영 방법 Download PDF

Info

Publication number
WO2022191616A1
WO2022191616A1 PCT/KR2022/003318 KR2022003318W WO2022191616A1 WO 2022191616 A1 WO2022191616 A1 WO 2022191616A1 KR 2022003318 W KR2022003318 W KR 2022003318W WO 2022191616 A1 WO2022191616 A1 WO 2022191616A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
clipboard
clip data
clip
user
Prior art date
Application number
PCT/KR2022/003318
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 삼성전자 주식회사
Publication of WO2022191616A1 publication Critical patent/WO2022191616A1/ko
Priority to US18/463,675 priority Critical patent/US20230418694A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Definitions

  • Embodiments of the present disclosure disclose an electronic device and a method of operating a clipboard in the electronic device.
  • the electronic device may have various functions such as an Internet function, a messenger function, a document function, an email function, an electronic organizer function, a schedule management function, a message function, and/or a media playback function.
  • a plurality of applications (or apps) related to various functions may be installed in an electronic device, and may be implemented to provide corresponding functions through execution of each application.
  • Such an electronic device supports a clipboard function capable of copying and pasting predetermined data on an execution screen of an executed application.
  • the clipboard function supports only simple functions such as data copying and pasting.
  • a user copies specified data from a screen with source data of the electronic device, and then, in the electronic device, the copied data is copied through screen switching to a screen to which the data is to be pasted. It supports only a simple function to paste data.
  • the clipboard function may store only data (eg, content such as text or images) that is designated and copied by the user and pastes only the data itself.
  • contextual information (or contextual data) of the clip object (or content) together with the content-based clip object (contextual data)) are stored together and disclosed with respect to a method and apparatus for utilizing the same.
  • the electronic device when the electronic device calls the clipboard, the electronic device identifies a task (or user intention or action) currently being performed, and recommends a clip object optimized for the task currently being performed.
  • a task or user intention or action
  • the electronic device identifies a task (or user intention or action) currently being performed, and recommends a clip object optimized for the task currently being performed.
  • Disclosed is a method and an apparatus capable of providing a clipboard based on the present invention.
  • clip data of the corresponding clip object eg, the clip object and context information related to the clip object
  • the user performs the transfer based on the clip data
  • a method and apparatus that can provide a task in progress so that it can be subsequently performed.
  • An electronic device includes a display module, a memory, and a processor operatively connected to the display module and the memory, wherein the processor displays a clip of specified content while displaying an execution screen of an application detects a first user input for detecting, analyzing a task currently being performed by the electronic device based on the detection of the second user input, calling a clipboard based on the detection of the second user input, and selecting one of the plurality of clip data of the clipboard. It may be configured to extract clip data corresponding to the task and provide a clipboard based on clip data corresponding to the task through the display module.
  • An operating method of an electronic device includes an operation of detecting a first user input for a clip of a specified content while displaying an execution screen of an application, and an operation related to the content based on the first user input
  • It may include an operation of providing a clipboard based on clip data through a display module.
  • a computer-readable recording medium recording a program for executing the method in a processor may be included.
  • the electronic device selects and copies designated areas, objects, and/or groups for various types of content, thereby copying them to a clipboard.
  • the content-based clip object and the context information of the clip object (or content) are stored together, and based on this, the user's accessibility and convenience for using the clipboard can be improved.
  • the currently performed task (or user situation) is optimized based on the currently performed task (or user intention or action) in the electronic device
  • An optimized clip object may be preferentially recommended and provided.
  • an electronic device may share (or synchronize) clip data including a clip object and context information, and a user may use the clip data in the electronic device or another electronic device of the user to perform a previous operation.
  • a task can be performed continuously to the task, and user convenience can be increased.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure
  • FIG. 2 is a diagram schematically illustrating a configuration of an electronic device according to various embodiments of the present disclosure
  • FIG. 3 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 4 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 5 is a diagram illustrating an example of a clip of content and clip data generated accordingly in an electronic device according to various embodiments of the present disclosure
  • FIG. 6 is a view for explaining an example of operating a clipboard according to various embodiments.
  • FIG. 7 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 8 is a diagram illustrating an example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 9 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure.
  • 10A is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • 10B is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • 10C is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 11 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 12 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 13 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 14 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • 15 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 16A is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 16B is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 17 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 18 is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 19 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 20A is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 20B is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 21A is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 21B is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 22 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 23A is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 23B is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • 24 is a diagram illustrating an example of setting a synchronization target of a clipboard in an electronic device according to various embodiments of the present disclosure
  • 25 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 26 is a diagram illustrating an example of utilizing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 27 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 28 is a diagram illustrating an example of operating clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • 29 is a diagram illustrating an example of operating clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 30 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 31 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 32 is a diagram illustrating an example of executing clip data in an electronic device according to various embodiments of the present disclosure
  • FIG. 33 is a diagram illustrating an example of using clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with at least one of the electronic device 104 and the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120 , a memory 130 , an input module 150 , a sound output module 155 , a display module 160 , an audio module 170 , and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or an antenna module 197 .
  • at least one of these components eg, the connection terminal 178
  • some of these components are integrated into one component (eg, display module 160 ). can be
  • the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • software eg, a program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • the processor 120 is a main processor 121 (eg, a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor capable of operating independently or together with it ( 123) (eg, graphic processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)) may be included.
  • main processor 121 eg, a central processing unit (CPU) or an application processor (AP)
  • auxiliary processor capable of operating independently or together with it eg, graphic processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)
  • the electronic device 101 includes the main processor 121 and the sub-processor 123
  • the sub-processor 123 uses less power than the main processor 121 or is set to be specialized for a specified function.
  • the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • the auxiliary processor 123 is, for example, on behalf of the main processor 121 or the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state. At least one of the components of the electronic device 101 (eg, the display module 160 , the sensor module 176 , or At least some of functions or states related to the communication module 190 may be controlled.
  • the coprocessor 123 eg, an image signal processor or a communication processor
  • the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model. Artificial intelligence models can be created through machine learning.
  • Such learning may be performed, for example, in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 108).
  • the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
  • the artificial intelligence model may include a plurality of artificial neural network layers.
  • Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
  • the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 or an application 146 . have.
  • OS operating system
  • middleware middleware
  • application application
  • the input module 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 155 may output a sound signal to the outside of the electronic device 101 .
  • the sound output module 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
  • the display module 160 may include, for example, a control circuit for controlling a display, a hologram device, or a projector and a corresponding device.
  • the display module 160 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input module 150 or an external electronic device (eg, a sound output module 155 ) directly or wirelessly connected to the electronic device 101 .
  • the electronic device 102) eg, a speaker or headphones
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD secure digital
  • the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
  • a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
  • a corresponding communication module among these communication modules is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a wide area network (WAN)).
  • a first network 198 eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network 199 eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a wide area network (WAN)).
  • the wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • subscriber information eg, International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the electronic device 101 may be identified or authenticated.
  • the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
  • NR access technology includes high-speed transmission of high-capacity data (eMBB, enhanced mobile broadband), minimization of terminal power and massive machine type communications (mMTC), or high reliability and low latency (URLLC, ultra-reliable and low-latency). communications) can be supported.
  • the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
  • the wireless communication module 192 uses various techniques for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing.
  • MIMO massive multiple-input and multiple-output
  • the wireless communication module 192 may support various requirements defined in the electronic device 101 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
  • the wireless communication module 192 may include a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: Downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) can be supported.
  • a peak data rate eg, 20 Gbps or more
  • loss coverage eg, 164 dB or less
  • U-plane latency for realizing URLLC
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
  • other components eg, a radio frequency integrated circuit (RFIC)
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, bottom side) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
  • Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
  • all or part of the operations performed by the electronic device 101 may be executed by one or more external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of things (IoT) device.
  • the server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or the server 108 may be included in the second network 199 .
  • the electronic device 101 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • first”, “second”, or “first” or “second” may simply be used to distinguish the component from other such components, and refer to those components in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101).
  • a storage medium eg, internal memory 136 or external memory 138
  • the processor eg, the processor 120
  • the device eg, the electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product).
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a portion of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. have.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repetitively, or heuristically, or one or more of the operations are executed in a different order. , may be omitted, or one or more other operations may be added.
  • FIG. 2 is a diagram schematically illustrating a configuration of an electronic device according to various embodiments of the present disclosure
  • the electronic device 101 may include a communication module 190 , a display module 160 , a processor 120 , and a memory 130 .
  • the communication module 190 may correspond to the communication module 190 as described in the description with reference to FIG. 1 .
  • the communication module 190 is a legacy network (eg, a 3G network and/or a 4G network), a 5G network, an out of band (OOB), and/or a next-generation communication technology (eg, a new radio (NR) technology). ) can be supported.
  • the communication module 190 may correspond to the wireless communication module 192 as illustrated in FIG. 1 .
  • the electronic device 101 uses the communication module 190 to connect to an external device (eg, the server 108 (eg, cloud) of FIG. 1 ) and/or other electronic devices 102 and 104 through a network. ))) and can communicate with
  • an external device eg, the server 108 (eg, cloud) of FIG. 1
  • other electronic devices 102 and 104 through a network.
  • the electronic device 101 shares (or synchronizes) the clip data with the clipboard of a server (eg, cloud).
  • the clip data may be transmitted to the server through the communication module 190 .
  • the display module 160 may correspond to the display module 160 as described in the description with reference to FIG. 1 . According to an embodiment, the display module 160 may visually provide various information to the outside (eg, a user) of the electronic device 101 . According to an embodiment, the display module 160 includes a touch sensing circuit (or a touch sensor) (not shown), a pressure sensor capable of measuring the intensity of a touch, and/or a touch panel (eg, a magnetic field type stylus) detecting a stylus pen. : digitizer).
  • a touch sensing circuit or a touch sensor
  • a pressure sensor capable of measuring the intensity of a touch
  • a touch panel eg, a magnetic field type stylus
  • the display module 160 is a signal (eg, voltage, light quantity, resistance, electromagnetic signal and / Alternatively, a touch input and/or a hovering input (or a proximity input) may be sensed by measuring a change in the amount of electric charge.
  • the display module 160 may include a liquid crystal display (LCD), an organic light emitted diode (OLED), and an active matrix organic light emitted diode (AMOLED).
  • the display module 160 may be configured as a flexible display.
  • the display module 160 visually displays various screens such as an interface related to an application, an interface related to a clipboard, and/or an interface related to task processing using clip data under the control of the processor 120 .
  • the display module 160 may display a clipboard and/or various information (eg, a user interface) related to clip data of the clipboard.
  • the memory 130 may correspond to the memory 130 as described in the description with reference to FIG. 1 .
  • the memory 130 may store various data used by the electronic device 101 .
  • the data may include, for example, input data or output data for an application (eg, the program 140 of FIG. 1 ) and a command related thereto.
  • the memory 130 may include a clipboard 210 and a database 220 related to operating a clipboard function, which may be performed by the processor 120 .
  • the application may be an application (eg, the clipboard 210 ) that can use the clipboard function.
  • the application eg, the clipboard 210
  • the application may be stored as software (eg, the program 140 of FIG. 1 ) on the memory 130 , and may be executable by the processor 120 . have.
  • the clipboard function supports operations (eg, user interaction) such as cut, copy, and paste for content specified by a user on the electronic device 101 . It may be a function that
  • data is a content-based clip object and context information of a clip object (or content) when content is captured (eg, an operation of storing cut or copied content (eg, clip data)) (contextual information) (or contextual data) may be included, and the memory 130 may store and manage the clip object and context information as clip data in the database 220 .
  • the memory 130 may store at least one module for processing a clipboard function, which may be performed by the processor 120 .
  • the memory 130 may include at least a portion of the capture processing module 230 and/or the clipboard management module 240 in the form of software (or the form of instructions).
  • the processor 120 may control an operation (or processing) related to operating a clipboard function in the electronic device 101 .
  • the processor 120 generates clip data related to the content based on the first user input for the clip of the specified content while displaying the execution screen of the application and registers it in the clipboard 210 (or update) can be done.
  • the clip data may include a clip object (eg, a copy object) related to a specified content and context information related to the clip object (or content).
  • the processor 120 when generating clip data, the processor 120 generates clip data together with a clip object (or content) attribute (type) and application identification information (eg, attribute, link (eg, URL)). and/or name), a task being performed by an application, and/or context information such as various context information (or time, place, occasion (TPO) information) related to the user (or electronic device 101) at the time of clip operation. can be analyzed (or identified or extracted).
  • the processor 120 may store the clip data in the memory 130 by mapping the context information and the clip object. According to an embodiment, the processor 120 stores the clip object in the clipboard 210 , and stores contextual information linked to the clip object of the clipboard 210 in the database 220 in a lookup table. ) in the form of storage and management.
  • the processor 120 may analyze a task currently being performed based on a second user input for calling the clipboard 210 .
  • the processor 120 analyzes the context (or state) of the application currently running on the electronic device 101 and/or the task being performed in the running application based on the detection of the second user input (or can be recognized).
  • the processor 120 may include identification information (eg, attribute, link (eg, URL) and/or name) of the application, the task being performed by the application, and/or the user (or electronic device) at the time of calling the clipboard. (101)) related to various context information (or TPO (time, place, occasion) information) can be analyzed the context related to the task.
  • the processor 120 may understand the context of the current task as machine learning.
  • the processor 120 may call the clipboard 210 and extract clip data based on the detection of the second user input. According to an embodiment, in the clipboard 210 call operation, the processor 120 may extract clip data corresponding to the analyzed task (or task context) from among the plurality of clip data of the clipboard 210 . .
  • the processor 120 may provide (eg, display) a clipboard based on clip data corresponding to a task.
  • the processor 120 may provide the clipboard 210 including (or recommending) only clip data extracted in response to the context of the task.
  • the processor 120 may provide (eg, display) the clipboard on the execution screen of the application through a designated area of the display module 160 .
  • the processor 120 may provide the clipboard overlaid on the execution screen, provide it in a pop-up format by a pop-up window, or provide it in a divided area by a split window. .
  • the processor 120 may include at least one module for processing a clipboard function.
  • the processor 120 may include an interaction processing module 230 and/or a clipboard management module 240 .
  • the interaction processing module 230 may indicate a module that detects various user inputs related to operation of a clipboard in the electronic device 101 and processes functions corresponding to the user input. According to an embodiment, the interaction processing module 230 generates clip data of the clipboard, pastes clip data, moves clip data, shares (or synchronizes) the clipboard, and/or shares (or synchronizes) clip data. ) related functions can be processed according to various user inputs.
  • the interaction processing module 230 may process a function of generating clip data including a clip object and context information based on a user input. An operation of the interaction processing module 230 according to an embodiment will be described in detail with reference to the drawings to be described later.
  • the clipboard management module 240 may identify various user settings related to operation of the clipboard in the electronic device 101 and indicate a module for managing the clipboard based on the user settings.
  • the clipboard management module 240 is configured to share (or synchronize) based on a policy related to the clipboard and/or clip data, based on a user input related to the clipboard, and based on the security level of the clip data.
  • Various operations related to batch or individual management of clip data can be handled.
  • the following drawings will be described in detail with reference to the drawings.
  • the capture processing module 230 and/or the clipboard management module 240 are included in the processor 120 as a hardware module (eg, circuitry), and/or the processor ( 120) may be implemented as software comprising one or more instructions that may be executed by For example, operations performed by the processor 120 may be stored in the memory 130 and executed by instructions that cause the processor 120 to operate when executed.
  • a hardware module eg, circuitry
  • the processor ( 120) may be implemented as software comprising one or more instructions that may be executed by For example, operations performed by the processor 120 may be stored in the memory 130 and executed by instructions that cause the processor 120 to operate when executed.
  • the processor 120 may control various operations related to a normal function of the electronic device 101 in addition to the above functions.
  • the processor 120 may control its operation and screen display when a specific application is executed.
  • the processor 120 may receive input signals corresponding to various touch events or proximity event inputs supported by a touch-based or proximity-based input interface, and control function operation accordingly.
  • the electronic device 101 includes a display module 160 , a memory 130 , and a processor 120 operatively connected to the display module 160 and the memory 130 , , the processor 120 detects a first user input for a clip of a specified content while displaying an execution screen of an application, and includes a clip object and context information related to the content based on the first user input generated and stored in the memory 130, a second user input related to a call to the clipboard 1000 is detected, and a task currently being performed by the electronic device 101 based on the detection of the second user input ( task), calling the clipboard 1000 based on detection of the second user input, extracting clip data corresponding to the task from among a plurality of clip data of the clipboard 1000, and the task It may be set to provide the clipboard 1000 based on clip data corresponding to , through the display module 160 .
  • the clip data may include the clip object related to specified content and context information related to the clip object.
  • the context information may include a property (type) of the clip object, identification information of an application, a task being performed by the application, and/or context information related to a user at the time of clip operation. have.
  • the processor 120 stores the clip object in the clipboard 1000 of the memory, and stores context information linked to the clip object in the form of a lookup table. It may be set to be stored and managed in a database of the memory.
  • the processor 120 performs an application currently running in the electronic device 101 and/or an application running in the electronic device 101 by machine learning based on the detection of the second user input. It can be set to analyze the context of the task being performed.
  • the processor 120 extracts clip data based on context information corresponding to the context of the task, and the extracted clip data corresponding to the context of the task through the clipboard 1000 It may be set to recommend clip data.
  • the processor 120 may be configured to synchronize the clipboard 1000 with a plurality of electronic devices 101 connected to a user device group based on a user account. .
  • the processor 120 is configured to be configured based on the latest content of a current execution screen, a currently focused execution screen among multi-window-based multi-execution screens, and/or user context information. to analyze the context of the task.
  • the processor 120 classifies the extracted clip data based on context information corresponding to each, and includes a corresponding sorting interface based on the classification result to the clipboard 1000 ) can be set to provide
  • the processor 120 detects a user input for pinning at least one clip data in the clipboard 1000 to a designated area, and based on the user input, the at least one It may be set to provide one clip data by being fixed to the designated area in the clipboard 1000 .
  • the processor 120 identifies a designated policy related to access to the clipboard 1000 when the clipboard 1000 is called, and when the designated policy is a first designated method , extracting the clip data based on the account logged in to the electronic device 101 to provide the clipboard 1000, and extracting the clip data set publicly when the designated policy is the second designated method It may be set to provide the board 1000 .
  • the processor 120 may collectively or individually for a plurality of clip data of the clipboard 1000, a public-based first policy, a login account-based second policy, or It may be set to provide a setting of a third policy restricting user accounts that generate clip data.
  • the processor 120 when detecting logout of a user account in the electronic device 101 , stores clip data generated based on the user account in the clipboard 1000 , It may be set to batch hide in the clipboard 1000 .
  • the processor 120 may be configured to synchronize the change of the clipboard 1000 with another electronic device connected in real time based on a user account.
  • the processor 120 may be set to designate a sharing target of clip data in the clipboard 1000 .
  • the processor 120 detects a user input related to selection of at least one clip data from the clipboard 1000, and based on the detection of the user input, context information of the selected clip data , identify and execute an application related to the clip data based on the context information, and resume the user's task in the application based on the clip data.
  • the processor 120 detects a user input related to movement of clip data, identifies a movement region to which the user input is moved, based on the detection of the user input, and determines whether the clip data If the area to be moved is the first designated area, the first function of pasting the clip data is executed, and if the area to which the clip data is moved is the second designated area, a task is performed based on the clip data may be set to execute a second function to resume.
  • the processor 120 analyzes context information of the selected clip data based on a user input for selecting the clip data from the clipboard 1000, and based on the context information, the It may be configured to identify an application capable of executing a task related to clip data, and to resume a user's task based on clip data based on the identified application.
  • the processor 120 may be configured to identify an application specified in the clip data, a currently running application, and/or a replaceable related application.
  • Operations performed by the electronic device 101 described below are performed by a processor (eg, the processor 120 of FIG. 1 or FIG. 2 ) including at least one processing circuitry of the electronic device 101 . can be executed According to an embodiment, the operations performed by the electronic device 101 may be stored in the memory 130 and, when executed, may be executed by instructions that cause the processor 120 to operate.
  • a processor eg, the processor 120 of FIG. 1 or FIG. 2
  • the operations performed by the electronic device 101 may be stored in the memory 130 and, when executed, may be executed by instructions that cause the processor 120 to operate.
  • FIG. 3 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • the processor 120 of the electronic device 101 may execute an application.
  • the processor 120 may execute an application requested to be executed by the user, and may display an execution screen of the executed application through the display module 160 .
  • the processor 120 may detect a first user input for a clip of a specified content while displaying the execution screen of the application.
  • the user specifies (eg, selects) content for clip data on the execution screen of the application being displayed on the display module 160, and clips the specified content (eg, by cutting or copying).
  • You can input a designated user interaction (eg, first user input) for saving as data.
  • an operation of clipping a specified content will be described with reference to the drawings to be described later.
  • the processor 120 may generate clip data related to content based on the first user input and store it in the memory 130 (eg, the database 220 ).
  • the clip data may include a clip object (eg, a copy object) related to a specified content and context information related to the clip object (or content).
  • the processor 120 when generating clip data, the processor 120 generates clip data together with a clip object (or content) attribute (type) and application identification information (eg, attribute, link (eg, URL)). and/or name), a task being performed by an application, and/or context information such as various context information (or time, place, occasion (TPO) information) related to the user (or electronic device 101) at the time of clip operation. can be analyzed (or identified or extracted).
  • the processor 120 may store the clip data in the memory 130 by mapping the clip object with the context information according to the analysis result. According to an embodiment, the processor 120 stores the clip object in the clipboard 210 , and stores contextual information linked to the clip object of the clipboard 210 in the database 220 in a lookup table. ) in the form of storage and management. According to an embodiment, an operation of generating clip data will be described with reference to the drawings to be described later.
  • the processor 120 may detect a second user input for calling the clipboard.
  • the user executes the application in operation 301 or an application different from the application in operation 301, and a designated user interaction for calling the clipboard (or displaying the clipboard) for use (eg, pasting) of clip data (eg, a second user input) may be input.
  • the processor 120 may analyze a currently being performed task based on the detection of the second user input.
  • the processor 120 analyzes the context (or state) of the application currently running on the electronic device 101 and/or the task being performed in the running application based on the detection of the second user input (or can recognize).
  • the processor 120 may include identification information (eg, attribute, link (eg, URL) and/or name) of the application, the task being performed by the application, and/or the user (or electronic device) at the time of calling the clipboard. (101)) related to various context information (or TPO (time, place, occasion) information) can be analyzed the context related to the task.
  • the processor 120 may understand the context of the current task as machine learning.
  • the processor 120 may extract a clipboard call and clip data based on the detection of the second user input.
  • the processor 120 may extract clip data corresponding to the analyzed task (or task context) from among a plurality of clip data of the clipboard. According to an embodiment, an operation of extracting clip data corresponding to a task will be described with reference to the drawings to be described later.
  • the processor 120 may provide (eg, display) a clipboard based on clip data corresponding to the task.
  • the processor 120 may provide a clipboard including (or recommending) only clip data extracted in response to the context of the task.
  • the processor 120 may provide (eg, display) the clipboard on the execution screen of the application through a designated area of the display module 160 .
  • the processor 120 may provide the clipboard overlaid on the execution screen, provide it in a pop-up format by a pop-up window, or provide it in a divided area by a split window. .
  • 4 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 5 is a diagram illustrating an example of a clip of content and clip data generated accordingly in an electronic device according to various embodiments of the present disclosure
  • FIGS. 4 and 5 an operation example of generating clip data in the electronic device 101 according to various embodiments may be shown in FIGS. 4 and 5 .
  • the processor 120 of the electronic device 101 may execute an application.
  • the processor 120 may execute an application requested to be executed by the user, and may display an execution screen of the executed application through the display module 160 .
  • the processor 120 may detect a user input related to a clip of a specified content while displaying the execution screen of the application.
  • the user specifies (eg, selects) content for clip data on the execution screen of the application being displayed on the display module 160, and clips the specified content (eg, by cutting or copying). You can enter specified user interactions (eg user input) for saving as data. An example of this is shown in FIG. 5 .
  • the user performs a designated user interaction (eg, a touch input (eg, long press)) for clipping the content 515 on the execution screen being displayed.
  • a designated user interaction eg, a touch input (eg, long press)
  • the electronic device 101 may provide an option menu 520 related to an operation (or execution) of a specified content based on a user interaction, and the user selects an item 525 (eg, Clip) for clipping (eg, saving as clip data through cutting or copying) the specified content among various items (eg, Open, Save, Clip) of the option menu 520 (eg, touch).
  • an item 525 eg, Clip
  • the processor 120 may extract a clip object and context information related to the specified content based on a user input.
  • the processor 120 may extract a clip object 540 (eg, a copy object) based on the specified content 515 , and the clip object 540 ( Alternatively, context information 550 related to the content 515) may be extracted.
  • the processor 120 is configured by the clip object 540 (or content) attribute (type), application identification information (eg, attribute, link (eg, URL) and/or name), by the application.
  • Context information 550 related to various context information (or time, place, occasion (TPO) information) related to the task being performed and/or the user (or the electronic device 101) at the time of the clip operation may be extracted.
  • at least one piece of information related to the specified content 515 may be extracted from the context information 550 based on the example of Table 1 below. Table 1 below may show examples of configuring context information 550 according to various embodiments.
  • Email Email file Email Details> Email Character: sent, receive, draft, spam ... > Sender / Recipient information > Date send/receive > With or without attachments Tasks Tasks - Schedule time range- Task category: task, private, family ...
  • ⁇ Table 1> may indicate an example of the attribute and context determination criteria for the clip data 530 of the clipboard.
  • the context information 550 can distinguish the properties (eg, Data Type) of the clip object 540 (eg, copy object), and context data corresponding to a common (COMMON) item.
  • (Contextual data) may be included in common, and additionally, contextual data corresponding to a corresponding property (eg, Text, Screen capture, Image, Video, ...) of the clip object 540 may be further included.
  • the context information 540 includes main contents (eg, a clip object 540 ) to be used for pasting among the clipped contents when the contents are clipped. ) may further include information about the content of).
  • the processor 120 may generate clip data based on the clip object and context information.
  • the clip data 530 is stored in the clip object 540 (eg, copy object) and the clip object 540 (or content) related to the specified content 515 .
  • Relevant contextual information 550 may be included.
  • the processor 120 when the processor 120 generates the clip data 530 , along with the clip object 540 clipped from the content, the attribute (type) of the clip object 540 (or content), the application Identification information (eg, properties, links (eg, URLs) and/or names), tasks being performed by the application, and/or various contextual information (or TPOs) related to the user (or electronic device 101) at the time of clip operation Context information 550 such as (time, place, occasion) information) may be generated together.
  • the processor 120 may extract and configure the context information 550 based on various context data corresponding to the properties of the clip object 540 as illustrated in ⁇ Table 1>.
  • the processor 120 may store clip data in the clipboard.
  • the processor 120 may store the clip data 530 in the memory 130 by mapping the clip object 540 and the context information 550 .
  • the processor 120 converts the clip data 530 including the clip object 540 and the context information 550 linked to the clip object 540 in the form of a lookup table. can be stored and managed.
  • FIG. 6 is a view for explaining an example of providing a clipboard according to various embodiments.
  • the clip data 530 stored in the clipboard is shared with another electronic device.
  • sharing eg, account-based sharing or synchronization
  • a user may own various electronic devices 101 (eg, a first electronic device 101A, a second electronic device 101B, and a third electronic device 101C).
  • the user's various electronic devices 101 eg, the first electronic device 101A, the second electronic device 101B, and the third electronic device 101C
  • the user device group based on a user account. It can be managed (or linked).
  • the clip data 530 generated by the electronic device 101 is stored on the clipboard. It can be shared (synchronized) with other electronic devices through
  • the clipboard of the electronic device 101 may be linked with a cloud (eg, a clipboard of the cloud) based on a user account.
  • the clipboard in the electronic device 101 eg, the first electronic device 101A, the second electronic device 101B, or the third electronic device 101C
  • changes a state eg, add clip data). , changed and/or deleted
  • the state change may be equally applied to the clipboard of the cloud.
  • the clipboard of the electronic device 101 may be synchronized with the clipboard of the cloud.
  • the clipboard of the cloud when the clipboard of the cloud is synchronized according to a change in the state of the clipboard of an electronic device 101 (eg, the first electronic device 101A), the other electronic device 101 (eg: The state change may be equally applied to the clipboards of the second electronic device 101B and the third electronic device 101C.
  • the clipboard of the cloud may be synchronized with the clipboard of various electronic devices 101 based on a user account.
  • the clipboard of the electronic device 101 may include a cloud-based clipboard.
  • clip data generated by the electronic device 101 may be stored in a clipboard of the cloud, and a clipboard called by the electronic device 101 may be a clipboard of the cloud.
  • the user may use various user accounts such as the first electronic device 101A, the second electronic device 101B, and/or the third electronic device 101C.
  • the electronic device 101 may access the clipboard, and any electronic device 101 may use the common clip data 530 through the clipboard.
  • FIG. 7 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 7 may show an example of an operation of providing clip data in the electronic device 101 according to various embodiments.
  • the processor 120 of the electronic device 101 may execute an application.
  • the processor 120 may execute an application requested to be executed by the user, and may display an execution screen of the executed application through the display module 160 .
  • the processor 120 may detect a user input related to a clipboard call while displaying the execution screen of the application.
  • the user may execute an application and input a designated user interaction (eg, user input) for calling the clipboard (or displaying the clipboard) for use (eg, pasting) of clip data.
  • the user may perform a user input related to a clipboard call in a state in which an application is not executed (eg, a home screen display state).
  • the processor 120 may analyze a context related to a currently executing task based on the detection of the user input.
  • the processor 120 analyzes (or recognizes) an application currently running on the electronic device 101 and/or a context (or state) of a task being performed in the running application, based on the detection of a user input. can do.
  • the processor 120 may include identification information (eg, attribute, link (eg, URL) and/or name) of the application, the task being performed by the application, and/or the user (or electronic device) at the time of calling the clipboard. (101)) related to various context information (or TPO (time, place, occasion) information) can be analyzed the context related to the task.
  • the processor 120 may identify the first context information based on a context analysis related to the task.
  • the processor 120 may understand the context of the current task as machine learning.
  • the processor 120 may extract a clipboard call and clip data based on detection of a user input. According to an embodiment, the processor 120 may extract a plurality of clip data stored in the clipboard when the clipboard is called. According to an embodiment, when extracting clip data, the processor 120 may identify (or extract) context information (eg, second context information) corresponding to each clip data.
  • context information eg, second context information
  • the processor 120 may compare the first context information according to the context analysis related to the task with the second context information related to the clip data. According to an embodiment, based on the comparison of the first context information and the second context information, the processor 120 performs context information corresponding to (or coincides with) the first context information among the second context information related to the clip data ( For example, third context information) may be identified.
  • the processor 120 may extract clip data corresponding to the first context information from among the plurality of clip data of the clipboard. According to an embodiment, the processor 120 may identify at least one clip data related to the third context information among a plurality of clip data of the clipboard. For example, the processor 120 may extract clip data related to a currently executing task from among a plurality of clip data of the clipboard.
  • the processor 120 may provide (eg, display) a clipboard based on the extracted clip data.
  • the processor 120 may provide (eg, display) a clipboard based on clip data related to a task currently being executed.
  • the processor 120 may provide a clipboard including (or recommending) only clip data extracted in response to the context of the task.
  • the processor 120 may provide (eg, display) the clipboard on the execution screen of the application through a designated area of the display module 160 .
  • the processor 120 may provide the clipboard overlaid on the execution screen, provide it in a pop-up format by a pop-up window, or provide it in a divided area by a split window. .
  • the processor 120 when the processor 120 provides the clipboard, it may provide various user interfaces related to clipboard operation, and may arrange and provide clip data in the clipboard according to a specified method. . According to an embodiment, an operation of operating a clipboard will be described with reference to the drawings to be described later.
  • FIG. 8 is a diagram illustrating an example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 8 may show an example of an operation of providing (or recommending) corresponding clip data by analyzing a task based on the recent content of the current execution screen in the electronic device 101 according to various embodiments of the present disclosure. have.
  • the electronic device 101 may be in a state of displaying a plurality of contents based on execution of an application (eg, a messenger application).
  • an application eg, a messenger application
  • the content 810 among a plurality of content is the latest content, and an example of analyzing a task based on the recent content 810 may be shown.
  • the electronic device 101 analyzes (eg, a context based on content 810 ) of a currently running application and a task being performed in the running application (eg, a context based on the content 810 ). or recognized).
  • the processor 120 may include identification information (eg, attribute, link (eg, URL) and/or name) of the application, the task being performed by the application, and/or the user (or electronic device) at the time of calling the clipboard. (101)) related to various context information (or TPO (time, place, occasion) information) can be analyzed the context related to the task.
  • the electronic device 101 may configure the first context information 815 of the current task (eg, the content 810 ) based on the context analysis related to the task.
  • the clip object 840 and context information 850 respectively corresponding to the clip data 830 from the plurality of clip data 830 stored in the clipboard. ) may be identified (or extracted).
  • the electronic device 101 performs second context information 850 related to clip data based on a comparison of the first context information 815 related to the task and the second context information 850 related to clip data.
  • context information 855 eg, third context information
  • the electronic device 101 selects the “Annual report” context of the first context information 815 from among the second context information 850 respectively corresponding to the plurality of clip data 830 .
  • the included at least one piece of third context information 855 may be extracted.
  • the electronic device 101 may configure at least one clip data corresponding to the extracted at least one piece of third context information 855 and provide it through a clipboard.
  • FIG. 9 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure.
  • FIG. 9 a clip corresponding to a task is analyzed based on a currently focused execution screen among multi-window-based multi execution screens in the electronic device 101 according to various embodiments of the present disclosure.
  • An example of an operation of providing (or recommending) data may be shown.
  • the electronic device 101 may be in a state of displaying a plurality of execution screens based on a multi-window.
  • a window 910 (or an execution screen) of the multi-windows is a currently focused window (or an execution screen), and based on the contents of the focused window 910 (or an execution screen), An example of analyzing a task can be shown.
  • the electronic device 101 when the clipboard is called based on a user input, the electronic device 101 analyzes a task based on the contents of the currently focused window 910 in response to the aforementioned bar, and selects the current task.
  • 1 context information 915 may be configured.
  • the clip object 940 and context information 950 respectively corresponding to the clip data 930 from the plurality of clip data 930 stored in the clipboard. ) may be identified (or extracted).
  • the electronic device 101 performs the second context information 950 related to the clip data based on the comparison of the first context information 915 related to the task and the second context information 950 related to the clip data.
  • context information 955 eg, third context information
  • the electronic device 101 selects the “Covid 19” context of the first context information 915 from among the second context information 950 respectively corresponding to the plurality of clip data 930 .
  • the at least one piece of third context information 955 included may be extracted.
  • the electronic device 101 may configure at least one clip data corresponding to the extracted at least one piece of third context information 955 and provide it through a clipboard.
  • FIGS. 10A, 10B, and 10C are diagrams illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • the electronic device 101 analyzes the user's current application usage context and provides corresponding optimized clip data (or recommended) may be shown.
  • a user may be in a state in which a task related to image editing (eg, insertion) is performed on the execution screen 1010 of the first application by using the electronic device 101 .
  • the electronic device 101 may analyze the user's usage context by analyzing the current task. For example, the electronic device 101 may determine that the user intends to insert an image into the execution screen 1010 of the first application as the current task.
  • the electronic device 101 may set at least one clip data (eg, a clip object) of context information related to a user's usage context (eg, image insertion) among a plurality of clip data stored in the clipboard 1000 .
  • Clip data 1011 , 1013 , 1015 ) having an image property of can be extracted.
  • the electronic device 101 may provide (eg, display a recommendation) to the clipboard 1000 with at least one extracted clip data 1011 , 1013 , and 1015 .
  • the user may be in a state of performing a task related to using a web page on the execution screen 1020 of the second application by using the electronic device 101 .
  • the electronic device 101 may analyze the user's usage context by analyzing the current task. For example, the electronic device 101 may determine that the user intends to use clip data related to the content of the web page on the execution screen 1020 of the second application as the current task.
  • the electronic device 101 may store at least one piece of context information related to a user's usage context (eg, use of clip data related to content of a web page) among a plurality of clip data stored in the clipboard 1000 .
  • Clip data eg, clip data 1021 , 1023 , 1025 having a URL property of a clip object
  • the electronic device 101 may provide (eg, display a recommendation) to the clipboard 1000 with at least one extracted clip data 1021 , 1023 , and 1025 .
  • a user may be in a state in which a task related to writing an email is performed on an execution screen 1030 of a third application using the electronic device 101 .
  • the electronic device 101 may analyze the user's usage context by analyzing the current task. For example, the electronic device 101 may determine that the user intends to write an email on the execution screen 1030 of the third application as the current task.
  • the electronic device 101 may set at least one clip data (eg, a clip object) of context information related to a user's usage context (eg, writing an email) among a plurality of clip data stored in the clipboard 1000 .
  • Clip data 1031) having an attribute of e-mail and a corresponding context can be extracted.
  • the electronic device 101 may provide (eg, display a recommendation) the extracted at least one clip data 1031 to the clipboard 1000 .
  • FIG. 11 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 11 an operation example of providing (or recommending) corresponding optimized clip data by analyzing the user's current application usage context in the electronic device 101 according to various embodiments may be shown. .
  • the user may be in a state in which a task related to a document task is performed on an execution screen of an application by using the electronic device 101 .
  • the electronic device 101 may analyze the current task to analyze the user's usage context (eg, tracking the user's previous behavior). For example, the electronic device 101 may determine that the user intends to work on a document on the execution screen of the application as the current task. According to an embodiment, the electronic device 101 may track (eg, context analysis) the user's previous action based on the current task, and based on the tracking result, clip data corresponding to the clipboard 1000 . It can be recommended and provided.
  • the user's usage context eg, tracking the user's previous behavior
  • the user copies and pastes an object (eg, text and/or graph content) included in the execution screen while working on a document.
  • the clipboard 1000 may be called.
  • the electronic device 101 calls the clipboard 1000 based on a user input, based on an object clipped while performing a current task (eg, working with a document) based on an analysis of the user's usage context
  • the clip data 1111 , 1113 , and 1115 may be extracted and provided to the clipboard 1000 .
  • the electronic device 101 selects clip data 1111 , 1113 , and 1115 related to an object among clip data clipped when working on a document on the clipboard 1000 . It can be provided by recommendation (or as a priority).
  • the clipboard 1000 is called can do.
  • the electronic device 101 calls the clipboard 1000 based on the user input, based on the image clipped while performing the current task (eg, working with a document) based on the user's usage context analysis
  • the clip data 1121 , 1123 , and 1125 may be extracted and provided to the clipboard 1000 .
  • the electronic device 101 selects clip data 1121 , 1123 , and 1125 related to an image among clip data clipped when working on a document on the clipboard 1000 . It can be provided by recommendation (or as a priority).
  • FIG. 12 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 12 may show an example of an operation of supporting a user's previous task to resume (resume) based on the clip data 1230 in the electronic device 101 according to various embodiments of the present disclosure.
  • the electronic device 101 clips the clip object 1240 based on the context information 1250 .
  • the time when the clip data 1230 is generated may be analyzed.
  • the electronic device 101 determines that the clip object 1240 is clipped in a first time range (eg, work hours) based on the time-related context 1255 in the context information 1250 . range) or a second time range (eg, personal life time range).
  • the first time range and/or the second time range may be set based on user-specified or machine learning-understood time information 1201 .
  • the electronic device 101 when the clipboard 1000 is called based on a user input, the electronic device 101 performs a current task (eg, The clip data 1211 , 1213 , and 1215 related to the first time range or the second time range) may be recommended (or prioritized) and provided.
  • a current task eg, The clip data 1211 , 1213 , and 1215 related to the first time range or the second time range
  • the electronic device 101 sets the clip clipped in the first time range (eg, business hours) among the plurality of clip data of the clipboard 1000 .
  • the data 1211 , 1213 , and 1215 may be extracted and provided through the clipboard 1000 .
  • the electronic The device 101 may recognize that the second business time belongs to the first time range, and recommend at least one clip data 1211 , 1213 , and 1215 clipped during the first business hour.
  • the user may resume a task continuous to the previous task of the first business hour based on selection of any one clip data among the clip data 1211 , 1213 , and 1215 .
  • the electronic device 101 may provide an execution screen in a state in which a corresponding application is executed and a previous task is performed in the corresponding application, based on the selected clip data.
  • FIG. 13 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 13 may show an example of the operation of resuming the user's previous task based on the clip data 1330 in the electronic device 101 according to various embodiments of the present disclosure.
  • the electronic device 101 analyzes the properties of the clip object 1340 based on the context information 1350 in the clip data 1330 including the clip object 1340 and the context information 1350 . can do.
  • the electronic device 101 may include a clip object 1340 and/or context information 1350 of the clip data 1330 . Based on the , it may be determined whether the clip data 1330 corresponds to the clip data 1330 related to sound generation according to media (eg, music and/or video).
  • various context information 1301 related to the user eg, a headset or earphone wearing state
  • a guide and/or function control related to task resumption by the clip data 1330 may be provided.
  • the electronic device 101 when the electronic device 101 determines that the user is attempting to resume a task related to sound generation, such as media playback, while wearing an external audio device (eg, a headset or earphone), a related guide ( 1300) and function control.
  • a related guide 1300 eg, “A loud sound is playing. ”
  • a function e.g., adjusting the volume in three steps
  • resuming a task e.g., playing media
  • a related guide and Functional control may also be provided.
  • the electronic device 101 automatically controls a function (eg, adjusts to a minimum volume level) while providing a relevant guide as visual and/or audible information in order to prevent sudden sound in a public place. ), the task may be resumed (eg, media playback) by the clip data 1330 .
  • FIG. 14 is a diagram illustrating another example of providing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 14 may show an example of an operation of supporting a user to resume a previous task based on the clip data 1430 in the electronic device 101 according to various embodiments of the present disclosure.
  • the electronic device 101 performs an application in which the clip object 1440 is clipped based on the context information 1450 .
  • an application eg, a messenger application
  • a depth within the application may be analyzed.
  • the electronic device 101 may analyze the current task to analyze the user's application usage context (eg, the user's previous behavior tracking).
  • clip data related to a current task eg, application and depth
  • context information related to a currently running application 1411, 1413, 1415
  • the electronic device 101 may track a property (eg, a messenger application) of an application from which the clipboard 1000 is called and a user's previous action in the corresponding application (eg, context analysis), and the result of the tracking Based on the , clip data 1411 , 1413 , and 1415 corresponding to the clipboard 1000 may be recommended and provided.
  • a property eg, a messenger application
  • a user's previous action in the corresponding application eg, context analysis
  • the messenger again The clipboard 1000 may be called by entering a designated chat room through the application.
  • the electronic device 101 may recognize a running application (eg, a messenger application) and a depth (eg, a chat room).
  • the electronic device 101 performs at least one clip data 1411 clipped at a depth of the corresponding application based on the application-related context 1455 in the context information 1450 of the clip data 1430; 1413 and 1415 may be extracted, and the extracted at least one clip data 1411 , 1413 , and 1415 may be provided to the clipboard 1000 .
  • the electronic device 101 may recommend clip data 1411 , 1413 , and 1415 clipped in the previous task to provide the user with a reminder for the previous task.
  • 15 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 16A and 16B are diagrams illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIGS. 15, 16A, and 16B an operation example of providing a clipboard (or an interface related to a clipboard) in the electronic device 101 according to various embodiments may be shown in FIGS. 15, 16A, and 16B .
  • the processor 120 of the electronic device 101 may detect a user input related to a clipboard call.
  • the user may execute an application and input a designated user interaction (eg, user input) for calling the clipboard (or displaying the clipboard) for use (eg, pasting) of clip data.
  • the user may perform a user input related to a clipboard call in a state in which an application is not executed (eg, a home screen display state).
  • the processor 120 may analyze a context related to the currently executing task based on the detection of the user input.
  • the processor 120 analyzes (or recognizes) an application currently being executed on the electronic device 101 and/or a context (or state) of a task being performed in the running application based on the detection of a user input. can do.
  • the processor 120 may include identification information (eg, attribute, link (eg, URL) and/or name) of the application, a task being performed by the application, and/or the user (or electronic device) at the time of calling the clipboard.
  • identification information eg, attribute, link (eg, URL) and/or name
  • the context related to the task such as various context information (or TPO information) related to (101)).
  • the processor 120 may identify the first context information based on a context analysis related to the task.
  • the processor 120 may extract a clipboard call and clip data based on detection of a user input.
  • the processor 120 is configured to correspond to (or match) the first context information based on a comparison of the first context information with the second context information respectively corresponding to a plurality of clip data stored in the clipboard. At least one clip data of the second context information may be extracted.
  • the processor 120 may extract clip data related to a currently executing task from among a plurality of clip data of the clipboard.
  • the processor 120 may classify the extracted clip data and configure a sorting interface (eg, a sort object or a tag object) corresponding to the classification.
  • a sorting interface eg, a sort object or a tag object
  • the processor 120 sets the extracted clip data based on the second context information of the extracted clip data to specified properties (eg, Data Type, application, clipped time point, clipped position (or location)).
  • Classification eg, category classification
  • a sorting interface eg, sorting object or tag object
  • the processor 120 may configure an alignment interface that is mapped one-to-one for each classification.
  • the processor 120 may provide (eg, display) a clipboard based on the extracted clip data and the alignment interface.
  • the processor 120 may provide (eg, display) the clipboard by including the clip data related to the currently executing task and the sorting interface configured to correspond to the classification of the clip data. An example of this is shown in FIG. 16A .
  • the electronic device 101 displays a plurality of clip data 1611 , 1613 , and 1615 on the clipboard 1000 , and the plurality of clip data 1611 , 1613 . , 1615 ) may be provided by including a sorting interface 1610 (eg, sorting object or tag object) for sorting by specified properties.
  • the sorting interface 1610 may be provided with a number corresponding to the number of classifications classified from the clip data 1611 , 1613 , and 1615 .
  • the processor 120 may detect a user input based on the alignment interface.
  • the processor 120 displays at least one sort in the sorting interface 1610 while displaying the clipboard 1000 including the clip data 1611 , 1613 , 1615 as illustrated in FIG. 16A .
  • a user input that selects an object eg, a touch
  • the user may designate an alignment target by selecting one or more alignment objects in the alignment interface 1610 .
  • a user selects a first alignment object (eg, TAG3), a second alignment object (eg, TAG4), a third alignment object (eg, TAG7), and By selecting a plurality of alignment objects of the fourth alignment object (eg, TAG8), clip data of the corresponding classification may be designated as an alignment target.
  • a first alignment object eg, TAG3
  • a second alignment object eg, TAG4
  • a third alignment object eg, TAG7
  • TAG8 By selecting a plurality of alignment objects of the fourth alignment object (eg, TAG8), clip data of the corresponding classification may be designated as an alignment target.
  • the processor 120 may sort and display clip data related to the user input on the clipboard based on the detection of the user input. According to an embodiment, the processor 120 may sort clip data of a specified classification through the sorting interface among the extracted clip data and provide it to the clipboard 1000 . An example of this is shown in FIG. 16B .
  • a user in the alignment interface 1610 displays a first alignment object (eg, TAG3), a second alignment object (eg, TAG4), and a third alignment object (eg, TAG7). ) and a fourth alignment object (eg, TAG8) may be shown.
  • the electronic device 101 extracts only the clip data 1621 , 1623 , and 1625 respectively corresponding to the classification of the selected alignment object from among the clip data 1611 , 1613 , and 1615 in the clipboard 1000 , , the extracted clip data 1621 , 1623 , and 1625 may be rearranged and provided to the clipboard 1000 .
  • the user may more easily perform clip data search in the clipboard 1000 based on a selection to activate/deactivate (or on/off) the alignment object of the alignment interface 1610 .
  • 17 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 18 is a diagram illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIGS. 17 and 18 show examples of an operation of providing (eg, managing) clip data of a clipboard in the electronic device 101 according to various embodiments.
  • the processor 120 of the electronic device 101 may display a clipboard.
  • the processor 120 may call and display the clipboard based on a specified user input related to the clipboard call.
  • the clipboard may include a plurality of clip data clipped by a user.
  • the processor 120 may detect a first user input for pinning at least one clip data in the clipboard.
  • the user may execute a clipboard and input a designated user interaction (eg, a first user input) to fix at least one clip data among clip data of the clipboard. Examples of this are shown in the example screen ⁇ 1801> and the example screen ⁇ 1803> of FIG. 18 .
  • a first user input 1815 for designating clip data 1810 to be used may be input based on the corresponding clip data 1810 .
  • the first user input 1815 is an input for instructing to lock the clip data 1810 on the clip data 1810 , for example, a long press input, a double tap (double tap) input. Tap) input, flick input, or swipe input may be set as various input methods.
  • the electronic device 101 displays an option menu 1800 that can command to fix the clip data 1810 to the specified clip data ( 1810) can be provided.
  • the option menu 1800 further includes other items related to management (or operation or editing) of the specified clip data 1810 in addition to an item (eg, a PIN object) for fixing the clip data 1810 . can do.
  • the electronic device 101 does not provide the option menu 1800 according to the setting or operation method of the electronic device 101 , and the clip data 1810 is based on the first user input 1815 . ) can be processed to be fixed directly.
  • the processor 120 may provide the clip data by fixing the clip data to a designated area in the clipboard based on the first user input.
  • the processor 120 may be set to always provide (eg, display) specified clip data to the upper region of the clipboard based on the first user input. An example of this is shown in the example screen ⁇ 1805> of FIG. 18 .
  • the electronic device 101 stores clip data 1810 specified through the first user input 1815 and/or the option menu 1800 to the clipboard ( 1000) may be fixed and displayed in a designated area 1840 .
  • the designated area 1840 may be an upper area of the area in which clip data is provided in the clipboard 1000 .
  • the first clip data 1810 may be fixedly designated by the user, and then the second clip data 1820 may be fixedly designated.
  • the user may fix the plurality of clip data 1810 and 1820 to the designated area 1840 based on the clip data of the clipboard.
  • the electronic device 101 assigns the fixedly designated clip data (eg, the second clip data 1820) to a designated area based on the most recent order.
  • it may be provided by exposing it to an upper layer.
  • the processor 120 may detect a second user input for unfolding the clip data fixed to the designated area.
  • the user may input a designated user interaction (eg, a second user input) to expand clip data in a designated area on the clipboard.
  • a designated user interaction eg, a second user input
  • FIG. 18 An example of this is shown in the example screen ⁇ 1805> of FIG. 18 .
  • the user inputs a second user input for expanding and checking the overlapping fixed clip data 1810 and 1820 of the designated area 1840 in the clipboard 1000 1835 may be input based on clip data (eg, second clip data 1820 ) of the designated area 1840 or the designated alignment object 1830 .
  • the second user input 1835 is an input for instructing to unfold the clip data overlapped on the designated area 1840 , for example, a long press input or a double tap input. ) input, up/down or left/right flick or swipe input, and can be set in various input methods.
  • the electronic device 101 fixes the plurality of clip data 1810 and 1820 to the designated area 1840 . It is possible to provide an alignment object 1830 that allows a user to easily identify the overlapped state and align (eg, expand or reduce) clip data in the designated area 1840 .
  • the electronic device 101 overlaps the clip data 1810 and 1820 of the designated area 1840 in parallel or alternatively with the alignment object 1830 and overlaps a part of the clip data of a lower layer. It is also possible to provide nested states in such a way that .
  • the user may be fixed to the designated area 1840 based on the second user input 1835 on the designated area 1840 or the second user input 1835 based on the alignment object 1830, the designated clip data ( 1810, 1820) can be sorted (eg expanded or collapsed).
  • the alignment object 1830 is based on an alignment state (eg, a reduced (or overlapped) state or an expanded state) of the clip data 1810 and 1820 of the designated area 1840, and an extension item (eg: The example screen ⁇ 1805> may be converted into an arrangement object 1830) or a reduced item (eg, refer to the arrangement object 1830 of the example screen ⁇ 1807>).
  • an alignment state eg, a reduced (or overlapped) state or an expanded state
  • an extension item eg: The example screen ⁇ 1805> may be converted into an arrangement object 1830
  • a reduced item eg, refer to the arrangement object 1830 of the example screen ⁇ 1807>.
  • the processor 120 may arrange and provide clip data of the clipboard in a specified manner based on the detection of the second user input.
  • the processor 120 may expand (or expand) the plurality of overlapping clip data of a designated area based on the second user input to provide non-overlapping data. An example of this is shown in the example screen ⁇ 1807> of FIG.
  • the electronic device 101 performs a second user input 1835 based on a designated area 1840 or an alignment object 1830 (eg, an extension item).
  • the overlapped clip data 1810 and 1820 of the designated area 1840 may be expanded (or expanded) and arranged so that they do not overlap each other and displayed.
  • the designated area 1840 may be an upper area of an area in which clip data is provided in the clipboard 1000 , and the electronic device 101 expands the designated area 1840 in a lower direction based on the upper area.
  • the clip data 1810 and 1820 may be provided.
  • other clip data in the clipboard 1000 may be moved and sorted based on the extension of the designated area 1840 (or the extension of the overlapping clip data 1810 and 1820 ).
  • the user applies a third user input (not shown) for reducing and arranging the clip data 1810 and 1820 extended to the designated area 1840 in the clipboard 1000 based on the designated area 1840 .
  • the third user input is an input for instructing to merge (or overlap) clip data unfolded on the designated area 1840 , for example, a long press input or a double tap. tap) input, up/down, left/right flick, or swipe input may be set as various input methods.
  • the electronic device 101 allows the user to easily identify a state in which the clip data 1810 and 1820 are unfolded in the designated area 1840 , and arranges (eg, reduces) the unfolded clip data in the designated area 1840 . ) may provide an alignment object 1830 that can do it. For example, as illustrated in the example screen ⁇ 1807>, the alignment object 1830 may be converted into a reduced item form and provided.
  • the user arranges and displays the clip data 1810 and 1820 spread out in the designated area 1840 based on a third user input based on the designated area 1840 or the alignment object 1830 to overlap each other.
  • the electronic device 101 may provide a state such as the example screen ⁇ 1805>.
  • FIG. 19 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 19 may show an example of an operation of providing (eg, managing) clip data of a clipboard in the electronic device 101 according to various embodiments of the present disclosure.
  • FIG. 19 an example in which the electronic device 101 provides a clipboard based on a specified policy for the clipboard may be illustrated.
  • the processor 120 of the electronic device 101 may detect a user input related to a clipboard call.
  • the user may input a designated user interaction (eg, user input) for calling the clipboard (or displaying the clipboard) to use the clip data.
  • the processor 120 may identify a specified provision method for the clipboard (eg, a specified policy for the clipboard) based on the detection of the user input.
  • the designated provision method may include, for example, a method of providing a clipboard based on an account according to a user setting (eg, a first designated method) and/or disclosing the clipboard regardless of an account (public) It may include a method that provides a basis (eg, the second designated method).
  • the first designated method is based on a user account, based on a private method that can access the corresponding clipboard when logging in by the user account and/or based on the user's permission account. , may include a method of accessing some access to the clipboard corresponding to the login by the account pre-registered (or authorized) by the user.
  • the processor 120 may determine whether it is the setting of the first specified method or the setting of the second specified method based on the identification result.
  • the processor 120 provides the clipboard based on the first specified method.
  • the processor 120 may identify a user account logged into the electronic device 101 , extract clip data related to the logged-in user account, and provide a clipboard.
  • the processor 120 may generate a clip related to the logged-in permission account. You can provide a clipboard by extracting data. According to an embodiment, when there is no user account logged into the electronic device 101 (eg, in a logout state), the processor 120 does not execute the clipboard, or the clip from which all clip data is excluded. You can provide a board (eg an empty clipboard).
  • the processor 120 when the second specified method is set in relation to access to the clipboard (eg, 'No' in operation 1905), in operation 1909, the processor 120 provides the clipboard based on the second specified method.
  • the processor 120 may provide a clipboard by extracting clip data set publicly on the electronic device 101 irrespective of a login account.
  • the processor 120 may provide a clipboard by extracting clip data set to public for all logged-in accounts regardless of a user account or another person's account, for example.
  • 20A and 20B are diagrams illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIGS. 20A and 20B for example, when several different users use the electronic device 101 as a common device, or when a user uses the electronic device 101 with multiple user accounts. For , an example of an operation for providing an account-based clipboard may be shown.
  • FIG. 20A may show an example of setting a policy (or importance) for clip data of the clipboard 1000 .
  • the electronic device 101 may display the clipboard 1000 including a plurality of clip data 2010, 2020, and 2030.
  • the user may perform a specified user interaction for setting a policy (eg, exposure degree) to at least one clip data among a plurality of clip data 2010, 2020, and 2030 of the clipboard 1000 . have.
  • a policy eg, exposure degree
  • the user specifies any one clip data 2020 of the clipboard 1000 and a designated user input 2025 ( Example: long press input).
  • the user sets an individual policy based on individual selection of clip data 2010, 2020, 2030 of the clipboard 1000, or all clip data 2010, 2020, 2030 of the clipboard 1000 ), you can set a batch policy based on the batch selection.
  • the electronic device 101 may provide the policy menu 2000 based on the specified clip data 2020 in response to a user input 2025.
  • the policy menu 2000 is a menu for setting a security level of clip data, for example, a first item (eg, 'Public' item), a second item (eg: 'under Permission' item) and a third item (eg, 'Private' item).
  • the first policy (eg, Public) by the first item is, for example, to provide a clipboard on a public basis
  • the security level (or importance) is a policy ( Example: public) setting.
  • the policy (or security level) by the first item may indicate a policy accessible to all logged-in users regardless of an account logged into the electronic device 101 .
  • the second policy (eg, under Permission) by the second item may include, for example, a clipboard to a pre-registered (or authorized) additional account based on a user account and a logged-in user account.
  • a policy eg, partial (or limited) disclosure
  • it may indicate a policy (eg, partial (or limited) disclosure) setting corresponding to a security level (or importance) of “medium”.
  • the corresponding at least one clip data may be provided on a permission basis, in which the logged-in account is limited to a user account and/or an account pre-registered by the user account.
  • the policy (or security level) by the second item may indicate a policy that is partially accessible to the clipboard upon login by an account pre-registered (or authorized) by the user, based on the user's authorized account. .
  • the third policy (eg, Private) by the third item is, for example, provided by limiting the clipboard to the user account, and the security level (or importance) corresponds to “upper”.
  • the corresponding at least one clip data may be provided only to a logged-in user account (eg, a user account that generated the clip data).
  • the policy (or security level) by the third item may indicate a policy that allows access to the clipboard (eg, clip data generated by the user account) upon login by the user account based on the user account.
  • FIG. 20B may show an example of providing a clipboard based on a set policy when the electronic device 101 logs in to another account.
  • a user account-based policy eg, Private
  • FIG. 20B a case in which a user account-based policy (eg, Private) is set may be exemplified.
  • the first user account logged in the electronic device 101 and the second user account logged in the electronic device 101 in FIG. 20B may be different.
  • the electronic device 101 may identify a logged-in user account, extract clip data related to the logged-in user account, and provide a clipboard. For example, when the first user account is logged in, the first clip data 2010, 2020, 2030 may be provided, and when the second user account is logged in, the second clip data 2030, 2040, 2050 are provided. can be
  • the clip data specified in the first user account (eg, clip data 2050) is set private (or private), the second user account is logged in, and the entire policy setting of the clipboard is changed.
  • the first policy eg, Public
  • the second policy eg, under Permission
  • the clip data 2050 set private by the first user account is set security and is not displayed on the clipboard 1000 , or FIG. 20B . As illustrated in , it may be provided in a private state 2055 (or in a locked state).
  • the electronic device 101 may provide an account-based clipboard (or a universal clipboard or a cloud clipboard), and the user may access clip data in the clipboard. You can set the importance (or security level) individually or collectively. For example, when the electronic device 101 is used as a common device used by multiple users, importance is assigned to the clipboard or clip data for security purposes, and the clipboard or clip data is used in the common device according to the degree of importance. can provide different degrees of exposure.
  • 21A and 21B are diagrams illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIGS. 21A and 21B for example, when a user account is logged out of the electronic device 101 (eg, the first electronic device 101A), an account-based clipboard is provided. An example of the operation can be shown.
  • FIG. 21A is an example of setting and providing secure clip data of the clipboard 1000 when a user account is logged out of the electronic device 101 (eg, the first electronic device 101A).
  • the electronic device 101 eg, the first electronic device 101A.
  • the electronic device 101 may display the clipboard 1000 including a plurality of clip data 2110, 2120, and 2130.
  • the user may log out of the user account from the electronic device 101 while using the electronic device 101 as shown in the example screen ⁇ 2101>.
  • the electronic device 101 when detecting the logout of the user account of the user, secures and provides the clipboard 1000 based on the user account.
  • the electronic device 101 may collectively delete the clip data 2110 , 2120 , and 2130 generated based on the user account in the clipboard 1000 .
  • the batch deletion of the clip data 2110, 2120, 2130 according to the user account logout is not actually deleted from the memory 130, for example, a hidden process ( or removing the mark).
  • FIG. 21B may show an example of providing the clipboard 2100 in the electronic device 101 (eg, the second electronic device 101B) logged in as a user account.
  • the user account may be in a log-out state in the first electronic device 101A, and the user account may be in a log-in state in the second electronic device 101B.
  • the electronic device 101 may provide the clipboard 2100 based on a logged-in user account.
  • the clipboard 2100 may be provided including clip data 2110 , 2120 , and 2130 generated based on a user account.
  • the clipboards 1000 and 2100 that are linked based on the user account may operate in conjunction with the universal clipboard (or cloud clipboard), and according to the login or logout status of the user account, the clip data 2110 , 2120, 2130) may be provided.
  • the electronic device 101 in the logout state may provide the clipboard 1000 excluding all clip data 2110 , 2120 , and 2130 , and log in The electronic device 101 (eg, the second electronic device 101B) in the state may provide the clipboard 2100 including (or displayed) all of the clip data 2110 , 2120 , and 2130 .
  • 22 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 23A and 23B are diagrams illustrating an example of providing a clipboard in an electronic device according to various embodiments of the present disclosure
  • the electronic device 101 shares changes in the clipboard 1000 based on a user account (eg, account based sharing or synchronization) may be shown.
  • a user account eg, account based sharing or synchronization
  • FIG. 22 when the electronic device 101 (eg, the first electronic device 101A) changes (eg, edits) clip data and stores it in the clipboard of the electronic device 101 ,
  • An example of sharing (eg, account-based sharing or synchronization) of clip data changed in the clipboard with another electronic device 101 (eg, the second electronic device 101B) based on a user account may be shown.
  • the processor 120 of the electronic device 101 may display a clipboard.
  • the processor 120 may call and display the clipboard based on a specified user input related to the clipboard call.
  • the clipboard may include a plurality of clip data clipped by a user.
  • the processor 120 may detect a user input for editing at least one clip data in the clipboard.
  • the user may execute a clipboard and input a designated user interaction (eg, a user input) to edit at least one clip data among clip data of the clipboard.
  • a designated user interaction eg, a user input
  • the user designates clip data 2320 for editing among a plurality of clip data 2310, 2320, and 2330 provided through the clipboard 1000.
  • a user input may be input based on the corresponding clip data 2320 .
  • the user input may include an input for instructing to edit the clip data 2320 on the clip data 2320 .
  • the electronic device 101 may provide an edit object 2390 for clip data editable in the clipboard 1000 (eg, clip data 2310 and clip data 2320 ).
  • a user input for editing the corresponding clip data may be received from the editing object 2390 .
  • the processor 120 may execute an editing tool (eg, an editing application) capable of editing clip data based on a user input.
  • the processor 120 may identify an editable editing tool based on a property of the specified clip data and execute the identified editing tool.
  • the processor 120 may display specified clip data (eg, a clip object of clip data) based on execution of the editing tool. An example of this is shown in the example screen ⁇ 2303> of FIG. 23A.
  • the electronic device 101 superimposes or floats the execution screen of the editing tool 2300 on the execution screen on which the clipboard 1000 is displayed.
  • the editing tool 2300 displays a clip object 2340 (eg, an image) of the clip data 2320 specified by the user, and various editing tools (not shown) to support the user's editing.
  • a clip object 2340 eg, an image
  • various editing tools not shown
  • the electronic device 101 may provide a sharing target designation object 2350 capable of setting a sharing (or synchronization) target of the edited clip data based on the editing tool 2300 .
  • the sharing target designating object 2350 is at least one electronic device 101 (eg, a first electronic device, a second electronic device) designated to share (or synchronize) a clipboard based on a user account. , the third electronic device and the fourth electronic device).
  • FIG. 23A an example in which four electronic devices are connected (or synchronized) based on a user account may be illustrated in FIG. 23A .
  • the user may select an electronic device to be excluded from the sharing (or synchronization) target of the edited clip data based on the selection of the exclusion object 2355 from the sharing target designation object 2350 .
  • it will be described with reference to FIG. 24 to be described later in relation to an example of setting a sharing target.
  • the processor 120 may edit clip data.
  • the processor 120 may edit clip data based on a user input for clip data (eg, clip object) displayed through the editing tool. An example of this is shown in the example screen ⁇ 2305> of FIG. 23A.
  • the user may edit the clip object 2340 displayed through the editing tool 2300 using a designated editing tool.
  • the processor 120 may detect a user input for storing the edited clip data. According to an embodiment, when editing of the clip data is completed, the user may perform a designated user input for terminating the editing tool or a designated user input for applying (eg, saving) the edited clip data to the clipboard. .
  • the processor 120 may store the edited clip data based on detection of a user input for storing the edited clip data. According to an embodiment, the processor 120 may store the edited clip data in the clipboard 1000 in response to a user input (eg, an input for instructing to save the edited clip data). An example of this is shown in the example screen ⁇ 2307> of FIG. 23A.
  • edited clip data 2325 may be applied to the clipboard 1000 and provided.
  • the electronic device 101 may update (or replace) the existing clip data 2320 with the edited clip data 2325 in the clipboard 1000 and provide it.
  • the electronic device 101 may maintain the existing clip data 2320 in the clipboard 1000 and provide the edited clip data 2325 by adding it. For example, when the clip data of the clipboard 1000 is edited, the electronic device 101 may maintain or delete the corresponding existing clip data 2320 and provide the edited clip data 2325 .
  • the processor 120 may share (or synchronize) changes (or updates) of the clipboard in real time.
  • the processor 120 may share the clipboard change so that clip data edited in the clipboard is also applied to the clipboard of another electronic device 101 connected based on a user account.
  • the clipboard of the electronic device 101 may be linked with a cloud (eg, cloud clipboard) based on a user account.
  • the clipboard in the electronic device 101 eg, the first electronic device, the second electronic device, the third electronic device, and the fourth electronic device
  • is updated eg, clip data is added, changed, and/or or deleted
  • the updated contents may be equally applied to the clipboard of each electronic device 101 . An example of this is shown in FIG. 23B .
  • FIG. 23B may show an example in which the electronic device 101 (eg, the second electronic device 101B) connected to the user account provides the clipboard 23700 .
  • FIG. 23B may show an example in which clip data 2325 edited in the first electronic device 101A is equally applied (eg, synchronized) to the second electronic device 101B.
  • the update content of the first electronic device 101A may also be shared with the second electronic device 101B.
  • the clipboards 1000 and 2370 of the user account-based electronic device 101 are connected to each other. may be synchronized, and the electronic device 101 may support editing (eg, adding, changing, and/or deleting) clip data through the clipboards 1000 and 2370 .
  • the user account-based electronic device 101 shares (or synchronizes) the updated content between the user account-based electronic devices 101 when clip data is edited in any one electronic device. It can be reflected in real time.
  • 24 is a diagram illustrating an example of setting a synchronization target of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 24 may show an example of setting another electronic device 101 based on a user account to share clip data of the clipboard in the electronic device 101 .
  • the electronic device 101 may display the clipboard 1000 including a plurality of clip data 2410 , 2420 , and 2430 .
  • the electronic device 101 may call and display the clipboard based on a specified user input related to the clipboard call.
  • the electronic device 101 may provide an edit object 2490 for clip data editable in the clipboard 1000 (eg, clip data 2410 and clip data 2420 ). .
  • the electronic device 101 may receive a user input for editing the corresponding clip data from the editing object 2490 .
  • the editing object 2490 may be an object for entering a target designation mode for setting a sharing (or synchronization) target of clip data, as shown in the example of FIG. 24 .
  • the editing object 2490 may be replaced with an object for entering an editing mode for editing clip data, as illustrated in FIG. 23A , and a corresponding interface may be provided.
  • the user may perform a user input for setting a sharing target of the plurality of clip data 2310, 2320, and 2330 provided through the clipboard 1000.
  • the user input may include a user input for setting a sharing target of the corresponding clip data based on the edit object 2490 (eg, a selection input for the edit object 2490 ).
  • the electronic device 101 provides the execution screen of the editing tool 2400 on the execution screen on which the clipboard 1000 is displayed in a superimposed or floating manner.
  • the editing tool 2400 may include a tool capable of setting a target for sharing (or synchronizing) at least one clip data designated by a user.
  • the editing tool 2400 provides a shared targeting object (eg, a first object 2450 , a second object 2460 , a third object 2470 , and a fourth object 2480 ). can do.
  • the shared targeting object (eg, first object 2450 , second object 2460 , third object 2470 , and fourth object 2480 ) is a clipboard based on a user account.
  • FIG. 24 illustrates an example in which four electronic devices (eg, a first electronic device, a second electronic device, a third electronic device, and a fourth electronic device) are connected (or synchronized) based on a user account. can indicate
  • a user can exclude objects (eg: first object 2450 , second object 2460 , third object 2470 , and fourth object 2480 ) from sharing targeting objects. Based on the selection of the excluded object 2475 of the third object 2470 ), the corresponding electronic device (eg, the third electronic device) may be excluded from the sharing (or synchronization) target of clip data. An example of this is shown in the example screen ⁇ 2405>.
  • the electronic device 101 sets an existing sharing target designation object (eg, a first object 2450 and a second object 2460) of the editing tool 2400 .
  • an existing sharing target designation object eg, a first object 2450 and a second object 2460
  • the third object 2470 , and the fourth object 2480 except for the third object 2470 , the first object 2450 , the second object 2460 , and the fourth object 2480 are provided. can do.
  • FIG. 24 may show an example of providing a list of the electronic devices 101 based on a user account and setting a sharing target based thereon. According to some embodiments, it operates based on the method shown in FIG. 24 , but the list of the electronic device 101 of the engineering target designation object may be provided as a list of electronic devices using the corresponding clip data. For example, the electronic device 101 may identify in which electronic device the corresponding clip data is used or synchronized, and may provide a corresponding electronic device list as a sharing target designation object based on the identification result.
  • an operation of excluding an electronic device to share clip data has been described as an example, but various embodiments are not limited thereto.
  • an electronic device to share clip data may be added.
  • the electronic device 101 may exclude or add an electronic device of a sharing target based on an interface capable of setting an electronic device of a sharing target of clip data.
  • 25 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 26 is a diagram illustrating an example of utilizing clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIGS. 25 and 26 may show an example of an operation of supporting a user to resume a previous task based on clip data in the electronic device 101 according to various embodiments of the present disclosure.
  • the processor 120 of the electronic device 101 may display a clipboard.
  • the processor 120 may call and display the clipboard based on a specified user input related to the clipboard call.
  • the clipboard may include a plurality of clip data clipped by a user.
  • the processor 120 may detect a user input related to selection of at least one clip data from the clipboard.
  • the user may execute a clipboard, select at least one clip data among clip data of the clipboard, and perform a specified user interaction for resuming a task. An example of this is shown in FIG. 26 .
  • the electronic device 101 includes a clipboard 1000 including a plurality of clip data (eg, first clip data 2610 , second clip data 2620 , and third clip data 2630 ). ) can be displayed.
  • the user may select clip data related to the resumption of the user's task from among the clip data 2610 , 2620 , and 2630 of the clipboard 1000 .
  • the processor 120 may analyze context information of the clip data selected based on the user input. According to an embodiment, when clip data is selected, the processor 120 may analyze context information of the clip data. An example of this is shown in FIG. 26 .
  • the clip data 2610 , 2620 , and 2630 of the clipboard 1000 may include context information (eg, first context information 2615 , second context information 2625 , and third context information corresponding to each other). information 2635).
  • the electronic device 101 may extract and analyze context information 2615 , 2625 , and 2635 of the selected clip data based on the user's selection of the clip data.
  • the processor 120 may execute an application related to clip data.
  • the processor 120 may identify and execute an application related to the clip data based on context information of the clip data.
  • the processor 120 may resume the user's task based on the clip data.
  • the processor 120 may resume a task continuous to a previous task in the executed application.
  • the processor 120 may provide an execution screen in a state in which a previous task has been performed in the corresponding application based on context information. An example of this is shown in FIG. 26 .
  • the electronic device 101 selects clip data 2610 , 2620 , and 2630 by the user from the clipboard being displayed, and performs a task based on the user's selection of the clip data 2610 , 2620 , 2630 .
  • a task based on clip data may be executed based on the corresponding context information 2615 , 2625 , and 2635 , respectively.
  • the user may continuously perform a previously performed task by using the clipboard 1000 in the electronic device 101 .
  • the electronic device 101 analyzes the first context information 2615 based on the user's selection of the first clip data 2610 , and the first application determined according to the first context information 2615 . (eg, a document application) can be executed. According to an embodiment, the electronic device 101 analyzes the context from the first application to the previous task based on the first context information 2615 and calls a corresponding document (eg, a work file) to the first application of the execution screen (eg, the document work screen in the state where the previous task was performed) can be displayed.
  • a corresponding document eg, a work file
  • the electronic device 101 analyzes the second context information 2625 based on the user's selection of the second clip data 2620 , and the second application determined according to the second context information 2625 . (eg, a map application) can be executed. According to an embodiment, the electronic device 101 analyzes the context from the second application to the previous task based on the second context information 2625 , and analyzes the map and location information corresponding to the execution screen of the second application. (eg, a map screen of the state in which the previous task was performed) can be displayed.
  • a map screen of the state in which the previous task was performed can be displayed.
  • the electronic device 101 analyzes the third context information 2635 based on the user's selection of the third clip data 2630 , and the third application determined according to the third context information 2635 . (eg, a browser application). According to an embodiment, the electronic device 101 analyzes the context up to the previous task based on the third context information 2635 in the third application, and calls a corresponding webpage (eg, URL access) to access the third An application execution screen (eg, a web page screen in a state in which the previous task is performed) can be displayed.
  • a corresponding webpage eg, URL access
  • FIG. 27 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • the electronic device 101 operates clip data based on an area in which clip data of the clipboard is moved (eg, dragged and dropped) on the execution screen of the application (eg, drag and drop). : function execution) can be shown.
  • the processor 120 of the electronic device 101 may display a clipboard.
  • the processor 120 may call and display the clipboard based on a specified user input related to the clipboard call.
  • the clipboard may include a plurality of clip data clipped by a user.
  • the processor 120 may detect a user input related to movement of clip data. According to an embodiment, the processor 120 may detect a user input of moving (eg, dragging and dropping) specified clip data from the clipboard into the execution screen.
  • moving eg, dragging and dropping
  • the processor 120 may identify a movement region to which the user input is moved based on the detection of the user input. According to an embodiment, the processor 120 may identify a region in which the specified clip data is moved from the clipboard in the execution screen. According to an embodiment, the region to which the clip data is moved in the execution screen includes, for example, a first designated region (eg, an input region (or input field)) corresponding to the application execution screen in the execution screen and in the execution screen. A second designated area corresponding to an area other than the application execution screen (eg, an area other than the input area (eg, an edge area, an empty area (or desktop screen), a task bar area)) can be divided. .
  • a first designated region eg, an input region (or input field)
  • a second designated area corresponding to an area other than the application execution screen eg, an area other than the input area (eg, an edge area, an empty area (or desktop screen), a task bar area)
  • the processor 120 may determine whether the region to which the clip data is moved is a first designated region or a second designated region, based on the identification result. According to an embodiment, the processor 120 tracks location information where the clip data is moved (eg, dragged and dropped), and based on the tracking location information, the final movement area of the clip data corresponds to the first designated area. or whether it corresponds to the second designated area.
  • the processor 120 may execute the first function.
  • the processor 120 may execute a function of pasting the clip data.
  • the processor 120 may execute a second function.
  • the processor 120 resumes a task based on the clip data. ) function can be executed.
  • FIGS. 28 and 29 an operation of executing another function based on an area to which clip data is dragged and dropped from the clipboard is illustrated in FIGS. 28 and 29 .
  • FIG. 28 is a diagram illustrating an example of operating clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 28 is a diagram in which clip data of the clipboard 1000 is dragged and dropped on a first designated area (eg, an input area) or a second designated area (eg, an edge area) in the electronic device 101
  • a first designated area eg, an input area
  • a second designated area eg, an edge area
  • the electronic device 101 may display the clipboard 1000 including a plurality of clip data 2810 and 2820.
  • the electronic device 101 may provide (eg, display) the clipboard 1000 on the execution screen 2800 through a designated area of the display module 160 .
  • the processor 120 may provide the clipboard 1000 by overlaying it on the execution screen 2800 , provide it in a pop-up format by a pop-up window, or provide it to a divided area by a split window.
  • the user may select clip data 2820 from the clipboard 1000 and move to the execution screen 2800 .
  • the user may drag the clip data 2820 to a first designated area or a second designated area, and then drop the clip data 2820 to a desired position according to the intended use by using the clip data 2820 .
  • the electronic device 101 frames the clipboard 1000 in a specified direction in response to the clip data 2820 being selected from the clipboard 1000 and being dragged to the execution screen 2800 . out) (or slide out) and may provide an effect of removing the clipboard 1000 from the screen in response to being dropped.
  • the user may drop the dragged clip data 2820 on the execution screen 2800, for example, a first designated area (eg, input area).
  • a first designated area eg, input area
  • the electronic device 101 receives the clip data 2820 (eg, the clip data 2820). ) of the clip object) to the execution screen 2800 may be executed.
  • the user executes the dragged clip data 2820 in an area 2850 other than the execution screen 2800, for example, a second designated area (eg: edge area).
  • a second designated area eg: edge area
  • the electronic device 101 resumes the previous task based on the clip data 2820. to execute the second function.
  • the electronic device 101 may provide an execution screen based on clip data 2820 according to task resumption based on a split screen or a pop-up window.
  • 29 is a diagram illustrating an example of operating clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 29 shows a first designated area (eg, an input area (or input field)) or a second designated area (eg, an empty area (eg, an empty area) in which clip data of the clipboard 1000 is located in the electronic device 101 .
  • a first designated area eg, an input area (or input field)
  • a second designated area eg, an empty area (eg, an empty area) in which clip data of the clipboard 1000 is located in the electronic device 101 .
  • a corresponding function eg, operating clip data
  • the electronic device 101 may display the clipboard 1000 including a plurality of clip data. According to an embodiment, the electronic device 101 may provide (eg, display) the clipboard 1000 through a designated area of the display module 160 .
  • the user may select the clip data 2910 from the clipboard 1000 and move it to the outside of the clipboard 1000 .
  • the user may drag the clip data 2910 to the first designated area or the second designated area and then drop the clip data 2910 to a desired position according to the intended use by using the clip data 2910 .
  • the electronic device 101 frames the clipboard 1000 in a specified direction ( or slide out) and may provide an effect of removing the clipboard 1000 from the screen in response to being dropped.
  • the user transfers the dragged clip data 2910 to the execution screen 2920 of the application, for example, in the first designated area (eg, the input area).
  • the first designated area eg, the input area
  • the electronic device 101 performs the clip data 2910 (eg, the clip data 2910).
  • the clip object 2930) to the execution screen 2920 may execute a first function.
  • the user may transfer the dragged clip data 2910 to an area 2940 other than the execution screen 2920 of the application, for example, a second designated area (You can drop it from a blank area or desktop, for example.
  • a second designated area You can drop it from a blank area or desktop, for example.
  • the electronic device 101 resumes the previous task based on the clip data 2910. to execute the second function.
  • the electronic device 101 may open a new window 2950 of the clip data 2910 according to task resumption, and may provide an execution screen of a corresponding application based on the new window.
  • FIG. 30 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 30 illustrates an example of an operation of supporting a user to resume a previous task based on an optimal executable application of a task related to clip data in the electronic device 101 according to various embodiments of the present disclosure. have.
  • the processor 120 of the electronic device 101 may display a clipboard.
  • the processor 120 may call and display the clipboard based on a specified user input related to the clipboard call.
  • the clipboard may include a plurality of clip data clipped by a user.
  • the processor 120 may analyze a context related to a task currently being executed in the electronic device 101 .
  • the processor 120 may analyze (or recognize) an application currently running in the electronic device 101 and/or a context (or state) of a task being performed in the running application.
  • the processor 120 may include identification information (eg, attribute, link (eg, URL) and/or name) of the application, the task being performed by the application, and/or the user (or electronic device) at the time of calling the clipboard. (101)) related to various context information (or TPO (time, place, occasion) information) can be analyzed the context related to the task.
  • identification information eg, attribute, link (eg, URL) and/or name
  • TPO time, place, occasion
  • the processor 120 may identify the first context information based on a context analysis related to the task. According to an embodiment, the processor 120 may understand the context of the current task as machine learning.
  • the processor 120 may detect a user input related to selection of at least one clip data from the clipboard.
  • the user may execute a clipboard, select at least one clip data among clip data of the clipboard, and perform a specified user interaction for resuming a task.
  • the processor 120 may analyze context information of the selected clip data based on the user input. According to an embodiment, when clip data is selected, the processor 120 may analyze application information related to the clip data based on context information (eg, second context information) of the clip data.
  • context information eg, second context information
  • the processor 120 may identify an executable application of a task related to clip data.
  • the processor 120 is configured to perform an optimal application for executing a task related to clip data based on the first context information and the second context information (eg, an application specified in clip data, an application currently being executed, or Substitute associated applications) can be identified. Examples of this are shown in FIGS. 31 and/or 32 .
  • the processor 120 may resume the user's task based on the clip data based on the identified application.
  • the processor 120 executes the identified application (eg, an application specified in clip data, a currently running application, or a replaceable related application), and resumes a task continuous to a previous task in the executed application.
  • the processor 120 may provide an execution screen in a state in which a previous task has been performed in the corresponding application based on the clip data.
  • 31 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • FIG. 31 illustrates an example of an operation of supporting a user to resume a previous task based on an executable optimal application of a task related to clip data in the electronic device 101 according to various embodiments of the present disclosure. have.
  • the processor 120 of the electronic device 101 may display a clipboard.
  • the processor 120 may call and display the clipboard based on a specified user input related to the clipboard call.
  • the processor 120 may analyze a context related to a task currently being executed in the electronic device 101 .
  • the processor 120 may analyze (or recognize) an application currently running in the electronic device 101 and/or a context (or state) of a task being performed in the running application.
  • the processor 120 may include identification information (eg, attribute, link (eg, URL) and/or name) of the application, the task being performed by the application, and/or the user (or electronic device) at the time of calling the clipboard. (101)) related to various context information (or TPO (time, place, occasion) information) can be analyzed the context related to the task.
  • the processor 120 may identify the first context information based on the context analysis related to the task.
  • the processor 120 may understand the context of the current task through machine learning.
  • the processor 120 may detect a user input related to selection of at least one clip data from the clipboard.
  • the user may execute a clipboard, select at least one clip data among clip data of the clipboard, and perform a specified user interaction for resuming a task.
  • the processor 120 may analyze context information of the clip data selected based on the user input. According to an embodiment, when clip data is selected, the processor 120 may analyze application information related to the clip data based on context information (eg, second context information) of the clip data.
  • context information eg, second context information
  • the processor 120 may identify an executable application of a task related to clip data.
  • the processor 120 is configured to perform an optimal application for executing a task related to clip data based on the first context information and the second context information (eg, an application specified in clip data, an application currently being executed, or Substitute associated applications) can be identified.
  • the processor 120 may determine whether a specified application capable of executing a task related to clip data exists in the electronic device 101 based on the application identification result.
  • the processor 120 may resume the clip data-based user's task based on the specified application. For example, the processor 120 may execute a specified application and provide an execution screen in a state in which a previous task is performed based on clip data in the specified application.
  • the processor 120 may determine whether a related application exists. For example, when a specified application for executing clip data does not exist in the electronic device 101 , the processor 120 may include an alternative application (eg, a related application or a web-based application) that can replace the specified application. can be judged
  • the processor 120 may resume the clip data-based user's task based on the associated application. For example, the processor 120 may execute a related application and provide an execution screen in a state in which a previous task is performed based on clip data in the related application.
  • the processor 120 may determine whether web execution of clip data is possible. According to an embodiment, the processor 120 may determine whether the clip data can be executed by a web-based application. For example, the processor 120 may determine the web-based application as an alternative application that can replace the designated application.
  • the processor 120 may resume the user's task based on clip data based on the web-based application.
  • the processor 120 may execute a web-based application (eg, a web map) and provide an execution screen in a state in which a previous task is performed based on clip data in the web-based application.
  • the processor 120 may determine whether it is possible to download and/or install a specified application from a store. . According to an embodiment, the processor 120 downloads and/or installs based on various contexts, such as a communication state, whether a store is accessible, whether a specified application exists in the store, and/or whether a specified application is charged for downloading. It can be judged whether it is possible or not.
  • the processor 120 may provide a guide related to the download of the specified application.
  • the processor 120 may download and install a designated application, and provide an execution screen in a state in which a previous task has been performed based on clip data in the designated application. have.
  • the processor 120 may provide a failure guide.
  • the processor 120 may provide a guide related to the failure of task resumption by clip data.
  • the processor 120 may also provide information on the cause of the failure of task resumption.
  • 32 is a diagram illustrating an example of executing clip data in an electronic device according to various embodiments of the present disclosure
  • FIG. 32 illustrates an example of an operation of supporting a user to resume a previous task based on an executable optimal application of a task related to clip data in the electronic device 101 according to various embodiments of the present disclosure. have.
  • the electronic device 101 may display the clipboard 1000 including at least one clip data.
  • the electronic device 101 may provide (eg, display) the clipboard 1000 through a designated area of the display module 160 .
  • the user may select clip data from the clipboard 1000 .
  • the electronic device 101 may analyze application information related to the clip data based on context information of the clip data. According to an embodiment, the electronic device 101 may identify an optimal executable application of a task related to clip data based on a context related to an application currently being executed in the electronic device 101 .
  • the electronic device 101 may determine an application designated for clip data or an application currently being executed as an optimal application capable of executing a task related to clip data, and may resume the task based on the determined application.
  • the electronic device 101 may perform an application identification operation or a clip data pasting operation based on a designated area to which the selected clip data is moved (eg, drag and drop).
  • a designated application eg, a primary application
  • the electronic device 101 when a designated application (eg, a primary application) for executing a task related to clip data is set in the electronic device 101 , the electronic device 101 , it is possible to provide a related execution screen by executing a specified application to resume a task continuous to the previous task.
  • a designated application eg, a primary application
  • another application is running in the electronic device 101 when the task is resumed, and the other application may execute a task related to clip data. It may be in the status of an existing application (eg, an alternative application).
  • a related execution screen may be provided by resuming a task continuous to the previous task by using an alternative application (eg, another running application). For example, the electronic device 101 may resume the task based on the currently running application without switching the application for the clip data.
  • an alternative application eg, another running application
  • FIG. 33 is a diagram illustrating an example of using clip data of a clipboard in an electronic device according to various embodiments of the present disclosure
  • FIG. 33 illustrates an example of providing clip data based on a window in which clip data of the clipboard is moved (eg, dragged and dropped) in a multi-window execution environment of the electronic device 101 .
  • the electronic device 101 may be in a state of being operated based on a multi-window.
  • the electronic device 101 may display the clipboard 1000 including at least one clip data.
  • the electronic device 101 may provide (eg, display) the clipboard 1000 through a designated area of the display module 160 .
  • the processor 120 may provide the clipboard 1000 by overlaying it on a multi-window, or may provide the clipboard 1000 in a pop-up format by a pop-up window.
  • the electronic device 101 displays the user selection-based window or the specified priority-based window.
  • Clip data 2310 may be provided based on a window. For example, when resuming a clip data-based task in a multi-window environment, the electronic device 101 may execute the task through a designated window of the multi-window instead of the full screen.
  • the electronic device 101 designates a window for execution (eg, task resumption) of the clip data 2310 as illustrated in the example screen ⁇ 3305>.
  • a user input or a user input for moving (eg, dragging and dropping) the clip data 2310 to any one window of a multi-window may be received.
  • the electronic device 101 performs the task 3320 by the clip data 3310 through a window (eg, window 2) designated based on a user input. It can be resumed and provided.
  • the electronic device 101 uses the designated priority-based window method, as exemplified in the example screen 3309, a window selected in advance or a window selected according to a separate criterion (eg, a window with a high priority) (or screen)) (eg, window 3), the task 332 by the clip data 3310 may be resumed and provided.
  • a separate criterion eg, a window with a high priority
  • window 3 e.g, window 3
  • An operation method performed by the electronic device 101 includes an operation of detecting a first user input for a clip of a specified content while displaying an execution screen of an application, based on the first user input to generate and store clip data including a clip object and context information related to the content in a memory, an operation of detecting a second user input related to a clipboard call, and an operation of detecting the second user input in the electronic device based on the detection of the second user input an operation of analyzing a task currently being performed, an operation of calling a clipboard based on detection of the second user input, an operation of extracting clip data corresponding to the task from among a plurality of clip data of the clipboard; and and providing a clipboard based on clip data corresponding to the task through a display module.
  • the clip data may include the clip object related to specified content and context information related to the clip object.
  • the context information may include a property (type) of the clip object, identification information of an application, a task being performed by the application, and/or context information related to a user at the time of clip operation. have.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Calculators And Similar Devices (AREA)

Abstract

본 개시의 실시예는 전자 장치 및 그 전자 장치에서 클립보드(clipboard)를 운영하는 방법에 관하여 개시한다. 다양한 실시예들에 따른 전자 장치는, 디스플레이 모듈, 메모리, 및 프로세서를 포함하고, 상기 프로세서는, 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지하고, 상기 제1 사용자 입력에 기반하여 상기 컨텐츠에 관련된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하여 메모리에 저장하고, 클립보드 호출에 관련된 제2 사용자 입력을 감지하고, 상기 제2 사용자 입력 감지에 기반하여 전자 장치에서 현재 수행 중인 태스크(task)를 분석하고, 상기 제2 사용자 입력 감지에 기반하여 클립보드를 호출하고, 상기 클립보드의 복수 개의 클립 데이터 중 상기 태스크에 대응하는 클립 데이터를 추출하고, 및 상기 태스크에 대응하는 클립 데이터 기반의 클립보드를 상기 디스플레이 모듈을 통해 제공할 수 있다. 다양한 실시예들이 가능하다.

Description

전자 장치 및 그의 클립보드 운영 방법
본 개시의 실시예는 전자 장치 및 그 전자 장치에서 클립보드(clipboard)를 운영하는 방법에 관하여 개시한다.
디지털 기술의 발달과 함께, PDA(personal digital assistant), 전자수첩, 스마트 폰(smart phone), 태블릿 PC(personal computer), 웨어러블 장치(wearable device), 디지털 카메라(digital camera), 랩탑(laptop) PC 및/또는 데스크탑 PC와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개발되고 있다. 예를 들면, 전자 장치는 인터넷 기능, 메신저 기능, 문서 기능, 이메일 기능, 전자수첩 기능, 스케줄 관리 기능, 메시지 기능, 및/또는 미디어 재생 기능과 같이 다양한 기능을 구비할 수 있다.
일반적으로, 전자 장치에서는 다양한 기능에 관련된 복수 개의 어플리케이션(또는 앱(App))이 설치될 수 있고, 각각의 어플리케이션의 실행을 통해 대응하는 기능을 제공하도록 구현될 수 있다. 이러한 전자 장치에서는 실행된 어플리케이션의 실행 화면에서 소정의 데이터를 복사(copy)하여 붙여넣기(paste) 할 수 있는 클립보드(clipboard) 기능을 지원하고 있다.
하지만, 종래의 전자 장치에서 클립보드 기능은 데이터 복사 및 붙여넣기와 같이 단순한 기능만을 지원하고 있다. 예를 들면, 종래의 전자 장치에서는 사용자가 전자 장치의 원본 데이터(source data)가 있는 화면에서 지정 데이터를 복사하고, 이후, 전자 장치 내에서 데이터를 붙여넣기 하고자 하는 화면으로 화면 전환을 통해 복사된 데이터를 붙여넣기 할 수 있는 단순한 기능만을 지원하고 있다.
또한, 종래의 전자 장치에서 클립보드 기능은 사용자에 의해 지정되어 복사되는 데이터(예: 텍스트 또는 이미지와 같은 컨텐츠) 자체만을 저장하고 데이터 자체만을 붙여넣기 할 수 있다.
다양한 실시예들에서는, 전자 장치에서 어플리케이션의 실행 화면에서 지정된 컨텐츠에 관련된 클립 데이터를 생성할 때, 컨텐츠 기반의 클립 객체와 함께, 클립 객체(또는 컨텐츠)의 맥락 정보(contextual information)(또는 맥락 데이터(contextual data))를 함께 저장하고 이를 활용할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 클립보드 호출 시, 전자 장치에서 현재 수행 중인 태스크(task)(또는 사용자 의도 또는 행위)를 식별하고, 현재 수행 중인 태스크에 최적화된(optimized) 클립 객체의 추천에 기반하여 클립보드를 제공할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 생성된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 공유(또는 동기화)할 수 있고, 사용자가 전자 장치 또는 사용자의 다른 전자 장치에서 연속적인 태스크를 수행 가능하도록 지원할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치의 클립보드에서 클립 객체 선택 시, 해당 클립 객체의 클립 데이터(예: 클립 객체 및 클립 객체에 관련된 맥락 정보)를 호출하여, 사용자가 해당 클립 데이터에 기반하여 이전 수행 중이던 태스크를 이어서 수행할 수 있도록 제공할 수 있는 방법 및 장치에 관하여 개시한다.
본 개시의 실시예에 따른 전자 장치는, 디스플레이 모듈, 메모리, 및 상기 디스플레이 모듈 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지하고, 상기 제1 사용자 입력에 기반하여 상기 컨텐츠에 관련된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하여 메모리에 저장하고, 클립보드 호출에 관련된 제2 사용자 입력을 감지하고, 상기 제2 사용자 입력 감지에 기반하여 전자 장치에서 현재 수행 중인 태스크(task)를 분석하고, 상기 제2 사용자 입력 감지에 기반하여 클립보드를 호출하고, 상기 클립보드의 복수 개의 클립 데이터 중 상기 태스크에 대응하는 클립 데이터를 추출하고, 및 상기 태스크에 대응하는 클립 데이터 기반의 클립보드를 상기 디스플레이 모듈을 통해 제공하도록 설정될 수 있다.
본 개시의 실시예에 따른 전자 장치의 동작 방법은, 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지하는 동작, 상기 제1 사용자 입력에 기반하여 상기 컨텐츠에 관련된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하여 메모리에 저장하는 동작, 클립보드 호출에 관련된 제2 사용자 입력을 감지하는 동작, 상기 제2 사용자 입력 감지에 기반하여 전자 장치에서 현재 수행 중인 태스크(task)를 분석하는 동작, 상기 제2 사용자 입력 감지에 기반하여 클립보드를 호출하는 동작, 상기 클립보드의 복수 개의 클립 데이터 중 상기 태스크에 대응하는 클립 데이터를 추출하는 동작, 및 상기 태스크에 대응하는 클립 데이터 기반의 클립보드를 디스플레이 모듈을 통해 제공하는 동작을 포함할 수 있다.
상기와 같은 과제를 해결하기 위하여 본 개시의 다양한 실시예들에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.
본 개시의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 개시의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 개시의 바람직한 실시예와 같은 특정 실시예는 단지 예시로 주어진 것으로 이해되어야 한다.
본 개시의 실시예에 따른 전자 장치 및 그의 동작 방법에 따르면, 전자 장치에서 다양한 종류의 컨텐츠(contents)에 대해서 지정된 영역, 객체, 및/또는 그룹을 선택하여 복사(copy)하여 클립보드(clipboard)에 저장할 때, 컨텐츠 기반의 클립 객체 및 클립 객체(또는 컨텐츠)의 맥락 정보를 함께 저장하고, 이에 기반하여 사용자의 클립보드 사용에 대한 접근성 및 편의성을 향상할 수 있다.
본 개시의 실시예에 따르면, 사용자가 전자 장치에서 클립보드 호출 시, 전자 장치에서 현재 수행 중인 태스크(task)(또는 사용자 의도 또는 행위)에 기반하여, 현재 수행 중인 태스크(또는 사용자 상황)에 최적화된(optimized) 클립 객체를 우선적으로 추천하여 제공할 수 있다. 본 개시의 실시예에 따르면, 전자 장치는 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 공유(또는 동기화)할 수 있고, 사용자는 전자 장치 또는 사용자의 다른 전자 장치에서 클립 데이터를 이용하여 이전 수행 중인 태스크에 연속되게 태스크를 수행할 수 있으며, 사용자 편의성이 증대할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도면 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.
도 3은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 4는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 5는 다양한 실시예들에 따른 전자 장치에서 컨텐츠의 클립 및 그에 따라 생성되는 클립 데이터의 예를 도시하는 도면이다.
도 6은 다양한 실시예들에 따른 클립보드를 운영하는 예를 설명하기 위한 도면이다.
도 7은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 8은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 예를 도시하는 도면이다.
도 9는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 10a는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 10b는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 10c는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 11은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 12는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 13은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 14는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
도 15는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 16a는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 16b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 17은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 18은 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 19는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 20a는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 20b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 21a는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 21b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 22는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 23a는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 23b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
도 24는 다양한 실시예들에 따른 전자 장치에서 클립보드의 동기화 대상을 설정하는 예를 도시하는 도면이다.
도 25는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 26은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 활용하는 예를 도시하는 도면이다.
도 27은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 28은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 운영하는 예를 도시하는 도면이다.
도 29는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 운영하는 예를 도시하는 도면이다.
도 30은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 31은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 32는 다양한 실시예들에 따른 전자 장치에서 클립 데이터를 실행하는 예를 도시하는 도면이다.
도 33은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 활용하는 예를 도시하는 도면이다.
도 1 은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 신경망 처리 장치(NPU, neural processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB, enhanced mobile broadband), 단말 전력 최소화와 다수 단말의 접속(mMTC, massive machine type communications), 또는 고신뢰도와 저지연(URLLC, ultra-reliable and low-latency communications)을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO, full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예들에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC, mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱(heuristic)하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예들에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(101)는 통신 모듈(190), 디스플레이 모듈(160), 프로세서(120), 및 메모리(130)를 포함할 수 있다.
일 실시예에 따라, 통신 모듈(190)은 도 1을 참조한 설명 부분에서 설명한 바와 같은 통신 모듈(190)에 대응할 수 있다. 일 실시예에 따라, 통신 모듈(190)은 레거시 네트워크(예: 3G 네트워크 및/또는 4G 네트워크), 5G 네트워크, OOB(out of band) 및/또는 차세대 통신 기술(예: NR(new radio) 기술)을 지원할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 도 1에 예시한 바와 같은 무선 통신 모듈(192)에 대응할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 통신 모듈(190)을 이용하여 네트워크를 통해 외부 장치(예: 도 1의 서버(108)(예: 클라우드) 및/또는 다른 전자 장치(102, 104))와 통신을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 클립보드(clipboard)에 클립 데이터 생성(또는 저장) 동작 시에, 서버(예: 클라우드)의 클립보드에 클립 데이터를 공유(또는 동기화) 하도록, 해당 클립 데이터를 통신 모듈(190)을 통해 서버로 전송할 수 있다.
일 실시예에 따라, 디스플레이 모듈(160)는 도 1을 참조한 설명 부분에서 설명한 바와 같은 디스플레이 모듈(160)에 대응할 수 있다. 일 실시예에 따라, 디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 다양한 정보를 시각적으로 제공할 수 있다. 일 실시예에 따라, 디스플레이 모듈(160)은 터치 감지 회로(또는 터치 센서)(미도시), 터치의 세기를 측정할 수 있는 압력 센서 및/또는 자기장 방식의 스타일러스 펜을 검출하는 터치 패널(예: 디지타이저)을 포함할 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)은 터치 감지 회로, 압력 센서 및/또는 터치 패널에 기반하여 디스플레이 모듈(160)의 특정 위치에 대한 신호(예: 전압, 광량, 저항, 전자기 신호 및/또는 전하량)의 변화를 측정함으로써 터치 입력 및/또는 호버링 입력(또는 근접 입력)을 감지할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 액정 표시 장치(LCD, liquid crystal display), OLED(organic light emitted diode), AMOLED(active matrix organic light emitted diode)로 구성될 수 있다. 어떤 실시예에 따르면, 디스플레이 모듈(160)은 플렉서블 디스플레이(flexible display)로 구성될 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)은 프로세서(120)의 제어 하에, 어플리케이션에 관련된 인터페이스, 클립보드에 관련된 인터페이스, 및/또는 클립 데이터를 이용한 태스크 처리에 관련된 인터페이스와 같은 다양한 화면을 시각적으로 제공할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 클립보드 및/또는 클립보드의 클립 데이터에 관련된 다양한 정보(예: 사용자 인터페이스)를 표시할 수 있다.
일 실시예에 따라, 메모리(130)는 도 1을 참조한 설명 부분에서 설명한 바와 같은 메모리(130)에 대응할 수 있다. 일 실시예에 따르면, 메모리(130)는 전자 장치(101)에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 어플리케이션(예: 도 1의 프로그램(140)), 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다.
일 실시예에 따르면, 메모리(130)는 프로세서(120)에 의하여 수행될 수 있는, 클립보드 기능을 운영하는 것과 관련된 클립보드(210) 및 데이터베이스(220)를 포함할 수 있다. 일 실시예에 따라, 어플리케이션은 클립보드 기능을 이용할 수 있는 어플리케이션(예: 클립보드(210))일 수 있다. 일 실시예에 따르면, 어플리케이션(예: 클립보드(210))은 메모리(130) 상에 소프트웨어(예: 도 1의 프로그램(140))로서 저장될 수 있고, 프로세서(120)에 의해 실행 가능할 수 있다.
일 실시예에 따라, 클립보드 기능은 전자 장치(101) 상에서 사용자에 의해 지정된 컨텐츠에 대한 자르기(cut), 복사하기(copy) 및 붙여넣기(paste)와 같은 동작(예: 사용자 인터랙션)을 지원하는 기능일 수 있다.
일 실시예에 따라, 데이터는, 컨텐츠의 캡쳐(예: 자르기 또는 복사하기된 컨텐츠(예: 클립 데이터)를 저장하는 동작) 시에, 컨텐츠 기반의 클립 객체 및 클립 객체(또는 컨텐츠)의 맥락 정보(contextual information)(또는 맥락 데이터(contextual data))를 포함할 수 있고, 메모리(130)는 클립 객체와 맥락 정보를 클립 데이터로서 데이터베이스(220)로 저장 및 관리할 수 있다.
일 실시예에 따르면, 메모리(130)는 프로세서(120)에 의하여 수행될 수 있는, 클립보드 기능을 처리하기 위한 적어도 하나의 모듈을 저장할 수 있다. 예를 들면, 메모리(130)는 캡쳐 처리 모듈(230) 및/또는 클립보드 관리 모듈(240) 중 적어도 일부를 소프트웨어 형태(또는 인스트럭션(instructions) 형태)로 포함할 수 있다.
일 실시예에 따라, 프로세서(120)는 전자 장치(101)에서 클립보드 기능을 운영하는 것과 관련된 동작(또는 처리)을 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력에 기반하여 컨텐츠에 관련된 클립 데이터를 생성하여 클립보드(210)에 등록(또는 업데이트)할 수 있다.
일 실시예에 따르면, 클립 데이터는, 지정된 컨텐츠에 관련된 클립 객체(예: 복사 객체) 및 클립 객체(또는 컨텐츠)에 관련된 맥락 정보를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터를 생성할 때, 클립 객체와 함께, 클립 객체(또는 컨텐츠)의 속성(type), 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립 동작 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 맥락 정보를 분석(또는 식별 또는 추출)할 수 있다.
일 실시예에 따르면, 프로세서(120)는 맥락 정보와 클립 객체를 매핑하여 클립 데이터로 메모리(130)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립보드(210)에 클립 객체를 저장하고, 데이터베이스(220)에 클립보드(210)의 클립 객체와 링크(link)되는 맥락 정보를 룩업 테이블(lookup table) 형태로 저장 및 관리할 수 있다.
일 실시예에 따르면, 프로세서(120)는 클립보드(210) 호출을 위한 제2 사용자 입력에 기반하여 현재 수행 중인 태스크(task)를 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제2 사용자 입력 감지에 기반하여, 전자 장치(101)에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락(또는 상태)을 분석(또는 인지)할 수 있다. 예를 들면, 프로세서(120)는 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립보드 호출 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 현재 태스크의 맥락을 머신 러닝(machine learning)으로 이해할 수 있다.
일 실시예에 따르면, 프로세서(120)는 제2 사용자 입력 감지에 기반하여 클립보드(210) 호출 및 클립 데이터를 추출할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드(210) 호출 동작에서, 클립보드(210)의 복수의 클립 데이터 중 분석된 태스크(또는 태스크의 맥락)에 대응하는 클립 데이터를 추출할 수 있다.
일 실시예에 따르면, 프로세서(120)는 태스크에 대응하는 클립 데이터 기반의 클립보드를 제공(예: 표시)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 태스크의 맥락에 대응하여 추출된 클립 데이터만을 포함(또는 추천)하는 클립보드(210)를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립보드를 디스플레이 모듈(160)의 지정된 영역을 통해 어플리케이션의 실행 화면 상에 제공(예: 표시)할 수 있다. 예를 들면, 프로세서(120)는 클립보드를 제공할 때, 실행 화면 상에 중첩(overlay)하여 제공하거나, 팝업 윈도우에 의한 팝업 형식으로 제공하거나, 또는 분할 윈도우에 의한 분할 영역에 제공할 수 있다.
일 실시예에 따르면, 프로세서(120)는 클립보드 기능을 처리하기 위한 적어도 하나의 모듈을 포함할 수 있다. 예를 들면, 프로세서(120)는 인터랙션 처리 모듈(230) 및/또는 클립보드 관리 모듈(240)을 포함할 수 있다.
일 실시예에 따라, 인터랙션 처리 모듈(230)은 전자 장치(101)에서 클립보드의 운영과 관련된 다양한 사용자 입력을 감지하고, 사용자 입력에 대응하는 기능을 처리하는 모듈을 나타낼 수 있다. 일 실시예에 따르면, 인터랙션 처리 모듈(230)은 클립보드의 클립 데이터 생성, 클립 데이터의 붙여넣기, 클립 데이터의 이동, 클립보드의 공유(또는 동기화), 및/또는 클립 데이터의 공유(또는 동기화)에 관련된 다양한 사용자 입력에 따른 기능을 처리할 수 있다.
일 실시예에 따르면, 인터랙션 처리 모듈(230)은 사용자 입력에 기반하여 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하는 기능을 처리할 수 있다. 일 실시예에 따른, 인터랙션 처리 모듈(230)의 동작과 관련하여 후술하는 도면들이 참조되어 상세히 설명된다.
일 실시예에 따라, 클립보드 관리 모듈(240)은 전자 장치(101)에서 클립보드의 운영과 관련된 다양한 사용자 설정을 식별하고, 사용자 설정에 기반하여 클립보드를 관리하는 모듈을 나타낼 수 있다. 일 실시예에 따르면, 클립보드 관리 모듈(240)은 클립보드에 관련된 사용자 입력에 기반하여, 클립보드 및/또는 클립 데이터에 관련된 정책에 기반한 공유(또는 동기화) 및, 클립 데이터의 보안 레벨에 기반한 클립 데이터의 일괄 또는 개별적 관리와 관련된 다양한 동작을 처리할 수 있다. 일 실시예에 따른, 클립보드 관리 모듈(240)의 동작과 관련하여 후술하는 도면들이 참조되어 상세히 설명된다.
일 실시예에 따라, 캡쳐 처리 모듈(230) 및/또는 클립보드 관리 모듈(240) 중 적어도 일부는 하드웨어 모듈(예: 회로(circuitry))로 프로세서(120)에 포함되거나, 및/또는 프로세서(120)에 의해 실행될 수 있는 하나 이상의 인스트럭션들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 프로세서(120)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들에 의해 실행될 수 있다.
다양한 실시예들에 따른, 프로세서(120)는 상기의 기능 외에 전자 장치(101)의 통상적인 기능과 관련된 각종 동작을 제어할 수 있다. 예를 들면, 프로세서(120)는 특정 어플리케이션 실행 시 그의 운영 및 화면 표시를 제어할 수 있다. 다른 예를 들면, 프로세서(120)는 터치 기반 또는 근접 기반의 입력 인터페이스에서 지원하는 다양한 터치 이벤트 또는 근접 이벤트 입력에 대응하는 입력신호를 수신하고, 그에 따른 기능 운영을 제어할 수 있다.
본 개시의 실시예에 따른 전자 장치(101)는, 디스플레이 모듈(160), 메모리(130), 및 상기 디스플레이 모듈(160) 및 상기 메모리(130)와 작동적으로 연결된 프로세서(120)를 포함하고, 상기 프로세서(120)는, 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지하고, 상기 제1 사용자 입력에 기반하여 상기 컨텐츠에 관련된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하여 메모리(130)에 저장하고, 클립보드(1000) 호출에 관련된 제2 사용자 입력을 감지하고, 상기 제2 사용자 입력 감지에 기반하여 전자 장치(101)에서 현재 수행 중인 태스크(task)를 분석하고, 상기 제2 사용자 입력 감지에 기반하여 클립보드(1000)를 호출하고, 상기 클립보드(1000)의 복수 개의 클립 데이터 중 상기 태스크에 대응하는 클립 데이터를 추출하고, 및 상기 태스크에 대응하는 클립 데이터 기반의 클립보드(1000)를 상기 디스플레이 모듈(160)을 통해 제공하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 클립 데이터는, 지정된 컨텐츠에 관련된 상기 클립 객체, 및 상기 클립 객체에 관련된 맥락 정보를 포함할 수 있다.
본 개시의 실시예에 따르면, 상기 맥락 정보는, 상기 클립 객체의 속성(type), 어플리케이션의 식별 정보, 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립 동작 시점의 사용자에 관련된 상황 정보를 포함할 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립 객체를 상기 메모리의 클립보드(1000)에 저장하고, 상기 클립 객체와 링크(link)되는 맥락 정보를 룩업 테이블(lookup table) 형태로 상기 메모리의 데이터베이스(database)에 저장 및 관리하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 제2 사용자 입력 감지에 기반하여, 머신 러닝(machine learning)에 의해 상기 전자 장치(101)에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락을 분석하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 태스크의 맥락에 대응하는 맥락 정보에 기반하여 클립 데이터를 추출하고, 상기 클립보드(1000)를 통해 상기 태스크의 맥락에 대응하는 상기 추출된 클립 데이터를 추천하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 사용자 계정(user account)에 기반하여 사용자 기기 그룹으로 연결되는 복수 개의 전자 장치(101)에 상기 클립보드(1000)를 동기화 하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 현재 실행 화면의 최근 컨텐츠, 멀티 윈도우(multi window) 기반 멀티 실행 화면 중 현재 포커스(focus)된 실행 화면, 및/또는 사용자의 상황 정보에 기반하여 상기 태스크의 맥락을 분석하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 추출된 클립 데이터를 각각에 대응하는 맥락 정보에 기반하여 분류하고, 분류하는 결과에 기반하여 대응하는 정렬 인터페이스를 포함하여 상기 클립보드(1000)를 제공하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립보드(1000)에서 적어도 하나의 클립 데이터를 지정된 영역에 고정(pinning)하기 위한 사용자 입력을 감지하고, 상기 사용자 입력에 기반하여 상기 적어도 하나의 클립 데이터를 상기 클립보드(1000) 내의 상기 지정된 영역에 고정하여 제공하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립보드(1000) 호출 시에, 상기 클립보드(1000)의 접근과 관련된 지정된 정책을 식별하고, 상기 지정된 정책이 제1 지정된 방식인 경우, 상기 전자 장치(101)에 로그인된 계정에 기반하여 상기 클립 데이터를 추출하여 상기 클립보드(1000)를 제공하고, 상기 지정된 정책이 제2 지정된 방식인 경우, 공개 설정된 클립 데이터를 추출하여 상기 클립보드(1000)를 제공하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립보드(1000)의 복수 개의 클립 데이터에 대하여, 일괄적 또는 개별적으로, 공개 기반의 제1 정책, 로그인 계정 기반의 제2 정책, 또는 클립 데이터를 생성하는 사용자 계정에 제한하는 제3 정책의 설정을 제공하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 전자 장치(101)에서 사용자 계정의 로그아웃을 감지하는 경우, 상기 클립보드(1000)에서 사용자 계정을 기반으로 생성된 클립 데이터를, 상기 클립보드(1000) 내에서 일괄 숨김 처리하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립보드(1000)의 변경 사항을 사용자 계정 기반으로 연결된 다른 전자 장치와 실시간 동기화 하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립보드(1000)에서 클립 데이터의 공유 대상을 지정하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립보드(1000)에서 적어도 하나의 클립 데이터의 선택에 관련된 사용자 입력을 감지하고, 상기 사용자 입력 감지에 기반하여, 선택된 클립 데이터의 맥락 정보를 분석하고, 상기 맥락 정보에 기반하여, 상기 클립 데이터에 연관된 어플리케이션을 식별하여 실행하고, 상기 어플리케이션에서 상기 클립 데이터에 기반하여 사용자의 태스크를 재개하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 클립 데이터의 이동에 관련된 사용자 입력을 감지하고, 상기 사용자 입력 감지에 기반하여, 사용자의 입력이 이동되는 이동 영역을 식별하고, 상기 클립 데이터가 이동되는 영역이 제1 지정된 영역인 경우, 상기 클립 데이터를 붙여넣기(paste) 하는 제1 기능을 실행하고, 상기 클립 데이터가 이동되는 영역이 제2 지정된 영역인 경우, 상기 클립 데이터에 기반하여 태스크를 재개하는 제2 기능을 실행하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립보드(1000)에서 클립 데이터를 선택하는 사용자 입력에 기반하여, 선택된 클립 데이터의 맥락 정보를 분석하고, 상기 맥락 정보에 기반하여, 상기 클립 데이터에 관련된 태스크를 실행 가능한 어플리케이션을 식별하고, 식별된 어플리케이션에 기반하여 클립 데이터 기반의 사용자의 태스크를 재개하도록 설정될 수 있다.
본 개시의 실시예에 따르면, 상기 프로세서(120)는 상기 클립 데이터에 지정된 어플리케이션, 현재 실행 중인 어플리케이션 및/또는 대체 가능한 연관된 어플리케이션을 식별하도록 설정될 수 있다.
이하에서는 다양한 실시예들의 전자 장치(101)의 동작 방법에 대해서 상세하게 설명한다. 이하에서 설명하는 전자 장치(101)에서 수행하는 동작들은, 전자 장치(101)의 적어도 하나의 프로세싱 회로(processing circuitry)를 포함하는 프로세서(예: 도 1 또는 도 2의 프로세서(120))에 의해 실행될 수 있다. 일 실시예에 따라, 전자 장치(101)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들(instructions)에 의해 실행될 수 있다.
도 3은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 3을 참조하면, 동작 301에서, 전자 장치(101)의 프로세서(120)는 어플리케이션을 실행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 실행 요청되는 어플리케이션을 실행하고, 실행하는 어플리케이션의 실행 화면을 디스플레이 모듈(160)을 통해 표시할 수 있다.
동작 303에서, 프로세서(120)는 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 디스플레이 모듈(160)에 표시 중인 어플리케이션의 실행 화면에서, 클립 데이터를 위한 컨텐츠를 지정(예: 선택)하고, 지정된 컨텐츠를 클립(예: 자르기 또는 복사하기를 통해 클립 데이터로 저장)하기 위한 지정된 사용자 인터랙션(예: 제1 사용자 입력)을 입력할 수 있다. 일 실시예에 따라, 지정된 컨텐츠를 클립하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
동작 305에서, 프로세서(120)는 제1 사용자 입력에 기반하여 컨텐츠에 관련된 클립 데이터를 생성하여 메모리(130)(예: 데이터베이스(220))에 저장할 수 있다. 일 실시예에 따르면, 클립 데이터는, 지정된 컨텐츠에 관련된 클립 객체(예: 복사 객체) 및 클립 객체(또는 컨텐츠)에 관련된 맥락 정보를 포함할 수 있다.
일 실시예에 따르면, 프로세서(120)는 클립 데이터를 생성할 때, 클립 객체와 함께, 클립 객체(또는 컨텐츠)의 속성(type), 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립 동작 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 맥락 정보를 분석(또는 식별 또는 추출)할 수 있다.
일 실시예에 따르면, 프로세서(120)는 분석하는 결과에 따른 맥락 정보와 클립 객체를 매핑하여 클립 데이터로 메모리(130)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립보드(210)에 클립 객체를 저장하고, 데이터베이스(220)에 클립보드(210)의 클립 객체와 링크(link)되는 맥락 정보를 룩업 테이블(lookup table) 형태로 저장 및 관리할 수 있다. 일 실시예에 따라, 클립 데이터를 생성하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
동작 307에서, 프로세서(120)는 클립보드 호출을 위한 제2 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 동작 301의 어플리케이션 또는 동작 301의 어플리케이션과 다른 어플리케이션을 실행하고, 클립 데이터의 사용(예: 붙여넣기)을 위해 클립보드 호출(또는 클립보드 표시)을 위한 지정된 사용자 인터랙션(예: 제2 사용자 입력)을 입력할 수 있다.
동작 309에서, 프로세서(120)는 제2 사용자 입력 감지에 기반하여 현재 수행 중인 태스크(task)를 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제2 사용자 입력 감지에 기반하여, 전자 장치(101)에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락(또는 상태)을 분석(또는 인지)할 수 있다. 예를 들면, 프로세서(120)는 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립보드 호출 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 현재 태스크의 맥락을 머신 러닝(machine learning)으로 이해할 수 있다.
동작 311에서, 프로세서(120)는 제2 사용자 입력 감지에 기반하여 클립보드 호출 및 클립 데이터를 추출할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출 동작에서, 클립보드의 복수의 클립 데이터 중 분석된 태스크(또는 태스크의 맥락)에 대응하는 클립 데이터를 추출할 수 있다. 일 실시예에 따라, 태스크에 대응하는 클립 데이터를 추출하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
동작 313에서, 프로세서(120)는 태스크에 대응하는 클립 데이터 기반의 클립보드를 제공(예: 표시)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 태스크의 맥락에 대응하여 추출된 클립 데이터만을 포함(또는 추천)하는 클립보드를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립보드를 디스플레이 모듈(160)의 지정된 영역을 통해 어플리케이션의 실행 화면 상에 제공(예: 표시)할 수 있다. 예를 들면, 프로세서(120)는 클립보드를 제공할 때, 실행 화면 상에 중첩(overlay)하여 제공하거나, 팝업 윈도우에 의한 팝업 형식으로 제공하거나, 또는 분할 윈도우에 의한 분할 영역에 제공할 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다. 도 5는 다양한 실시예들에 따른 전자 장치에서 컨텐츠의 클립 및 그에 따라 생성되는 클립 데이터의 예를 도시하는 도면이다.
일 실시예에 따라, 도 4 및 도 5에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터를 생성하는 동작 예를 나타낼 수 있다.
도 4를 참조하면, 동작 401에서, 전자 장치(101)의 프로세서(120)는 어플리케이션을 실행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 실행 요청되는 어플리케이션을 실행하고, 실행하는 어플리케이션의 실행 화면을 디스플레이 모듈(160)을 통해 표시할 수 있다.
동작 403에서, 프로세서(120)는 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 디스플레이 모듈(160)에 표시 중인 어플리케이션의 실행 화면에서, 클립 데이터를 위한 컨텐츠를 지정(예: 선택)하고, 지정된 컨텐츠를 클립(예: 자르기 또는 복사하기를 통해 클립 데이터로 저장)하기 위한 지정된 사용자 인터랙션(예: 사용자 입력)을 입력할 수 있다. 이의 예가 도 5에 도시된다.
도 5를 참조하면, 예시 화면 <501>에 예시한 바와 같이, 사용자는 표시 중인 실행 화면에서 컨텐츠(515)를 클립하기 위한 지정된 사용자 인터랙션(예: 터치 입력(예: 롱 프레스(long press))을 입력할 수 있다. 예시 화면 <503>에 예시한 바와 같이, 전자 장치(101)는 사용자 인터랙션에 기반하여 지정된 컨텐츠의 동작(또는 실행)과 관련된 옵션 메뉴(520)를 제공할 수 있고, 사용자는 옵션 메뉴(520)의 다양한 아이템(예: Open, Save, Clip) 중 지정된 컨텐츠를 클립(예: 자르기 또는 복사하기를 통해 클립 데이터로 저장)하기 위한 아이템(525)(예: Clip)을 선택(예: 터치)할 수 있다.
동작 405에서, 프로세서(120)는 사용자 입력에 기반하여 지정된 컨텐츠에 관련된 클립 객체 및 맥락 정보를 추출할 수 있다. 일 실시예에 따라, 도 5에 예시한 바와 같이, 프로세서(120)는 지정된 컨텐츠(515)에 기반하여 클립 객체(540)(예: 복사 객체)를 추출할 수 있고, 클립 객체(540)(또는 컨텐츠(515))에 관련된 맥락 정보(550)를 추출할 수 있다.
일 실시예에 따르면, 프로세서(120)는 클립 객체(540)(또는 컨텐츠)의 속성(type), 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립 동작 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)에 관련된 맥락 정보(550)를 추출할 수 있다. 일 실시예에 따라, 맥락 정보(550)는 아래 <표 1>의 예시에 기반하여, 지정된 컨텐츠(515)에 관련된 적어도 하나의 정보가 추출될 수 있다. 아래 <표 1>은 다양한 실시예들에 따른 맥락 정보(550)를 구성하는 예를 나타낼 수 있다.
Data Type Main contents
(When user paste, main contents will be pasted)
Contextual data
COMMON - - Clip된 위치> App
> URL link (if any)
> App 내 위치, 해당 아이템이 화면에 바로 보이는 위치 값
- Clip된 시점
- Clip한 사람 (계정)
- Clip한 방법 (Copy, Share, Smart select, Capture ...)
- Clip된 Geo Location 장소: 좌표값 및 위치 정보
- 대체 applications (만약 해당 App 이 없을 경우 대체하여 실행 할 수 있는 앱 목록)
- Clip 될 당시 User context
> (연속 캡쳐 되는 경우) bulk로 capture한 이미지의 context 정보 mirror
> During call 여부
> 직전 사용 앱 / 직후 사용 앱
> Mute 여부
> Landscape / Portrait
> ...
Text Text - 앞 뒤 문장 (일정 범위 내의)
Screen capture(incl. Smart select) Image - Image 해상도
- Clip 시점에 실행된 앱 정보
> Browser: URL
> Video: Video playing time 중 현재 시점
> 영상통화: Call number, contact 정보
...
Image Image - Image의 Meta data> 해상도
> Geo location
> Tag
> 촬영기기
> Last modified, created time & date
Video Video - Video의 Meta data> 해상도
> Geo location
> Tag
> 촬영기기
> Last modified, created time & date
> playing time
MS Office objects Object (Layered)Text
Style
- Contents가 저장되어 있는 Cloud 의 URL 정보
- (복수의 객체인 경우) 이미지간 Layering 정보, placement 정보, Group 여부 등
URL URLCaptured thumbnail - Capture 될 당시의 scroll 정보
- 해당 URL 웹페이지의 semantic 정보
Files Files - Files link (만약 있다면)- File 실행 정보
Email Email file - Email 상세 정보> Email 성격: sent, receive, draft, spam ...
> Sender / Recipient 정보
> Date send/receive
> 첨부 파일 유무
Tasks Tasks - Schedule 시간 범위- Task의 category: 업무, private, family ...
<표 1>에 예시한 바와 같이, <표 1>은 클립보드의 클립 데이터(530)에 대한 속성 및 맥락 판단 기준의 예를 나타낼 수 있다. <표 1>에 예시한 바와 같이, 맥락 정보(550)는 클립 객체(540)(예: 복사 객체)의 속성(예: Data Type)을 구분할 수 있고, 공통(COMMON) 아이템에 대응하는 상황 데이터(Contextual data)를 공통으로 포함할 수 있고, 추가적으로 클립 객체(540)의 해당 속성(예: Text, Screen capture, Image, Video, ...)에 대응하는 상황 데이터가 더 포함될 수 있다. 일 실시예에 따라, 맥락 정보(540)는 <표 1>에 예시한 바와 같이, 컨텐츠가 클립될 때, 클립되는 컨텐츠 부분 중 붙여넣기에 사용될 메인 컨텐츠(Main contents)(예: 클립 객체(540)의 컨텐트)에 대한 정보를 더 포함할 수 있다.
동작 407에서, 프로세서(120)는 클립 객체 및 맥락 정보에 기반하여 클립 데이터를 생성할 수 있다. 일 실시예에 따라, 도 5에 예시한 바와 같이, 클립 데이터(530)는, 지정된 컨텐츠(515)에 관련된 클립 객체(540)(예: 복사 객체) 및 클립 객체(540)(또는 컨텐츠)에 관련된 맥락 정보(550)를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터(530)를 생성할 때, 컨텐츠로부터 클립된 클립 객체(540)와 함께, 클립 객체(540)(또는 컨텐츠)의 속성(type), 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립 동작 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 맥락 정보(550)를 함께 생성할 수 있다. 예를 들면, 프로세서(120)는 <표 1>에 예시한 바와 같이 클립 객체(540)의 속성에 대응하는 다양한 상황 데이터에 기반하여 맥락 정보(550)를 추출 및 구성할 수 있다.
동작 409에서, 프로세서(120)는 클립 데이터를 클립보드에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 객체(540)와 맥락 정보(550)를 매핑하여 클립 데이터(530)로 메모리(130)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 객체(540)와 클립 객체(540)에 링크(link)되는 맥락 정보(550)를 포함하는 클립 데이터(530)를 룩업 테이블(lookup table) 형태로 저장 및 관리할 수 있다.
도 6은 다양한 실시예들에 따른 클립보드를 제공하는 예를 설명하기 위한 도면이다.
일 실시예에 따라, 도 6에서는 전자 장치(101)에서 클립 데이터(530)를 생성하여 전자 장치(101)의 클립보드에 저장하는 경우, 클립보드에 저장된 클립 데이터(530)를 다른 전자 장치와 공유(예: 계정 기반 공유 또는 동기화)하여 사용하는 예를 나타낼 수 있다.
도 6에 도시한 바와 같이, 사용자는 다양한 전자 장치(101)(예: 제1 전자 장치(101A), 제2 전자 장치(101B) 및 제3 전자 장치(101C))를 소유할 수 있다. 사용자의 다양한 전자 장치(101)(예: 제1 전자 장치(101A), 제2 전자 장치(101B) 및 제3 전자 장치(101C))는 사용자 계정(user account)에 기반하여 사용자 기기 그룹으로 연결되어(또는 연동되어) 관리될 수 있다.
일 실시예에 따르면, 전자 장치(101)(예: 제1 전자 장치(101A), 제2 전자 장치(101B) 또는 제3 전자 장치(101C))에서 생성된 클립 데이터(530)는 클립보드를 통해 다른 전자 장치와 공유(동기화)될 수 있다. 일 실시예에 따르면, 전자 장치(101)의 클립보드는 사용자 계정에 기반하여 클라우드(예: 클라우드의 클립보드)와 연동될 수 있다. 일 실시예에 따르면, 전자 장치(101)(예: 제1 전자 장치(101A), 제2 전자 장치(101B) 또는 제3 전자 장치(101C)) 내의 클립보드가 상태 변경(예: 클립 데이터 추가, 변경 및/또는 삭제)되는 경우, 클라우드의 클립보드에서도 상태 변경이 동일하게 적용될 수 있다. 예를 들면, 전자 장치(101)의 클립보드와 클라우드의 클립보드가 동기화 될 수 있다.
어떤 실시예에 따르면, 클라우드의 클립보드가 어느 일 전자 장치(101)(예: 제1 전자 장치(101A))의 클립보드의 상태 변경에 따라 동기화 되는 경우, 다른 전자 장치(101)(예: 제2 전자 장치(101B) 및 제3 전자 장치(101C))의 클립보드에서도 상태 변경이 동일하게 적용될 수 있다. 예를 들면, 클라우드의 클립보드는 사용자 계정 기반의 다양한 전자 장치(101)의 클립보드와 모두 동기화 될 수 있다.
어떤 실시예에 따르면, 전자 장치(101)의 클립보드는 클라우드 기반 클립보드를 포함할 수 있다. 예를 들면, 전자 장치(101)에서 생성하는 클립 데이터는 클라우드의 클립보드에 저장될 수 있고, 전자 장치(101)에서 호출하는 클립보드는 클라우드의 클립보드일 수 있다.
일 실시예에 따르면, 전술한 바와 같은 클립보드 운영에 기반하여, 사용자는 제1 전자 장치(101A), 제2 전자 장치(101B) 및/또는 제3 전자 장치(101C)와 같은 사용자 계정의 다양한 전자 장치(101)에서 클립보드에 접근(access)할 수 있고, 어떠한 전자 장치(101)에서도 클립보드를 통해 공통된 클립 데이터(530)를 사용할 수 있다.
도 7은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
일 실시예에 따라, 도 7에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터를 제공하는 동작 예를 나타낼 수 있다.
도 7을 참조하면, 동작 701에서, 전자 장치(101)의 프로세서(120)는 어플리케이션을 실행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 실행 요청되는 어플리케이션을 실행하고, 실행하는 어플리케이션의 실행 화면을 디스플레이 모듈(160)을 통해 표시할 수 있다.
동작 703에서, 프로세서(120)는 어플리케이션의 실행 화면을 표시하는 동안, 클립보드 호출에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 어플리케이션을 실행하고, 클립 데이터의 사용(예: 붙여넣기)을 위해 클립보드 호출(또는 클립보드 표시)을 위한 지정된 사용자 인터랙션(예: 사용자 입력)을 입력할 수 있다. 어떤 실시예에 따르면, 사용자는 어플리케이션을 실행하지 않은 상태(예: 홈 화면 표시 상태)에서 클립보드 호출에 관련된 사용자 입력을 수행할 수도 있다.
동작 705에서, 프로세서(120)는 사용자 입력 감지에 기반하여 현재 실행 중인 태스크(task)에 관련된 맥락을 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력 감지에 기반하여, 전자 장치(101)에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락(또는 상태)을 분석(또는 인지)할 수 있다. 예를 들면, 프로세서(120)는 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립보드 호출 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따라, 프로세서(120)는 태스크에 관련된 맥락 분석에 기반하여 제1 맥락 정보를 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 현재 태스크의 맥락을 머신 러닝(machine learning)으로 이해할 수 있다.
동작 707에서, 프로세서(120)는 사용자 입력 감지에 기반하여 클립보드 호출 및 클립 데이터를 추출할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출 시에, 클립보드에 저장된 복수의 클립 데이터를 추출할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터 추출 시에, 클립 데이터에 각각 대응하는 맥락 정보(예: 제2 맥락 정보)를 식별(또는 추출)할 수 있다.
동작 709에서, 프로세서(120)는 태스크에 관련된 맥락 분석에 따른 제1 맥락 정보와 클립 데이터에 관련된 제2 맥락 정보를 비교할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제1 맥락 정보와 제2 맥락 정보 비교에 기반하여, 클립 데이터에 관련된 제2 맥락 정보 중에서, 제1 맥락 정보에 대응하는(또는 일치하는) 맥락 정보(예: 제3 맥락 정보)를 식별할 수 있다.
동작 711에서, 프로세서(120)는 클립보드의 복수의 클립 데이터 중 제1 맥락 정보에 대응하는 클립 데이터를 추출할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립보드의 복수의 클립 데이터 중 제3 맥락 정보에 관련된 적어도 하나의 클립 데이터를 식별할 수 있다. 예를 들면, 프로세서(120)는 클립보드의 복수의 클립 데이터 중 현재 실행 중인 태스크에 관련된 클립 데이터를 추출할 수 있다.
동작 713에서, 프로세서(120)는 추출된 클립 데이터에 기반하여 클립보드를 제공(예: 표시)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 현재 실행 중인 태스크에 관련된 클립 데이터 기반의 클립보드를 제공(예: 표시)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 태스크의 맥락에 대응하여 추출된 클립 데이터만을 포함(또는 추천)하는 클립보드를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립보드를 디스플레이 모듈(160)의 지정된 영역을 통해 어플리케이션의 실행 화면 상에 제공(예: 표시)할 수 있다. 예를 들면, 프로세서(120)는 클립보드를 제공할 때, 실행 화면 상에 중첩(overlay)하여 제공하거나, 팝업 윈도우에 의한 팝업 형식으로 제공하거나, 또는 분할 윈도우에 의한 분할 영역에 제공할 수 있다.
어떤 실시예에 따르면, 프로세서(120)는 클립보드를 제공할 때, 클립보드 운영에 관련된 다양한 사용자 인터페이스를 포함하여 제공할 수 있고, 클립보드 내 클립 데이터를 지정된 방식에 따라 정렬하여 제공할 수도 있다. 일 실시예에 따라, 클립보드를 운영하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
도 8은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 예를 도시하는 도면이다.
일 실시예에 따라, 도 8에서는 다양한 실시예들에 따른 전자 장치(101)에서 현재 실행 화면의 최근 컨텐츠를 기반으로 태스크를 분석하여 대응하는 클립 데이터를 제공(또는 추천)하는 동작 예를 나타낼 수 있다.
도 8을 참조하면, 전자 장치(101)는 어플리케이션(예: 메신저 어플리케이션) 실행에 기반하여 복수의 컨텐츠를 표시하는 상태일 수 있다. 일 실시예에 따라, 도 8에서는 복수의 컨텐츠 중 컨텐츠(810)가 최근 컨텐츠이고, 최근 컨텐츠(810)에 기반하여 태스크를 분석하는 예를 나타낼 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자 입력에 기반하여 클립보드 호출 시에, 현재 실행 중인 어플리케이션, 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락(예: 컨텐츠(810) 기반 맥락)을 분석(또는 인지)할 수 있다. 예를 들면, 프로세서(120)는 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립보드 호출 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따라, 전자 장치(101)는 태스크에 관련된 맥락 분석에 기반하여 현재 태스크(예: 컨텐츠(810))의 제1 맥락 정보(815)를 구성할 수 있다.
일 실시예에 따라, 전자 장치(120)는 클립보드 호출 시에, 클립보드에 저장된 복수의 클립 데이터(830)로부터, 클립 데이터(830)에 각각 대응하는 클립 객체(840) 및 맥락 정보(850)(예: 제2 맥락 정보)를 식별(또는 추출)할 수 있다.
일 실시예에 따라, 전자 장치(101)는 태스크에 관련된 제1 맥락 정보(815)와 클립 데이터에 관련된 제2 맥락 정보(850) 비교에 기반하여, 클립 데이터에 관련된 제2 맥락 정보(850) 중에서, 제1 맥락 정보에 대응하는(또는 일치하는) 맥락 정보(855)(예: 제3 맥락 정보)를 식별할 수 있다. 예를 들면, 도 8의 예시에서, 전자 장치(101)는 복수의 클립 데이터(830)에 각각 대응하는 제2 맥락 정보(850) 중에서, 제1 맥락 정보(815)의 “Annual report” 컨텍스트를 포함하는 적어도 하나의 제3 맥락 정보(855)를 추출할 수 있다.
일 실시예에 따라, 전자 장치(101)는 추출된 적어도 하나의 제3 맥락 정보(855)에 대응하는 적어도 하나의 클립 데이터를 구성하여 클립보드를 통해 제공할 수 있다.
도 9는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
일 실시예에 따라, 도 9에서는 다양한 실시예들에 따른 전자 장치(101)에서 멀티 윈도우(multi window) 기반 멀티 실행 화면 중 현재 포커스(focus)된 실행 화면을 기반으로 태스크를 분석하여 대응하는 클립 데이터를 제공(또는 추천)하는 동작 예를 나타낼 수 있다.
도 9를 참조하면, 전자 장치(101)는 멀티 윈도우에 기반하여 복수의 실행 화면을 표시하는 상태일 수 있다. 일 실시예에 따라, 도 9에서는 멀티 윈도우 중 윈도우(910)(또는 실행 화면)이 현재 포커스되어 있는 윈도우(또는 실행 화면)이고, 포커스된 윈도우(910)(또는 실행 화면)의 컨텐츠에 기반하여 태스크를 분석하는 예를 나타낼 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자 입력에 기반하여 클립보드 호출 시에, 전술한 바에 대응하여, 현재 포커스된 윈도우(910)의 컨텐츠를 기반으로 태스크를 분석하여, 현재 태스크의 제1 맥락 정보(915)를 구성할 수 있다.
일 실시예에 따라, 전자 장치(120)는 클립보드 호출 시에, 클립보드에 저장된 복수의 클립 데이터(930)로부터, 클립 데이터(930)에 각각 대응하는 클립 객체(940) 및 맥락 정보(950)(예: 제2 맥락 정보)를 식별(또는 추출)할 수 있다.
일 실시예에 따라, 전자 장치(101)는 태스크에 관련된 제1 맥락 정보(915)와 클립 데이터에 관련된 제2 맥락 정보(950) 비교에 기반하여, 클립 데이터에 관련된 제2 맥락 정보(950) 중에서, 제1 맥락 정보에 대응하는(또는 일치하는) 맥락 정보(955)(예: 제3 맥락 정보)를 식별할 수 있다. 예를 들면, 도 9의 예시에서, 전자 장치(101)는 복수의 클립 데이터(930)에 각각 대응하는 제2 맥락 정보(950) 중에서, 제1 맥락 정보(915)의 “Covid 19” 컨텍스트를 포함하는 적어도 하나의 제3 맥락 정보(955)를 추출할 수 있다.
일 실시예에 따라, 전자 장치(101)는 추출된 적어도 하나의 제3 맥락 정보(955)에 대응하는 적어도 하나의 클립 데이터를 구성하여 클립보드를 통해 제공할 수 있다.
도 10a, 도 10b 및 도 10c는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면들이다.
일 실시예에 따라, 도 10a, 도 10b 및 도 10c에서는 다양한 실시예들에 따른 전자 장치(101)에서 사용자의 현재 어플리케이션 사용 맥락을 분석하여, 대응하는 최적화된(optimized) 클립 데이터를 제공(또는 추천)하는 동작 예를 나타낼 수 있다.
도 10a를 참조하면, 도 10a에서는 사용자가 전자 장치(101)를 이용하여 제1 어플리케이션의 실행 화면(1010)에서 이미지 편집(예: 삽입)과 관련된 태스크를 수행하는 상태일 수 있다. 일 실시예에 따라, 전자 장치(101)는 현재 태스크를 분석하여 사용자의 사용 맥락을 분석할 수 있다. 예를 들면, 전자 장치(101)는 현재 태스크로서 사용자가 제1 어플리케이션의 실행 화면(1010)에 이미지를 삽입하는 의도로 파악할 수 있다.
일 실시예에 따라, 전자 장치(101)는 클립보드(1000)에 저장된 복수의 클립 데이터 중에서, 사용자의 사용 맥락(예: 이미지 삽입)에 관련된 맥락 정보의 적어도 하나의 클립 데이터(예: 클립 객체의 속성이 이미지인 클립 데이터(1011, 1013, 1015))를 추출할 수 있다. 일 실시예에 따라, 전자 장치(101)는 추출된 적어도 하나의 클립 데이터(1011, 1013, 1015)를 클립보드(1000)에 제공(예: 추천 표시)할 수 있다.
도 10b를 참조하면, 도 10b에서는 사용자가 전자 장치(101)를 이용하여 제2 어플리케이션의 실행 화면(1020)에서 웹페이지 사용과 관련된 태스크를 수행하는 상태일 수 있다. 일 실시예에 따라, 전자 장치(101)는 현재 태스크를 분석하여 사용자의 사용 맥락을 분석할 수 있다. 예를 들면, 전자 장치(101)는 현재 태스크로서 사용자가 제2 어플리케이션의 실행 화면(1020)에 웹페이지의 컨텐츠와 연관된 클립 데이터를 사용하고자 하는 의도로 파악할 수 있다.
일 실시예에 따라, 전자 장치(101)는 클립보드(1000)에 저장된 복수의 클립 데이터 중에서, 사용자의 사용 맥락(예: 웹페이지의 컨텐츠와 연관된 클립 데이터 사용)에 관련된 맥락 정보의 적어도 하나의 클립 데이터(예: 클립 객체의 속성이 URL인 클립 데이터(1021, 1023, 1025))를 추출할 수 있다. 일 실시예에 따라, 전자 장치(101)는 추출된 적어도 하나의 클립 데이터(1021, 1023, 1025)를 클립보드(1000)에 제공(예: 추천 표시)할 수 있다.
도 10c를 참조하면, 도 10c에서는 사용자가 전자 장치(101)를 이용하여 제3 어플리케이션의 실행 화면(1030)에서 이메일 작성과 관련된 태스크를 수행하는 상태일 수 있다. 일 실시예에 따라, 전자 장치(101)는 현재 태스크를 분석하여 사용자의 사용 맥락을 분석할 수 있다. 예를 들면, 전자 장치(101)는 현재 태스크로서 사용자가 제3 어플리케이션의 실행 화면(1030)에 이메일을 작성하는 의도로 파악할 수 있다.
일 실시예에 따라, 전자 장치(101)는 클립보드(1000)에 저장된 복수의 클립 데이터 중에서, 사용자의 사용 맥락(예: 이메일 작성)에 관련된 맥락 정보의 적어도 하나의 클립 데이터(예: 클립 객체의 속성이 이메일이고 대응하는 컨텍스트를 포함하는 클립 데이터(1031))를 추출할 수 있다. 일 실시예에 따라, 전자 장치(101)는 추출된 적어도 하나의 클립 데이터(1031)를 클립보드(1000)에 제공(예: 추천 표시)할 수 있다.
도 11은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
일 실시예에 따라, 도 11에서는 다양한 실시예들에 따른 전자 장치(101)에서 사용자의 현재 어플리케이션 사용 맥락을 분석하여, 대응하는 최적화된 클립 데이터를 제공(또는 추천)하는 동작 예를 나타낼 수 있다.
도 11을 참조하면, 도 11에서는 예시 화면 <1101>에 예시된 바와 같이, 사용자가 전자 장치(101)를 이용하여 어플리케이션의 실행 화면에서 문서 작업과 관련된 태스크를 수행하는 상태일 수 있다.
일 실시예에 따라, 전자 장치(101)는 현재 태스크를 분석하여 사용자의 사용 맥락(예: 사용자의 이전 행위 트래킹(tracking))을 분석할 수 있다. 예를 들면, 전자 장치(101)는 현재 태스크로서 사용자가 어플리케이션의 실행 화면에서 문서를 작업하는 의도로 파악할 수 있다. 일 실시예에 따라, 전자 장치(101)는 현재 태스크에 기반한 사용자의 이전 행위를 트래킹(예: 맥락 분석)할 수 있고, 트래킹하는 결과에 기반하여, 클립보드(1000)에 대응하는 클립 데이터를 추천하여 제공할 수 있다.
일 실시예에 따르면, 사용자가 예시 화면 <1101>과 같이, 문서 작업 중 실행 화면 내에 포함되어 있는 객체(object)(예: 텍스트 및/또는 그래프 컨텐츠)를 복사 및 붙여넣기(copy & paste) 하는 동작을 반복한 후 클립보드(1000)를 호출할 수 있다. 일 실시예에 따라, 전자 장치(101)는 사용자 입력에 기반하여 클립보드(1000) 호출 시, 사용자의 사용 맥락 분석에 기반하여, 현재 태스크(예: 문서 작업)를 수행하는 동안 클립된 객체 기반 클립 데이터(1111, 1113, 1115)를 추출하여 클립보드(1000)에 제공할 수 있다. 예를 들면, 예시 화면 <1103>에 예시한 바와 같이, 전자 장치(101)는 클립보드(1000) 상에 문서 작업 시에 클립된 클립 데이터 중 객체에 관련된 클립 데이터(1111, 1113, 1115)를 추천하여(또는 우선 순위로) 제공할 수 있다.
일 실시예에 따르면, 사용자가 예시 화면 <1101>과 같이, 문서 작업 중 실행 화면 내에 포함되어 있는 이미지(예: 이미지 컨텐츠)를 복사 및 붙여넣기 하는 동작을 반복한 후 클립보드(1000)를 호출할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자 입력에 기반하여 클립보드(1000) 호출 시, 사용자의 사용 맥락 분석에 기반하여, 현재 태스크(예: 문서 작업)를 수행하는 동안 클립된 이미지 기반 클립 데이터(1121, 1123, 1125)를 추출하여 클립보드(1000)에 제공할 수 있다. 예를 들면, 예시 화면 <1105>에 예시한 바와 같이, 전자 장치(101)는 클립보드(1000) 상에 문서 작업 시에 클립된 클립 데이터 중 이미지에 관련된 클립 데이터(1121, 1123, 1125)를 추천하여(또는 우선 순위로) 제공할 수 있다.
도 12는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
일 실시예에 따라, 도 12에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터(1230)에 기반하여, 사용자의 이전 태스크를 재개(resume)하도록 지원하는 동작 예를 나타낼 수 있다.
도 12를 참조하면, 전자 장치(101)는 클립 객체(1240) 및 맥락 정보(1250)를 포함하는 클립 데이터(1230)에서, 맥락 정보(1250)에 기반하여 클립 객체(1240)가 클립된 시간(예: 클립 데이터(1230)가 생성된 시간)을 분석할 수 있다. 예를 들면, 전자 장치(101)는 맥락 정보(1250)에서 시간과 관련된 컨텍스트(1255)에 기반하여, 클립 객체(1240)가 클립된 시간이 제1 시간 범위(예: 업무 시간(work hour) 범위)에 포함되는지, 또는 제2 시간 범위(예: 개인 생활 시간(personal life time) 범위)에 포함되는지 여부를 판단할 수 있다. 일 실시예에 따라, 제1 시간 범위 및/또는 제2 시간 범위는 사용자 지정 또는 머신 러닝으로 이해된 시간 정보(1201)를 기반으로 설정될 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자 입력에 기반하여 클립보드(1000) 호출 시, 사용자에 관련된 다양한 상황 정보(예: TPO 정보)에 관련된 맥락 정보에 기반하여, 현재 태스크(예: 제1 시간 범위 또는 제2 시간 범위)에 관련된 클립 데이터(1211, 1213, 1215)를 추천하여(또는 우선 순위로) 제공할 수 있다. 예를 들면, 전자 장치(101)는 클립보드(1000) 호출 시점이 제1 시간 범위인 경우, 클립보드(1000)의 복수의 클립 데이터 중 제1 시간 범위(예: 업무 시간)에 클립된 클립 데이터(1211, 1213, 1215)를 추출하여 클립보드(1000)를 통해 제공할 수 있다.
일 실시예에 따르면, 사용자가 제1 시간 범위에 따른 제1 업무 시간(예: 8:30 ~) 이후, 제2 업무 시간(예: 15:30 ~)에서 클립보드(1000) 호출 시, 전자 장치(101)는 제2 업무 시간이 제1 시간 범위에 속한 것을 인지하고, 제1 업무 시간 동안 클립된 적어도 하나의 클립 데이터(1211, 1213, 1215)를 추천할 수 있다. 일 실시예에 따라, 사용자는 클립 데이터(1211, 1213, 1215) 중 어느 하나의 클립 데이터의 선택에 기반하여 제1 업무 시간의 이전 태스크에 연속된 태스크를 재개할 수 있다. 예를 들면, 전자 장치(101)는 선택된 클립 데이터에 기반하여, 대응하는 어플리케이션 실행 및 해당 어플리케이션에서 이전 태스크까지 수행된 상태의 실행 화면을 제공할 수 있다.
도 13은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
일 실시예에 따라, 도 13에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터(1330)에 기반하여, 사용자의 이전 태스크를 재개하는 동작 예를 나타낼 수 있다.
도 13을 참조하면, 전자 장치(101)는 클립 객체(1340) 및 맥락 정보(1350)를 포함하는 클립 데이터(1330)에서, 맥락 정보(1350)에 기반하여 클립 객체(1340)의 속성을 분석할 수 있다. 일 실시예에 따라, 전자 장치(101)는 표시 중인 클립보드에서, 사용자에 의해 클립 데이터(1330)가 선택되는 경우, 클립 데이터(1330)의 클립 객체(1340) 및/또는 맥락 정보(1350)에 기반하여 클립 데이터(1330)가 미디어(예: 음악 및/또는 동영상) 재생에 따른 소리 발생과 관련된 클립 데이터(1330)에 대응하는지 여부를 판단할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자의 클립 데이터(1330) 선택에 기반하여 태스크 재개를 판단하는 경우, 사용자에 관련된 다양한 상황 정보(1301)(예: 헤드셋(headset) 또는 이어폰 착용 상태)를 고려하여 클립 데이터(1330)에 의한 태스크 재개에 관련된 가이드 및/또는 기능 제어를 제공할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 사용자가 외부 오디오 장치(예: 헤드셋 또는 이어폰)을 착용한 상태에서 미디어 재생과 같이 소리 발생과 관련된 태스크 재개를 시도하는 것으로 판단하는 경우, 관련 가이드(1300) 및 기능 제어를 제공할 수 있다. 예를 들면, 전자 장치(101)는 급작스런 큰 소리로 인한 청각 손상을 방지하기 위해, 관련 가이드(1300)(예: “큰 소리가 재생됩니다. 볼륨 3단계에서 시작합니다. 필요한 경우 볼륨을 재조정 하세요”)를 제공(예: 시각적 표시 및/또는 청각적 출력)하면서, 자동으로 기능을 제어(예: 볼륨 3단계 조정)한 후 클립 데이터(1330)에 의한 태스크의 재개(예: 미디어 재생)를 처리할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 사용자가 외부 오디오 장치(예: 헤드셋 또는 이어폰)을 미착용한 상태에서 미디어 재생과 같이 소리 발생과 관련된 태스크 재개를 시도하는 것으로 판단하는 경우, 관련 가이드 및 기능 제어를 제공할 수도 있다. 예를 들면, 전자 장치(101)는 공공 장소에서 갑자기 소리가 발생하는 것을 방지하기 위해, 관련 가이드를 시각적 및/또는 청각적 정보로 제공하면서, 자동으로 기능을 제어(예: 최소 볼륨 크기로 조정)한 후 클립 데이터(1330)에 의한 태스크의 재개(예: 미디어 재생)를 처리할 수 있다.
도 14는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 제공하는 다른 예를 도시하는 도면이다.
일 실시예에 따라, 도 14에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터(1430)에 기반하여, 사용자의 이전 태스크를 재개하도록 지원하는 동작 예를 나타낼 수 있다.
도 14를 참조하면, 전자 장치(101)는 클립 객체(1440) 및 맥락 정보(1450)를 포함하는 클립 데이터(1430)에서, 맥락 정보(1450)에 기반하여 클립 객체(1440)가 클립된 어플리케이션(예: 메신저 어플리케이션) 및/또는 어플리케이션 내에서의 뎁스(depth)를 분석할 수 있다. 예를 들면, 전자 장치(101)는 현재 태스크를 분석하여 사용자의 어플리케이션 사용 맥락(예: 사용자의 이전 행위 트래킹)을 분석할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자 입력에 기반하여 클립보드(1000) 호출 시, 현재 실행 중인 어플리케이션에 관련된 맥락 정보에 기반하여, 현재 태스크(예: 어플리케이션 및 뎁스)에 관련된 클립 데이터(1411, 1413, 1415)를 추천하여(또는 우선 순위로) 제공할 수 있다. 예를 들면, 전자 장치(101)는 클립보드(1000)가 호출되는 어플리케이션의 속성(예: 메신저 어플리케이션) 및 해당 어플리케이션에서 사용자의 이전 행위를 트래킹(예: 맥락 분석)할 수 있고, 트래킹하는 결과에 기반하여, 클립보드(1000)에 대응하는 클립 데이터(1411, 1413, 1415)를 추천하여 제공할 수 있다.
일 실시예에 따르면, 사용자가 메신저 어플리케이션을 통해 지정된 대화방(예: chat room)에서 적어도 하나의 컨텐츠(예: 컨텐츠(1410))를 클립하는 동작을 수행하고 메신저 어플리케이션을 종료한 이후에, 다시 메신저 어플리케이션을 통해 지정된 대화방으로 진입하여 클립보드(1000)를 호출할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 클립보드(1000) 호출 시, 실행 중인 어플리케이션(예: 메신저 어플리케이션) 및 뎁스(예: 대화방)를 인지할 수 있다.
일 실시예에 따라, 전자 장치(101)는 클립 데이터(1430)의 맥락 정보(1450)에서 어플리케이션과 관련된 컨텍스트(1455)에 기반하여, 해당 어플리케이션의 뎁스에서 클립된 적어도 하나의 클립 데이터(1411, 1413, 1415)를 추출하고, 추출된 적어도 하나의 클립 데이터(1411, 1413, 1415)를 클립보드(1000)에 제공할 수 있다. 예를 들면, 전자 장치(101)는 이전 태스크의 재 실행 시 이전 태스크에서 클립된 클립 데이터(1411, 1413, 1415)를 추천하여 사용자의 이전 태스크에 대한 리마인드(remind)를 제공할 수 있다.
도 15는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다. 도 16a 및 도 16b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면들이다.
일 실시예에 따라, 도 15, 도 16a 및 도 16b에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립보드(또는 클립보드에 관련된 인터페이스)를 제공하는 동작 예를 나타낼 수 있다.
도 15를 참조하면, 동작 1501에서, 전자 장치(101)의 프로세서(120)는 클립보드 호출에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 어플리케이션을 실행하고, 클립 데이터의 사용(예: 붙여넣기)을 위해 클립보드 호출(또는 클립보드 표시)을 위한 지정된 사용자 인터랙션(예: 사용자 입력)을 입력할 수 있다. 어떤 실시예에 따르면, 사용자는 어플리케이션을 실행하지 않은 상태(예: 홈 화면 표시 상태)에서 클립보드 호출에 관련된 사용자 입력을 수행할 수도 있다.
동작 1503에서, 프로세서(120)는 사용자 입력 감지에 기반하여 현재 실행 중인 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력 감지에 기반하여, 전자 장치(101)에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락(또는 상태)을 분석(또는 인지)할 수 있다. 예를 들면, 프로세서(120)는 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립보드 호출 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO 정보)와 같은 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따라, 프로세서(120)는 태스크에 관련된 맥락 분석에 기반하여 제1 맥락 정보를 식별할 수 있다.
동작 1505에서, 프로세서(120)는 사용자 입력 감지에 기반하여 클립보드 호출 및 클립 데이터를 추출할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드에 저장된 복수의 클립 데이터에 각각 대응하는 제2 맥락 정보와 제1 맥락 정보의 비교에 기반하여, 제1 맥락 정보에 대응하는(또는 일치하는) 제2 맥락 정보의 적어도 하나의 클립 데이터를 추출할 수 있다. 예를 들면, 프로세서(120)는 클립보드의 복수의 클립 데이터 중 현재 실행 중인 태스크에 관련된 클립 데이터를 추출할 수 있다.
동작 1507에서, 프로세서(120)는 추출된 클립 데이터를 분류하고, 분류에 대응하는 정렬 인터페이스(예: 정렬(sort) 객체 또는 태그(tag) 객체)를 구성할 수 있다. 일 실시예에 따르면, 프로세서(120)는 추출된 클립 데이터의 제2 맥락 정보에 기반하여, 추출된 클립 데이터를 지정된 속성(예: Data Type, 어플리케이션, 클립된 시점, 클립된 위치(또는 장소)(예: geo location), 또는 사용자 상황)에 기반하여 분류(예: 카테고리 분류)할 수 있고, 분류하는 결과에 기반하여 대응하는 정렬 인터페이스(예: 정렬 객체 또는 태그 객체)를 구성할 수 있다. 예를 들면, 프로세서(120)는 각 분류 별로 일대일 매핑되는 정렬 인터페이스를 구성할 수 있다.
동작 1509에서, 프로세서(120)는 추출된 클립 데이터 및 정렬 인터페이스에 기반하여 클립보드를 제공(예: 표시)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 현재 실행 중인 태스크에 관련된 클립 데이터 및 클립 데이터의 분류에 대응하게 구성된 정렬 인터페이스를 포함하여 클립보드를 제공(예: 표시)할 수 있다. 이의 예가 도 16a에 도시된다.
도 16a를 참조하면, 도 16a에 예시한 바와 같이, 전자 장치(101)는 클립보드(1000) 상에 복수 개의 클립 데이터(1611, 1613, 1615)를 표시하고, 복수 개의 클립 데이터(1611, 1613, 1615)를 지정된 속성 별로 정렬하기 위한 정렬 인터페이스(1610)(예: 정렬 객체 또는 태그 객체)를 포함하여 클립보드(1000)를 제공할 수 있다. 일 실시예에 따라, 정렬 인터페이스(1610)는 클립 데이터(1611, 1613, 1615)로부터 분류된 분류 개수에 대응하는 개수로 구성되어 제공될 수 있다.
동작 1511에서, 프로세서(120)는 정렬 인터페이스에 기반하여 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 프로세서(120)는 도 16a에 예시한 바와 같이 클립 데이터(1611, 1613, 1615)를 포함하는 클립보드(1000)을 표시하는 동안, 정렬 인터페이스(1610)에서 적어도 하나의 정렬 객체를 선택(예: 터치)하는 사용자 입력을 감지할 수 있다. 일 실시예에 따라, 사용자는 정렬 인터페이스(1610)에서, 하나 또는 그 이상의 정렬 객체를 선택하여 정렬 대상을 지정할 수 있다. 일 실시예에 따라, 도 16a를 참조하여, 사용자가 정렬 인터페이스(1610)에서 제1 정렬 객체(예: TAG3), 제2 정렬 객체(예: TAG4), 제3 정렬 객체(예: TAG7) 및 제4 정렬 객체(예: TAG8)의 복수 개의 정렬 객체를 선택하여, 해당 분류의 클립 데이터를 정렬 대상으로 지정할 수 있다.
동작 1513에서, 프로세서(120)는 사용자 입력 감지에 기반하여, 클립보드에서 사용자 입력에 관련된 클립 데이터를 정렬하여 표시할 수 있다. 일 실시예에 따르면, 프로세서(120)는 추출된 클립 데이터 중, 정렬 인터페이스를 통해 지정된 분류의 클립 데이터를 정렬하여 클립보드(1000)에 제공할 수 있다. 이의 예가 도 16b에 도시된다.
도 16b를 참조하면, 도 16b에 예시한 바와 같이, 사용자가 정렬 인터페이스(1610)에서 제1 정렬 객체(예: TAG3), 제2 정렬 객체(예: TAG4), 제3 정렬 객체(예: TAG7) 및 제4 정렬 객체(예: TAG8)를 선택한 예를 나타낼 수 있다. 일 실시예에 따르면, 전자 장치(101)는 클립보드(1000) 내의 클립 데이터(1611, 1613, 1615) 중에서, 선택된 정렬 객체의 분류에 각각 대응하는 클립 데이터(1621, 1623, 1625)만을 추출하고, 추출된 클립 데이터(1621, 1623, 1625)를 재정렬하여 클립보드(1000)에 제공할 수 있다. 일 실시예에 따르면, 사용자는 정렬 인터페이스(1610)의 정렬 객체를 활성화/비활성화(또는 on/off)하는 선택에 기반하여 클립보드(1000) 내의 클립 데이터 검색을 보다 쉽게 수행할 수 있다.
도 17은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다. 도 18은 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면이다.
일 실시예에 따라, 도 17 및 도 18에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립보드의 클립 데이터를 제공(예: 관리)하는 동작 예를 나타낼 수 있다.
도 17을 참조하면, 동작 1701에서, 전자 장치(101)의 프로세서(120)는 클립보드를 표시할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출에 관련된 지정된 사용자 입력에 기반하여 클립보드를 호출하여 표시할 수 있다. 일 실시예에 따라, 클립보드는 사용자에 의해 클립된 복수 개의 클립 데이터를 포함할 수 있다.
동작 1703에서, 프로세서(120)는 클립보드에서 적어도 하나의 클립 데이터를 고정(pinning)하기 위한 제1 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립보드를 실행하고, 클립보드의 클립 데이터 중 적어도 하나의 클립 데이터를 고정하기 위해 지정된 사용자 인터랙션(예: 제1 사용자 입력)을 입력할 수 있다. 이의 예가 도 18의 예시 화면 <1801> 및 예시 화면 <1803>에 도시된다.
도 18을 참조하면, 예시 화면 <1801>에 예시한 바와 같이, 사용자는 클립보드(1000)를 통해 제공된 복수 개의 클립 데이터 중, 클립보드(1000)의 지정된 영역(예: 상단 영역)에 상시 고정하기 위한 클립 데이터(1810)를 지정하는 제1 사용자 입력(1815)을 해당 클립 데이터(1810)에 기반하여 입력할 수 있다. 일 실시예에 따르면, 제1 사용자 입력(1815)은 클립 데이터(1810) 상에서 클립 데이터(1810)를 고정하도록 명령하기 위한 입력으로, 예를 들면, 롱 프레스(long press) 입력, 더블 탭(double tap) 입력, 플릭(flick) 입력 또는 스와이프(swipe) 입력과 같이 다양한 입력 방식으로 설정될 수 있다.
예시 화면 <1803>에 예시한 바와 같이, 전자 장치(101)는 제1 사용자 입력(1815)에 응답하여, 클립 데이터(1810)를 고정하도록 명령할 수 있는 옵션 메뉴(1800)를 지정된 클립 데이터(1810)에 기반하여 제공할 수 있다. 일 실시예에 따라, 옵션 메뉴(1800)는 클립 데이터(1810) 고정을 위한 아이템(예: PIN 객체) 외에, 지정된 클립 데이터(1810)의 관리(또는 운영 또는 편집)에 관련된 다른 아이템을 더 포함할 수 있다.
어떤 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 설정 또는 운영 방식에 따라, 옵션 메뉴(1800)를 제공하는 동작 없이, 제1 사용자 입력(1815)에 기반하여 클립 데이터(1810)를 바로 고정하도록 처리할 수도 있다.
동작 1705에서, 프로세서(120)는 제1 사용자 입력에 기반하여 클립 데이터를 클립보드 내 지정된 영역에 고정하여 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제1 사용자 입력에 기반하여 지정된 클립 데이터를 클립보드의 상단 영역에 상시 고정하여 제공(예: 표시)하도록 설정할 수 있다. 이의 예가 도 18의 예시 화면 <1805>에 도시된다.
도 18을 참조하면, 예시 화면 <1805>에 예시한 바와 같이, 전자 장치(101)는 제1 사용자 입력(1815) 및/또는 옵션 메뉴(1800)를 통해 지정된 클립 데이터(1810)를 클립보드(1000) 내 지정된 영역(1840)에 고정하여 표시할 수 있다. 예를 들면, 지정된 영역(1840)은 클립보드(1000)에서 클립 데이터가 제공되는 영역의 상단 영역일 수 있다.
일 실시예에 따라, 예시 화면 <1805>에서는, 전술한 동작에 기반하여, 사용자에 의해 제1 클립 데이터(1810)가 고정 지정되고, 이어서 제2 클립 데이터(1820)가 고정 지정된 상태일 수 있다. 예를 들면, 사용자는 클립보드의 클립 데이터에 기반하여 복수 개의 클립 데이터(1810, 1820)를 지정된 영역(1840)에 고정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 복수 개의 클립 데이터(1810, 1820)가 고정 지정되는 경우, 최근 순에 기반하여 고정 지정된 클립 데이터(예: 제2 클립 데이터(1820))를 지정된 영역(1840)에서 상위 레이어에 노출하여 제공할 수 있다.
동작 1707에서, 프로세서(120)는 지정된 영역에 고정된 클립 데이터의 펼침을 위한 제2 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립보드에서 지정된 영역의 클립 데이터를 펼치기 위해 지정된 사용자 인터랙션(예: 제2 사용자 입력)을 입력할 수 있다. 이의 예가 도 18의 예시 화면 <1805>에 도시된다.
도 18을 참조하면, 예시 화면 <1805>에 예시한 바와 같이, 사용자는 클립보드(1000)에서 지정된 영역(1840)의 중첩 고정된 클립 데이터(1810, 1820)를 펼쳐서 확인하기 위한 제2 사용자 입력(1835)을 지정된 영역(1840)의 클립 데이터(예: 제2 클립 데이터(1820)) 또는 지정된 정렬 객체(1830)에 기반하여 입력할 수 있다. 일 실시예에 따르면, 제2 사용자 입력(1835)은 지정된 영역(1840) 상에서 중첩된 클립 데이터를 펼치도록 명령하기 위한 입력으로, 예를 들면, 롱 프레스(long press) 입력, 더블 탭(double tap) 입력, 상/하 또는 좌/우 플릭(flick) 또는 스와이프(swipe) 입력과 같이 다양한 입력 방식으로 설정될 수 있다.
어떤 실시예에 따르면, 전자 장치(101)는 지정된 영역(1840)에 복수 개의 클립 데이터(1810, 1820)가 고정 지정되는 경우, 지정된 영역(1840)에 복수 개의 클립 데이터(1810, 1820)가 고정되어 중첩된 상태를 사용자가 쉽게 식별하고, 지정된 영역(1840)의 클립 데이터를 정렬(예: 확장 또는 축소)할 수 있는 정렬 객체(1830)를 제공할 수 있다.
어떤 실시예에 따르면, 전자 장치(101)는 정렬 객체(1830)와 병렬적으로 또는 대체적으로, 지정된 영역(1840)의 클립 데이터(1810, 1820)를 어긋나게 중첩하여, 하위 레이어의 클립 데이터의 일부가 표시되는 방식으로 중첩된 상태를 제공할 수도 있다. 일 실시예에 따르면, 사용자는 지정된 영역(1840) 상의 제2 사용자 입력(1835) 또는 정렬 개체(1830) 기반의 제2 사용자 입력(1835)에 기반하여 지정된 영역(1840)에 고정 지정된 클립 데이터(1810, 1820)를 정렬(예: 확장 또는 축소)할 수 있다.
일 실시예에 따라, 정렬 객체(1830)는 지정된 영역(1840)의 클립 데이터(1810, 1820)의 정렬 상태(예: 축소(또는 중첩) 상태 또는 확장 상태)에 기반하여, 확장 아이템(예: 예시 화면 <1805>의 정렬 객체(1830) 참조) 또는 축소 아이템(예: 예시 화면 <1807>의 정렬 객체(1830) 참조) 형태로 전환하여 제공할 수 있다.
동작 1709에서, 프로세서(120)는 제2 사용자 입력 감지에 기반하여 클립보드의 클립 데이터를 지정된 방식으로 정렬하여 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제2 사용자 입력에 기반하여 지정된 영역의 중첩된 복수 개의 클립 데이터를 펼쳐서(또는 확장하여) 중첩되지 않게 제공할 수 있다. 이의 예가 도 18의 예시 화면 <1807>에 도시된다.
도 18을 참조하면, 예시 화면 <1807>에 예시한 바와 같이, 전자 장치(101)는 지정된 영역(1840) 기반 또는 정렬 객체(1830)(예: 확장 아이템) 기반의 제2 사용자 입력(1835)에 응답하여, 지정된 영역(1840)의 중첩된 클립 데이터(1810, 1820)를 펼쳐서(또는 확장하여) 서로 중첩되지 않게 정렬하여 표시할 수 있다.
예를 들면, 지정된 영역(1840)은 클립보드(1000)에서 클립 데이터가 제공되는 영역의 상단 영역일 수 있고, 전자 장치(101)는 상단 영역을 기준으로 하단 방향으로 지정된 영역(1840)을 확장하여 클립 데이터(1810, 1820)를 제공할 수 있다. 일 실시예에 따라, 지정된 영역(1840)의 확장(또는 중첩 클립 데이터(1810, 1820)의 펼침)에 기반하여 클립보드(1000) 내 다른 클립 데이터가 이동 정렬될 수 있다.
일 실시예에 따르면, 사용자는 클립보드(1000)에서 지정된 영역(1840)에 확장된 클립 데이터(1810, 1820)를 축소 정렬하기 위한 제3 사용자 입력(미도시)을 지정된 영역(1840)에 기반하여 입력할 수 있다. 일 실시예에 따르면, 제3 사용자 입력은 지정된 영역(1840) 상에서 펼쳐진 클립 데이터를 합치도록(또는 중첩하도록) 명령하기 위한 입력으로, 예를 들면, 롱 프레스(long press) 입력, 더블 탭(double tap) 입력, 상/하 또는 좌/우 플릭(flick) 또는 스와이프(swipe) 입력과 같이 다양한 입력 방식으로 설정될 수 있다.
어떤 실시예에 따르면, 전자 장치(101)는 지정된 영역(1840)에 클립 데이터(1810, 1820)가 펼쳐진 상태를 사용자가 쉽게 식별하고, 지정된 영역(1840)의 펼쳐진 클립 데이터를 정렬(예: 축소)할 수 있는 정렬 객체(1830)를 제공할 수 있다. 예를 들면, 예시 화면 <1807>에 예시한 바와 같이, 정렬 객체(1830)가 축소 아이템 형태로 전환되어 제공될 수 있다.
일 실시예에 따르면, 사용자는 지정된 영역(1840) 기반 또는 정렬 개체(1830) 기반의 제3 사용자 입력에 기반하여 지정된 영역(1840)에 펼쳐진 클립 데이터(1810, 1820)를 서로 중첩되게 정렬하여 표시할 수 있다. 예를 들면, 전자 장치(101)는 예시 화면 <1805>와 같은 상태를 제공할 수 있다.
도 19는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
일 실시예에 따라, 도 19에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립보드의 클립 데이터를 제공(예: 관리)하는 동작 예를 나타낼 수 있다. 예를 들면, 도 19에서는, 전자 장치(101)에서 클립보드를 위한 지정된 정책에 기반하여 클립보드를 제공하는 예를 나타낼 수 있다.
도 19를 참조하면, 동작 1901에서, 전자 장치(101)의 프로세서(120)는 클립보드 호출에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립 데이터의 사용을 위해 클립보드 호출(또는 클립보드 표시)을 위한 지정된 사용자 인터랙션(예: 사용자 입력)을 입력할 수 있다.
동작 1903에서, 프로세서(120)는 사용자 입력 감지에 기반하여, 클립보드를 위한 지정된 제공 방식(예: 클립보드를 위한 지정된 정책)을 식별할 수 있다. 일 실시예에 따라, 지정된 제공 방식은, 예를 들면, 클립보드를 사용자 설정에 따른 계정(account) 기반으로 제공하는 방식(예: 제1 지정된 방식) 및/또는 클립보드를 계정에 상관 없이 공개(public) 기반으로 제공하는 방식(예: 제2 지정된 방식)을 포함할 수 있다.
어떤 실시예에 따르면, 제1 지정된 방식은 사용자 계정(user account) 기반으로, 사용자 계정에 의한 로그인(login) 시 대응하는 클립보드에 접근 가능한 프라이빗(private) 방식 및/또는 사용자의 허가 계정 기반으로, 사용자에 의해 사전 등록된(또는 허가된) 계정에 의한 로그인 시 대응하는 클립보드에 일부 접근 가능한 퍼미션(permission) 방식을 포함할 수 있다.
동작 1905에서, 프로세서(120)는 식별하는 결과에 기반하여 제1 지정된 방식의 설정인지, 또는 제2 지정된 방식의 설정인지 여부를 판단할 수 있다.
동작 1905에서, 프로세서(120)는 클립보드의 접근과 관련하여 제1 지정된 방식이 설정된 경우(예: 동작 1905의 ‘예’), 동작 1907에서, 제1 지정된 방식에 기반하여 클립보드를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)에 로그인된 사용자 계정을 식별하고, 로그인된 사용자 계정에 관련된 클립 데이터를 추출하여 클립보드를 제공할 수 있다.
어떤 실시예에 따르면, 프로세서(120)는 전자 장치(101)에 로그인된 계정이, 사용자 계정에 의해 사전 등록된(또는 허가된) 퍼미션 계정(permission account)인 경우, 로그인된 퍼미션 계정에 관련된 클립 데이터를 추출하여 클립보드를 제공할 수 있다. 어떤 실시예에 따르면, 프로세서(120)는 전자 장치(101)에 로그인된 사용자 계정이 없는 경우(예: 로그아웃(logout) 상태), 클립보드를 실행하지 않거나, 또는 클립 데이터가 모두 제외된 클립보드(예: 비어 있는 클립보드)를 제공할 수 있다.
동작 1905에서, 프로세서(120)는 클립보드의 접근과 관련하여 제2 지정된 방식이 설정된 경우(예: 동작 1905의 ‘아니오’), 동작 1909에서, 제2 지정된 방식에 기반하여 클립보드를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)에 로그인 계정에 무관하게, 공개 설정된 클립 데이터를 추출하여 클립보드를 제공할 수 있다. 예를 들면, 프로세서(120)는 예를 들면, 사용자 계정 또는 타인 계정에 상관 없이 로그인된 모든 계정에 대해, 공개로 설정된 클립 데이터를 추출하여 클립보드를 제공할 수 있다.
도 20a 및 도 20b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면들이다.
일 실시예에 따라, 도 20a 및 도 20b에서는, 예를 들어, 전자 장치(101)를 여러 명의 다른 사용자들이 공동 기기로 사용하거나, 또는 사용자가 전자 장치(101)에서 여러 사용자 계정으로 사용하는 경우에 대하여, 계정 기반 클립보드를 제공하기 위한 동작 예를 나타낼 수 있다.
도 20a를 참조하면, 도 20a는 클립보드(1000)의 클립 데이터에 대하여 정책(또는 중요도)을 설정하는 예를 나타낼 수 있다.
일 실시예에 따라, 예시 화면 <2001>에 예시한 바와 같이, 전자 장치(101)는 복수 개의 클립 데이터(2010, 2020, 2030)를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따라, 사용자는 클립보드(1000)의 복수 개의 클립 데이터(2010, 2020, 2030) 중 적어도 하나의 클립 데이터에 정책(예: 노출 정도)을 설정하기 위한 지정된 사용자 인터랙션을 수행할 수 있다.
예를 들면, 예시 화면 <2025>에 예시한 바와 같이, 사용자는 클립보드(1000)의 어느 하나의 클립 데이터(2020)를 지정하여 정책 메뉴(2000)를 호출하기 위한 지정된 사용자 입력(2025)(예: 롱 프레스 입력)을 수행할 수 있다. 어떤 실시예에 따르면, 사용자는 클립보드(1000)의 클립 데이터(2010, 2020, 2030)의 개별적 선택에 기반한 개별 정책을 설정하거나, 또는 클립보드(1000)의 모든 클립 데이터(2010, 2020, 2030)의 일괄 선택에 기반한 일괄 정책을 설정할 수 있다.
일 실시예에 따라, 예시 화면 <2003>에 예시한 바와 같이, 전자 장치(101)는 사용자 입력(2025)에 응답하여, 정책 메뉴(2000)를 지정된 클립 데이터(2020)에 기반하여 제공할 수 있다. 일 실시예에 따라, 정책 메뉴(2000)는 클립 데이터의 보안 레벨(security level)을 설정하기 위한 메뉴로, 예를 들면, 제1 아이템(예: ‘Public’ 아이템), 제2 아이템(예: ‘under Permission’ 아이템), 및 제3 아이템(예: ‘Private’ 아이템)을 포함할 수 있다.
일 실시예에 따라, 제1 아이템에 의한 제1 정책(예: Public)은, 예를 들면, 클립보드를 공개 기반으로 제공하는 것으로, 보안 레벨(또는 중요도)이 “하”에 대응하는 정책(예: 모두 공개) 설정을 나타낼 수 있다. 예를 들면, 제1 아이템 기반으로 정책이 설정되는 경우, 대응하는 적어도 하나의 클립 데이터는 로그인 계정에 상관 없이 공개 기반으로 제공될 수 있다. 예를 들면, 제1 아이템에 의한 정책(또는 보안 레벨)은 전자 장치(101)에 로그인 되는 계정에 상관 없이 로그인된 모든 사용자가 접근 가능한 정책을 나타낼 수 있다.
일 실시예에 따라, 제2 아이템에 의한 제2 정책(예: under Permission)은, 예를 들면, 클립보드를 사용자 계정 및 로그인된 사용자 계정에 기반하여 사전 등록된(또는 허가된) 추가 계정에 제한하여 제공하는 것으로, 보안 레벨(또는 중요도)이 “중”에 대응하는 정책(예: 부분(또는 제한적) 공개) 설정을 나타낼 수 있다.
예를 들면, 제2 아이템 기반으로 정책이 설정되는 경우, 대응하는 적어도 하나의 클립 데이터는 로그인된 계정이 사용자 계정 및/또는 사용자 계정에 의해 사전 등록된 계정에 한정하는 허가 기반으로 제공될 수 있다. 예를 들면, 제2 아이템에 의한 정책(또는 보안 레벨)은 사용자의 허가 계정 기반으로, 사용자에 의해 사전 등록된(또는 허가된) 계정에 의한 로그인 시 클립보드에 일부 접근 가능한 정책을 나타낼 수 있다.
일 실시예에 따라, 제3 아이템에 의한 제3 정책(예: Private)은, 예를 들면, 클립보드를 사용자 계정에 제한하여 제공하는 것으로, 보안 레벨(또는 중요도)이 “상”에 대응하는 정책(예: 개인 공개) 설정을 나타낼 수 있다. 예를 들면, 제3 아이템 기반으로 정책이 설정되는 경우, 대응하는 적어도 하나의 클립 데이터는 로그인된 사용자 계정(예: 클립 데이터를 생성한 사용자 계정)에 한해 제공될 수 있다. 예를 들면, 제3 아이템에 의한 정책(또는 보안 레벨)은 사용자 계정 기반으로, 사용자 계정에 의한 로그인시 클립보드(예: 사용자 계정에 의해 생성된 클립 데이터)에 접근 가능한 정책을 나타낼 수 있다.
도 20b를 참조하면, 도 20b는 전자 장치(101)에서 다른 계정으로 로그인된 경우에 대하여, 설정된 정책에 기반하여 클립보드를 제공하는 예를 나타낼 수 있다. 예를 들면, 도 20b에서는 사용자 계정 기반의 정책(예: Private)이 설정된 경우를 예로 할 수 있다.
일 실시예에 따라, 도 20a에서, 전자 장치(101)에 로그인된 제1 사용자 계정과, 도 20b에서, 전자 장치(101)에 로그인된 제2 사용자 계정이 다른 경우일 수 있다. 일 실시예에 따라, 도 20b에 예시한 바와 같이, 전자 장치(101)는 로그인된 사용자 계정을 식별하고, 로그인된 사용자 계정에 관련된 클립 데이터를 추출하여 클립보드를 제공할 수 있다. 예를 들면, 제1 사용자 계정 로그인 시에는, 제1 클립 데이터(2010, 2020, 2030)이 제공될 수 있고, 제2 사용자 계정 로그인 시에는, 제2 클립 데이터(2030, 2040, 2050)이 제공될 수 있다.
어떤 실시예에 따르면, 제1 사용자 계정에서 지정된 클립 데이터(예: 클립 데이터(2050))에 대해 비공개 설정(또는 프라이빗 설정)되고, 제2 사용자 계정이 로그인 되고, 클립보드의 전체 정책 설정이 제1 정책(예: Public) 또는 제2 정책(예: under Permission)인 경우, 제1 사용자 계정에 의해 비공개 설정된 클립 데이터(2050)는 보안 설정되어 클립보드(1000)에 보여지지 않거나, 또는 도 20b에 예시한 바와 같이, 비공개 상태(2055)(또는 잠금 상태)로 제공할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 계정 기반 클립보드(또는 유니버셜 클립보드(universal clipboard) 또는 클라우드 클립보드(cloud clipboard))를 제공할 수 있고, 사용자는 클립보드 내 클립 데이터에 대해 개별 또는 일괄적으로 중요도(또는 보안 레벨)를 설정할 수 있다. 예를 들면, 전자 장치(101)가 여러 사용자가 함께 사용하는 공용 기기로 사용되는 경우, 보안의 목적으로 클립보드 또는 클립 데이터에 중요도를 지정하도록 하고, 중요도에 따라 공동 기기에서 클립보드 또는 클립 데이터의 노출 정도를 다르게 제공할 수 있다.
도 21a 및 도 21b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면들이다.
일 실시예에 따라, 도 21a 및 도 21b에서는, 예를 들어, 전자 장치(101)(예: 제1 전자 장치(101A))에서 사용자 계정을 로그아웃 하는 경우에 대하여, 계정 기반 클립보드를 제공하는 동작 예를 나타낼 수 있다.
도 21a를 참조하면, 도 21a는 전자 장치(101)(예: 제1 전자 장치(101A))에서 사용자 계정을 로그아웃 하는 경우에, 클립보드(1000)의 클립 데이터를 보안 설정하여 제공하는 예를 나타낼 수 있다.
일 실시예에 따라, 예시 화면 <2101>에 예시한 바와 같이, 전자 장치(101)는 복수 개의 클립 데이터(2110, 2120, 2130)를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따라, 사용자는 예시 화면 <2101>과 같이 전자 장치(101)는 사용하는 동안, 전자 장치(101)에서 사용자 계정을 로그아웃 할 수 있다.
일 실시예에 따라, 예시 화면 <2103>에 예시한 바와 같이, 전자 장치(101)는 사용자의 사용자 계정의 로그아웃을 감지하는 경우, 사용자 계정 기반의 클립보드(1000)를 보안 설정하여 제공할 수 있다. 예를 들면, 전자 장치(101)는 클립보드(1000)에서 사용자 계정을 기반으로 생성된 클립 데이터(2110, 2120, 2130)를 일괄 삭제할 수 있다. 일 실시예에 따라, 사용자 계정 로그아웃에 따른 클립 데이터(2110, 2120, 2130)의 일괄 삭제는, 메모리(130)에서 실질적 삭제는 아니며, 예를 들면, 클립보드(1000) 내에서 숨김 처리(또는 표시 제거)하는 것을 의미할 수 있다.
도 21b를 참조하면, 도 21b는 사용자 계정으로 로그인된 전자 장치(101)(예: 제2 전자 장치(101B))에서 클립보드(2100)를 제공하는 예를 나타낼 수 있다. 예를 들면, 도 21b에서는 제1 전자 장치(101A)에서는 사용자 계정이 로그아웃 상태이고, 제2 전자 장치(101B)에서는 사용자 계정이 로그인 상태일 수 있다.
일 실시예에 따라, 도 21b에 예시한 바와 같이, 전자 장치(101)(예: 제2 전자 장치(101B))는 로그인된 사용자 계정에 기반하여 클립보드(2100)를 제공할 수 있다. 예를 들면, 사용자 계정을 기반으로 생성된 클립 데이터(2110, 2120, 2130)를 포함하여 클립보드(2100)를 제공할 수 있다. 예를 들면, 사용자 계정 기반으로 연동되는 클립보드(1000, 2100)는 유니버셜 클립보드(또는 클라우드 클립보드)와 연동되어 동작할 수 있고, 사용자 계정의 로그인 또는 로그아웃 상태에 따라, 클립 데이터(2110, 2120, 2130)를 제공할 수 있다. 예를 들면, 로그아웃 상태의 전자 장치(101)(예: 제1 전자 장치(101A))에서는 클립 데이터(2110, 2120, 2130)가 모두 제외된 클립보드(1000)를 제공할 수 있고, 로그인 상태의 전자 장치(101)(예: 제2 전자 장치(101B))에서는 클립 데이터(2110, 2120, 2130)가 모두 포함된(또는 표시된) 클립보드(2100)를 제공할 수 있다.
도 22는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다. 도 23a 및 도 23b는 다양한 실시예들에 따른 전자 장치에서 클립보드를 제공하는 예를 도시하는 도면들이다.
일 실시예에 따라, 도 22, 도 23a 및 도 23b에서는 전자 장치(101)(예: 제1 전자 장치(101A))에서 클립보드(1000)의 변경 사항을 사용자 계정 기반으로 공유(예: 계정 기반 공유 또는 동기화)하는 동작 예를 나타낼 수 있다. 예를 들면, 도 22에서는 전자 장치(101)(예: 제1 전자 장치(101A))에서 클립 데이터를 변경(예: 편집(editing))하여 전자 장치(101)의 클립보드에 저장하는 경우, 클립보드에서 변경된 클립 데이터를, 사용자 계정 기반의 다른 전자 장치(101)(예: 제2 전자 장치(101B))와 공유(예: 계정 기반 공유 또는 동기화)하는 예를 나타낼 수 있다.
도 22를 참조하면, 동작 2201에서, 전자 장치(101)의 프로세서(120)는 클립보드를 표시할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출에 관련된 지정된 사용자 입력에 기반하여 클립보드를 호출하여 표시할 수 있다. 일 실시예에 따라, 클립보드는 사용자에 의해 클립된 복수 개의 클립 데이터를 포함할 수 있다.
동작 2203에서, 프로세서(120)는 클립보드에서 적어도 하나의 클립 데이터를 편집하기 위한 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립보드를 실행하고, 클립보드의 클립 데이터 중 적어도 하나의 클립 데이터를 편집하기 위해 지정된 사용자 인터랙션(예: 사용자 입력)을 입력할 수 있다. 이의 예가 도 23a의 예시 화면 <2301>에 도시된다.
도 23a를 참조하면, 예시 화면 <2301>에 예시한 바와 같이, 사용자는 클립보드(1000)를 통해 제공된 복수 개의 클립 데이터(2310, 2320, 2330) 중, 편집을 위한 클립 데이터(2320)를 지정하는 사용자 입력을 해당 클립 데이터(2320)에 기반하여 입력할 수 있다. 일 실시예에 따르면, 사용자 입력은 클립 데이터(2320) 상에서 클립 데이터(2320)를 편집하도록 명령하기 위한 입력을 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 클립보드(1000)에서 편집 가능한 클립 데이터(예: 클립 데이터(2310), 클립 데이터(2320))에 대해, 편집 객체(2390)를 제공할 수 있고, 편집 객체(2390)로부터 해당 클립 데이터의 편집을 위한 사용자 입력을 수신할 수도 있다.
동작 2205에서, 프로세서(120)는 사용자 입력에 기반하여 클립 데이터를 편집할 수 있는 편집 툴(예: 편집 어플리케이션)을 실행할 수 있다. 일 실시예에 따라, 프로세서(120)는 지정된 클립 데이터의 속성에 기반하여 편집 가능한 편집 툴을 식별할 수 있고, 식별된 편집 툴을 실행할 수 있다. 일 실시예에 따라, 프로세서(120)는 편집 툴 실행에 기반하여, 지정된 클립 데이터(예: 클립 데이터의 클립 객체)를 표시할 수 있다. 이의 예가 도 23a의 예시 화면 <2303>에 도시된다.
도 23a를 참조하면, 예시 화면 <2303>에 예시한 바와 같이, 전자 장치(101)는 클립보드(1000)가 표시된 실행 화면 상에 편집 툴(2300)의 실행 화면을 중첩 또는 플로팅(floating) 방식으로 제공할 수 있다. 일 실시예에 따라, 편집 툴(2300)은 사용자에 의해 지정된 클립 데이터(2320)의 클립 객체(2340)(예: 이미지)를 표시하고, 사용자의 편집을 지원하기 위한 다양한 편집 도구(미도시)를 포함하여 제공할 수 있다.
일 실시예에 따라, 전자 장치(101)는 편집 툴(2300)에 기반하여, 편집되는 클립 데이터의 공유(또는 동기화) 대상을 설정할 수 있는 공유 대상 지정 객체(2350)를 제공할 수 있다. 일 실시예에 따라, 공유 대상 지정 객체(2350)는 사용자 계정에 기반하여 클립보드를 공유하도록(또는 동기화하도록) 지정된 적어도 하나의 전자 장치(101)(예: 제1 전자 장치, 제2 전자 장치, 제3 전자 장치 및 제4 전자 장치)에 대응하여 제공될 수 있다.
일 실시예에 따라, 도 23a에서는 4개의 전자 장치가 사용자 계정 기반으로 연결되는(또는 동기화된) 예를 나타낼 수 있다. 일 실시예에 따르면, 사용자는 공유 대상 지정 객체(2350)에서 제외 객체(2355) 선택에 기반하여, 편집되는 클립 데이터의 공유(또는 동기화) 대상에서 제외할 전자 장치를 선택할 수 있다. 일 실시예에 따라, 공유 대상을 설정하는 예와 관련하여 후술하는 도 24를 참조하여 설명된다.
동작 2207에서, 프로세서(120)는 클립 데이터를 편집할 수 있다. 일 실시예에 따르면, 프로세서(120)는 편집 툴을 통해 표시된 클립 데이터(예: 클립 객체)에 대한 사용자 입력에 기반하여 클립 데이터를 편집할 수 있다. 이의 예가 도 23a의 예시 화면 <2305>에 도시된다.
도 23a를 참조하면, 예시 화면 <2305>에 예시한 바와 같이, 사용자는 편집 툴(2300)을 통해 표시된 클립 객체(2340)를 지정된 편집 도구를 이용하여 편집할 수 있다.
동작 2209에서, 프로세서(120)는 편집된 클립 데이터의 저장을 위한 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립 데이터의 편집을 완료할 시, 편집 툴을 종료하는 지정된 사용자 입력 또는 편집된 클립 데이터를 클립보드에 적용(예: 저장)하기 위한 지정된 사용자 입력을 수행할 수 있다.
동작 2211에서, 프로세서(120)는 편집된 클립 데이터의 저장을 위한 사용자 입력 감지에 기반하여, 편집된 클립 데이터를 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력(예: 편집된 클립 데이터 저장을 명령하는 입력)에 응답하여, 편집된 클립 데이터를 클립보드(1000)에 저장할 수 있다. 이의 예가 도 23a의 예시 화면 <2307>에 도시된다.
도 23a를 참조하면, 예시 화면 <2307>에 예시한 바와 같이, 클립보드(1000)에 편집된 클립 데이터(2325)가 적용되어 제공될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 클립보드(1000)에서 기존 클립 데이터(2320)를 편집된 클립 데이터(2325)로 업데이트(또는 대체)하여 제공할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 클립보드(1000)에서 기존 클립 데이터(2320)는 유지하고, 편집된 클립 데이터(2325)를 추가하여 제공할 수도 있다. 예를 들면, 전자 장치(101)는 클립보드(1000)의 클립 데이터가 편집되는 경우, 대응하는 기존 클립 데이터(2320)를 유지 또는 삭제하고, 편집된 클립 데이터(2325)를 제공할 수 있다.
동작 2213에서, 프로세서(120)는 클립보드의 변경 사항(또는 업데이트 내용)을 실시간 공유(또는 동기화)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립보드에서 편집된 클립 데이터를 사용자 계정 기반으로 연결된 다른 전자 장치(101)의 클립보드에서도 적용되도록 클립보드의 변경 사항을 공유할 수 있다. 일 실시예에 따르면, 전자 장치(101)의 클립보드는 사용자 계정에 기반하여 클라우드(예: 클라우드 클립보드)와 연동될 수 있다. 일 실시예에 따르면, 전자 장치(101)(예: 제1 전자 장치, 제2 전자 장치, 제3 전자 장치, 및 제4 전자 장치) 내의 클립보드가 업데이트(예: 클립 데이터 추가, 변경 및/또는 삭제)되는 경우, 각 전자 장치(101)의 클립보드에서도 업데이트 내용이 동일하게 적용될 수 있다. 이의 예가 도 23b에 도시된다.
도 23b를 참조하면, 도 23b는 사용자 계정으로 연결된 전자 장치(101)(예: 제2 전자 장치(101B))에서 클립보드(23700)를 제공하는 예를 나타낼 수 있다. 예를 들면, 도 23b에서는 제1 전자 장치(101A)에서 편집된 클립 데이터(2325)가, 제2 전자 장치(101B)에서도 동일하게 적용된(예: 동기화된) 예를 나타낼 수 있다. 예를 들면, 제2 전자 장치(101B)에서도 제1 전자 장치(101A)의 업데이트 내용이 공유될 수 있다.
일 실시예에 따르면, 사용자 계정 기반의 전자 장치(101)(예: 제1 전자 장치, 제2 전자 장치, 제3 전자 장치, 및 제4 전자 장치)는 클립보드(1000, 2370)가 서로 연결되어 동기화될 수 있고, 전자 장치(101)는 클립보드(1000, 2370)를 통해 클립 데이터의 편집(예: 추가, 변경 및/또는 삭제)하도록 지원할 수 있다. 일 실시예에 따르면, 사용자 계정 기반의 전자 장치(101)는 어느 일 전자 장치에서 클립 데이터의 편집이 발생되는 경우, 해당 업데이트 내용을 사용자 계정 기반의 전자 장치(101) 간에 공유(또는 동기화)하여 실시간 반영할 수 있다.
도 24는 다양한 실시예들에 따른 전자 장치에서 클립보드의 동기화 대상을 설정하는 예를 도시하는 도면이다.
일 실시예에 따라, 도 24에서는 전자 장치(101)에서 클립보드의 클립 데이터를 공유할, 사용자 계정 기반의 다른 전자 장치(101)를 설정하는 예를 나타낼 수 있다.
도 24를 참조하면, 예시 화면 <2401>에 예시한 바와 같이, 전자 장치(101)는 복수 개의 클립 데이터(2410, 2420, 2430)를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따라, 전자 장치(101)는 클립보드 호출에 관련된 지정된 사용자 입력에 기반하여 클립보드를 호출하여 표시할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 클립보드(1000)에서 편집 가능한 클립 데이터(예: 클립 데이터(2410), 클립 데이터(2420))에 대해, 편집 객체(2490)를 제공할 수도 있다. 예를 들면, 전자 장치(101)는 편집 객체(2490)로부터 해당 클립 데이터의 편집을 위한 사용자 입력을 수신할 수 있다.
일 실시예에 따라, 편집 객체(2490)는 도 24의 예시와 같이, 클립 데이터의 공유(또는 동기화) 대상을 설정하기 대상 지정 모드 진입을 위한 객체일 수 있다. 어떤 실시예에 따르면, 편집 객체(2490)는 도 23a에서 예시된 바와 같이, 클립 데이터 편집을 위한 편집 모드 진입을 위한 객체로 대체할 수 있고, 그에 대응하는 인터페이스를 제공할 수도 있다.
일 실시예에 따라, 예시 화면 <2401>과 같은 상태에서, 사용자는 클립보드(1000)를 통해 제공된 복수 개의 클립 데이터(2310, 2320, 2330)의 공유 대상을 설정하기 위한 사용자 입력을 수행할 수 있다. 어떤 실시예에 따르면, 사용자 입력은 편집 객체(2490)에 기반하여 해당 클립 데이터의 공유 대상을 설정하기 위한 사용자 입력(예: 편집 객체(2490) 선택 입력)을 포함할 수 있다.
일 실시예에 따르면, 예시 화면 <2403>에 예시한 바와 같이, 전자 장치(101)는 클립보드(1000)가 표시된 실행 화면 상에 편집 툴(2400)의 실행 화면을 중첩 또는 플로팅 방식으로 제공할 수 있다. 일 실시예에 따라, 편집 툴(2400)은 사용자에 의해 지정된 적어도 하나의 클립 데이터의 공유(또는 동기화) 대상을 설정할 수 있는 툴을 포함할 수 있다. 일 실시예에 따르면, 편집 툴(2400)은 공유 대상 지정 객체(예: 제1 객체(2450), 제2 객체(2460), 제3 객체(2470), 및 제4 객체(2480))를 제공할 수 있다.
일 실시예에 따라, 공유 대상 지정 객체(예: 제1 객체(2450), 제2 객체(2460), 제3 객체(2470), 및 제4 객체(2480))는 사용자 계정에 기반하여 클립보드를 공유하도록(또는 동기화하도록) 지정된 적어도 하나의 전자 장치(101)(예: 제1 전자 장치, 제2 전자 장치, 제3 전자 장치 및 제4 전자 장치)에 대응하여 제공될 수 있다. 일 실시예에 따라, 도 24에서는 4개의 전자 장치(예: 제1 전자 장치, 제2 전자 장치, 제3 전자 장치 및 제4 전자 장치)가 사용자 계정 기반으로 연결되는(또는 동기화된) 예를 나타낼 수 있다.
일 실시예에 따르면, 사용자는 공유 대상 지정 객체(예: 제1 객체(2450), 제2 객체(2460), 제3 객체(2470), 및 제4 객체(2480))에서 제외 객체(예: 제3 객체(2470)의 제외 객체(2475)) 선택에 기반하여, 해당 전자 장치(예: 제3 전자 장치)를 클립 데이터의 공유(또는 동기화) 대상에서 제외할 수 있다. 이의 예가 예시화면 <2405>에 도시된다.
일 실시예에 따르면, 예시 화면 <2405>에 예시한 바와 같이, 전자 장치(101)는 편집 툴(2400)의 기존 공유 대상 지정 객체(예: 제1 객체(2450), 제2 객체(2460), 제3 객체(2470), 및 제4 객체(2480))에서, 제3 객체(2470)을 제외하고, 제1 객체(2450), 제2 객체(2460) 및 제4 객체(2480)를 제공할 수 있다.
일 실시예에 따라, 도 24에서는 사용자 계정 기반의 전자 장치(101)의 목록을 제공하고, 그에 기반하여 공유 대상을 설정하는 예를 나타낼 수 있다. 어떤 실시예에 따르면, 도 24와 같은 방식에 기반하여 동작하되, 공대 대상 지정 객체의 전자 장치(101)의 목록은 해당 클립 데이터를 사용한 전자 장치의 목록으로 제공할 수도 있다. 예를 들면, 전자 장치(101)는 해당 클립 데이터가 어떠한 전자 장치에서 사용 또는 동기화 되어 있는지 식별할 수 있고, 식별하는 결과에 기반하여 대응하는 전자 장치 목록을 공유 대상 지정 객체로 제공할 수 있다.
일 실시예에 따라, 도 23a 및 도 24의 예시에서는, 클립 데이터를 공유할 전자 장치를 제외하는 동작을 예로 설명하였으나, 다양한 실시예들이 이에 제한하는 것은 아니다. 예를 들면, 도 23a 및 도 24에 대응하는 동작에 기반하여, 클립 데이터를 공유할 전자 장치를 추가할 수도 있다. 예를 들면, 전자 장치(101)는 클립 데이터의 공유 대상의 전자 장치를 설정할 수 있는 인터페이스에 기반하여, 공유 대상의 전자 장치를 제외 또는 추가하도록 할 수 있다.
도 25는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다. 도 26은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 활용하는 예를 도시하는 도면이다.
일 실시예에 따라, 도 25 및 도 26에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터에 기반하여, 사용자의 이전 태스크를 재개하도록 지원하는 동작 예를 나타낼 수 있다.
도 25를 참조하면, 동작 2501에서, 전자 장치(101)의 프로세서(120)는 클립보드를 표시할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출에 관련된 지정된 사용자 입력에 기반하여 클립보드를 호출하여 표시할 수 있다. 일 실시예에 따라, 클립보드는 사용자에 의해 클립된 복수 개의 클립 데이터를 포함할 수 있다.
동작 2503에서, 프로세서(120)는 클립보드에서 적어도 하나의 클립 데이터의 선택에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립보드를 실행하고, 클립보드의 클립 데이터 중 적어도 하나의 클립 데이터를 선택하여 태스크 재개를 수행하기 위한 지정된 사용자 인터랙션을 수행할 수 있다. 이의 예가 도 26에 도시된다.
도 26을 참조하면, 전자 장치(101)는 복수 개의 클립 데이터(예: 제1 클립 데이터(2610), 제2 클립 데이터(2620), 제3 클립 데이터(2630))를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따르면, 사용자는 클립보드(1000)의 클립 데이터(2610, 2620, 2630) 중 사용자의 태스크 재개에 관련된 클립 데이터를 선택할 수 있다.
동작 2505에서, 프로세서(120)는 사용자 입력에 기반하여 선택된 클립 데이터의 맥락 정보를 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터가 선택되는 경우, 클립 데이터의 맥락 정보를 분석할 수 있다. 이의 예가 도 26에 도시된다.
도 26을 참조하면, 클립보드(1000)의 클립 데이터(2610, 2620, 2630)는 각각에 대응하는 맥락 정보(예: 제1 맥락 정보(2615), 제2 맥락 정보(2625), 제3 맥락 정보(2635))를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자의 클립 데이터 선택에 기반하여, 선택된 클립 데이터의 맥락 정보(2615, 2625, 2635)를 추출 및 분석할 수 있다.
동작 2507에서, 프로세서(120)는 클립 데이터에 관련된 어플리케이션을 실행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터의 맥락 정보에 기반하여, 클립 데이터에 연관된 어플리케이션을 식별하여 실행할 수 있다.
동작 2509에서, 프로세서(120)는 클립 데이터에 기반하여 사용자의 태스크를 재개할 수 있다. 일 실시예에 따르면, 프로세서(120)는 실행된 어플리케이션에서 이전 태스크에 연속된 태스크를 재개할 수 있다. 예를 들면, 프로세서(120)는 맥락 정보에 기반하여, 해당 어플리케이션에서 이전 태스크까지 수행된 상태의 실행 화면을 제공할 수 있다. 이의 예가 도 26에 도시된다.
도 26을 참조하면, 전자 장치(101)는 표시 중인 클립보드에서, 사용자에 의해 클립 데이터(2610, 2620, 2630)가 선택되고, 사용자의 클립 데이터(2610, 2620, 2630) 선택에 기반하여 태스크 재개를 판단하는 경우, 각각 대응하는 맥락 정보(2615, 2625, 2635)에 기반하여, 클립 데이터에 의한 태스크를 실행할 수 있다. 예를 들면, 사용자는 전자 장치(101)에서 클립보드(1000)를 이용하여, 이전 수행 중이던 태스크를 이어서 연속되게 수행할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자의 제1 클립 데이터(2610) 선택에 기반하여 제1 맥락 정보(2615)를 분석하고, 제1 맥락 정보(2615)에 따라 판단된 제1 어플리케이션(예: 문서 어플리케이션)을 실행할 수 있다. 일 실시예에 따라, 전자 장치(101)는 제1 어플리케이션에서 제1 맥락 정보(2615)에 기반하여 이전 태스크까지의 맥락을 분석하고, 대응하는 문서(예: 작업 파일)을 호출하여 제1 어플리케이션의 실행 화면(예: 이전 태스크까지 수행된 상태의 문서 작업 화면)을 표시할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자의 제2 클립 데이터(2620) 선택에 기반하여 제2 맥락 정보(2625)를 분석하고, 제2 맥락 정보(2625)에 따라 판단된 제2 어플리케이션(예: 지도 어플리케이션)을 실행할 수 있다. 일 실시예에 따라, 전자 장치(101)는 제2 어플리케이션에서 제2 맥락 정보(2625)에 기반하여 이전 태스크까지의 맥락을 분석하고, 대응하는 지도 및 위치 정보를 분석하여 제2 어플리케이션의 실행 화면(예: 이전 태스크까지 수행된 상태의 지도 화면)을 표시할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자의 제3 클립 데이터(2630) 선택에 기반하여 제3 맥락 정보(2635)를 분석하고, 제3 맥락 정보(2635)에 따라 판단된 제3 어플리케이션(예: 브라우저 어플리케이션)을 실행할 수 있다. 일 실시예에 따라, 전자 장치(101)는 제3 어플리케이션에서 제3 맥락 정보(2635)에 기반하여 이전 태스크까지의 맥락을 분석하고, 대응하는 웹페이지를 호출(예: URL 접속)하여 제3 어플리케이션의 실행 화면(예: 이전 태스크까지 수행된 상태의 웹페이지 화면)을 표시할 수 있다.
도 27은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
일 실시예에 따라, 도 27에서는 전자 장치(101)에서 클립보드의 클립 데이터가 어플리케이션의 실행 화면에서 이동(예: 드래그 앤 드롭(drag & drop))되는 영역에 기반하여 클립 데이터를 운영(예: 기능 실행)하는 예를 나타낼 수 있다.
도 27을 참조하면, 동작 2701에서, 전자 장치(101)의 프로세서(120)는 클립보드를 표시할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출에 관련된 지정된 사용자 입력에 기반하여 클립보드를 호출하여 표시할 수 있다. 일 실시예에 따라, 클립보드는 사용자에 의해 클립된 복수 개의 클립 데이터를 포함할 수 있다.
동작 2703에서, 프로세서(120)는 클립 데이터의 이동에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 프로세서(120)는 지정된 클립 데이터가 클립보드로부터 실행 화면 내로 이동(예: 드래그 앤 드롭)되는 사용자 입력을 감지할 수 있다.
동작 2705에서, 프로세서(120)는 사용자 입력 감지에 기반하여, 사용자의 입력이 이동되는 이동 영역을 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 지정된 클립 데이터가 클립보드로부터 실행 화면 내에서 이동되는 영역을 식별할 수 있다. 일 실시예에 따라, 클립 데이터가 실행 화면 내에서 이동되는 영역은, 예를 들면, 실행 화면에서 어플리케이션 실행 화면에 대응하는 제1 지정된 영역(예: 입력 영역(또는 입력 필드)) 및 실행 화면에서 어플리케이션 실행 화면 외의 영역에 대응하는 제2 지정된 영역(예: 입력 영역 외의 다른 영역(예: 에지(edge) 영역, 빈 영역(또는 바탕 화면), 태스크 바(task bar) 영역))으로 구분할 수 있다.
동작 2707에서, 프로세서(120)는 식별하는 결과에 기반하여, 클립 데이터가 이동되는 영역이 제1 지정된 영역인지, 또는 제2 지정된 영역인지 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터가 이동(예: 드래그 앤 드롭)되는 위치 정보를 트래킹하고, 트래킹하는 위치 정보에 기반하여, 클립 데이터의 최종 이동 영역이 제1 지정된 영역에 대응하는지, 또는 제2 지정된 영역에 대응하는지 판단할 수 있다.
동작 2707에서, 프로세서(120)는 제1 지정된 영역으로 판단하는 경우(예: 동작 2707의 ‘예’), 동작 2709에서, 제1 기능을 실행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터가 입력 영역으로 이동되는 경우, 클립 데이터를 붙여넣기(paste) 하는 기능을 실행할 수 있다.
동작 2709에서, 프로세서(120)는 제2 지정된 영역으로 판단하는 경우(예: 동작 2707의 ‘아니오’), 동작 2711에서, 제2 기능을 실행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터가 입력 영역 외의 다른 영역(예: 에지 영역 또는 빈 영역(예: 바탕 화면))으로 이동되는 경우, 클립 데이터에 기반하여 태스크를 재개(task resume)하는 기능을 실행할 수 있다.
일 실시예에 따라, 클립 데이터가 클립보드로부터 드래그 앤 드롭 되는 영역에 기반하여 다른 기능을 실행하는 동작과 관련하여 도 28 및 도 29에 도시된다.
도 28은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 운영하는 예를 도시하는 도면이다.
도 28을 참조하면, 도 28은 전자 장치(101)에서 클립보드(1000)의 클립 데이터가 제1 지정된 영역(예: 입력 영역) 또는 제2 지정된 영역(예: 에지 영역)에 드래그 앤 드롭 되는 것에 기반하여 대응하는 기능을 실행(예: 클립 데이터를 운영)하는 예를 나타낼 수 있다.
일 실시예에 따라, 예시 화면 <2801>에 예시한 바와 같이, 전자 장치(101)는 복수 개의 클립 데이터(2810, 2820)를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따라, 전자 장치(101)는 클립보드(1000)를 디스플레이 모듈(160)의 지정된 영역을 통해 실행 화면(2800) 상에 제공(예: 표시)할 수 있다. 예를 들면, 프로세서(120)는 클립보드(1000)를 실행 화면(2800) 상에 중첩(overlay)하여 제공하거나, 팝업 윈도우에 의한 팝업 형식으로 제공하거나, 또는 분할 윈도우에 의한 분할 영역에 제공할 수 있다.
일 실시예에 따라, 예시 화면 <2803>에 예시한 바와 같이, 사용자는 클립보드(1000)에서 클립 데이터(2820)를 선택하여, 실행 화면(2800)으로 이동할 수 있다. 일 실시예에 따라, 사용자는 클립 데이터(2820)를 이용하여 사용하고자 하는 용도에 따라, 클립 데이터(2820)를 제1 지정된 영역 또는 제2 지정된 영역으로 드래그 후 원하는 위치에 드롭 할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 클립보드(1000)로부터 클립 데이터(2820)가 선택되어 실행 화면(2800)으로 드래그 되는 것에 대응하여 클립보드(1000)를 지정된 방향으로 프레임 아웃(frame out)(또는 슬라이드 아웃(slide out))하고, 드롭 되는 것에 대응하여 클립보드(1000)를 화면에서 제거하는 효과를 제공할 수 있다.
일 실시예에 따라, 예시 화면 <2805>에 예시한 바와 같이, 사용자는 드래그된 클립 데이터(2820)를 실행 화면(2800), 예를 들면, 제1 지정된 영역(예: 입력 영역)에서 드롭 할 수 있다. 일 실시예에 따라, 예시 화면 <2807>에 예시한 바와 같이, 전자 장치(101)는 클립 데이터(2820)가 제1 지정된 영역에 드롭 되는 경우, 클립 데이터(2820)(예: 클립 데이터(2820)의 클립 객체)를 실행 화면(2800)에 붙여넣기 하는 제1 기능을 실행할 수 있다.
일 실시예에 따라, 예시 화면 <2809>에 예시한 바와 같이, 사용자는 드래그된 클립 데이터(2820)를 실행 화면(2800) 외의 다른 영역(2850), 예를 들면, 제2 지정된 영역(예: 에지 영역)에서 드롭 할 수 있다. 일 실시예에 따라, 예시 화면 <2811>에 예시한 바와 같이, 전자 장치(101)는 클립 데이터(2820)가 제2 지정된 영역에 드롭 되는 경우, 클립 데이터(2820)에 기반하여 이전 태스크를 재개하는 제2 기능을 실행할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 태스크 재개에 따른 클립 데이터(2820) 기반의 실행 화면을 화면 분할 또는 팝업 윈도우에 기반하여 제공할 수 있다.
도 29는 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 운영하는 예를 도시하는 도면이다.
도 29를 참조하면, 도 29는 전자 장치(101)에서 클립보드(1000)의 클립 데이터가 제1 지정된 영역(예: 입력 영역(또는 입력 필드)) 또는 제2 지정된 영역(예: 빈 영역(또는 바탕 화면) 및/또는 태스크 바 영역))에 드래그 앤 드롭 되는 것에 기반하여 대응하는 기능을 실행(예: 클립 데이터를 운영)하는 예를 나타낼 수 있다.
일 실시예에 따라, 예시 화면 <2901>에 예시한 바와 같이, 전자 장치(101)는 복수 개의 클립 데이터를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따라, 전자 장치(101)는 클립보드(1000)를 디스플레이 모듈(160)의 지정된 영역을 통해 제공(예: 표시)할 수 있다.
일 실시예에 따라, 사용자는 클립보드(1000)에서 클립 데이터(2910)를 선택하여, 클립보드(1000)의 외부로 이동할 수 있다. 일 실시예에 따라, 사용자는 클립 데이터(2910)를 이용하여 사용하고자 하는 용도에 따라, 클립 데이터(2910)를 제1 지정된 영역 또는 제2 지정된 영역으로 드래그 후 원하는 위치에 드롭 할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 클립보드(1000)로부터 클립 데이터(2910)가 선택되어 클립보드(1000) 외부로 드래그 되는 것에 대응하여 클립보드(1000)를 지정된 방향으로 프레임 아웃(또는 슬라이드 아웃)하고, 드롭 되는 것에 대응하여 클립보드(1000)를 화면에서 제거하는 효과를 제공할 수 있다.
일 실시예에 따라, 예시 화면 <2903>에 예시한 바와 같이, 사용자는 드래그된 클립 데이터(2910)를 어플리케이션의 실행 화면(2920), 예를 들면, 제1 지정된 영역(예: 입력 영역)에서 드롭 할 수 있다. 일 실시예에 따라, 예시 화면 <2905>에 예시한 바와 같이, 전자 장치(101)는 클립 데이터(2910)가 제1 지정된 영역에 드롭 되는 경우, 클립 데이터(2910)(예: 클립 데이터(2910)의 클립 객체(2930))를 실행 화면(2920)에 붙여넣기 하는 제1 기능을 실행할 수 있다.
일 실시예에 따라, 예시 화면 <2907>에 예시한 바와 같이, 사용자는 드래그된 클립 데이터(2910)를 어플리케이션의 실행 화면(2920) 외의 다른 영역(2940), 예를 들면, 제2 지정된 영역(예: 빈 영역 또는 바탕 화면)에서 드롭 할 수 있다. 일 실시예에 따라, 예시 화면 <2909>에 예시한 바와 같이, 전자 장치(101)는 클립 데이터(2910)가 제2 지정된 영역에 드롭 되는 경우, 클립 데이터(2910)에 기반하여 이전 태스크를 재개하는 제2 기능을 실행할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 태스크 재개에 따른 클립 데이터(2910) 새로운 윈도우(2950)를 오픈(open)하고, 새로운 윈도우에 기반하여 대응하는 어플리케이션의 실행 화면을 제공할 수 있다.
도 30은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
일 실시예에 따라, 도 30에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터에 관련된 태스크의 실행 가능한 최적의 어플리케이션에 기반하여, 사용자의 이전 태스크를 재개하도록 지원하는 동작 예를 나타낼 수 있다.
도 30을 참조하면, 동작 3001에서, 전자 장치(101)의 프로세서(120)는 클립보드를 표시할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출에 관련된 지정된 사용자 입력에 기반하여 클립보드를 호출하여 표시할 수 있다. 일 실시예에 따라, 클립보드는 사용자에 의해 클립된 복수 개의 클립 데이터를 포함할 수 있다.
일 실시예에 따라, 프로세서(120)는 클립보드 호출 시에, 전자 장치(101)에서 현재 실행 중인 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락(또는 상태)을 분석(또는 인지)할 수 있다. 예를 들면, 프로세서(120)는 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립보드 호출 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 태스크에 관련된 맥락을 분석할 수 있다.
일 실시예에 따라, 프로세서(120)는 태스크에 관련된 맥락 분석에 기반하여 제1 맥락 정보를 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 현재 태스크의 맥락을 머신 러닝(machine learning)으로 이해할 수 있다.
동작 3003에서, 프로세서(120)는 클립보드에서 적어도 하나의 클립 데이터의 선택에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립보드를 실행하고, 클립보드의 클립 데이터 중 적어도 하나의 클립 데이터를 선택하여 태스크 재개를 수행하기 위한 지정된 사용자 인터랙션을 수행할 수 있다.
동작 3005에서, 프로세서(120)는 사용자 입력에 기반하여 선택된 클립 데이터의 맥락 정보를 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터가 선택되는 경우, 클립 데이터의 맥락 정보(예: 제2 맥락 정보)에 기반하여 클립 데이터에 관련된 어플리케이션 정보를 분석할 수 있다.
동작 3007에서, 프로세서(120)는 클립 데이터에 관련된 태스크의 실행 가능한 어플리케이션을 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제1 맥락 정보와 제2 맥락 정보에 기반하여, 클립 데이터에 관련된 태스크를 실행할 수 있는 최적의 어플리케이션(예: 클립 데이터에 지정된 어플리케이션, 현재 실행 중인 어플리케이션 또는 대체 가능한 연관된 어플리케이션)을 식별할 수 있다. 이의 예가 도 31 및/또는 도 32에 도시된다.
동작 3009에서, 프로세서(120)는 식별된 어플리케이션에 기반하여 클립 데이터 기반의 사용자의 태스크를 재개할 수 있다. 일 실시예에 따르면, 프로세서(120)는 식별된 어플리케이션(예: 클립 데이터에 지정된 어플리케이션, 현재 실행 중인 어플리케이션 또는 대체 가능한 연관된 어플리케이션)을 실행하고, 실행된 어플리케이션에서 이전 태스크에 연속된 태스크를 재개할 수 있다. 예를 들면, 프로세서(120)는 클립 데이터에 기반하여, 해당 어플리케이션에서 이전 태스크까지 수행된 상태의 실행 화면을 제공할 수 있다.
도 31은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
일 실시예에 따라, 도 31에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터에 관련된 태스크의 실행 가능한 최적의 어플리케이션에 기반하여, 사용자의 이전 태스크를 재개하도록 지원하는 동작 예를 나타낼 수 있다.
도 31을 참조하면, 동작 3101에서, 전자 장치(101)의 프로세서(120)는 클립보드를 표시할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출에 관련된 지정된 사용자 입력에 기반하여 클립보드를 호출하여 표시할 수 있다. 일 실시예에 따라, 프로세서(120)는 클립보드 호출 시에, 전자 장치(101)에서 현재 실행 중인 태스크에 관련된 맥락을 분석할 수 있다.
일 실시예에 따르면, 프로세서(120)는 전자 장치(101)에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락(또는 상태)을 분석(또는 인지)할 수 있다. 예를 들면, 프로세서(120)는 어플리케이션의 식별 정보(예: 속성, 링크(예: URL) 및/또는 이름), 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립보드 호출 시점의 사용자(또는 전자 장치(101))에 관련된 다양한 상황 정보(또는 TPO(time, place, occasion) 정보)와 같은 태스크에 관련된 맥락을 분석할 수 있다. 일 실시예에 따라, 프로세서(120)는 태스크에 관련된 맥락 분석에 기반하여 제1 맥락 정보를 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 현재 태스크의 맥락을 머신 러닝으로 이해할 수 있다.
동작 3103에서, 프로세서(120)는 클립보드에서 적어도 하나의 클립 데이터의 선택에 관련된 사용자 입력을 감지할 수 있다. 일 실시예에 따르면, 사용자는 클립보드를 실행하고, 클립보드의 클립 데이터 중 적어도 하나의 클립 데이터를 선택하여 태스크 재개를 수행하기 위한 지정된 사용자 인터랙션을 수행할 수 있다.
동작 3105에서, 프로세서(120)는 사용자 입력에 기반하여 선택된 클립 데이터의 맥락 정보를 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터가 선택되는 경우, 클립 데이터의 맥락 정보(예: 제2 맥락 정보)에 기반하여 클립 데이터에 관련된 어플리케이션 정보를 분석할 수 있다.
동작 3107에서, 프로세서(120)는 클립 데이터에 관련된 태스크의 실행 가능한 어플리케이션을 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제1 맥락 정보와 제2 맥락 정보에 기반하여, 클립 데이터에 관련된 태스크를 실행할 수 있는 최적의 어플리케이션(예: 클립 데이터에 지정된 어플리케이션, 현재 실행 중인 어플리케이션 또는 대체 가능한 연관된 어플리케이션)을 식별할 수 있다.
동작 3109에서, 프로세서(120)는 어플리케이션 식별 결과에 기반하여, 전자 장치(101)에 클립 데이터에 관련된 태스크 실행이 가능한 지정된 어플리케이션이 존재하는지 판단할 수 있다.
동작 3109에서, 프로세서(120)는 지정된 어플리케이션이 존재하는 경우(예: 동작 3109의 ‘예’), 동작 3111에서, 지정된 어플리케이션에 기반하여 클립 데이터 기반의 사용자의 태스크를 재개할 수 있다. 예를 들면, 프로세서(120)는 지정된 어플리케이션을 실행하고, 지정된 어플리케이션에서 클립 데이터에 기반하여, 이전 태스크까지 수행된 상태의 실행 화면을 제공할 수 있다.
동작 3109에서, 프로세서(120)는 지정된 어플리케이션이 존재하지 않는 경우(예: 동작 3109의 ‘아니오’), 동작 3113에서, 연관된 어플리케이션이 존재하는지 판단할 수 있다. 예를 들면, 프로세서(120)는 전자 장치(101)에 클립 데이터를 실행하기 위한 지정된 어플리케이션이 존재하지 않는 경우, 지정된 어플리케이션을 대체 가능한 대체 어플리케이션(alternative application)(예: 연관된 어플리케이션 또는 웹 기반 어플리케이션)을 판단할 수 있다.
동작 3113에서, 프로세서(120)는 연관된 어플리케이션이 존재하는 경우(예: 동작 3113의 ‘예’), 동작 3115에서, 연관된 어플리케이션에 기반하여 클립 데이터 기반의 사용자의 태스크를 재개할 수 있다. 예를 들면, 프로세서(120)는 연관된 어플리케이션을 실행하고, 연관된 어플리케이션에서 클립 데이터에 기반하여, 이전 태스크까지 수행된 상태의 실행 화면을 제공할 수 있다.
동작 3113에서, 프로세서(120)는 연관된 어플리케이션이 존재하지 않는 경우(예: 동작 3113의 ‘아니오’), 동작 3117에서, 클립 데이터의 웹 실행이 가능한지 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터가 웹 기반 어플리케이션에 의한 실행이 가능한지 판단할 수 있다. 예를 들면, 프로세서(120)는 지정된 어플리케이션을 대체 가능한 대체 어플리케이션으로 웹 기반 어플리케이션을 판단할 수 있다.
동작 3117에서, 프로세서(120)는 웹 실행이 가능한 경우(예: 동작 3117의 ‘예’), 동작 3119에서, 웹 기반 어플리케이션에 기반하여 클립 데이터 기반의 사용자의 태스크를 재개할 수 있다. 예를 들면, 프로세서(120)는 웹 기반 어플리케이션(예: 웹 지도)을 실행하고, 웹 기반 어플리케이션에서 클립 데이터에 기반하여, 이전 태스크까지 수행된 상태의 실행 화면을 제공할 수 있다.
동작 3117에서, 프로세서(120)는 웹 실행이 가능하지 않는 경우(예: 동작 3117의 ‘아니오’), 동작 3121에서, 스토어(store)로부터 지정된 어플리케이션의 다운로드 및/또는 설치가 가능한지 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 통신 상태, 스토어의 접속 가능 여부, 스토어 내 지정된 어플리케이션의 존재 유무, 및/또는 지정된 어플리케이션 다운로드 시의 과금 여부와 같은 다양한 맥락에 기반하여 다운로드 및/또는 설치 가능 여부를 판단할 수 있다.
동작 3121에서, 프로세서(120)는 지정된 어플리케이션의 다운로드가 가능한 경우(예: 동작 3121의 ‘예’), 동작 3123에서, 지정된 어플리케이션의 다운로드에 관련된 가이드를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 다운로드가 지시되는 경우, 지정된 어플리케이션을 다운로드 및 설치하고, 지정된 어플리케이션에서 클립 데이터에 기반하여, 이전 태스크까지 수행된 상태의 실행 화면을 제공할 수 있다.
동작 3121에서, 프로세서(120)는 지정된 어플리케이션의 다운로드가 가능하지 않는 경우(예: 동작 3121의 ‘아니오’), 동작 3125에서, 실패 가이드를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 클립 데이터에 의한 태스크 재개가 실패하는 것에 관련된 가이드를 제공할 수 있다. 어떤 실시예에 따르면, 프로세서(120)는 실패 가이드 제공 시, 태스크 재개의 실패 원인에 대한 정보를 함께 제공할 수도 있다.
도 32는 다양한 실시예들에 따른 전자 장치에서 클립 데이터를 실행하는 예를 도시하는 도면이다.
일 실시예에 따라, 도 32에서는 다양한 실시예들에 따른 전자 장치(101)에서 클립 데이터에 관련된 태스크의 실행 가능한 최적의 어플리케이션에 기반하여, 사용자의 이전 태스크를 재개하도록 지원하는 동작 예를 나타낼 수 있다.
도 32를 참조하면, 일 실시예에 따라, 예시 화면 <3201>에 예시한 바와 같이, 전자 장치(101)는 적어도 하나의 클립 데이터를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따라, 전자 장치(101)는 클립보드(1000)를 디스플레이 모듈(160)의 지정된 영역을 통해 제공(예: 표시)할 수 있다. 일 실시예에 따라, 사용자는 클립보드(1000)에서 클립 데이터를 선택할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 클립 데이터가 선택되는 경우, 클립 데이터의 맥락 정보에 기반하여 클립 데이터에 관련된 어플리케이션 정보를 분석할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)에서 현재 실행 중인 어플리케이션에 관련된 맥락에 기반하여, 클립 데이터에 관련된 태스크의 실행 가능한 최적의 어플리케이션을 식별할 수 있다.
예를 들면, 전자 장치(101)는 클립 데이터에 관련된 태스크를 실행할 수 있는 최적의 어플리케이션으로, 클립 데이터에 지정된 어플리케이션 또는 현재 실행 중인 어플리케이션을 결정하고, 결정하는 어플리케이션에 기반하여 태스크를 재개할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 선택된 클립 데이터가 이동(예: 드래그 앱 드롭)되는 지정된 영역에 기반하여 어플리케이션 식별 동작 또는 클립 데이터의 클립 객체의 붙여넣기 동작을 수행할 수도 있다.
일 실시예에 따라, 예시 화면 <3203>에 예시한 바와 같이, 전자 장치(101)는 전자 장치(101)에 클립 데이터에 관련된 태스크 실행을 위한 지정된 어플리케이션(예: primary application)이 설정되어 있는 경우, 지정된 어플리케이션을 실행하여 이전 태스크에 연속된 태스크를 재개하여 관련 실행 화면을 제공할 수 있다.
일 실시예에 따라, 예시 화면 <3205>에 예시한 바와 같이, 전자 장치(101)의 태스크 재개 시점에 전자 장치(101)에서 다른 어플리케이션이 실행 중이고, 다른 어플리케이션이 클립 데이터에 관련된 태스크를 실행할 수 있는 어플리케이션(예: 대체 어플리케이션)인 상태일 수 있다.
일 실시예에 따르면, 전자 장치(101)는 태스크 재개 시점에 전자 장치(101)에서 다른 어플리케이션이 실행 중이고, 다른 어플리케이션이 클립 데이터에 관련된 태스크를 실행할 수 있는 어플리케이션(예: 대체 어플리케이션)인 경우, 예시 화면 <3207>에 예시한 바와 같이, 대체 어플리케이션(예: 실행 중인 다른 어플리케이션)을 이용하여 이전 태스크에 연속된 태스크를 재개하여 관련 실행 화면을 제공할 수 있다. 예를 들면, 전자 장치(101)는 클립 데이터를 위한 어플리케이션의 전환 없이, 현재 실행 중인 어플리케이션에 기반하여 태스크를 재개할 수 있다.
도 33은 다양한 실시예들에 따른 전자 장치에서 클립보드의 클립 데이터를 활용하는 예를 도시하는 도면이다.
일 실시예에 따라, 도 33에서는 전자 장치(101)의 멀티 윈도우(multi window) 실행 환경에서 클립보드의 클립 데이터가 이동(예: 드래그 앤 드롭)되는 윈도우에 기반하여 클립 데이터를 제공하는 예를 나타낼 수 있다.
도 33을 참조하면, 일 실시예에 따라, 예시 화면 <3301>에 예시한 바와 같이, 전자 장치(101)는 멀티 윈도우 기반으로 동작 중인 상태일 수 있다.
일 실시예에 따라, 예시 화면 <3303>에 예시한 바와 같이, 전자 장치(101)는 적어도 하나의 클립 데이터를 포함하는 클립보드(1000)를 표시할 수 있다. 일 실시예에 따라, 전자 장치(101)는 클립보드(1000)를 디스플레이 모듈(160)의 지정된 영역을 통해 제공(예: 표시)할 수 있다. 예를 들면, 프로세서(120)는 클립보드(1000)를 멀티 윈도우 상에 중첩(overlay)하여 제공하거나, 또는 팝업 윈도우에 의한 팝업 형식으로 제공할 수 있다.
일 실시예에 따라, 예시 화면 <3303>에 예시한 바와 같이, 사용자는 클립보드(1000)에서 클립 데이터(3310)를 선택하는 경우, 전자 장치(101)는 사용자 선택 기반 윈도우 또는 지정된 우선 순위 기반 윈도우에 기반하여 클립 데이터(2310)를 제공할 수 있다. 예를 들면, 전자 장치(101)는 멀티 윈도우 환경에서 클립 데이터 기반 태스크 재개 시, 태스크를 전체 화면이 아닌, 멀티 윈도우의 지정된 윈도우를 통해 실행할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자 선택 기반 윈도우 방식인 경우, 예시 화면 <3305>에 예시한 바와 같이, 클립 데이터(2310)의 실행(예: 태스크 재개)을 위한 윈도우를 지정하는 사용자 입력, 또는 멀티 윈도우의 어느 일 윈도우로 클립 데이터(2310)를 이동(예: 드래그 앤 드롭)하는 사용자 입력을 수신할 수 있다. 일 실시예에 따라, 예시 화면 <3307>에 예시한 바와 같이, 전자 장치(101)는 사용자 입력에 기반하여 지정된 윈도우(예: 윈도우 2)를 통해 클립 데이터(3310)에 의한 태스크(3320)를 재개하여 제공할 수 있다.
일 실시예에 따라, 전자 장치(101)는 지정된 우선 순위 기반 윈도우 방식인 경우, 예시 화면 <3309>에 예시한 바와 같이, 미리 지정된 윈도우 또는 별도 기준에 따라 선택된 윈도우(예: 우선 순위가 높은 윈도우(또는 화면))(예: 윈도우 3)를 통해 클립 데이터(3310)에 의한 태스크(332)를 재개하여 제공할 수 있다.
본 개시의 실시예에 따른 전자 장치(101)에서 수행하는 동작 방법은, 어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지하는 동작, 상기 제1 사용자 입력에 기반하여 상기 컨텐츠에 관련된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하여 메모리에 저장하는 동작, 클립보드 호출에 관련된 제2 사용자 입력을 감지하는 동작, 상기 제2 사용자 입력 감지에 기반하여 전자 장치에서 현재 수행 중인 태스크(task)를 분석하는 동작, 상기 제2 사용자 입력 감지에 기반하여 클립보드를 호출하는 동작, 상기 클립보드의 복수 개의 클립 데이터 중 상기 태스크에 대응하는 클립 데이터를 추출하는 동작, 및 상기 태스크에 대응하는 클립 데이터 기반의 클립보드를 디스플레이 모듈을 통해 제공하는 동작을 포함할 수 있다.
본 개시의 실시예에 따르면, 상기 클립 데이터는, 지정된 컨텐츠에 관련된 상기 클립 객체, 및 상기 클립 객체에 관련된 맥락 정보를 포함할 수 있다.
본 개시의 실시예에 따르면, 상기 맥락 정보는, 상기 클립 객체의 속성(type), 어플리케이션의 식별 정보, 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립 동작 시점의 사용자에 관련된 상황 정보를 포함할 수 있다.
본 명세서와 도면에 개시된 본 개시의 다양한 실시예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    디스플레이 모듈;
    메모리; 및
    상기 디스플레이 모듈 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지하고,
    상기 제1 사용자 입력에 기반하여 상기 컨텐츠에 관련된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하여 메모리에 저장하고,
    클립보드 호출에 관련된 제2 사용자 입력을 감지하고,
    상기 제2 사용자 입력 감지에 기반하여 전자 장치에서 현재 수행 중인 태스크(task)를 분석하고,
    상기 제2 사용자 입력 감지에 기반하여 클립보드를 호출하고,
    상기 클립보드의 복수 개의 클립 데이터 중 상기 태스크에 대응하는 클립 데이터를 추출하고, 및
    상기 태스크에 대응하는 클립 데이터 기반의 클립보드를 상기 디스플레이 모듈을 통해 제공하도록 설정된 전자 장치.
  2. 제1항에 있어서, 상기 클립 데이터는,
    지정된 컨텐츠에 관련된 상기 클립 객체, 및
    상기 클립 객체에 관련된 맥락 정보를 포함하고,
    상기 맥락 정보는, 상기 클립 객체의 속성(type), 어플리케이션의 식별 정보, 어플리케이션에 의해 수행 중인 태스크, 및/또는 클립 동작 시점의 사용자에 관련된 상황 정보를 포함하는 전자 장치.
  3. 제2항에 있어서, 상기 프로세서는,
    상기 클립 객체를 상기 메모리의 클립보드에 저장하고,
    상기 클립 객체와 링크(link)되는 맥락 정보를 룩업 테이블(lookup table) 형태로 상기 메모리의 데이터베이스(database)에 저장 및 관리하도록 설정된 전자 장치.
  4. 제1항에 있어서, 상기 프로세서는,
    상기 제2 사용자 입력 감지에 기반하여, 머신 러닝(machine learning)에 의해 상기 전자 장치에서 현재 실행 중인 어플리케이션 및/또는 실행 중인 어플리케이션에서 수행 중인 태스크의 맥락을 분석하고,
    상기 태스크의 맥락에 대응하는 맥락 정보에 기반하여 클립 데이터를 추출하고,
    상기 클립보드를 통해 상기 태스크의 맥락에 대응하는 상기 추출된 클립 데이터를 추천하도록 설정된 전자 장치.
  5. 제1항에 있어서, 상기 프로세서는,
    사용자 계정(user account)에 기반하여 사용자 기기 그룹으로 연결되는 복수 개의 전자 장치에 상기 클립보드를 동기화 하도록 설정되고,
    상기 클립보드의 변경 사항을 사용자 계정 기반으로 연결된 다른 전자 장치와 실시간 동기화 하도록 설정된 전자 장치.
  6. 제1항에 있어서, 상기 프로세서는,
    현재 실행 화면의 최근 컨텐츠, 멀티 윈도우(multi window) 기반 멀티 실행 화면 중 현재 포커스(focus)된 실행 화면, 및/또는 사용자의 상황 정보에 기반하여 상기 태스크의 맥락을 분석하도록 설정된 전자 장치.
  7. 제1항에 있어서, 상기 프로세서는,
    상기 추출된 클립 데이터를 각각에 대응하는 맥락 정보에 기반하여 분류하고,
    분류하는 결과에 기반하여 대응하는 정렬 인터페이스를 포함하여 상기 클립보드를 제공하도록 설정된 전자 장치.
  8. 제1항에 있어서, 상기 프로세서는,
    상기 클립보드에서 적어도 하나의 클립 데이터를 지정된 영역에 고정(pinning)하기 위한 사용자 입력을 감지하고,
    상기 사용자 입력에 기반하여 상기 적어도 하나의 클립 데이터를 상기 클립보드 내의 상기 지정된 영역에 고정하여 제공하도록 설정된 전자 장치.
  9. 제1항에 있어서, 상기 프로세서는,
    상기 클립보드 호출 시에, 상기 클립보드의 접근과 관련된 지정된 정책을 식별하고,
    상기 지정된 정책이 제1 지정된 방식인 경우, 상기 전자 장치에 로그인된 계정에 기반하여 상기 클립 데이터를 추출하여 상기 클립보드를 제공하고,
    상기 지정된 정책이 제2 지정된 방식인 경우, 공개 설정된 클립 데이터를 추출하여 상기 클립보드를 제공하도록 설정된 전자 장치.
  10. 제1항에 있어서, 상기 프로세서는,
    상기 클립보드의 복수 개의 클립 데이터에 대하여, 일괄적 또는 개별적으로, 공개 기반의 제1 정책, 로그인 계정 기반의 제2 정책, 또는 클립 데이터를 생성하는 사용자 계정에 제한하는 제3 정책의 설정을 제공하도록 설정된 전자 장치.
  11. 제1항에 있어서, 상기 프로세서는,
    상기 전자 장치에서 사용자 계정의 로그아웃을 감지하는 경우, 상기 클립보드에서 사용자 계정을 기반으로 생성된 클립 데이터를, 상기 클립보드 내에서 일괄 숨김 처리하도록 설정된 전자 장치.
  12. 제1항에 있어서, 상기 프로세서는,
    상기 클립보드에서 클립 데이터의 공유 대상을 지정하도록 설정된 전자 장치.
  13. 제1항에 있어서, 상기 프로세서는,
    상기 클립보드에서 적어도 하나의 클립 데이터의 선택에 관련된 사용자 입력을 감지하고,
    상기 사용자 입력 감지에 기반하여, 선택된 클립 데이터의 맥락 정보를 분석하고,
    상기 맥락 정보에 기반하여, 상기 클립 데이터에 연관된 어플리케이션을 식별하여 실행하고,
    상기 어플리케이션에서 상기 클립 데이터에 기반하여 사용자의 태스크를 재개하도록 설정된 전자 장치.
  14. 제1항에 있어서, 상기 프로세서는,
    클립 데이터의 이동에 관련된 사용자 입력을 감지하고,
    상기 사용자 입력 감지에 기반하여, 사용자의 입력이 이동되는 이동 영역을 식별하고,
    상기 클립 데이터가 이동되는 영역이 제1 지정된 영역인 경우, 상기 클립 데이터를 붙여넣기(paste) 하는 제1 기능을 실행하고,
    상기 클립 데이터가 이동되는 영역이 제2 지정된 영역인 경우, 상기 클립 데이터에 기반하여 태스크를 재개하는 제2 기능을 실행하도록 설정된 전자 장치.
  15. 전자 장치의 동작 방법에 있어서,
    어플리케이션의 실행 화면을 표시하는 동안, 지정된 컨텐츠의 클립을 위한 제1 사용자 입력을 감지하는 동작;
    상기 제1 사용자 입력에 기반하여 상기 컨텐츠에 관련된 클립 객체 및 맥락 정보를 포함하는 클립 데이터를 생성하여 메모리에 저장하는 동작;
    클립보드 호출에 관련된 제2 사용자 입력을 감지하는 동작;
    상기 제2 사용자 입력 감지에 기반하여 전자 장치에서 현재 수행 중인 태스크(task)를 분석하는 동작;
    상기 제2 사용자 입력 감지에 기반하여 클립보드를 호출하는 동작;
    상기 클립보드의 복수 개의 클립 데이터 중 상기 태스크에 대응하는 클립 데이터를 추출하는 동작; 및
    상기 태스크에 대응하는 클립 데이터 기반의 클립보드를 디스플레이 모듈을 통해 제공하는 동작을 포함하는 방법.
PCT/KR2022/003318 2021-03-09 2022-03-08 전자 장치 및 그의 클립보드 운영 방법 WO2022191616A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/463,675 US20230418694A1 (en) 2021-03-09 2023-09-08 Electronic device and clipboard operation method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210030907A KR20220126527A (ko) 2021-03-09 2021-03-09 전자 장치 및 그의 클립보드 운영 방법
KR10-2021-0030907 2021-03-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/463,675 Continuation US20230418694A1 (en) 2021-03-09 2023-09-08 Electronic device and clipboard operation method thereof

Publications (1)

Publication Number Publication Date
WO2022191616A1 true WO2022191616A1 (ko) 2022-09-15

Family

ID=83228068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/003318 WO2022191616A1 (ko) 2021-03-09 2022-03-08 전자 장치 및 그의 클립보드 운영 방법

Country Status (3)

Country Link
US (1) US20230418694A1 (ko)
KR (1) KR20220126527A (ko)
WO (1) WO2022191616A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140011164A (ko) * 2012-07-18 2014-01-28 안지윤 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템
KR20140033409A (ko) * 2011-06-15 2014-03-18 아마데우스 에스.에이.에스. 데이터 페이스트의 개선
KR20140045640A (ko) * 2012-10-09 2014-04-17 엘지전자 주식회사 이동단말기 및 그 제어 방법
KR20170013579A (ko) * 2015-07-28 2017-02-07 엘지전자 주식회사 이동 단말기 및 그 제어 방법
KR20170054407A (ko) * 2014-09-15 2017-05-17 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140033409A (ko) * 2011-06-15 2014-03-18 아마데우스 에스.에이.에스. 데이터 페이스트의 개선
KR20140011164A (ko) * 2012-07-18 2014-01-28 안지윤 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템
KR20140045640A (ko) * 2012-10-09 2014-04-17 엘지전자 주식회사 이동단말기 및 그 제어 방법
KR20170054407A (ko) * 2014-09-15 2017-05-17 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법
KR20170013579A (ko) * 2015-07-28 2017-02-07 엘지전자 주식회사 이동 단말기 및 그 제어 방법

Also Published As

Publication number Publication date
US20230418694A1 (en) 2023-12-28
KR20220126527A (ko) 2022-09-16

Similar Documents

Publication Publication Date Title
WO2018034402A1 (en) Mobile terminal and method for controlling the same
WO2015167165A1 (en) Method and electronic device for managing display objects
WO2017104860A1 (ko) 롤러블 이동 단말기
WO2015178714A1 (en) Foldable device and method of controlling the same
WO2016017957A1 (en) Device and method of displaying windows by using work group
WO2016018039A1 (en) Apparatus and method for providing information
WO2017119531A1 (ko) 이동 단말기 및 그 제어방법
WO2017099276A1 (ko) 롤러블 이동 단말기 및 그 제어방법
WO2015199453A1 (en) Foldable electronic apparatus and interfacing method thereof
WO2015167299A1 (ko) 이동 단말기 및 그 제어방법
WO2014142608A1 (en) Electronic device and operating method thereof
WO2016018062A1 (en) Method and device for providing content
WO2016032045A1 (ko) 이동 단말기 및 이의 제어 방법
WO2020171287A1 (ko) 이동 단말기 및 이동 단말기를 구비한 전자장치
WO2015093667A1 (ko) 전자기기 및 전자기기의 제어방법
WO2015199381A1 (en) Mobile terminal and method for controlling the same
WO2015093665A1 (ko) 전자기기 및 전자기기의 제어방법
WO2017030387A1 (ko) 충전장치와 충전장치의 제어방법 및 이와 연결되는 이동 단말기
WO2016039498A1 (ko) 이동 단말기 및 그 제어 방법
WO2017034180A1 (ko) 애플리케이션 리스트를 제공하는 시스템 및 그 방법
WO2016108407A1 (ko) 주석 제공 방법 및 장치
WO2021162320A1 (en) Electronic device and method for operating high speed screen of electronic device
WO2015183023A1 (en) User interface for application and device
WO2015093666A1 (ko) 전자기기 및 전자기기의 제어방법
WO2022025720A1 (ko) 플렉서블한 디스플레이 모듈을 포함하는 전자 장치와 이의 동작 방법

Legal Events

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

Ref document number: 22767512

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22767512

Country of ref document: EP

Kind code of ref document: A1