This application is based on and claims priority under 35 U.S.C. § 119 to Indian Patent Application No. 201841025586, filed on Jul. 9, 2018, in the Indian Patent Office, the disclosure of which is incorporated by reference herein in its entirety.
The disclosure relates to a query processing system, and more particularly to a method and electronic device for retrieving content by processing a user request using an electronic device that receives the user request and using other electronic devices in proximity to the electronic device for searching for content based on the user's intent and context.
Conventional systems that simulate artificial intelligence are usually adapted to receive an input from a user, in either speech or typed form, and generate a response when a certain word or phrase is detected as the input. Further, artificial intelligence systems have been utilized in various different applications to interact with individuals. These applications have included customer service applications, voice response systems, games, and pure novelty pseudo-interactive programs. In effort to reduce costs associated with customer service, many companies have implemented automated systems that interact with the user and provide responses within the devices.
In an example, a user of a first electronic device inputs the query “I want to see the picture taken at John's home last week.” Based on the user query, the first electronic device identifies context-based indication corresponding to the “picture taken at John's home,” and searches within the first electronic device for a result of the query. Based on the identification related to the context-based indication, the first electronic device itself processes the query. Further, the first electronic device retrieves the picture taken at John's home within the electronic device, and displays the picture. However, the first electronic device does not have the capability to process the same query in other electronic device(s) for retrieving content relevant to the query.
Thus, it is desired to address the above mentioned disadvantages or other shortcomings or at least provide a useful alternative.
Embodiments of the disclosure provide a method and electronic device for retrieving content by processing a user request.
Embodiments of the disclosure analyze the user request to determine a user intent and a context related to the user request.
Embodiments of the disclosure identify one or more another electronic devices for searching the content based on the determined user intent and the context.
Embodiments of the disclosure identify the content in the one or more another electronic devices using one or more menu trees associated with one or more another electronic devices.
Embodiments of the disclosure dynamically retrieve the content relevant to the user request from one or more other electronic devices.
According to an embodiment of the disclosure, there is provided a method for retrieving content including receiving a user request at a first device, identifying a second device in proximity to the first device, and retrieving the content related to the user request from the second device based on a menu tree associated with the second device.
In an embodiment, the user request includes at least one of a text input, a voice input, a gesture input and a camera input.
In an embodiment, the first device communicates with the second device over an internet protocol (IP) through or one or more communication protocols for retrieving the content.
In an embodiment, identifying the one or more second devices includes determining that the content related to the user request is unavailable or partially available at the first device, and identifying the second device to search for the content in response to determining that the content related to the user request is unavailable or partially available at the first device.
In an embodiment, the content is retrieved from the one or more second devices by obtaining a menu tree associated with the first device, mapping the menu tree associated with the first device with the menu tree associated with the second device corresponding to the user request, identifying the content in the second device using the menu tree associated with the second device, selecting the content in the second device based on a selection criterion, and retrieving the content from the second device.
In an embodiment, the selection criterion includes at least one of a type of the content, a format of the content, a network associated with the second device, and configuration of the second device.
In an embodiment, the method includes transmitting the user request including a user intent and a context related to the user request to a server, transmitting a menu tree associated with the first device for retrieving the content related to the user request on the second device from the server, and receiving the content related to the user request on the second device from the server.
In an embodiment, the first device updates the menu tree associated with the first device to the server for retrieving the content from the second device.
According to an embodiment of the disclosure, there is provided a method of a server retrieving content, including receiving from a first device a user request for content, identifying a second device for processing the user request, identifying content related to the user request in the second device based on a menu trees associated with the second device, and retrieving the content from the second device.
In an embodiment, the method further includes providing the content to the first device.
In an embodiment, one or more second devices is identified for processing the user request by determining a network hub associated with the second device, identifying the second device connected to the network hub, and determining whether the second device contains the content related to the user request.
In an embodiment, the method further includes determining a network hubs associated with the second device when the content related to the user request is unavailable at the first device.
In an embodiment, the content is retrieved from the one or more second electronic devices by obtaining a menu tree associated with the first device, mapping the menu tree associated with the first device with the menu trees associated with the second device, searching for content in the second device using the menu tree associated with the second device, selecting the content in the second device based on a selection criterion, and causing to display the content in the first device.
In an embodiment, the content is retrieved from the one or more second devices by searching for the content in the second device, selecting the content in the second device based on a selection criterion, and causing to display the content in the first device.
In an embodiment, the menu tree is updated at the server based on one or more functions of the second device.
In an embodiment, the server monitors at least one of state information, context information and network topology of the first device and the second device.
In an embodiment, the server generates notifications for the first device based one at least one of device state information, context information and network topology of the second device.
According to an embodiment of the disclosure, there is provided a first device for retrieving content. The first electronic device includes a processor coupled to a memory. The processor is configured to receive a user request at the first device. The processor is configured to identify a second device in proximity to the first device. The processor is configured to retrieve the content related to the user request from the second device based on a menu tree associated with the second device.
According to an embodiment of the disclosure, there is provided a server for retrieving content. The server includes a processor coupled to a memory. The processor is configured to receive from a first device a user request for content. Further, the processor is configured to identify a second device for processing the user request. Further, the processor is configured to identify content related to the user request in the second device based on a menu tree associated with the second device. Further, the processor is configured to retrieve the content from the second device.
These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
This disclosure is illustrated in the accompanying drawings, throughout which like reference letters indicate corresponding parts in the various figures. The embodiments herein will be better understood from the following description with reference to the drawings, in which:
The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted to avoid unnecessarily obscuring the embodiments herein. Also, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form additional embodiments. The term “or” as used herein, refers to a non-exclusive or, unless otherwise indicated. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein can be practiced and to further enable those skilled in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
As is traditional in the field, embodiments may be described and illustrated in terms of blocks which carry out a described function or functions. These blocks, which may be referred to herein as units or modules or the like, are physically implemented by analog or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits, or the like, and may optionally be driven by firmware and software executed by hardware, such as a microprocessor or microcontroller. The circuits may, for example, be embodied in one or more semiconductor chips, or on substrate supports such as printed circuit boards and the like. The circuits constituting a block may be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware to perform some functions of the block and a processor to perform other functions of the block. Each block of the embodiments may be physically separated into two or more interacting and discrete blocks without departing from the scope of the disclosure. Likewise, the blocks of the embodiments may be physically combined into more complex blocks without departing from the scope of the disclosure.
The accompanying drawings are used to help easily understand various technical features and it should be understood that the embodiments presented herein are not limited by the accompanying drawings. As such, the disclosure should be construed to extend to any alterations, equivalents and substitutes in addition to those which are particularly set out in the accompanying drawings. Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are generally only used to distinguish one element from another.
The terms, such as “first,” “second,” and the like used herein may refer to distinguish various elements of various embodiments of the disclosure, but do not limit the elements. For example, “a first user device” and “a second user device” may indicate different user devices regardless of the order or priority thereof. For example, “a first user device” and “a second user device” indicate different user devices. For example, without departing the scope of the disclosure, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
According to the situation, the expression “configured to” used herein may be used as, for example, the expression “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of.” The term “configured to” must not mean only “specifically designed to” in hardware. Instead, the expression “a device configured to” may mean that the device is “capable of” operating together with another device or other components. For example, a “processor configured to (or set to) perform A, B, and C” may mean a dedicated processor (e.g., an embedded processor) for performing a corresponding operation or a generic-purpose processor (e.g., a central processing unit (CPU) or an application processor (AP)) which performs corresponding operations by executing one or more software programs which are stored in a memory device.
Embodiments herein provide a method for retrieving content by an electric device of a user processing a user request. The method includes receiving, by a content search engine, the user request. Further, the method includes analyzing, by the content search engine, the user request to determine a user intent and a context related to the user request. A user intents further, the method includes identifying, by the content search engine, one or more electronic devices in proximity to the electronic device for searching the content based on the user intent and the context. Further, the method includes dynamically retrieving, by the content search engine, the content relevant to the user request from the one or more electronic devices.
Consider an example, the user of the first electronic device inputs the query “find restaurants near me.” Based on the user query, the first electronic device identifies a context-based indication corresponding to the “find the restaurants near me” and searches for a result to the query within the first electronic device. Further, the first electronic device identifies other electronic devices having the restaurant information. Based on the identification related to the context-based indication, the first electronic device processes the query in the other electronic devices. Further, the first electronic device retrieves the restaurant information from the other electronic devices, and displays a cumulative results of the restaurant information.
Embodiments herein relate to a method for retrieving content by processing a user request by a server. The method includes receiving, by a menu tree processor, the user request from a first electronic device. Further, the method includes identifying, by the menu tree processor, one or more second electronic devices for processing the user request. Further, the method includes identifying, by the menu tree processor, the content relevant to the user request in the one or more second electronic devices using one or more menu trees associated with the one or more second electronic devices. Further, the method includes dynamically retrieving, by the menu tree processor, the content from the one or more second electronic devices.
Consider an example, the user of the first electronic device feeds the query as “find banks near me.” Based on the user query, the first electronic device identifies that context-based indication corresponding to the “find banks near me” and searches for a result to the query within the first electronic device. Further, the first electronic device identifies other electronic devices that have bank information using one or more menu trees associated with the one or more second electronic devices. Based on the identification related to the context-based indication, the server processes the query in the one or more second electronic device. Further, the first electronic device retrieves the bank information from the one or more second electronic device through the server, and displays a cumulative result of the bank information.
Referring now to the drawings and more particularly to
In an embodiment, the first electronic device 100 communicates with the one or more second electronic devices 200 through a short range communication. The short-range communications can be, for example, but not limited to, a BLUETOOTH™, radio frequency identification (RFID), infrared data association (IrDA), ultra-wideband (UWB), Zigbee, near field communication (NFC), wireless-fidelity (Wi-Fi), Wi-Fi direct, wireless universal serial bus (USB) or the like.
In an embodiment, the first electronic device 100 is configured to receive a user request. The user request can be, for example but not limited to, a text input, a voice input, a gesture input and a camera input. The user request is obtained through an input unit. In an example, the input unit can be a camera for obtaining images or video, a microphone, which is one type of audio input device for inputting an audio signal, and a user input unit (for example, a touch key, a push key, a mechanical key, a soft key, and the like) for allowing a user to input information.
After receiving the user request, the first electronic device 100 is configured to analyze the user request to determine a user intent and a context related to the user request. Further, the first electronic device 100 is configured to execute the user request on the second electronic device 200 for performing an action (e.g., retrieving the content or the like). The content can be for example, but not limited to, an audio, a video, an image, multimedia content or the like.
In another embodiment, the first electronic device 100 is configured to receive the user request. After receiving the user request, the first electronic device 100 is configured to analyze the user request to determine the user intent and the context related to the user request.
Based on the user intent and the context, the first electronic device 100 is configured to identify the second electronic device 200 in proximity to the first electronic device 100 to search for the content related to the request.
In an embodiment, the second electronic device 200 is identified to search for the content based on the user intent and the context by determining that the content relevant to the user request is unavailable or partially available at the first electronic device 100, and identifying the second electronic device 200 to search for the content in response to determining that the content relevant to the user request is unavailable or partially available at the first electronic device 100. For example, the availability refers to stored information pertaining to the content relevant to the user request at the first electronic device 100.
Further, the first electronic device 100 is configured to dynamically retrieve the content relevant to the user request from the second electronic device 200. The content is dynamically retrieved from the second electronic device 200 by obtaining a menu tree associated with the first electronic device 100, mapping the menu tree associated with the first electronic device 100 with one or more menu trees associated with the second electronic device 200, identifying the content in the second electronic device 200 using the one or more menu trees associated with the second electronic device 200, and selecting the content in the second electronic device 200 based on a pre-determined criterion. Wherein the menu tree refers to bank information associated with the first electronic device 100 and the second electronic device 200.
In an embodiment, the selection criterion includes at least one of a type of the content, a format of the content, a network associated with the second electronic device 200, and configuration of the second electronic device 200. In other words, devices are ranked based on criteria pertaining to at least one of a type of the content, a format of the content, a network associated with the second electronic device 200, and configuration of the second electronic device 200.
As shown in the
After selecting the content in the one or more second electronic devices 200a-200n, the first electronic device 100 prioritizes/ranks the one or more second electronic devices 200a-200n based on the pre-determined criterion. Based on rank, the first electronic device 100 retrieves the content from the one or more second electronic devices 200a-200n.
In an example, if the first electronic device 100 identifies the content on the one or more second electronic devices 200a-220n and the first electronic device 100 identifies a content having higher quality in the second electronic devices 200a among the other electronic devices 200b-200n, then the first electronic device 100 retrieves the content in the second electronic devices 200a.
The first electronic device 100 communicates with the second electronic device 200 through one or more communication protocols for retrieving the content. In an example, the first electronic device 100 and the second electronic device 200 may be connected to each other over an Internet network or a mobile communication network.
In an embodiment, the first electronic device 100 is configured to receive the user request. After receiving the user request, first electronic device 100 is configured to analyze the user request to determine the user intent and the context related to the user request. Further, first electronic device 100 is configured to transmit the user request including the user intent and the context related to the user request to the server 300. Further, the first electronic device 100 is configured to dynamically retrieve the content relevant to the user request on the second electronic device 200 from the server 300.
In an embodiment, the first electronic device 100 transmits, to the server 300, the menu tree associated with the first electronic device 100 for retrieving the content relevant to the user request on the second electronic device 200 from the server 300. Further, the first electronic device 100 frequently updates the menu tree to the server 300 for retrieving the content from the second electronic device 200.
The server 300 is configured to receive the user request from the first electronic device 100. After receiving the user request from the first electronic device 100, the server 300 is configured to identify the second electronic device 200 for processing the user request. Further, the server 300 is configured to identify the content relevant to the user request in the second electronic device 200 using one or more menu trees associated with the second electronic device 200.
In an embodiment, the second electronic device is identified for processing the user request by determining a network hub associated with the second electronic device 200, identifying the second electronic device 200 connected to the determined the network hubs, and evaluating whether the identified second electronic device 200 contain the content relevant to the user request. Wherein the network hub refers to peers to the second electronic device 200 where the relevant information is available.
Further, the server 300 is configured to dynamically retrieve the content from the second electronic device 200. After retrieving the content from the second electronic device 200, the server 300 is configured to provide or display the content to the first electronic device 100.
In an embodiment, the content is dynamically retrieved from the second electronic device 200 by obtaining the menu tree associated with the first electronic device 100, mapping the menu tree associated with the first electronic device 100 with the menu tree associated with the second electronic device 200, searching for the content in the second electronic device 200 using the menu tree associated with the second electronic device 200, and selecting the content determined on the second electronic device 200 based on the pre-determined criterion.
In an embodiment, the content is dynamically retrieved from the second electronic device 200 by searching for the content in the identified second electronic device 200 and selecting the content determined on the second electronic device 200 based on the selection criterion.
In an embodiment, the menu tree is updated continuously at the server 300 based on one or more functions of the second electronic device 200. The server 300 continuously monitors at least one of state information, context information and network topology of the first electronic device 100 and the second electronic device 200. Functions of the second electronic device 200 are explained in paragraphs pertaining to
Further, the server 300 generates one or more notifications for the first electronic device 100 based one at least one of the device state information, context information and network topology of the second electronic device 200. Wherein the device state information refers to the state of battery of the first electronic device 100 or second electronic device 200. And the context information refers to the contextual parameters determined from the user request.
The first electronic device 100 communicates with the one or more second electronic devices 200a-220n through one or more communication protocols for retrieving the content. In an example, the first electronic device 100 and the one or more second electronic devices 200a-220n may be connected to each other over the Internet or a mobile communication network.
In another embodiment, the server 300 is configured to dynamically retrieve the content from the one or more second electronic device 200a-220n. After retrieving the content from the one or more second electronic device 200a-220n, the server 300 is configured to provide the content to the first electronic device 100.
In an embodiment, one or more second electronic devices 200a-220n are identified for processing the user request by determining one or more network hubs associated with the one or more second electronic devices 200a-220n, identifying one or more second electronic devices 200a-220n connected to the determined one or more network hubs, and evaluating whether the identified one or more second electronic devices 200a-200n contain the content relevant to the user request.
In an embodiment, the server 300 is configured to determine one or more network hubs associated with the one or more second electronic devices 200-220n when the content related to the user request is unavailable at the one of the second electronic device 200a among the one or more second electronic devices 200b-220n.
In an embodiment, the content is dynamically retrieved from the one or more second electronic devices 200a-200n by obtaining the menu tree associated with the first electronic device 100, mapping the menu tree associated with the first electronic device 100 with one or more menu trees associated with the one or more second electronic devices 200a-200n, searching for the content in the one or more second electronic devices 200a-220n using the one or more menu trees associated with the one or more second electronic devices 200a-200n, and selecting the content determined on the one or more second electronic devices 200a-200n based on pre-determined criterion.
In an embodiment, the menu tree is updated continuously at the server 300 based on one or more functions of the one or more second electronic devices 200a-200n. Further, the server 300 continuously monitors at least one of state information, context information and network topology of the first electronic device 100 and the one or more second electronic devices 200a-200n.
Although the
The content search engine 102 is configured to receive the user request. After receiving the user request, the content search engine 102 is configured to analyze the user request to determine the user intent and the context related to the user request. Further, the content search engine 102 is configured to execute the user request on the second electronic device 200 for retrieving the content.
In another embodiment, the content search engine 102 is configured to receive the user request. After receiving the user request, the content search engine 102 is configured to analyze the user request to determine the user intent and the context related to the user request.
Based on the user intent and the context, the content search engine 102 is configured to identify the second electronic device 200 in proximity to the first electronic device 100 for searching the content.
In an embodiment, the second electronic device 200 is identified for searching the content based on the user intent and the context by determining that the content relevant to the user request is unavailable or partially available at the first electronic device 100 and identifying the second electronic device 200 to search for the content in response to determining that the content relevant to the user request is unavailable or partially available at the first electronic device 100.
Further, the content search engine 102 is configured to dynamically retrieve the content relevant to the user request from the second electronic device 200. The content is dynamically retrieved, using the menu tree processor 104, from the second electronic device 200 by obtaining the menu tree associated with the first electronic device 100, mapping the menu tree associated with the first electronic device 100 with one or more menu trees associated with the second electronic device 200, identifying the content in the second electronic device 200 using the one or more menu trees associated with the second electronic device 200, and selecting the content in the second electronic device 200 based on the pre-determined criterion.
In another embodiment, after selecting the content from the one or more second electronic device 200, the content search engine 102 and the menu tree processor 104 prioritizes or ranks the second electronic device 200 based on pre-determined criterion. Based on the rank, the content search engine 102 retrieves the content from the second electronic device 200. Further, the content search engine 102 displays the content on the display 110.
In an embodiment, the content search engine 102 is configured to receive the user request. After receiving the user request, the content search engine 102 is configured to analyze the user request to determine the user intent and the context related to the user request. Further, the content search engine 102 is configured to transmit the user request including the user intent and the context related to the user request to the server 300.
In an embodiment, the menu tree processor 104 transmits the menu tree associated with the first electronic device 100 for retrieving the content relevant to the user request on the second electronic device 200 from the server 300. Further, the menu tree processor 104 frequently updates the menu tree to the server 300 for retrieving the content from the second electronic device 200.
Further, the processor 108 is configured to execute instructions stored in the memory 106 and to perform various processes. The communicator 112 is configured to provide communication between internal hardware components and between the electronic device and external devices via one or more networks. The communicator 112 is configured for communicating with the content search engine 102 and the menu tree processor 104 to retrieve the content.
In an embodiment, the communicator 112 typically includes one or more modules that perform communications such as wireless communications among the electronic devices 100 and 200 and the server 300. Further, the communicator 112 typically includes one or more modules which connect the electronic devices 100 and 200 to one or more networks.
The memory 106 also stores instructions to be executed by the processor 108. The memory 106 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. In addition, the memory 106 may, in some examples, be considered a non-transitory storage medium. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term “non-transitory” should not be interpreted that the memory 106 is non-movable. In some examples, the memory 106 can be configured to store larger amounts of information than the memory. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in Random Access Memory (RAM) or cache).
Although the
The content search engine 302 is configured to receive the user request from the first electronic device 100. After receiving the user request from the first electronic device 100, the content search engine 302 is configured to identify the second electronic device 200 for processing the user request. Further, the content search engine 302 is configured to identify the content relevant to the user request in the second electronic device 200 using one or more menu trees associated with the second electronic device 200 using the menu tree processor 304.
In an embodiment, the second electronic device 200 is identified, using the menu tree processor 304, for processing the user request by determining the network hub associated with the second electronic device 200, identifying the second electronic device 200 connected to the determined the network hubs, and evaluating whether the identified second electronic device 200 contains content relevant to the user request.
Further, the menu tree processor 304 is configured to dynamically retrieve the content from the second electronic device 200. After retrieving the content from the second electronic device 200, the content search engine 302 and the menu tree processor 304 are configured to provide the content to the first electronic device 100.
In an embodiment, the content is dynamically retrieved from the second electronic device 200, using the menu tree processor 304, by obtaining the menu tree associated with the first electronic device 100, mapping the menu tree associated with the first electronic device 100 with the menu tree associated with the second electronic device 200, searching for the content in the second electronic device 200 using the menu tree associated with the second electronic device 200, and selecting the content determined on the second electronic device 200 based on pre-determined criterion.
In an embodiment, the content is dynamically retrieved, using the menu tree processor 304, from the second electronic device 200 by searching for the content in the identified second electronic device 200 and selecting the content determined on the second electronic device 200 based on the selection criterion.
Further, the processor 308 is configured to execute instructions stored in the memory 306 and to perform various processes. The communicator 310 is configured for communication internally between internal hardware components and between the server and external devices via one or more networks. The communicator 310 is configured for communicating with the content search engine 302 and the menu tree processor 304 to retrieve the content.
The memory 306 stores instructions to be executed by the processor 308. The memory 306 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. In addition, the memory 130 may, in some examples, be considered a non-transitory storage medium. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term “non-transitory” should not be interpreted that the memory 306 is non-movable. In some examples, the memory 306 can be configured to store larger amounts of information than the memory. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in Random Access Memory (RAM) or cache).
The menu tree crawler 104a/304a obtains metadata information from the first electronic devices 100 and the second electronic devices 200. The menu tree fetcher 104b/304b is configured to obtain the menu tree associated with the first electronic devices 100 and the second electronic devices 200. After obtaining the menu tree associated with the first electronic devices 100 and the second electronic devices 200, the menu tree mapper 104c/304c is configured to map the traversal operation of the menu tree by comparing the menu tree associated with the first electronic devices 100 and the menu tree associated with the second electronic devices 200. The traversal operations refer to the process of visiting (checking and/or updating) each menu item in a menu tree data structure, exactly once.
After mapping the traversal operation of the menu tree by comparing the menu tree associated with the first electronic device 100 and the menu tree associated with the second electronic devices 200, the menu tree executor 104e/304e prepares the execution operation to be executed in the second electronic devices 200. The execution operation refers to executing instructions stored on memory of the first electronic device 100 and the second electronic device 200.
The menu tree updater 104d/304d is configured to update the menu tree to the server 300 for retrieving the content from one or more second electronic devices 100. The menu tree is updated continuously, periodically, or by request at the server 300 based on one or more functions of the one or more second electronic devices 300.
Although the
At 802a, the method includes receiving the user request. At 804a, the method includes analyzing the user request to determine the user intent and the context related to the user request. At 806a, the method includes executing the user request on the one or more electronic devices 106 for performing the action (e.g., receiving the content or the like).
The various actions, acts, blocks, steps, or the like in the flowchart 800a may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, acts, blocks, steps, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the disclosure.
At 802b, the method includes receiving the user request. At 804b, the method includes analyzing the user request to determine the user intent and the context related to the user request. At 806b, the method includes identifying one or more second electronic devices 200 in proximity to the first electronic device 100 for searching the content based on the user intent and the context. At 808b, the method includes dynamically retrieving the content relevant to the user request from the one or more second electronic devices 200.
The various actions, acts, blocks, steps, or the like in the flowchart 800b may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, acts, blocks, steps, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the disclosure.
At 802c, the method includes receiving the user request. At 804c, the method includes analyzing the user request to determine the user intent and the context related to the user request. At 806c, the method includes transmitting the user request including the user intent and the context related to the user request to the server 300. At 808c, the method includes dynamically retrieving the content relevant to the user request on the one or more second electronic devices 200 from the server 100.
The various actions, acts, blocks, steps, or the like in the flowchart 800c may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, acts, blocks, steps, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the disclosure.
At 902, the method includes receiving the user request from the first electronic device 100. At 904, the method includes identifying one or more second electronic devices 200 for processing the user request. At 906, the method includes identifying the content relevant to the user request in the one or more second electronic devices 200 using one or more menu trees associated with the one or more second electronic devices 200. At 908, the method includes dynamically retrieving the content from the one or more second electronic devices 200.
The various actions, acts, blocks, steps, or the like in the flowchart 900 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, acts, blocks, steps, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the disclosure.
In an embodiment, the system 10000 includes the first electronic device 100, the second electronic device 200 and the server 300. The operations and the functions of the first electronic device 100, the one or more second electronic devices 200a-200n and the server are explained in conjunction with the
Menu tree processor interface 312 supports the dialog management between the first electronic device 100 and the second electronic devices 200. Further, the menu tree processor interface 312 supports the conflict management between the first electronic device 100 and the second electronic devices 200
At 1102, the first electronic device 100 receives the user request from the user. The user request is processed on the content search engine 102 with the first electronic device 100. At 1104, the content search engine 102 associated with the first electronic device 100 sends the process query to the menu tree processor 104. At 1106, the menu tree processor 104 provides a response in the form of JSON to the content search engine 102 associated with the first electronic device 100 based on the process query. At 1108, the electronic device 100 obtains the result based on the response.
If the relevant result is unavailable in the first electronic device 100, at 1110, the content search engine 102 associated with the first electronic device 100 creates a session with the server 300. After initiating the session, at 1112, the server 300 sends the request including the CONTENT URI to the second electronic device 200.
At 1114, a dialog management is managed between the second electronic device 200 and the user. At 1116, the UI ACK is managed between the second electronic device 200 and the user. At 1118, an acknowledgement is provided between the second electronic device 200 and the server 300. At 1120, the server 300 sends the initiation transfer request to the content search engine 102 associated with the second electronic device 200. At 1122, the server 300 sends the initiation transfer request to the content search engine 102 associated with the first electronic device 100.
At 1124, the content search engine 102 associated with the first electronic device 100 sends a P2P request to the menu tree processor 104 associated with the second electronic device 200. At 1126, the content search engine 102 associated with the second electronic device 200 sends a P2P request to the menu tree processor 104 associated with the second electronic device 200. Based on the P2P request, connection establishment (e.g., privacy/Security data transfer or the like) is established between the content search engine 102 associated with the first electronic device 100 and the content search engine 102 associated with the second electronic device 200. After establishing the connection, at 1130, the content search engine 102 associated with the first electronic device 100 sends the ACK message to the server 300. At 1132, the content search engine 102 associated with the second electronic device 200 sends the ACK message to the server 300.
The first electronic device 100 receives the user request at 1302. Based on the request, the first electronic device 100 analyzes the request within the first electronic device 100 or determines the network hub associated with the one or more second electronic devices when the content related to the user request is unavailable at the first electronic device 100 at 1304.
If the content related to the user request is unavailable at the first electronic device 100 then, the first electronic device 100 sends the user request to the second electronic device 200 through the server 300.
In order to send the user request to the second electronic device 200 through the server 300, the server 300 identifies the second electronic devices 200 subscribed to the core application server 1106 at 1306. The server 300 evaluates the profile of the identified second electronic devices 200 at 1308. The server 300 finds the relevant second electronic devices 200 and broadcasts the user request to the second electronic devices 200 at 1310. The server 300 determines the network hubs associated with the one or more second electronic devices 200 when the content related to the user request is available at the one or more second electronic devices 200. Further, the server 300 dynamically retrieves the content relevant to the user request based on the relevancy factor and the selection criterion at 1312.
If the first electronic device 100 analyzes the request within the first electronic device 100 then, at 1316, the first electronic device 100 analyzes the user request to determine the user intent and the context related to the user request by using the profile data, the application data, information, and device data and information. Further, the first electronic device 100 dynamically retrieves the content relevant to the user request based on the relevancy factor. The relevancy factor is determined by a ranking logic.
At 1, the post request is transmitted by the device. The device indicates the node that can be the server, the first electronic device 100, application or the like. At 2, the device identifies the second electronic devices 200 subscribed to the core application server 1006. At 3, the device broadcasts request to the identified second electronic devices 200. At 4, the hub evaluates in individual electronic devices 200 if the request can be addressed. The hub responds the server 300 with the identified data. At 5, the hub broadcasts the subscribed second electronic devices 200 to stop an evaluation process. At 6, the hub shares the identified data to the first electronic device 100
At 1, the first electronic device 100 registers with the server 300 and the second electronic device 200 registers with the server 300. At 2, the first electronic device 100 receives query, for example “I want to see the picture taken at John's home last week,” from the user. At 3, based on the query, the first electronic device 100 executes the user query and provides a result as no photos found at 4. Further, the second electronic device 200 receives the query from the first electronic device 100 and executes the user query using the menu tree processor 104 at 5. Based on the query, the second electronic device 200 sends the result to the first electronic device 100 at 6 and 7. Further, the first electronic device 100 displays the result received from the second electronic device 200.
As shown in
As shown in the
As shown in the
The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements.
The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the embodiments as described herein.
Number | Date | Country | Kind |
---|---|---|---|
201841025586 | Jul 2018 | IN | national |