1. Field
The disclosed embodiments generally relate to searching for content in electronic and computing devices, and in particular to searching content in Universal Plug and Play (UPnP) devices and platforms.
2. Brief Description of Related Developments
Computing devices are generally configured to allow a user to search the device for content, which can include for example, applications, programs, files and documents. These devices can also be configured to search other devices or platforms for content, such as for example over the Internet. Search engines and machines, such as desktop and Internet search facilities, do not currently search content that resides on UPnP devices. Rather, search engines only search for content that is resident on the user's personal computer (desktop search) or through HTTP servers (Internet Search). Content that resides on UPnP type devices is not visible to these search engines. There can be however, a great deal of content that is of interest in UPnP devices. It would be advantageous to be able to search this content using traditional search facilities, such as a desktop search and/or Internet search.
UPnP is a technology that enables easy-to-use peer-to-peer connectivity of wireless devices, intelligent home appliances, PCs and other types of stand-alone devices from different vendors. The UPnP standard specifies how devices supporting UPnP connect together to form an ad-hoc proximity network. The UPnP standard enables control and data transfer among the networked devices by specifying the required protocol exchanges. UPnP is a technology standardized by the UPnP Forum and the Digital Living Network Alliance (DLNA).
Various types of UPnP devices exist. Some of the most well known UPnP devices are media servers, whose functionality is generally to store text, pictures, audio and video content. This content can be transferred from the media server to a UPnP supporting television, a video screen or computer screen, or other suitable audio or video device. However, to this point, this content has not been available to be searched by the typical desktop or Internet search engines.
Modern search facilities, such as for example Google™ or Yahoo Search™, work in such a way that they continuously fetch content from content providers, and build an index of that content (words, phrases, and nowadays even pictures, video and audio). Based on the index built, it is possible for users to perceive fast search operations.
However, as mentioned, these search machines do not currently search content residing in UPnP devices. They merely search and index content that is available through HTTP servers (Internet search) or at user's personal computer (desktop search). If users want to search content residing in UPnP devices, they must utilize the search capabilities of each independent UPnP device. However, many UPnP devices do not support such searching. It is possible that there are no search capabilities available at all, or the device supports only manual search—the user may need to open each file and manually find items looked for. In some devices the only reasonable way to search the content of the UPnP device may be to copy the whole content to a PC or another device supporting some kind of search functionality and perform the search there.
EP 1379049 discloses a system with UPnP devices that exchange web page information. Devices such as printers can search and request web page information over the UPnP protocol, particularly if one device asks another device to output data. However, EP 1379049 does not address the situation of being able to search the content stored on a UPnP device using a traditional search facility or engine.
Since there can be a lot of different kinds of content in UPnP devices, it would be advantageous if this content could be searched by search machines, using Internet search, desktop search or both.
In one aspect, the disclosed embodiments are directed to a method. In one embodiment the method includes providing a mediator at an access point in a network, the mediator being configured to communicate with UPnP devices coupled to the network, detecting a search request from a search engine in the network, using the mediator to search and retrieve content from each UPnP device coupled to the network, the retrieved content being related to the search request, converting the retrieved content into a protocol suitable for the search engine, and passing the retrieved content from the mediator to the search engine.
In a further aspect, the disclosed embodiments are directed to an apparatus. In one embodiment the apparatus includes a computing network, at least one computing device coupled to the network, at least one device compliant with the Universal Plug and Play standard coupled to the network and a mediator system coupled to the network, the mediator system configured to be an interface between a search facility of the at least one computing device and each device coupled to the network. The mediator is further configured to detect a search request from the search facility, search and retrieve content from each UPnP device coupled to the network, the retrieved content being related to the search request, convert the retrieved content into a protocol suitable for the search facility and pass the retrieved content from the mediator to the facility.
In yet another aspect, the disclosed embodiments are directed to a computer program product. In one embodiment, the computer program product comprises a computer useable medium having computer readable code means embodied therein for causing a computer to execute a set of instructions in a device to search for UPnP content in UPnP devices. The computer readable code means in the computer program product includes computer readable program code means for causing a computer to detect a search request from a search engine in the network, computer readable program code means for causing a computer to search and retrieve content from each UPnP device coupled to the network, the retrieved content being related to the search request, computer readable program code means for causing a computer to convert the retrieved content into a protocol suitable for the search engine and computer readable program code means for causing a computer to pass the retrieved content from the mediator to the search engine.
The foregoing aspects and other features of the embodiments are explained in the following description, taken in connection with the accompanying drawings, wherein:
Referring to
The disclosed embodiments generally allow a user of a device or system, such as the system 100 shown in
The system 100 of
In one embodiment, the input device 104 receives inputs and commands from a user and passes the inputs to, for example, navigation module 122 for processing. The navigation module 122 may be part of the user interface 102. In alternate embodiments the navigation module 122 may be separate from the user interface 102. The output device 106 can receive data from the user interface 102, application area 180 and storage device 182 for output to the user. Each of the input device 104 and output device 106 are configured to receive data or signals in any format, configure the data or signals to a format compatible with the application or device 100, and then output the configured data or signals. While a display 114 is shown as part of the output device 106, in other embodiments, the output device 106 could also include other components and devices that transmit or present information to a user, including for example audio devices and tactile devices. For example, with respect to the embodiments described herein, the user interface 102 generally comprises a touch screen display. The output device 106 can be configured to provide the content of the exemplary screen shots shown herein, which is presented to the user via the functionality of the display 114. User inputs to the touch screen display are processed by, for example, the input device 104. The input device 104 can also be configured to process new content and communications to the system 100. Thus, the user interface 102 of the embodiments described herein, can include aspects of the input device 104 and output device 106.
In the disclosed embodiments, the user can enter the search criteria into a search engine of the device or a search engine accessible to the device. The navigation module 122 can interpret the commands and, in the case of a search request, can pass the request to a search module 132, for example. The search module 132 can comprise any suitable search facility or engine, including but not limited to, those mentioned previously herein (e.g. Internet search engines), search engines that provide local search results (e.g. data stored locally in the device or attached UPnP devices) or a combination thereof for example. In one embodiment, the navigation module 122 can also include a module 150 or search engine that is configured to interact with any UPnP device UPnP1-UPnPn connected to the system 100. This module 150 is referred to herein as the “mediator” module. The mediator module 150 is generally configured to make content that is resident on a UPnP device accessible to the search module 132 for searching. In one embodiment, the mediator module 150 can be configured to appear and act as an HTTP server. In alternate embodiments, the mediator module 150 may be configured to appear and act as any suitable server having any suitable communication protocol including, but not limited to, IP, TCP, UDP, HTTP and XML. Thus, when a user enters a search request into the system via the user interface 102, the search can proceed through all available content, which can include for example, the user's desktop computer or computer system, the Internet, and now any UPnP device that is connected to or coupled to the system 100.
It should be noted that although the mediator module 150 is described with respect to the ability to search for content on UPnP devices, in alternate embodiments, the searching of a UPnP device can be carried out without a separate mediator module or device. For example, in one embodiment, if a UPnP device is searched using a standard file server application program interface (“API”) such as GNOME virtual file system (“VFS”), the UPnP device could provide a mediator style or configured API itself.
In one embodiment, referring to
The search device, such as the search module 132 of system 100 or, for example, an Internet based search engine, can the retrieve content from each of the UPnP devices UPnP1-UPnPn that are responsive to the search query. The search device(s) or facility can then populate their databases with the retrieved content. Thus, as users enter search queries into the search engines, the search results will include content from the various UPnP devices. In one embodiment, the system can be configured to disable searching of one or more UPnP devices coupled to the system, depending upon the search requirements and criteria. This can allow for selective searching of certain types of UPnP devices or non at all, and can avoid tying up resources carrying out unnecessary searches
In one embodiment, referring to
When a search request or query is initiated or at a time when the mediator 320 retrieves UPnP content as described above, the mediator 320 will execute a search of the UPnP devices UPnP1-UPnPn and retrieve and store the content. As the retrieved content is passed to the search facility, such as for example, search engine 310 for storage and indexing, the formatter 340 will format the content into a suitable protocol. In one embodiment, the indexing of the UPnP content may be performed by the mediator 320. In other embodiments the indexing of the UPnP content may be performed by the search facility 310 when the UPnP content is passed to it by the mediator 320.
Referring now to
In one embodiment, when a UPnP device is connected to the system, which includes the mediator 150, the UPnP discovery protocol allows that device to advertise its services to control points in the network. The Mediator 150 may be considered one of these control points. Additionally, if the mediator is added to a system in which UPnP devices are already connected, the UPnP discovery protocol allows the mediator 150 to search for devices of interest that are connected to the system. (
In accordance with another embodiment, after the mediator 150 is provided (
Referring back to
Referring also to
Although the above embodiments are described as being implemented generally in a system or device, it will be understood that the disclosed embodiments can be practiced on any suitable device. For example, the device 100 of
Referring back to
For example, the user may navigate the menu 120 using the input device 104 so that a search screen such as, for example, the search screen 600 is presented to the user through for example the display 144 of the output device 106. The input device may be any suitable input device including, but not limited to, any suitable keypad (e.g. QWERTY or ITU-T), rotator inputs, microphones and touch sensitive inputs and associated styli. In one embodiment, the input device 104 can be integral to the device 100. In alternate embodiments the input 104 may be a peripheral display connected or coupled to the device 100. The output device may be any suitable output device including, but not limited to, CRT displays, LCD displays with optional back lighting, such as a TFT matrix capable of displaying color images, plasma displays, graphical user interface and speakers. In other embodiments the input and output devices may be combined such as, for example, in a touch sensitive display. A pointing device, such as for example, a stylus, pen or simply the user's finger may be used with the display 114. In alternate embodiments any suitable pointing device may be used. In one embodiment, the display 114 can be integral to the device 100. In alternate embodiments the display may be a peripheral display connected or coupled to the device 100.
In one embodiment the search screen 600 may be an extension of the search module 132. In other embodiments the search screen 600 may be part of the menu system 120 and associated with the search module 132 via the navigation module 122. The user may use the input device 104, which may form part of the user interface 102, to input a search criteria and any other pertinent information that may be used in searching for content in for example the UPnP devices UPnP1-UPnPn. The navigation module recognizes the input pertaining to the search criteria and forwards the request to the search module 132. The search module 132 may cause a search to be performed through connected devices including, but not limited to the UPnP devices UPnP1-UPnPn. For example, in one embodiment, the mediator 150 detects the search request and searches the UPnP content index for UPnP content related to the search criteria. In other embodiments, the mediator 150 may also search the UPnP devices in addition to searching the content index so that any content added to the UPnP devices after the last content index update is gathered (and also stored in the content index) in response to the search request. The mediator 150 is configured to search the UPnP devices using, for example, UPnP protocols so that the user does not have to remove the content from the UPnP devices and store that content in a device that is compatible with the search module 132 or otherwise manipulate the UPnP content so that it may be searched. The mediator 150 is also configured to mediate or convert the UPnP content into a protocol that is compatible with the search module 132 such as for example, the HTTP protocol or any other suitable protocol as described above. The converted UPnP content is passed to the search module 132 by the mediator 150 and is caused to be presented to the user via the display 114 by, for example, the navigation module 122. As the user selects the UPnP content presented in, for example the search result screen 605 of
It is noted that the mediator 150 may be configured by a user so that only certain UPnP content can be accessed through the search facilities to protect the user's identity or preserve the user's privacy. For example, the mediator 150 may have a setup menu in, for example the menu 120 that allows an owner of the UPnP device to specify which content is to be made publicly available to public search engines, such as Internet search engines. When a UPnP device is connected to a system that allows public access to the UPnP content by third parties, the owner of the UPnP device may be able restrict the third party's access (e.g. access rights) to the UPnP content. In alternate embodiments, when the UPnP device is connected to a home or local network (i.e. the UPnP content is not available to the general public) a user may be able to configure the mediator 150 so that family members such as children are restricted from accessing UPnP content that may be inappropriate for the children. In other alternate embodiments the UPnP content may be restricted in any suitable manner.
Referring now to
Referring to
The mobile terminals 800, 806 may be connected to a mobile telecommunications network 810 through radio frequency (RF) links 802, 808 via base stations 804, 809. The mobile telecommunications network 810 may be in compliance with any commercially available mobile telecommunications standard such as, for example, GSM, UMTS, D-AMPS, CDMA2000, FOMA and TD-SCDMA or other such suitable communication standard or protocol.
The mobile telecommunications network 810 may be operatively connected to a wide area network 820, which may be the Internet or a part thereof. An Internet server 822 has data storage 824 and can be connected to the wide area network 820, as is for example, an Internet client computer 826. UPnP devices described herein may be connected to the network 820 or computer 826. The server 822 may host a www/wap server capable of serving www/wap content to the mobile terminal 800. In alternate embodiments, the server 822 can host any suitable transaction oriented protocol.
For example, a public switched telephone network (PSTN) 830 may be connected to the mobile telecommunications network 810 in a familiar manner. Various telephone terminals, including the stationary telephone 832, may be connected to the PSTN 830.
The mobile terminal 800 is also capable of communicating locally via a local link 801 to one or more local devices 803. The local link 801 may be any suitable type of link with a limited range, such as for example Bluetooth, a Universal Serial Bus (USB) link, a wireless Universal Serial Bus (WUSB) link, an IEEE 802.11 wireless local area network (WLAN) link, an RS-232 serial link, etc. The above examples are not intended to be limiting, and any suitable type of link may be utilized. The local devices 803 may include UPnP devices connected to antennas and supporting equipment forming a WLAN implementing Worldwide Interoperability for Microwave Access (WiMAX, IEEE 802.16), WiFi (IEEE 802.11x) or other communication protocols. The WLAN may be connected to the Internet. The mobile terminal 800 may thus have multi-radio capability for connecting wirelessly using mobile communications network 810, WLAN or both. Communication with the mobile telecommunications network 810 may also be implemented using WiFi, WiMax, or any other suitable protocols, and such communication may utilize unlicensed portions of the radio spectrum (e.g. unlicensed mobile access (UMA)).
The disclosed embodiments may also include software and computer programs incorporating the process steps and instructions described above that are executed in different computers.
Computer systems 902 and 904 may also include a microprocessor for executing stored programs. Computer 902 may include a data storage device 908 on its program storage device for the storage of information and data. The computer program or software incorporating the processes and method steps incorporating aspects of the invention may be stored in one or more computers 902 and 904 on an otherwise conventional program storage device. In one embodiment, computers 902 and 904 may include a user interface 910, and a display interface 912 from which aspects of the invention can be accessed. The user interface 910 and the display interface 912 can be adapted to allow the input of queries and commands to the system, as well as present the results of the commands and queries.
The disclosed embodiments provide a powerful way for users to search and obtain more content responsive to the search by allowing a user to be able to search UPnP devices coupled to a network using a traditional search engine or facility. Users can also more easily share content of their UPnP devices with other users, when appropriate access rights are provided. Users do not have to copy the content of their UPnP devices to servers from the devices in order to search and/or share the content. A mediator device is coupled to a network access point of the network. The mediator device is configured to interface with each UPnP device coupled to the user' system. The mediator device can interpret search requests and retrieve content that is stored on each UPnP device. When a search request is generated from the search engine of the system, not only will the contents of the user's system be searched, but the contents of the UPnP devices can also be searched. Depending on the search criteria, the search may also encompass the Internet. The mediator can appear as a HTTP server to the search engine. Thus, the mediator can translate the search request, and retrieve content from the UPnP devices that is responsive to the request. In one embodiment, the mediator can index the content of the UPnP devices and stored the indexed content in a database. If needed, the mediator will be configured to translate or format search results or content from the UPnP devices into a format suitable for the search engine. Users may also be able to enter search queries and receive search results referring to the content in the various UPnP devices. Thus, the mediator device will make content from UPnP devices in a user's system accessible to search facilities, search requests and request to share content.
It is noted that the embodiments described herein may be utilized separately or in any combination thereof.
It should be understood that the foregoing description is only illustrative of the embodiments. Various alternatives and modifications can be devised by those skilled in the art without departing from the embodiments. Accordingly, the disclosed embodiments are intended to embrace all such alternatives, modifications and variances that fall within the scope of the appended claims.