Referring to
Automated searching process 10 may be a server application that resides on and is executed by data server 12, which may be connected to network 14 (e.g., the Internet). Data server 12 may be a web server (or series of servers) running a network operating system, examples of which may include but are not limited to: Microsoft Windows 2003 Server™; Novell Netware™; or Redhat Linux™, for example.
Data server 12 may also execute a web server application, examples of which may include but are not limited to: Microsoft IIS™, Novell Webserver™, or Apache Webserver™, that allows for HTTP (i.e., HyperText Transfer Protocol) access to data server 12 via network 14. Network 14 may be connected to one or more secondary networks (e.g., network 16), examples of which may include but are not limited to: a local area network; a wide area network; or an intranet, for example.
The instruction sets and subroutines of automated searching process 10, which may be stored on a storage device 18 coupled to data server 12, may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into data server 12. Storage device 18 may include but is not limited to: a hard disk drive; a tape drive; an optical drive; a RAID array; a random access memory (RAM); or a read-only memory (ROM).
Users 20, 22, 24, 26 may access automated searching process 10 directly through network 14 or through secondary network 16. Further, data server 12 (i.e., the computer that executes automated searching process 10) may be connected to network 14 through secondary network 16, as illustrated with phantom link line 30.
Users 20, 22, 24, 26 may access automated searching process 10 through various client devices, examples of which may include but are not limited to client computer 32, personal media device 34, personal digital assistant 36, cellular telephone 38, a laptop computer (not shown), a notebook computer (not shown), a pager (not shown), a television (not shown), a cable box (not shown), a gaming device (e.g., a Microsoft Xbox™, not shown), and a portable gaming device (e.g., a Sony Playstation™ Portable, not shown), for example.
The various client devices may be directly or indirectly coupled to network 14 (or network 16). For example, client computer 32 is shown directly coupled to network 14 via a hardwired network connection. Further, personal media device 34 is shown wirelessly coupled to network 14 via wireless communication channel 40 established between personal media device 34 and wireless access point (i.e., WAP) 42, which is shown directly coupled to network 14. WAP 42 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi, and/or Bluetooth device that is capable of establishing wireless communication channel 40 between personal media device 34 and WAP 42.
As is known in the art, all of the IEEE 802.11x specifications may use Ethernet protocol and carrier sense multiple access with collision avoidance (i.e., CSMA/CA) for path sharing. The various 802.11x specifications may use phase-shift keying (i.e., PSK) modulation or complementary code keying (i.e., CCK) modulation, for example. As is known in the art, Bluetooth is a telecommunications industry specification that allows e.g., mobile phones, computers, and personal digital assistants to be interconnected using a short-range wireless connection.
Personal digital assistant 36 is shown wirelessly coupled to network 14 via wireless communication channel 42 established between personal digital assistant 36 and cellular network/bridge 44, which is shown directly coupled to network 14. Further, cellular telephone 38 is shown wirelessly coupled to network 14 via wireless communication channel 46 established between cellular telephone 38 and cellular network/bridge 44.
Client computer 32, personal media device 34, personal digital assistant 36, cellular telephone 38, a laptop computer (not shown), a notebook computer (not shown), a pager (not shown), a television (not shown), a cable box (not shown), a gaming device (e.g., a Microsoft Xbox™, not shown), and a portable gaming device (e.g., a Sony Playstation™ Portable, not shown), may each execute a client application (e.g., client application 48) that interfaces with automated searching process 10 and facilitates the bidirectional transfer of digital content between data sources (e.g., sources 50, 52, 54) and users (e.g., users 20, 22, 24, 26). Examples of data sources 50, 52, 54 include websites that are hosted by e.g., web servers 56, 58, 60, respectively.
Client application 48 may be a web browser (e.g., Microsoft Internet Explorer™ and Netscape Navigator™, for example), a stand alone application, or an applet running within another program (e.g., Microsoft Internet Explorer™ and Netscape Navigator™, for example). Client computer 32, personal media device 34, personal digital assistant 36, cellular telephone 38, a laptop computer (not shown), a notebook computer (not shown), a pager (not shown), a television (not shown), a cable box (not shown), a gaming device (e.g., a Microsoft Xbox™, not shown), and a portable gaming device (e.g., a Sony Playstation™ Portable, not shown), may each execute an operating system, examples of which may include but are not limited to Microsoft Windows™, Microsoft Windows CE™, Redhat Linux™, or a custom operating system.
The instruction sets and subroutines of client application 48, which may be stored on a storage device (e.g., storage device 62) coupled to e.g., client computer 32, personal media device 34, personal digital assistant 36, cellular telephone 38, a laptop computer (not shown), a notebook computer (not shown), a pager (not shown), a television (not shown), a cable box (not shown), a gaming device (e.g., a Microsoft Xbox™, not shown), or a portable gaming device (e.g., a Sony Playstation™Portable, not shown), are executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into e.g., client computer 32, personal media device 34, personal digital assistant 36, cellular telephone 38, a laptop computer (not shown), a notebook computer (not shown), a pager (not shown), a television (not shown), a cable box (not shown), a gaming device (e.g., a Microsoft Xbox™, not shown), or a portable gaming device (e.g., a Sony Playstation™ Portable, not shown). Storage device 62 may include but is not limited to a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).
Using client application 48, users 20, 22, 24, 26 may visit one or more websites (e.g., 50, 52, 54) and perform various actions on the website(s). Examples of the various types of websites may include, but are not limited to: news websites (e.g., www.cnn.com, www.foxnews.com); weblog websites (e.g., www.blogspot.com, www.xanga.com); auction websites (e.g., www.ebay.com, www.bidz.com); dating/matchmaking websites (www.eharmony.com, www.match.com); special interest websites (e.g., www.ichef.com, www.imdb.com); search engine/internet portal websites (e.g., www.google.com, www.yahoo.com); ecommerce websites (e.g., www.amazon.com, www.overstock.com); and social networking websites (www.myspace.com, www.classmates.com, www.reunion.com, www.friendster.com).
Examples of the types of actions taken by a user may include, but are not limited to: rendering a media file; uploading a data file; downloading a data file; posting an article; reviewing an article; posting a message; reviewing a message; executing a query; purchasing a product; offering a product for sale; purchasing a service; and offering a service for sale.
Referring also to
While browsing e.g., the social networking website, user 20 may take one or more actions that (as discussed above) may be monitored 100 by automated searching process 10. For example, user 20 may launch an application (e.g., Rhapsody™ by RealNetworks, Inc. and Windows MediaPlayer™ by The Microsoft Corporation) 152 that e.g., renders media files. For example, application 152 may render audio files, thus allowing user 20 to e.g., listen to music while browsing the website. Additionally/alternatively, application 152 may render video files, thus allowing user 20 to e.g., watch video clips while browsing the website.
Application 150 may be a stand alone application (e.g., Rhapsody™ by RealNetworks, Inc. and Windows MediaPlayer™ by The Microsoft Corporation), or an applet running within another program (e.g., client application 48, for example).
While application 150 is shown to be a media rendering application (e.g., Rhapsody™ by RealNetworks, Inc.), this is for illustrative purposes only and other types of applications are considered to be within the scope of this disclosure. For example, application 150 may be a searching application/applet that allows user 20 to search the content of the website that the user is browsing. For example, if the website is an auction/ecommerce website, application 150 may be a searching application that allows user 20 to search for various products available within the auction/ecommerce website.
Monitoring 100 the actions taken by the user may include, but is not limited to: monitoring the music listened to by user 20 while browsing the website; monitoring the videos watched by user 20 while browsing the website; monitoring the search strings/queries entered by user 20 while browsing the website; monitoring the articles reviewed by user 20 while browsing the website; monitoring the articles posted by user 20 while browsing the website; monitoring the files uploaded by user 20 to the website; monitoring the files downloaded by user 20 from the website; monitoring email/messages received by the user while browsing the website; monitoring email/messages posted by user 20 to the website; monitoring the products researched by user 20 while browsing the website; monitoring the products purchased by user 20 while browsing the website; monitoring the services researched by user 20 while browsing the website; and monitoring the services purchased by user 20 while browsing the website.
Continuing with the above-stated example, once user 20 accesses e.g., the social networking website and launches application 152 to e.g., listen to music, automated searching process 10 may e.g., monitor 100 the music selected and rendered by the user. Automated searching process 10 may assign 102 one or more search terms to each of the actions taken by user 20, thus defining one or more initial search terms. The manner in which automated searching process 100 assigns 102 search terms to the actions taken by user 20 may vary depending on the type of action taken by the user. For example, if the action taken by the user is the rendering of a media file, the search terms assigned 102 to that action may be extracted from and/or based upon the metadata associated with the media file. For example, if user 20 (through application 152) renders a media file for the track “Do I Make You Proud” by Artist “Taylor Hicks”, automated searching process 10 may assign 102 one or more of the terms “Do”, “I”, “Make”, “You”, “Proud”, “Taylor”, “Hicks” to the action (i.e., the rendering of the track “Do I Make You Proud” by Artist “Taylor Hicks”) taken by user 20, thus defining one or more initial search terms.
Automated searching process 10 may execute 104 an initial query on a datastore based on at least a portion of the initial search terms to generate an initial result set. Examples of the datastore searched may include a database (not shown) servable by e.g., data server 12 and stored on storage device 18. Additionally/alternatively, the datastore may include a system memory (not shown) accessible by data server 12.
Continuing with the above-stated example, after execution 104 of the initial query and generation of the initial result set, automated searching process 10 may present 106 the initial result set to the user (e.g., user 20) of the website. The content/type of the result set may very depending on the type of website being visited and the actions taken by user 20. For example, if the website is a social networking website, the result set generated by automated searching process 10 may include a plurality of users who are members of the social community website and fans of the type of music that the user is listening to. If the website is an auction/ecommerce website, the result set generated by automated searching process 10 may include a plurality of objects offered for bid/for sale on the website that are related to objects being researched/purchased by user 20. Alternatively, if the user is listening to music while browsing the auction/ecommerce website, the result set generated by automated searching process 10 may include objects offered for bid/for sale on the website that are related to the artist being listened to by user 20 or the type of music that the artist plays. If the user is reading an article on a news website, the result set generated by automated searching process 10 may include a plurality of news articles related to (e.g., same author, same topic, same subject) the article being reviewed by user 20. If the user is listening to music while browsing the news website, the result set generated by automated searching process 10 may include news articles related to the artist being listened to by user 20 or the type of music that the artist plays.
Referring also to
Referring also to
Referring also to
Referring also to
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the following claims.