Electronic device, method, and non-transitory computer-readable recording medium for setting tab of browser according to context
By classifying web pages into categories and creating dedicated browsing tabs based on visiting records and context, the electronic device addresses the issue of cluttered browsing experiences, enhancing user navigation and organization.
Patent Information
- Application Number
- PCT/KR2024/014801
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-12
- Filing Date
- 2024-09-27
- Publication Date
- 2025-05-01
AI Technical Summary
Existing web browsers lack an efficient method to organize and manage browsing tabs based on context, leading to cluttered and disorganized browsing experiences.
The electronic device employs a method to classify web pages into categories based on visiting records and context, creating separate browsing tabs for each category, and assigning visiting records sorted by visit order. This allows for organized browsing by context.
This solution enhances user experience by allowing users to browse web pages with common visits through dedicated tabs, improving navigation and reducing clutter.
Smart Images

Figure KR2024014801_01052025_PF_FP_ABST
Abstract
Description
Electronic device, method, and non-transitory computer-readable recording medium for setting tabs in a browser according to context
[0001] The following descriptions relate to electronic devices, methods, and non-transitory computer-readable recording media for setting tabs in a browser according to context.
[0002] A web browser is an application that accesses a World Wide Web (WWW) server via the Internet and helps view information on the server or search for documents.
[0003] Web browsers can maintain a history of the web pages you've viewed. Based on your history, web browsers can navigate from the current page to the previous or next page.
[0004] An electronic device is disclosed. The electronic device may include a processor. The electronic device may include a memory storing instructions. The instructions, when executed by the processor, may cause the electronic device to obtain a visit history for a plurality of web pages accessed through one or more browsing tabs of a browsing application. The instructions, when executed by the processor, may cause the electronic device to identify, based on the visit history, one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages. The instructions, when executed by the processor, may cause the electronic device to set a first browsing tab for the first web pages and a second browsing tab for the second web pages. The first browsing tab may be assigned a visit history of the first web pages, sorted in order of visitation. The second browsing tab may be assigned a visit history of the second web pages, sorted in order of visits. The current web page, previous web page, and next web page of the first browsing tab may be included in the first web pages. The current web page, previous web page, and next web page of the second browsing tab may be included in the second web pages.
[0005] A method is disclosed. The method can be performed on an electronic device. The method can include obtaining a visit history for a plurality of web pages accessed through one or more browsing tabs of a browsing application. The method can include identifying, based on the visit history, one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages. The method can include setting a first browsing tab for the first web pages and a second browsing tab for the second web pages. The first browsing tab can be assigned a visit history of the first web pages sorted in a visit order. The second browsing tab can be assigned a visit history of the second web pages sorted in a visit order. The current web page, the previous web page, and the next web page of the first browsing tab can be included in the first web pages. The current web page, previous web page and next web page of the second browsing tab may be included in the second web pages.
[0006] A non-transitory computer-readable storage medium is disclosed. The non-transitory computer-readable storage medium may store a program including instructions. The instructions, when executed by a processor of an electronic device, may cause the electronic device to obtain a visit history for a plurality of web pages accessed through one or more browsing tabs of a browsing application. The instructions, when executed by the processor, may cause the electronic device to identify, based on the visit history, one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages. The instructions, when executed by the processor, may cause the electronic device to set a first browsing tab for the first web pages and a second browsing tab for the second web pages. The first browsing tab may be assigned a visit history of the first web pages, sorted in order of visits. The second browsing tab may be assigned a visit history of the second web pages, sorted in order of visits. The current web page, previous web page, and next web page of the first browsing tab may be included in the first web pages. The current web page, previous web page, and next web page of the second browsing tab may be included in the second web pages.
[0007] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.
[0008] FIG. 2A is a block diagram of an electronic device according to one embodiment.
[0009] FIG. 2b is a block diagram of an electronic device according to one embodiment.
[0010] FIG. 3A illustrates an example of a visit history in one browsing tab according to one embodiment.
[0011] FIG. 3b illustrates an example of categories classified according to visit history in one browsing tab, according to one embodiment.
[0012] FIG. 3c illustrates an example of a tree structure of web pages visited in one browsing tab, according to one embodiment.
[0013] FIG. 3d illustrates an example of browsing tabs updated according to categories, according to one embodiment.
[0014] FIG. 4A illustrates an example of a visit history in multiple browsing tabs according to one embodiment.
[0015] FIG. 4b illustrates an example of a tree structure of web pages visited in multiple browsing tabs, according to one embodiment.
[0016] FIG. 4c illustrates an example of browsing tabs updated according to categories, according to one embodiment.
[0017] FIG. 5A illustrates an example of a visit history in multiple browsing tabs according to one embodiment.
[0018] FIG. 5b illustrates an example of browsing tabs updated according to categories, according to one embodiment.
[0019] FIG. 6A illustrates an example of a visit history in multiple browsing tabs according to one embodiment.
[0020] FIG. 6b illustrates an example of a browsing tab updated by category, according to one embodiment.
[0021] FIG. 6c illustrates an example of a web page summarizing browsing tabs updated by category, according to one embodiment.
[0022] FIG. 7 is a flowchart illustrating the operation of an electronic device according to one embodiment.
[0023] Figure 8 is a block diagram of an electronic device according to one embodiment.
[0024] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments.
[0025] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0026] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0027] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0028] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0029] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0030] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0031] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can 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. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0032] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0033] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0034] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can 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, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0035] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0036] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0037] The haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0038] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0039] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0040] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0041] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., 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) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0042] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for realizing eMBB, a loss coverage (e.g., 664 dB or less) for realizing mMTC, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 6 ms or less for round trip) for realizing URLLC.
[0043] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., 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), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0044] According to various embodiments, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0045] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0046] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0047] FIG. 2A is a block diagram of an electronic device (101) according to one embodiment. FIG. 2B is a block diagram of an electronic device (101) according to one embodiment.
[0048] Referring to FIG. 2A, the electronic device (101) may include a processor (120), a memory (130), a display (260), and a communication circuit (290). In one embodiment, the electronic device (101) may correspond to the electronic device (101) of FIG. 1.
[0049] In one embodiment, the processor (120) may correspond to the processor (120) of FIG. 1. In one embodiment, the memory (130) may correspond to the memory (130) of FIG. 1. In one embodiment, the display (260) may correspond to the display module (160) of FIG. 1. In one embodiment, the communication circuit (290) may correspond to the communication module (190) of FIG. 1.
[0050] In one embodiment, the memory (130) may include a program (140). In one embodiment, the program (140) may include a browser (210), an optimization module (240), and a device information database (DB) (270).
[0051] Referring to FIG. 2b, the browser (210) may include a main browser module (211) and one or more browsing tabs (227).
[0052] In one embodiment, the main browser module (211) can display a web page through the display (260). In one embodiment, the main browser module (211) can obtain a user action (e.g., user input) related to the web page. In one embodiment, the main browser module (211) can process a user action (e.g., user input) related to the web page. In one embodiment, the main browser module (211) can manage one or more browsing tabs (227). In one embodiment, the main browser module (211) can manage data related to one or more browsing tabs (227).
[0053] In one embodiment, the main browser module (211) may include a UI (user interface) process (221), an I / O (input / output) process (223), a tab manager (225), an action DB (231), a history DB (233), and a content DB (235).
[0054] In one embodiment, the UI process (221) may render a web page and display the rendered web page through the display (260). In one embodiment, the UI process (221) may display the web page within a designated viewport. Here, the viewport may be an area of the browser (210) displayed through the display (260), excluding the menu area. The viewport may be an area in which a web page is displayed through the display (260).
[0055] In one embodiment, the UI process (221) may obtain user input. In one embodiment, the UI process (221) may transmit the obtained user input to the I / O process (223) and / or the action DB (231). In one embodiment, the user input may include input related to switching between one or more browsing tabs (227). In one embodiment, the user input may include input related to moving a web page within a browsing tab (e.g., input requesting a previous web page, input requesting a next web page, input selecting a hyperlink within a web page). In one embodiment, the user input may include input related to content within a web page (e.g., playing content, zooming in on content). In one embodiment, the user input may include input for changing a viewpoint of a web page (e.g., scrolling and / or swiping). In one embodiment, the viewpoint may be an area displayed through the display (260) in an area of a web page.
[0056] In one embodiment, the I / O process (223) can process user input. In one embodiment, the I / O process (223) can change a browsing tab (or an activated browsing tab) displayed through the display (260) based on a user input for switching between one or more browsing tabs (227). In one embodiment, the I / O process (223) can pass data related to a browsing tab indicated by the user input to the UI process (221) so that the UI process (221) can render the browsing tab indicated by the user input.
[0057] In one embodiment, the I / O process (223) may obtain data related to another web page indicated by the user input based on the user input for moving the web page. In one embodiment, the I / O process (223) may identify a uniform resource locator (URL) based on the user input for moving the web page. In one embodiment, the I / O process (223) may obtain data related to another web page based on the URL. In one embodiment, the data related to the other web page may be obtained from the server (108) via the communication circuit (290). In one embodiment, if the other web page is a previously visited web page, the data related to the other web page may be retrieved from the memory (130). In one embodiment, the web page may include at least one content. In one embodiment, the content may include text, images, video, and / or audio.
[0058] In one embodiment, the I / O process (223) may display another web page through the display (260) based on data related to the other web page. In one embodiment, the I / O process (223) may transmit data related to another web page to the UI process (221) so that the UI process (221) may render the other web page based on data related to the other web page.
[0059] In one embodiment, the I / O process (223) may perform control over content based on user input related to the content within a web page. For example, based on user input related to the content within a web page, the I / O process (223) may play the content.
[0060] In one embodiment, the I / O process (223) may change the viewpoint of a web page displayed within a viewport based on user input for changing the viewpoint of the web page. For example, the I / O process (223) may change the viewpoint of a web page displayed within a viewport based on the direction of a scroll input and / or a swipe input.
[0061] In one embodiment, the I / O process (223) may transmit a visit record related to an accessed web page to a history DB (233). In one embodiment, the visit record may include identification information of the web page (e.g., URL), a trigger for moving to the web page (or a cause of movement), and a stay time (or an activation time) on the web page.
[0062] In one embodiment, the tab manager (225) can manage one or more browsing tabs (227). In one embodiment, the tab manager (225) can manage a history of web pages visited through each of the one or more browsing tabs (227). In one embodiment, the tab manager (225) can manage information about the current web page, the previous web page, and / or the next web page of each of the one or more browsing tabs (227). In one embodiment, the tab manager (225) can manage information about a history of movement between multiple web pages visited through each of the one or more browsing tabs (227).
[0063] In one embodiment, each of the one or more browsing tabs (227) may represent a current web page. In one embodiment, each of the one or more browsing tabs (227) may be associated with a history of web pages visited in its browsing tab. In one embodiment, each of the one or more browsing tabs (227) being associated with a history may mean that each of the one or more browsing tabs (227) points to its own history of visits stored in the memory (130).
[0064] In one embodiment, the action DB (231) can store data related to a user's action (or user input).
[0065] In one embodiment, the action DB (231) may store data related to user input related to the execution of the browser (210). In one embodiment, the data related to user input related to the execution of the browser (210) may include information about the execution of the browser (210), termination of the browser (210), switching to another application, and / or returning to the browser (210) from another application.
[0066] In one embodiment, the action DB (231) may store data related to user input associated with switching between one or more browsing tabs (227). In one embodiment, the data related to user input associated with switching between one or more browsing tabs (227) may include information about creating a browsing tab, removing a browsing tab, switching a browsing tab, and / or changing the arrangement of browsing tabs.
[0067] In one embodiment, the action DB (231) may store data related to user input for moving through web pages within a browsing tab. In one embodiment, data related to user input for moving through web pages may include information about selecting a hyperlink, requesting a previous web page, and / or requesting a next web page.
[0068] In one embodiment, the action DB (231) may store data related to user input related to content within a web page. In one embodiment, the data related to user input related to content within a web page may include information about content entered by the user (e.g., text) and / or content selected by the user (e.g., executable objects).
[0069] In one embodiment, the action DB (231) may store data related to user input (e.g., scrolling and / or swiping) for changing the viewpoint of a web page. In one embodiment, the data related to user input for changing the viewpoint may include information about the change speed of the viewpoint (e.g., scrolling speed of the web page) and / or the change direction of the viewpoint.
[0070] In one embodiment, the history DB (233) may store data related to a visit record for a web page. In one embodiment, the visit record may include identification information of the web page (e.g., URL), a trigger for moving to the web page (or, a cause of moving), and a stay time (or, an activation time) for the web page. In one embodiment, the trigger for moving to the web page may include selecting a hyperlink within the web page, identifying an input for switching to a previous web page, identifying an input for switching to a next web page, and / or executing the browser (210) by an application programming interface (API) called by another application. In one embodiment, the API may include identification information (e.g., URL) related to a web page to be displayed, but is not limited thereto. In one embodiment, the browser (210) may be executed by direct input from a user (e.g., execution based on an executable object (e.g., an icon) capable of executing the browser (210). In one embodiment, the browser (210) may be triggered by an input selecting a hyperlink contained in another application. In one embodiment, the browser (210) may be triggered based on receiving a notification from the browser (210).
[0071] In one embodiment, the content DB (235) may include data about content (e.g., text, images, videos, and / or audio) included in a web page. In one embodiment, the data about content may include information about the form of the web page (e.g., articles, photos / images, posting lists, portal sites, videos, books), the subject of the web page (e.g., keywords extracted from text and / or images within the web page), the frequency of visits to the web page (e.g., the frequency of visits to a specific website and / or domain), and / or the structure of the web page (e.g., the connection structure with parent pages and child pages).
[0072] In one embodiment, the optimization module (240) may identify the purpose of visiting each of the plurality of web pages visited through one or more browsing tabs (227) based on data stored in the action DB (231), the history DB (233), and / or the content DB (235). In one embodiment, the optimization module (240) may identify the purpose of visiting each of the plurality of web pages based on the execution type of the browser (210). For example, if the browser (210) is directly executed by the user, the purpose of visiting each of the plurality of web pages may be consumption of content for killing time. For example, if the browser (210) is executed by a hyperlink, the purpose of visiting each of the plurality of web pages may be a temporary visit for checking information. For example, if the browser (210) is executed by a notification, the purpose of visiting each of the plurality of web pages may be checking content of interest.
[0073] In one embodiment, the optimization module (240) may classify multiple web pages into one or more categories based on the purpose of each visit to the multiple web pages. In one embodiment, the category may represent the user's browsing intent (or context) based on the user's purpose of visiting the multiple web pages. For example, the context of a category into which shopping-related web pages are classified may indicate that the user's browsing intent is shopping. For example, the context of a category into which travel-related web pages are classified may indicate that the user's browsing intent is travel. In one embodiment, the optimization module (240) may set one or more browsing tabs (227) based on one or more categories. Here, setting a browsing tab may mean managing a visit history for one or more web pages included in the category through the browsing tab. Setting a browsing tab may mean creating a browsing tab corresponding to the category. Setting a browsing tab may mean removing a browsing tab that does not correspond to the category.
[0074] In one embodiment, the optimization module (240) may generate a summary page for at least one browsing tab among one or more configured browsing tabs (227). In one embodiment, the optimization module (240) may generate a summary page summarizing one or more web pages included in a category configured for the browsing tab.
[0075] In one embodiment, the optimization module (240) may include an analysis module (241), a tab optimization module (243), and a summary module (245). Hereinafter, the specific operations of the analysis module (241), the tab optimization module (243), and the summary module (245) will be described.
[0076] In one embodiment, the analysis module (241) may include an action analyzer (251), a history analyzer (253), a content analyzer (255), and a context analyzer (257).
[0077] In one embodiment, the action analyzer (251) may analyze a user's behavioral pattern based on data stored in the action DB (231). In one embodiment, the action analyzer (251) may identify a behavioral pattern based on the frequency and / or type of user input for multiple web pages. For example, the action analyzer (251) may identify the frequency and / or type of user input for web pages of the same type.
[0078] In one embodiment, the action analyzer (251) can identify the nature (e.g., active or passive) of a user's behavior based on user input to the user's browser (210) stored in the action DB (231). For example, the action analyzer (251) can evaluate the nature of the user's behavior for a specific web page as active if the frequency of user input for that specific web page is high among web pages of the same type and / or the types of user input are many and different. For example, the action analyzer (251) can evaluate the nature of the user's behavior for that specific web page as passive if the frequency of user input for that specific web page is low among web pages of the same type and / or the types of user input are few.
[0079] In one embodiment, the action analyzer (251) can identify errors in user input based on user input for the user's browser (210) stored in the action database (231). In one embodiment, errors in user input can be identified by subsequent user input. For example, if subsequent user input is identified to reverse the result of the user input, the user input can be identified as having an error.
[0080] In one embodiment, the action analyzer (251) can identify the user's behavioral pattern, nature of the behavior, and / or whether there is an error by inputting the user's browser (210) input stored in the action DB (231) into an AI (artificial intelligence) model.
[0081] In one embodiment, the AI model may include a plurality of parameters associated with a neural network having a structure based on an encoder and a decoder, such as a transformer. In one embodiment, the AI model may include a bidirectional model based on learning about an encoder (e.g., bidirectional encoder representations from transformers (BERT)) or an auto-encoding model (e.g., a diffusion model). In one embodiment, the AI model may include an auto-regressor model based on learning about a decoder (e.g., a generative pre-trained transformer (GPT)). In one embodiment, the AI model may include a sequence-to-sequence model (e.g., stable diffusion, DALL-E 2) based on learning about an encoder and a decoder. In one embodiment, the AI model may include, but is not limited to, a large language model (LLM) for processing natural language based on a massive number of parameters. The AI model may include parameters for driving a neural network, such as a convolutional neural network (CNN), a recurrent neural network (RNN), a feedforward neural network (FNN), and / or a long short-term memory (LSTM).
[0082] In one embodiment, the history analyzer (253) can identify the purpose of each visit to web pages visited through the browser (210) based on data stored in the history DB (233) and / or the device information DB (270).
[0083] In one embodiment, the history analyzer (253) can identify the purpose of a visit to a web page based on the identification information of the web page (e.g., URL), the trigger for moving to the web page (or the cause of moving), and the duration of stay (or the activation time) on the web page. In one embodiment, the purpose of a visit to a web page can be identified based on user input to the web page and / or the cause of moving from the web page to another page. For example, the purpose of a visit to a web page can include the purpose of viewing (or consuming) the content included in the web page and / or the purpose of passing through to move to another page. For example, the history analyzer (253) can identify that the purpose of a visit to a web page is to view (or consume) the content included in the web page if the duration of stay on the web page is relatively long (or the change in the viewpoint through user input is slow). For example, the history analyzer (253) can identify that the purpose of a visit to a web page is to pass through to another web page if the duration of stay on the web page is relatively short. For example, the history analyzer (253) can identify that the purpose of visiting a web page is to pass from one web page to another web page if the duration of stay on the web page is relatively short (or if a list of other web pages that can be visited is retrieved through user input).
[0084] In one embodiment, the history analyzer (253) can identify the usage purpose of the browser (210) based on data stored in the history DB (233) and / or the device information DB (270). In one embodiment, the usage purpose of the browser (210) can be identified by the visiting purpose of each of the web pages visited through the browser (210). For example, the history analyzer (253) can identify the usage purpose of the browser (210) by the visiting purpose of the visited web pages while the browser (210) is activated (or while operating in the foreground). For example, the history analyzer (253) can identify the usage purpose of the browser (210) based on the type of content consumed through the visited web pages while the browser (210) is activated (or while operating in the foreground). For example, if web pages containing news articles are viewed while the browser (210) is activated (or is operating in the foreground), the purpose of using the browser (210) may be to view news. For example, if web pages related to airline tickets are viewed while the browser (210) is activated (or is operating in the foreground), the purpose of using the browser (210) may be to check and / or reserve airline tickets. For example, if web pages related to airline tickets and web pages related to travel destinations are viewed while the browser (210) is activated (or is operating in the foreground), the purpose of using the browser (210) may be to travel. Here, the purpose of use, travel, may be a higher purpose including checking and / or reserving airline tickets.
[0085] In one embodiment, the history analyzer (253) can identify the importance of a web page based on data stored in the history DB (233) and / or the device information DB (270). In one embodiment, the history analyzer (253) can identify the importance of each web page based on the length of stay on each web page. For example, the history analyzer (253) can identify a web page as having high importance if the length of stay on the web page is greater than or equal to a reference length of stay. For example, the history analyzer (253) can identify a web page as having low importance if the length of stay on the web page is less than a reference length of stay.
[0086] In one embodiment, the history analyzer (253) can identify the purpose of use of the browser (210), the purpose of visiting a web page, and / or the importance of a web page by inputting data stored in the history DB (233) and / or the device information DB (270) into an AI model for regression inference.
[0087] In one embodiment, the content analyzer (255) may extract keywords from a web page based on data stored in the content DB (235). In one embodiment, the content analyzer (255) may extract keywords from one or more texts included in the web page using an algorithm (or AI model) for string analysis. In one embodiment, the content analyzer (255) may extract keywords from one or more images included in the web page using an algorithm (or AI model) for image analysis.
[0088] In one embodiment, the content analyzer (255) can identify the user's interests and / or characteristics of the web page (e.g., news provision, airline ticket reservation, travel blog, second-hand transaction) based on keywords extracted from the web page.
[0089] In one embodiment, the content analyzer (255) may identify that content that remains in the viewpoint of the browser (210) for a long time is content of high user interest.
[0090] In one embodiment, the context analyzer (257) can identify a context based on the output data of the action analyzer (251), the history analyzer (253), and the content analyzer (255). In one embodiment, the context analyzer (257) can identify a context based on the output data and data stored in the device information DB (270). In one embodiment, the context can indicate the user's browsing intent according to the user's purpose of visiting multiple web pages. For example, the context of web pages related to shopping can indicate that the user's browsing intent is shopping. For example, the context of web pages related to travel can indicate that the user's browsing intent is travel. In one embodiment, the data stored in the device information DB (270) can include information about the location of the electronic device (101), the current time, the user's schedule registered in the electronic device (101), and / or the usage status of other applications.
[0091] In one embodiment, the context analyzer (257) can identify multiple web pages that match the identified context. In one embodiment, the context analyzer (257) can classify the multiple web pages into one or more categories based on the identified context. In one embodiment, the context analyzer (257) can classify one or more web pages with a common visiting purpose into the same category based on the visiting purpose of each of the multiple web pages. In one embodiment, the category can represent the user's browsing intent (or context) based on the user's visiting purpose for the multiple web pages. For example, the context of a category into which shopping-related web pages are classified can indicate that the user's browsing intent is shopping. For example, the context of a category into which travel-related web pages are classified can indicate that the user's browsing intent is travel.
[0092] In one embodiment, the tab optimization module (243) may obtain context-related data from the context analyzer (257). In one embodiment, the tab optimization module (243) may obtain a visit history for one or more browsing tabs (227) from the tab manager (225). In one embodiment, the tab optimization module (243) may determine whether to update a browsing tab based on the context-related data and / or the visit history for one or more browsing tabs (227).
[0093] In one embodiment, the tab optimization module (243) may update a browsing tab into two or more browsing tabs if a browsing tab contains a visit history for web pages that can be classified into multiple contexts. In one embodiment, the tab optimization module (243) may set browsing tabs corresponding to each of the multiple contexts if a browsing tab contains a visit history for web pages that can be classified into multiple contexts. In one embodiment, the browsing tabs corresponding to each of the multiple contexts may be assigned a visit history of one or more web pages classified into each of the multiple contexts. The current web page, the previous web page, and the next web page of the browsing tabs corresponding to each of the multiple contexts may be included in one or more web pages included in the assigned visit history. In one embodiment, the current web page may be the most important web page among one or more web pages included in the assigned visit history. The previous web page of the current web page may be a web page prior to the visit time of the current web page among one or more web pages included in the visit history. The next web page of the current web page may be, but is not limited to, one or more web pages included in the browsing history that follow the current web page at the time of visit.
[0094] In one embodiment, the tab optimization module (243) may update two or more browsing tabs into a single browsing tab if there is a visit history for web pages that can be classified into a single context in two or more browsing tabs. In one embodiment, the tab optimization module (243) may set a single browsing tab corresponding to a single context for web pages of the two or more browsing tabs if there is a visit history for web pages that can be classified into a single context in two or more browsing tabs. In one embodiment, a single browsing tab corresponding to a single context may be assigned a visit history of one or more web pages classified into a single context. The current web page, the previous web page, and the next web page of a single browsing tab corresponding to a single context may be included in one or more web pages included in the assigned visit history.
[0095] In one embodiment, the tab optimization module (243) may determine whether to set a browsing tab based on the number of web pages classified into a single context. For example, the tab optimization module (243) may not create a browsing tab based on a single context if the number of web pages classified into a single context is less than or equal to a specified number.
[0096] In one embodiment, the tab optimization module (243) may determine whether to update (or create) (or set) a browsing tab based on whether the visiting purpose of web pages classified into a context has expired (or achieved). In one embodiment, the tab optimization module (243) may identify whether the visiting purpose of web pages classified into a context has expired (or achieved) based on the device information DB (270) and / or the content DB (235). For example, if the context is travel and the current date is after a travel-related schedule stored in the device information DB (270), the tab optimization module (243) may identify that the visiting purpose of web pages classified into the context has expired (or achieved). For example, if the context is purchase and the current date is after a delivery schedule identified in the content DB (235), the tab optimization module (243) may identify that the visiting purpose of web pages classified into the context has expired (or achieved).
[0097] In one embodiment, the tab optimization module (243) may not update (or create) (or set) a browsing tab for a context based on the expiration (or achievement) of the visiting purpose of web pages classified into the context. In one embodiment, the tab optimization module (243) may delete a context based on the expiration (or achievement) of the visiting purpose of web pages classified into the context. In one embodiment, the tab optimization module (243) may register web pages classified into the context to be deleted, of which an importance level is higher than a reference importance level, as favorites.
[0098] In one embodiment, the summary module (245) may generate a summary page that summarizes one or more web pages included in a browsing tab for a context. In one embodiment, the summary module (245) may generate the summary page by inputting a visit history for one or more web pages included in a browsing tab for a context into an AI model. In one embodiment, the summary page may include a name of a category for the browsing tab (e.g., travel, purchase of product B). In one embodiment, the summary page may include an object (e.g., text, image) indicating a purpose of visiting one or more web pages included in the browsing tab. In one embodiment, the summary page may include thumbnail images of some web pages with high importance among one or more web pages included in the browsing tab.
[0099] In one embodiment, the server (108) may host a web page accessible via a network. In one embodiment, the server (108) may transmit data related to the web page to the electronic device (101) in response to a request from the electronic device (101). In one embodiment, the data related to the web page transmitted in response to the request may be data written based on a markup language (e.g., hypertext markup language (HTML)). In one embodiment, the data related to the web page transmitted in response to the request may include content (e.g., text, images, icons, videos) and meta information of the web page (e.g., site name, supported languages, introductory text).
[0100] As described above, the electronic device (101) can update one or more browsing tabs (227) based on one or more contexts according to the visit history of one or more browsing tabs (227) of the browser (210). By updating one or more browsing tabs (227) based on the contexts, the electronic device (101) can enable web page navigation through a tab having a visit history of web pages sorted according to the context. By enabling web page navigation through a tab having a visit history of web pages sorted according to the context, a user can browse web pages with a common visit purpose through a single tab.
[0101] Figure 3a illustrates an example of a visit history in a browsing tab, according to one embodiment. Figure 3b illustrates an example of categories classified according to a visit history in a browsing tab, according to one embodiment. Figure 3c illustrates an example of a tree structure of web pages visited in a browsing tab, according to one embodiment. Figure 3d illustrates an example of browsing tabs updated according to categories, according to one embodiment.
[0102] Figures 3a to 3d can be explained with reference to Figures 1 to 2b.
[0103] Referring to FIG. 3A, a plurality of web pages (311 to 320) may be web pages browsed (or visited) through a browsing tab (301) of a browser (210). In one embodiment, the browsing tab (301) of the browser (210) may be a state in which web pages (311 to 320) are sequentially visited. In one embodiment, the current page (323) of the browsing tab (301) of the browser (210) may be a web page (315) related to a search for product B. In one embodiment, the current page of the browsing tab (301) may be changed from a web page (320) to a web page (315) based on consecutive inputs for moving to a previous page. In one embodiment, the previous page may be pages that may be changed from the current page based on an input for moving to a previous page. In one embodiment, the web pages (311 to 314) prior to the web page (315) may be the previous pages (321) of the browsing tab (301) of the browser (210). In one embodiment, the next page may be pages that can be changed from the current page based on an input to move to the next page. In one embodiment, the web pages (316 to 320) following the web page (315) may be the next pages (325) of the browsing tab (301) of the browser (210).
[0104] In one embodiment, the optimization module (240) can identify a context. In one embodiment, the optimization module (240) can identify a context in response to a user input requesting optimization of a browsing tab.
[0105] In one embodiment, the optimization module (240) may classify the plurality of web pages (311 to 320) into one or more categories (331, 333, 335) based on the purpose of visiting each of the plurality of web pages (311 to 320) included in the visit history of one browsing tab (301). In one embodiment, the category may represent the user's browsing intention (or context) according to the user's purpose of visiting the plurality of web pages (311 to 320). For example, referring to FIG. 3B, web pages (311, 312) for the purpose of reading news may be classified into category (331). In one embodiment, the browser homepage (313) may be a page passed through in the process of moving from a web page (312) related to the news main to a web page (314) related to a shopping site A. In one embodiment, the browser home page (313) may not be classified into any category as the default page of the browser (210). In one embodiment, web pages (314 to 318) for searching and / or purchasing product B may be classified into category (333). In one embodiment, web pages (319 and 320) for searching and / or purchasing product C may be classified into category (335).
[0106] In one embodiment, the optimization module (240) may identify a representative web page among web pages (311 to 320) classified into one or more categories (331, 333, 335). In one embodiment, the representative web page may be identified by a tree structure for the web pages (311 to 320). The tree structure may have a structure in which web pages accessible through hyperlinks of a specific web page and / or subdirectories of the domain of the specific web page are located at subnodes of the specific web page. Referring to FIG. 3C, the top node (351) of the tree structure for the web pages (311 to 320) may be located at the first layer (341) of browsing. In one embodiment, nodes (352, 353) for web pages (311, 314, 319) accessible through a third-level domain (e.g., 'abcd.com') among web pages (311 to 320) may be located in a second layer (343). In one embodiment, nodes (361, 362, 364) for web pages (312, 315, 320) accessible through hyperlinks and / or subdirectories of web pages (311, 314, 319) may be located in a third layer (345). In one embodiment, nodes (371, 372) for web pages (312, 315, 320) accessible via hyperlinks and / or subdirectories, and / or web pages (316, 317, 318), may be located in the fourth layer (347).
[0107] In one embodiment, the optimization module (240) may identify a representative web page among web pages located in layers below the third layer (345). For example, the optimization module (240) may identify the web page of the node with the most descendant nodes among the nodes in the third layer (345) that share a parent node of a category as the representative web page. However, the present invention is not limited thereto. For example, if the visiting purposes of the web pages of descendant nodes that share a parent node of a category are different, the optimization module (240) may identify the web page of the parent node as the representative web page.
[0108] In one embodiment, the optimization module (240) may identify the web page (312) of node (361) among the nodes (352, 361) related to the category (331) as the representative web page. In one embodiment, the optimization module (240) may identify the web page (315) of node (362) among the nodes (353, 362, 371, 372) related to the category (333) as the representative web page. However, the present invention is not limited thereto. In one embodiment, the optimization module (240) may identify the web page of the node of the second layer (343) as the representative web page. For example, the optimization module (240) may identify the web page (311) of node (352) among the nodes (352, 361) related to the category (331) as the representative web page.
[0109] In one embodiment, the optimization module (240) may set browsing tabs (303, 305, 307) based on one or more categories (331, 333, 335). Here, setting a browsing tab may mean managing a visit history for one or more web pages included in the category through the browsing tab. Setting a browsing tab may mean creating a browsing tab corresponding to the category. Setting a browsing tab may mean removing a browsing tab that does not correspond to the category.
[0110] In one embodiment, the optimization module (240) may set three browsing tabs (303, 305, 307) based on the identification of three categories (331, 333, 335). Referring to FIG. 3D, the optimization module (240) may set a browsing tab (303) with a web page (311) as a representative web page, a browsing tab (305) with a web page (315) as a representative web page, and a browsing tab (307) with a web page (320) as a representative web page. Referring to FIG. 3D, in the browsing tab (303), a previous page of the current page, the web page (311), may not exist. In the browsing tab (303), a next page of the current page, the web page (311), may be a web page (312). In the browsing tab (305), the previous page of the current page, the web page (315), may be web page (314). In the browsing tab (305), the next page of the current page, the web page (315), may be web page (316). In the browsing tab (307), the previous page of the current page, the web page (320), may be web page (319). In the browsing tab (305), the next page of the current page, the web page (320), may not exist.
[0111] As described above, the electronic device (101) can update (or create) multiple browsing tabs based on multiple contexts associated with a single browsing tab of the browser (210). By updating (or creating) multiple browsing tabs based on multiple contexts, a user can browse web pages with a common purpose of visiting through a single tab.
[0112] Figure 4a illustrates an example of a visit history in multiple browsing tabs, according to one embodiment. Figure 4b illustrates an example of a tree structure of web pages visited in multiple browsing tabs, according to one embodiment. Figure 4c illustrates an example of browsing tabs updated according to categories, according to one embodiment.
[0113] Figures 4a to 4c can be explained with reference to Figures 1 to 2b.
[0114] Referring to FIG. 4A, the plurality of web pages (411 to 425) may be web pages browsed (or visited) through the plurality of browsing tabs (401 to 404) of the browser (210). In one embodiment, the browsing tab (401) of the browser (210) may be a state in which web pages (411 to 416) are sequentially visited. In one embodiment, the web page (413) of the browsing tab (401) of the browser (210) may be the current page. In one embodiment, the web pages (411, 412) of the browsing tab (401) of the browser (210) may be the previous page. In one embodiment, the web pages (414, 415, 416) of the browsing tab (401) of the browser (210) may be the next page. In one embodiment, the browsing tab (402) of the browser (210) may be a state in which web pages (417, 418) are sequentially visited. In one embodiment, the web page (418) of the browsing tab (402) of the browser (210) may be the current page. In one embodiment, the web page (417) of the browsing tab (402) of the browser (210) may be the previous page. In one embodiment, the browsing tab (403) of the browser (210) may be a state in which web pages (419 to 422) are sequentially visited. In one embodiment, the web page (420) of the browsing tab (403) of the browser (210) may be the current page. In one embodiment, the web page (419) of the browsing tab (403) of the browser (210) may be the previous page. In one embodiment, the web pages (421, 422) of the browsing tab (403) of the browser (210) may be the next page. In one embodiment, the browsing tab (404) of the browser (210) may be in a state where web pages (423 to 425) are sequentially visited. In one embodiment, the web page (423) of the browsing tab (404) of the browser (210) may be the current page.In one embodiment, the web pages (424, 425) of the browsing tab (404) of the browser (210) may be the following pages.
[0115] In one embodiment, the optimization module (240) can identify a context. In one embodiment, the optimization module (240) can identify a context in response to a user input requesting optimization of a browsing tab.
[0116] In one embodiment, the optimization module (240) may classify the plurality of web pages (411 to 425) into one or more categories based on the purpose of visiting each of the plurality of web pages (411 to 425) included in the visit records of the plurality of browsing tabs (401 to 404). In one embodiment, the category may represent the user's browsing intention (or context) according to the purpose of visiting the plurality of web pages (411 to 425). For example, web pages (411, 412, 413, 414, 415, 422) for the purpose of searching and / or purchasing product B may be classified into one category. In one embodiment, web pages (416, 417, 418) for the purpose of searching and / or purchasing product C may be classified into one category. In one embodiment, web pages (419, 420, 423) may be pages visited while moving to web pages (421, 424) related to product search. In one embodiment, web pages (419, 420, 423) may not be classified into any category.
[0117] In one embodiment, the optimization module (240) may identify a representative web page among web pages (411 to 425) classified into one or more categories. In one embodiment, the representative web page may be identified by a tree structure for the web pages (411 to 425). Referring to FIG. 4B, the top node (451) of the tree structure for the web pages (411 to 425) may be located in a first layer (441) of browsing. In one embodiment, nodes (452, 453) for web pages (411, 417, 420, 423) accessible through a four-level domain (e.g., 'abcd.com') among the web pages (411 to 425) may be located in a second layer (443). In one embodiment, nodes (462, 464) for web pages (412, 418, 421, 424) accessible via hyperlinks and / or subdirectories of web pages (411, 417, 420, 423) may be located in a third layer (445). In one embodiment, nodes (471, 474) for web pages (413-416, 422, 426) accessible via hyperlinks and / or subdirectories of web pages (12, 418, 421, 424) may be located in a fourth layer (447).
[0118] In one embodiment, the optimization module (240) may identify a representative web page among web pages located in layers below the third layer (445). For example, the optimization module (240) may identify the web page of the node with the most descendant nodes among the nodes in the third layer (445) that share a parent node of a category as the representative web page. However, the present invention is not limited thereto. For example, if the visit purposes of each web page of descendant nodes that share a parent node of a category are different, the optimization module (240) may identify the web page of the parent node as the representative web page.
[0119] In one embodiment, the optimization module (240) may identify the web page (412) of node (462) among nodes (453, 462, 471 to 473) related to a category related to a search for product B as a representative web page. In one embodiment, the optimization module (240) may identify the web page (415) of node (464) among nodes (453, 464, 477) related to a search for product C as a representative web page. However, the present invention is not limited thereto.
[0120] In one embodiment, the optimization module (240) may configure browsing tabs (405, 406) based on one or more categories. Here, configuring a browsing tab may mean managing a visit history for one or more web pages included in the category through the browsing tab. Configuring a browsing tab may mean creating a browsing tab corresponding to the category. Configuring a browsing tab may mean removing a browsing tab that does not correspond to the category.
[0121] In one embodiment, the optimization module (240) may set two browsing tabs (405, 406) based on the two categories identified. Referring to FIG. 4C, the optimization module (240) may set a browsing tab (406) with a web page (412) as a representative web page, and a browsing tab (405) with a web page (418) as a representative web page. Referring to FIG. 4C, the previous page of the current page, web page (418), in the browsing tab (405) may be web page (417). The next page of the current page, web page (418), in the browsing tab (405) may be web page (416). The previous page of the current page, web page (412), in the browsing tab (406) may be web page (411). In the browsing tab (406), the next page of the current page, which is a web page (412), may be a web page (413, 414, 415, 422).
[0122] As described above, the electronic device (101) can update (or remove) multiple browsing tabs of the browser (210) based on multiple contexts associated with the multiple browsing tabs. By updating (or creating) multiple browsing tabs based on multiple contexts, a user can browse web pages with a common purpose of visiting through a single tab.
[0123] FIG. 5A illustrates an example of a visit history in multiple browsing tabs according to one embodiment.
[0124] FIG. 5b illustrates an example of browsing tabs updated according to categories, according to one embodiment.
[0125] FIG. 5a and FIG. 5b can be explained with reference to FIGS. 1 to 2b.
[0126] Referring to FIG. 5A, the plurality of web pages (511 to 519) may be web pages browsed (or visited) through the plurality of browsing tabs (501, 502) of the browser (210). In one embodiment, the browsing tab (501) of the browser (210) may be in a state where the web pages (511 to 513) have been sequentially visited and then returned to the web page (511). In one embodiment, the browsing tab (501) of the browser (210) may be in a state where the web pages (514 to 516) have been sequentially visited from the returned web page (511) and then returned to the web page (511). Therefore, in one embodiment, the web page (511) of the browsing tab (501) of the browser (210) may be the current page. In one embodiment, there may be no previous page of the browsing tab (501) of the browser (210). In one embodiment, web pages (514, 515, 516) of the browsing tab (501) of the browser (210) may be the next page. In one embodiment, the browsing tab (502) of the browser (210) may be in a state where web pages (517, 518, 519) have been sequentially visited. In one embodiment, the web page (518) of the browsing tab (502) of the browser (210) may be the current page. In one embodiment, the web page (517) of the browsing tab (502) of the browser (210) may be the previous page. In one embodiment, the web page (519) of the browsing tab (502) of the browser (210) may be the next page.
[0127] In one embodiment, the optimization module (240) can identify a context. In one embodiment, the optimization module (240) can identify a context in response to a user input requesting optimization of one or more browsing tabs (501, 502).
[0128] In one embodiment, the optimization module (240) may classify the plurality of web pages (511 to 519) into one or more categories based on the purpose of visiting each of the plurality of web pages (511 to 519) included in the visit records of the plurality of browsing tabs (501, 502). In one embodiment, the category may represent the user's browsing intention (or context) according to the user's purpose of visiting the plurality of web pages (511 to 519). For example, web pages (511, 512, 513) for the purpose of watching news may be classified into one category. In one embodiment, web pages (511, 514 to 519) for the purpose of traveling to place A may be classified into one category.
[0129] In one embodiment, the optimization module (240) may identify a representative web page among web pages (511 to 519) classified into one or more categories. In one embodiment, the representative web page may be identified by a tree structure for the web pages (511 to 519). In one embodiment, the optimization module (240) may identify web page (512) among web pages (511 to 513) related to the category of the purpose of watching news as the representative web page. In one embodiment, the optimization module (240) may identify web page (518) among web pages (511, 514 to 519) related to the category of the purpose of traveling to place A as the representative web page. However, the present invention is not limited thereto.
[0130] In one embodiment, the optimization module (240) may configure browsing tabs (503, 504) based on one or more categories. Here, configuring a browsing tab may mean managing a visit history for one or more web pages included in the category through the browsing tab. Configuring a browsing tab may mean creating a browsing tab corresponding to the category. Configuring a browsing tab may mean removing a browsing tab that does not correspond to the category.
[0131] In one embodiment, the optimization module (240) may determine whether to update (or create) a browsing tab based on whether the purpose of visiting web pages classified into a context has expired (or achieved). In one embodiment, the optimization module (240) may identify whether the purpose of visiting web pages classified into a context has expired (or achieved) based on the device information DB (270) and / or the content DB (235). For example, if the context is a trip to place A and the current date is after a schedule related to the trip to place A stored in the device information DB (270), the optimization module (240) may identify that the purpose of visiting web pages classified into a context related to the trip to place A has expired (or achieved).
[0132] In one embodiment, the optimization module (240) may set browsing tabs (503) based on the identified categories that have not expired (or been achieved). In one embodiment, the optimization module (240) may set one browsing tab (504) that displays the browser homepage based on the identified categories that have expired (or been achieved). Referring to FIG. 5B, the optimization module (240) may set the browsing tab (503) with the web page (512) as the representative web page, and the browsing tab (504) with the browser homepage (520) as the representative web page. Referring to FIG. 5A, the previous page of the current page (512) in the browsing tab (503) may be the web page (511). The next page of the current page (512) in the browsing tab (503) may be the web page (513). Since there is no visit history associated with the browsing tab (504), the previous and next pages of the current page, the browser home page (520), may not exist.
[0133] As described above, the electronic device (101) can update (or create) multiple browsing tabs by contexts excluding contexts that are no longer needed among the multiple contexts associated with the multiple browsing tabs of the browser (210). By updating (or creating) multiple browsing tabs by the necessary contexts, the user may not be required to manage web pages and / or browsing tabs whose visit purpose has expired (or achieved).
[0134] Figure 6a illustrates an example of a visit history in multiple browsing tabs, according to one embodiment. Figure 6b illustrates an example of browsing tabs updated by category, according to one embodiment. Figure 6c illustrates an example of a web page summarizing browsing tabs updated by category, according to one embodiment.
[0135] Figures 6a to 6c can be explained with reference to Figures 1 to 2b.
[0136] Referring to FIG. 6A, a plurality of web pages (611 to 614, 621 to 624, 631 to 634) may be web pages browsed (or visited) through a plurality of browsing tabs (601, 603, 605) of a browser (210). In one embodiment, the browsing tab (601) of the browser (210) may be in a state where the web pages (611 to 614) have been visited. In one embodiment, the web page (614) of the browsing tab (601) of the browser (210) may be the current page. In one embodiment, the browsing tab (603) of the browser (210) may be in a state where the web pages (621 to 624) have been visited. In one embodiment, the web page (622) of the browsing tab (603) of the browser (210) may be the current page. In one embodiment, the browsing tab (605) of the browser (210) may be visited web pages (631 to 634). In one embodiment, the web page (632) of the browsing tab (605) of the browser (210) may be the current page.
[0137] In one embodiment, the optimization module (240) can identify a context. In one embodiment, the optimization module (240) can identify a context in response to a user input requesting optimization of a browsing tab.
[0138] In one embodiment, the optimization module (240) may classify the plurality of web pages (611 to 614, 621 to 624, 631 to 634) into one or more categories based on the purpose of visiting each of the plurality of web pages (611 to 614, 621 to 624, 631 to 634) included in the visit records of the plurality of browsing tabs (601, 603, 605). In one embodiment, the category may represent the user's browsing intention (or context) according to the purpose of visiting the plurality of web pages (611 to 614, 621 to 624, 631 to 634). For example, web pages for the purpose of travel (611 to 614, 621 to 624, 631 to 634) may be classified into one category.
[0139] In one embodiment, the optimization module (240) can identify a representative web page among web pages (611 to 614, 621 to 624, 631 to 634) classified into one category. In one embodiment, the representative web page can be identified by a tree structure for the web pages (611 to 614, 621 to 624, 631 to 634). In one embodiment, the optimization module (240) can identify a web page (632) with the highest importance among web pages (611 to 614, 621 to 624, 631 to 634) of the travel purpose category as the representative web page.
[0140] In one embodiment, the optimization module (240) may set one browsing tab (607) based on one category. Referring to FIG. 6b, the optimization module (240) may set a browsing tab (607) with a web page (632) as a representative web page.
[0141] In one embodiment, the optimization module (240) may generate a summary page (609) that summarizes one or more web pages (611 to 614, 621 to 624, 631 to 634) included in a browsing tab (607) for one category. In one embodiment, the optimization module (240) may generate the summary page (609) by inputting a visit history for one or more web pages (611 to 614, 621 to 624, 631 to 634) included in the browsing tab (607) into an AI model. In one embodiment, the summary page (609) may include a name of a category (e.g., D Travel Destination) (640) for the browsing tab (607). In one embodiment, the summary page (609) may include objects (e.g., text, images) (653, 663, 673) indicating the purpose of visiting one or more web pages (611 to 614, 621 to 624, 631 to 634) included in the browsing tab (607). In one embodiment, the summary page (609) may include thumbnail images (651, 661, 671) of some web pages (614, 622, 632) having high importance among one or more web pages (611 to 614, 621 to 624, 631 to 634) included in the browsing tab (607).
[0142] As described above, the electronic device (101) can update one or more browsing tabs based on one or more contexts according to the visit history of one or more browsing tabs of the browser (210). As described above, the electronic device (101) can generate a summary page for one or more browsing tabs updated by the contexts. Through the summary page for one or more browsing tabs updated by the contexts, the user can check the information contained in the newly updated browsing tabs without changing the page to the previous page and / or the next page.
[0143] FIG. 7 is a flowchart illustrating the operation of an electronic device (101) according to one embodiment.
[0144] Figure 7 can be explained with reference to Figures 1 to 2b.
[0145] Referring to FIG. 7, in operation 710, the electronic device (101) may identify visit records for a plurality of pages. In one embodiment, the electronic device (101) may identify data related to visit records for a web page through the history DB (233). In one embodiment, the visit records may include identification information of the web page (e.g., URL), a trigger for moving to the web page (or a cause of moving), and a stay time (or an activation time) for the web page. In one embodiment, the trigger for moving to the web page may include selection of a hyperlink within the web page, identification of an input for switching to a previous web page, identification of an input for switching to a next web page, and / or execution of the browser (210) by an API called by another application. In one embodiment, the API may include identification information (e.g., URL) related to a web page to be displayed, but is not limited thereto. In one embodiment, the browser (210) may be launched based on direct user input (e.g., based on an executable object (e.g., an icon) capable of launching the browser (210). In one embodiment, the browser (210) may be launched based on an input of selecting a hyperlink included in another application. In one embodiment, the browser (210) may be launched based on receiving a notification of the browser (210).
[0146] In operation 720, the electronic device (101) may identify one or more contexts based on the visit records.
[0147] In one embodiment, the electronic device (101) can identify the purpose of visiting a web page based on the identification information of the web page (e.g., URL), the trigger for moving to the web page (or the cause of moving), and the duration of stay (or the activation time) on the web page. In one embodiment, the purpose of visiting a web page can be identified based on user input to the web page and / or the cause of moving from the web page to another page. For example, the purpose of visiting a web page can include the purpose of viewing (or consuming) the content included in the web page and / or the purpose of passing through to move to another page. For example, the electronic device (101) can identify the purpose of visiting a web page as viewing (or consuming) the content included in the web page if the duration of stay on the web page is relatively long (or the change in the viewpoint through user input is slow). For example, the electronic device (101) can identify the purpose of visiting a web page as passing through to move from the web page to another web page if the duration of stay on the web page is relatively short. For example, the electronic device (101) may identify that the purpose of visiting a web page is to transit from one web page to another web page if the dwell time on the web page is relatively short (or if a list of other web pages that can be visited is retrieved through user input).
[0148] In one embodiment, the electronic device (101) can identify the purpose of use of the browser (210) based on data stored in the history DB (233) and / or the device information DB (270). In one embodiment, the purpose of use of the browser (210) can be identified by the purpose of visiting each of the web pages visited through the browser (210). For example, the electronic device (101) can identify the purpose of use of the browser (210) by the purpose of visiting the visited web pages while the browser (210) is activated (or while operating in the foreground). For example, the electronic device (101) can identify the purpose of use of the browser (210) based on the type of content consumed through the visited web pages while the browser (210) is activated (or while operating in the foreground). For example, if web pages containing news articles are viewed while the browser (210) is activated (or is operating in the foreground), the purpose of using the browser (210) may be to view news. For example, if web pages related to airline tickets are viewed while the browser (210) is activated (or is operating in the foreground), the purpose of using the browser (210) may be to check and / or reserve airline tickets. For example, if web pages related to airline tickets and web pages related to travel destinations are viewed while the browser (210) is activated (or is operating in the foreground), the purpose of using the browser (210) may be to travel. Here, the purpose of use, travel, may be a higher purpose including checking and / or reserving airline tickets.
[0149] In one embodiment, the electronic device (101) can identify the importance of a web page based on data stored in the history DB (233) and / or the device information DB (270). In one embodiment, the electronic device (101) can identify the importance of each web page based on the residence time of each web page. For example, if the residence time of a web page is greater than or equal to a reference residence time, the electronic device (101) can identify the importance of the web page as high. For example, if the residence time of a web page is less than a reference residence time, the electronic device (101) can identify the importance of the web page as low.
[0150] In one embodiment, the electronic device (101) can identify the purpose of use of the browser (210), the purpose of visiting a web page, and / or the importance of a web page by inputting data stored in the history DB (233) and / or the device information DB (270) into an AI model for regression inference.
[0151] In one embodiment, the electronic device (101) may extract keywords from a web page based on data stored in the content DB (235). In one embodiment, the electronic device (101) may extract keywords from one or more texts included in the web page using an algorithm (or AI model) for string analysis. In one embodiment, the electronic device (101) may extract keywords from one or more images included in the web page using an algorithm (or AI model) for image analysis.
[0152] In one embodiment, the electronic device (101) can identify the user's interests and / or characteristics of the web page (e.g., news provision, airline ticket reservation, travel blog, second-hand transaction) based on keywords extracted from the web page.
[0153] In one embodiment, the electronic device (101) can identify a context based on the purpose of using the browser (210), the purpose of visiting the web page, the importance of the web page, the user's interests, and / or the characteristics of the web page. In one embodiment, if the purpose of using the browser (210) is not to kill time, the electronic device (101) can identify a context based on the purpose of visiting, the importance, and / or the characteristics of the visited web pages. In one embodiment, the electronic device (101) can identify a context based on whether the user's interests are similar as identified through keywords of web pages visited through the browser (210). For example, in one embodiment, the electronic device (101) can identify web pages that include keywords indicating the same interests as being included in the same context (or category).
[0154] In operation 730, the electronic device (101) may set one or more browsing tabs corresponding to each of one or more contexts.
[0155] In one embodiment, the electronic device (101) may obtain context-related data. In one embodiment, the electronic device (101) may determine whether to update a browsing tab based on the context-related data and / or a visit history for one or more browsing tabs (227).
[0156] In one embodiment, if a browsing tab contains a visit history for web pages that can be classified into multiple contexts, the electronic device (101) may update a browsing tab into two or more browsing tabs. In one embodiment, if a browsing tab contains a visit history for web pages that can be classified into multiple contexts, the electronic device (101) may set browsing tabs corresponding to each of the multiple contexts.
[0157] In one embodiment, the electronic device (101) may update two or more browsing tabs into a single browsing tab if there is a visit history for web pages that can be classified into a single context in two or more browsing tabs. In one embodiment, the electronic device (101) may set a single browsing tab corresponding to a single context for web pages of the two or more browsing tabs if there is a visit history for web pages that can be classified into a single context in two or more browsing tabs.
[0158] In one embodiment, the electronic device (101) may determine whether to set a browsing tab based on the number of web pages classified into a single context. For example, the electronic device (101) may not create a browsing tab based on a single context if the number of web pages classified into a single context is less than or equal to a specified number.
[0159] In one embodiment, the electronic device (101) may determine whether to update (or create) a browsing tab based on whether the purpose of visiting web pages classified into a context has expired. In one embodiment, the electronic device (101) may identify whether the purpose of visiting web pages classified into a context has expired based on the device information DB (270) and / or the content DB (235). For example, if the context is travel and the current date is after a travel-related schedule stored in the device information DB (270), the electronic device (101) may identify that the purpose of visiting web pages classified into the context has expired. For example, if the context is purchase and the current date is after a delivery schedule identified in the content DB (235), the electronic device (101) may identify that the purpose of visiting web pages classified into the context has expired.
[0160] In one embodiment, the electronic device (101) may not update (or create) a browsing tab for a context based on the expiration of the visit purpose of web pages classified into the context. In one embodiment, the electronic device (101) may delete the context based on the expiration of the visit purpose of web pages classified into the context. In one embodiment, the electronic device (101) may register web pages classified into the context to be deleted, among which web pages with an importance level higher than a reference importance level, as favorites.
[0161] According to an embodiment, the electronic device (101) may generate a summary page that summarizes one or more web pages included in a browsing tab for a context. In one embodiment, the electronic device (101) may generate the summary page by inputting a visit history for one or more web pages included in the browsing tab for the context into an AI model. In one embodiment, the summary page may include a name of a category for the browsing tab (e.g., travel, purchase of product B). In one embodiment, the summary page may include an object (e.g., text, image) indicating a purpose of visiting one or more web pages included in the browsing tab. In one embodiment, the summary page may include thumbnail images of some web pages with high importance among one or more web pages included in the browsing tab.
[0162] FIG. 8 is a block diagram of an electronic device (101) according to one embodiment.
[0163] The description of the configuration described through FIGS. 2A and 2B in FIG. 8 may not be repeated. For example, the electronic device (101) of FIG. 8 may correspond to the electronic device (101) of FIGS. 2A and 2B. For example, the processor (120), the memory (130), the display (260), and the communication circuit (290) of FIG. 8 may correspond to the processor (120), the memory (130), the display (260), and the communication circuit (290) of FIGS. 2A and 2B. For example, the program (140), the browser (210), and the device information DB (270) of FIG. 8 may correspond to the program (140), the browser (210), and the device information DB (270) of FIGS. 2A and 2B. Compared to FIGS. 2A and 2B, in FIG. 8, the optimization module (240) may not be included in the electronic device (101). In FIG. 8, the optimization module (840) is illustrated as being included only in the server (808), but this is merely an example. Depending on the embodiment, the optimization module (840) may be included in each of the electronic device (101) and the server (808).
[0164] Referring to FIG. 8, the server (808) may include a processor (820), a memory (830), and a communication circuit (890). In one embodiment, the processor (820) may correspond to the processor (120) of FIG. 1. In one embodiment, the memory (830) may correspond to the memory (130) of FIG. 1. In one embodiment, the communication circuit (890) may correspond to the communication module (190) of FIG. 1. In one embodiment, the memory (830) may include an optimization module (840). Compared to FIGS. 2A and 2B, in FIG. 8, the optimization module (840) may be included in the server (808). In one embodiment, the optimization module (840) may correspond to the optimization module (240) of FIGS. 2A and 2B.
[0165] In one embodiment, the server (808) may optimize one or more browsing tabs (e.g., 227 of FIG. 2B) of the electronic device (101) based on a request from the electronic device (101).
[0166] In one embodiment, the optimization module (840) may identify the purpose of visiting each of a plurality of web pages visited through one or more browsing tabs (e.g., 227 of FIG. 2B) based on data stored in an action DB (e.g., 231 of FIG. 2B), a history DB (e.g., 233 of FIG. 2B), and / or a content DB (e.g., 235 of FIG. 2B). In one embodiment, the optimization module (840) may identify the purpose of visiting each of a plurality of web pages visited through one or more browsing tabs (e.g., 227 of FIG. 2B) in response to an optimization request of one or more browsing tabs (e.g., 227 of FIG. 2B).
[0167] In one embodiment, the optimization module (840) may classify multiple web pages into one or more categories based on the purpose of visiting each of the multiple web pages. In one embodiment, the optimization module (840) may generate a summary page for at least one browsing tab among the configured one or more browsing tabs (227).
[0168] In one embodiment, the optimization module (840) may analyze a user's behavioral pattern based on data stored in the action DB (231). In one embodiment, the optimization module (840) may identify the purpose of visiting each web page visited through the browser (210) based on data stored in the history DB (233) and / or the device information DB (270). In one embodiment, the optimization module (840) may extract keywords from web pages based on data stored in the content DB (235). In one embodiment, the optimization module (840) may identify a context based on the behavioral pattern, the purpose of visiting, and / or the keyword. In one embodiment, the optimization module (840) may identify a context based on the behavioral pattern, the purpose of visiting, and / or the keyword and data stored in the device information DB (270).
[0169] In one embodiment, the optimization module (840) can identify multiple web pages that match the identified context. In one embodiment, the optimization module (840) can obtain data related to the context. In one embodiment, the optimization module (840) can obtain a visit history for one or more browsing tabs (227) from a tab manager (e.g., 225 of FIG. 2B ). In one embodiment, the optimization module (840) can determine whether to update a browsing tab based on the data related to the context and / or the visit history for one or more browsing tabs (227).
[0170] In one embodiment, the optimization module (840) may update a single browsing tab into two or more browsing tabs if there is a visit history for web pages that can be classified into multiple contexts in a single browsing tab. In one embodiment, the optimization module (840) may update two or more browsing tabs into one browsing tab if there is a visit history for web pages that can be classified into one context in two or more browsing tabs. In one embodiment, the optimization module (840) may determine whether to set a browsing tab based on the number of web pages classified into one context.
[0171] In one embodiment, the optimization module (840) may determine whether to update (or create) (or set) a browsing tab based on whether the purpose of visiting web pages classified into a context has expired (or achieved).
[0172] In one embodiment, the optimization module (840) may generate a summary page summarizing one or more web pages included in a browsing tab for a context. In one embodiment, the optimization module (840) may generate the summary page by inputting a visit history for one or more web pages included in a browsing tab for a context into an AI model.
[0173] In one embodiment, the server (808) may transmit a response to a request from the electronic device (101) to the electronic device (101). In one embodiment, the server (808) may transmit the result of optimizing one or more browsing tabs (e.g., 227 of FIG. 2B) to the electronic device (101). In one embodiment, the server (808) may transmit data for two or more browsing tabs updated from one browsing tab to the electronic device (101). In one embodiment, the server (808) may transmit data for one browsing tab updated from two or more browsing tabs to the electronic device (101).
[0174] In one embodiment, the server (808) may transmit data to the electronic device (101) for a summary page summarizing one or more web pages included in a browsing tab for the context.
[0175] As described above, the electronic device (101) may include a processor (120). The electronic device (101) may include a memory (130) that stores instructions. The instructions, when executed by the processor (120), may cause the electronic device (101) to obtain a visit history for a plurality of web pages accessed through one or more first browsing tabs (227) of a browsing application. The instructions, when executed by the processor (120), may cause the electronic device (101) to classify one or more of the plurality of web pages into a designated category based on the visit history. The one or more web pages classified into the designated category may be sorted in a visit order. The above instructions, when executed by the processor (120), may cause the electronic device (101) to set a second browsing tab for the designated category. The second browsing tab may be assigned a visit history of one or more web pages classified for the designated category. The current web page, the previous web page, and the next web page of the second browsing tab may be included in the one or more web pages.
[0176] As described above, the electronic device (101) may include a processor (120). The electronic device (101) may include a memory (130) that stores instructions. The instructions, when executed by the processor (120), may cause the electronic device (101) to obtain a visit history for a plurality of web pages accessed through one or more browsing tabs (227) of a browsing application. The instructions, when executed by the processor (120), may cause the electronic device (101) to identify, based on the visit history, one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages. The instructions, when executed by the processor (120), may cause the electronic device (101) to set a first browsing tab for the first web pages and a second browsing tab for the second web pages. The first browsing tab may be assigned a visit history of the first web pages sorted in a visit order. The second browsing tab may be assigned a visit history of the second web pages sorted in a visit order. The current web page, the previous web page, and the next web page of the first browsing tab may be included in the first web pages. The current web page, the previous web page, and the next web page of the second browsing tab may be included in the second web pages.
[0177] The instructions, when executed by the processor (120), may cause the electronic device (101) to identify one or more contents included in each of the plurality of web pages. The instructions, when executed by the processor (120), may cause the electronic device (101) to identify a purpose of visiting each of the plurality of web pages based on the one or more contents. The instructions, when executed by the processor (120), may cause the electronic device (101) to classify one or more first web pages having a common purpose of visiting into the designated first category based on the purpose of visiting each of the plurality of web pages.
[0178] The instructions, when executed by the processor (120), may cause the electronic device (101) to identify whether a web page exists among the first web pages included in the first category, indicating that the purpose of the visit has been achieved. The instructions, when executed by the processor (120), may cause the electronic device (101) to stop setting the first browsing tab for the first category in response to the web page being identified. The instructions, when executed by the processor (120), may cause the electronic device (101) to set the first browsing tab for the first category in response to the web page not being identified.
[0179] The above instructions, when executed by the processor (120), may cause the electronic device (101) to set a browsing tab representing a browser home page in response to the web page being identified.
[0180] The instructions, when executed by the processor (120), may cause the electronic device (101) to identify whether a schedule related to a purpose of visiting the first web pages included in the first category has expired. The instructions, when executed by the processor (120), may cause the electronic device (101) to stop setting the first browsing tab for the first category in response to the schedule expiring. The instructions, when executed by the processor (120), may cause the electronic device (101) to set the first browsing tab for the first category in response to the schedule not expiring.
[0181] The one or more web pages may be web pages accessed through two or more browsing tabs (227) among the one or more browsing tabs (227). The first browsing tab may be one browsing tab for the first category.
[0182] The first web pages may be some of the web pages accessed through one of the one or more browsing tabs (227). Some of the remaining web pages accessed through the one browsing tab may be classified into a second category. The second category may be used to configure the second browsing tab.
[0183] The above instructions, when executed by the processor (120), may cause the electronic device (101) to set the web page with the highest priority among the first web pages classified for the first category as the current web page of the first browsing tab.
[0184] The electronic device (101) may further include a display. The instructions, when executed by the processor (120), may cause the electronic device (101) to generate content summarizing the first web pages classified for the first category. The instructions, when executed by the processor (120), may cause the electronic device (101) to display the generated content on the display through the browsing application in response to an input requesting information about the first browsing tab.
[0185] The instructions, when executed by the processor (120), may cause the electronic device (101) to generate content summarizing the first web pages classified for the first category. The instructions, when executed by the processor (120), may cause the electronic device (101) to set the content as the current web page of the first browsing tab.
[0186] As described above, the method may be performed in an electronic device (101). The method may include an operation of obtaining a visit history for a plurality of web pages accessed through one or more first browsing tabs (227) of a browsing application. The method may include an operation of classifying one or more of the plurality of web pages into a designated category based on the visit history. The one or more web pages classified into the designated category may be sorted according to a visit order. The method may include an operation of setting a second browsing tab for the designated category. The second browsing tab may be assigned a visit history for the one or more web pages classified into the designated category. The current web page, the previous web page, and the next web page of the second browsing tab may be included in the one or more web pages.
[0187] As described above, the method may be performed in an electronic device (101). The method may include an operation of obtaining a visit history for a plurality of web pages accessed through one or more browsing tabs (227) of a browsing application. The method may include an operation of identifying, based on the visit history, one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages. The method may include an operation of setting a first browsing tab for the first web pages and a second browsing tab for the second web pages. The first browsing tab may be assigned a visit history of the first web pages sorted in a visit order. The second browsing tab may be assigned a visit history of the second web pages sorted in a visit order. The current web page, the previous web page, and the next web page of the first browsing tab may be included in the first web pages. The current web page, previous web page and next web page of the second browsing tab may be included in the second web pages.
[0188] The method may include an operation of identifying one or more contents included in each of the plurality of web pages. The method may include an operation of identifying a purpose of visiting each of the plurality of web pages based on the one or more contents. The method may include an operation of classifying the first web pages having a common purpose of visiting into the first category based on the purpose of visiting each of the plurality of web pages.
[0189] The method may include an operation of identifying whether a web page exists among the first web pages included in the first category, indicating that the purpose of the visit has been achieved. The method may include an operation of suspending the setting of the first browsing tab for the first category in response to the web page being identified. The method may include an operation of setting the first browsing tab for the first category in response to the web page not being identified.
[0190] The method may include, in response to the web page being identified, setting a browsing tab representing a browser home page.
[0191] The method may include an operation for identifying whether a schedule related to the purpose of visiting the first web pages included in the first category has expired. The method may include an operation for suspending the setting of the first browsing tab for the first category in response to the expiration of the schedule. The method may include an operation for setting the first browsing tab for the first category in response to the schedule not expiring.
[0192] The one or more web pages may be web pages accessed through two or more browsing tabs (227) among the one or more browsing tabs (227). The first browsing tab may be one browsing tab for the first category.
[0193] The first web pages may be some of the web pages accessed through one of the one or more browsing tabs (227). Some of the remaining web pages accessed through the one browsing tab may be classified into a second category. The second category may be used to configure the second browsing tab.
[0194] The method may include an action of setting a web page having the highest importance among the first web pages classified for the first category as the current web page of the first browsing tab.
[0195] The method may include generating content summarizing the first web pages classified for the first category. The method may include displaying the generated content on the display of the electronic device (101) via the browsing application in response to an input requesting information about the first browsing tab.
[0196] As described above, a non-transitory computer-readable storage medium can store a program including instructions. The instructions, when executed by the processor (120) of the electronic device (101), can cause the electronic device (101) to obtain a visit history for a plurality of web pages accessed through one or more first browsing tabs (227) of a browsing application. The instructions, when executed by the processor (120), can cause the electronic device (101) to classify one or more of the plurality of web pages into a designated category based on the visit history. The one or more web pages classified into the designated category can be sorted according to a visit order. The instructions, when executed by the processor (120), can cause the electronic device (101) to set a second browsing tab for the designated category. The second browsing tab may be assigned a visit history of one or more web pages classified according to the designated category. The current web page, previous web page, and next web page of the second browsing tab may be included in the one or more web pages.
[0197] As described above, a non-transitory computer readable storage medium can store a program including instructions. The instructions, when executed by the processor (120) of the electronic device (101), can cause the electronic device (101) to obtain a visit history for a plurality of web pages accessed through one or more browsing tabs (227) of a browsing application. The instructions, when executed by the processor (120), can cause the electronic device (101) to identify, based on the visit history, one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages. The instructions, when executed by the processor (120), may cause the electronic device (101) to set a first browsing tab for the first web pages and a second browsing tab for the second web pages. The first browsing tab may be assigned a visit history of the first web pages sorted in a visit order. The second browsing tab may be assigned a visit history of the second web pages sorted in a visit order. The current web page, the previous web page, and the next web page of the first browsing tab may be included in the first web pages. The current web page, the previous web page, and the next web page of the second browsing tab may be included in the second web pages.
[0198] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0199] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0200] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0201] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0202] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., by download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0203] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims
1. In an electronic device (101), processor (120), and It includes a memory (130) that stores instructions, and when the instructions are executed by the processor (120), the electronic device (101) Obtaining a visit history for multiple web pages accessed through one or more browsing tabs (227) of a browsing application, Based on the above visit history, identify one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages, Causing to set a first browsing tab for the first web pages and a second browsing tab for the second web pages; The above first browsing tab is assigned a visit history of the above first web pages sorted in order of visit, The second browsing tab is assigned a visit history of the second web pages sorted in order of visit. Electronic devices.
2. In claim 1, The above instructions, when executed by the processor (120), cause the electronic device (101) to: Identifying one or more contents contained in each of the above multiple web pages, Based on one or more of the above contents, identify the purpose of visiting each of the plurality of web pages, Based on the purpose of visiting each of the plurality of web pages, causing the first web pages having a common purpose of visiting to be classified into the first category. Electronic devices.
3. In claim 1 or claim 2, The above instructions, when executed by the processor (120), cause the electronic device (101) to: Identify whether there is a web page among the first web pages included in the first category that indicates that the purpose of the visit has been achieved, In response to the identification of said web page, stopping the setting of said first browsing tab for said first category; In response to the above web page not being identified, causing the first browsing tab to be set for the first category; Electronic devices.
4. In claim 3, The above instructions, when executed by the processor (120), cause the electronic device (101) to: In response to the above web page being identified, causing a browsing tab to be set that displays the browser home page; Electronic devices.
5. In any one of claims 1 to 4, The above instructions, when executed by the processor (120), cause the electronic device (101) to: Identify whether the schedule related to the purpose of visiting the first web pages included in the first category has expired, In response to the expiration of the above schedule, stop setting the first browsing tab for the above first category, In response to the above schedule not expiring, causing the first browsing tab to be set for the first category; Electronic devices.
6. In any one of claims 1 to 5, The one or more web pages are web pages accessed through two or more browsing tabs (227) among the one or more browsing tabs (227), The above first browsing tab is one browsing tab for the above first category. Electronic devices.
7. In any one of claims 1 to 6, The above first web pages are some of the web pages accessed through one of the one or more browsing tabs (227), Some of the remaining web pages among the web pages accessed through the above one browsing tab are classified into the second category, The above second category is used to set the above second browsing tab. Electronic devices.
8. In any one of claims 1 to 7, The above instructions, when executed by the processor (120), cause the electronic device (101) to: Causing the web page with the highest priority among the first web pages classified for the first category to be set as the current web page of the first browsing tab. Electronic devices.
9. In any one of claims 1 to 8, Including more displays, The above instructions, when executed by the processor (120), cause the electronic device (101) to: Generate content summarizing the first web pages classified for the first category, In response to an input requesting information about said first browsing tab, causing said generated content to be displayed on said display via said browsing application; Electronic devices.
10. In any one of claims 1 to 9, The above instructions, when executed by the processor (120), cause the electronic device (101) to: Generate content summarizing the first web pages classified for the first category, causing said content to be set as said current web page of said first browsing tab; Electronic devices.
11. In a method performed in an electronic device (101), An action to obtain a history of visits to multiple web pages accessed through one or more browsing tabs (227) of a browsing application; An operation of identifying one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages based on the above visit history, and comprising the action of setting a first browsing tab for the first web pages and a second browsing tab for the second web pages; The above first browsing tab is assigned a visit history of the above first web pages sorted in order of visit, The second browsing tab is assigned a visit history of the second web pages sorted in order of visits, The current web page, the previous web page and the next web page of the first browsing tab are included in the first web pages, The current web page, previous web page and next web page of the second browsing tab are included in the second web pages. method.
12. In claim 11, An action of identifying one or more contents contained in each of the plurality of web pages; An operation of identifying the purpose of visiting each of the plurality of web pages based on one or more of the contents, and An operation of classifying the first web pages having a common visiting purpose into the first category based on the visiting purpose of each of the plurality of web pages. method.
13. In claim 11 or claim 12, An action of identifying whether there is a web page among the first web pages included in the first category that indicates that the purpose of the visit has been achieved; In response to the identification of said web page, the action of stopping the setting of said first browsing tab for said first category; and In response to the above web page being unidentified, the action of setting the first browsing tab for the first category is included. method.
14. In claim 13, In response to identifying said web page, comprising the action of setting a browsing tab that represents the browser home page; method.
15. In a non-transitory computer readable storage medium, Store a program including instructions, and when the instructions are executed by the processor (120), the electronic device (101) Obtaining a visit history for multiple web pages accessed through one or more browsing tabs (227) of a browsing application, Based on the above visit history, identify one or more first web pages classified into a first category and one or more second web pages classified into a second category among the plurality of web pages, Causing to set a first browsing tab for the first web pages and a second browsing tab for the second web pages; The above first browsing tab is assigned a visit history of the above first web pages sorted in order of visit, The second browsing tab is assigned a visit history of the second web pages sorted in order of visits, The current web page, the previous web page and the next web page of the first browsing tab are included in the first web pages, The current web page, previous web page and next web page of the second browsing tab are included in the second web pages. A non-transitory computer-readable recording medium.
Citation Information
Patent Citations
Method and apparatus for grouping web page labels in a web browser
JP2018538599A
System and method for reconnecting an user with past website on the wireless network by using a numeric character or function indicator
KR100667516B1
Electronic device and method for displaying web history thereof
KR101952171B1
Method and electronic device for tab management based on context
KR102455232B1
User interfaces for surfacing web browser history data
US20230047383A1