Abstract:
POSE is a portable search engine that is designed to be a search platform. A search platform is a search engine that runs on all the devices, on all the platforms, parses most of the data formats, regardless of platform and is Unicode-based. POSE runs on portable and miniaturized drives and devices such as portable removable drives, cellular phones, PDAs, nano drives and any device that has a portable hard drive embedded. The idea of POSE is that device, search and data should occupy the same space. In this regard, search moves into the devices rather than stay on the desktop. Moving search into these devices makes search as portable as the data carried on these portable drives and devices. To intelligently manage the flow of information within and among devices and between devices that are connected to public information systems, POSE creates a series of device registries, federation of devices, device knowledgebase and rules files. Collectively these files moderate the exchange of data among devices, identify device owners, define what a device is and what its capabilities are and help to enable data conversion from one device&#39;s format to another.

Description:
RELATED APPLICATIONS  
       [0001]     This application is subject to U.S. provisional patent application Ser. No. 60/742,655 filed 08 Dec. 2005. Please incorporate by reference all information in said provisional application into this instant application. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     The present invention relates generally to computer software and, more specifically, to a portable search engine, hereinafter referred to as POSE, that can be carried or moved with ease and knows the context in which it is operating using an incorporated intelligence layer.  
         [0003]     The desktop search engine was designed in the 70s-80s when searchers searched from a fixed location—the desktop. Today we are all mobile searchers. We carry our data with us on portable devices such as flash drives, cell phones, PDAs and a host of other portable information managers. Because our data are increasingly mobile and the information devices we have increasing varied, we need a new search technology that will be as mobile as our data. We also need a search engine that can handle the varied information devices we use. We need to be able to easily search and find the data we produce or stored on the devices we use. We need to be able to find the data when we need the data, regardless of where we are. POSE was conceived in response to these problems.  
         [0000]     Benefits of POSE  
         [0000]    
       
          You can use one search engine to search for information across multiple devices.  
          POSE has in-built intelligence that allows users to connect to any computer and not have the device share data if the user does not want to share the data on the device.  
          POSE works on cameras and MP3 players so it makes it easy to download and delete pictures from digital cameras and to move playlists among devices.  
          By installing the software where the data is, POSE encapsulates search, data and device. This encapsulation makes it easy to find information because the device, search and data are always together.  
          Federated searching: POSE can search multiple devices or drives simultaneously from one interface.  
          POSE gives users the ability to use the same search interface to search and retrieve data regardless of which computer the device or drive is connected to.  
          POSE makes it possible for users to instantly find information regardless of whether they are at home, in the office or on the road. Users can find information easily as soon as they connect the drive to any computer. POSE requires no installation on the host computer.  
          POSE leaves no trace of a user&#39;s file on the host computer that it is connected to because all files are stored on the device.  
          POSE uses the default browser on the computer the drive is connected to and supports all major browsers, Firefox, Internet Explorer, Netscape, Opera, etc.  
          POSE is Cross-platform: POSE runs natively on Windows, Linux, Mac and UNIX. The advantage of this is that users who have a mix of Windows, Mac or Linux can have access to all their files using the same software! Users are no longer limited to retrieving their data due to platform incompatibilities.  
          Automatically categorizes data found on the device.  
          On-the-fly indexing of documents on portable devices or drives.  
          Automatic language detection in documents stored on portable devices or drives.  
       
     
       FIELD OF THE INVENTION  
       [0017]     The present invention relates to search software that allows users to install a portable search engine, including an index on any device. The invention provides a search platform that makes it easy for users to search any of their devices using the same search engine regardless of device or the platform the device is running on. This invention encapsulates device, search engine and data and makes it possible to install a search engine on a digital camera instead of on the desktop. The invention includes the identification of and associating devices to owners and to other information devices to maintain privacy of information. In addition, the invention creates a linking and information management layer for portable applications. Users not only search the information on their devices, they also search other sources such as free and paid Websites or databases. POSE creates a linking layer that manages linking to external sources—paid or free.  
       SUMMARY OF THE PRESENT INVENTION  
       [0018]     Embodiments of the present invention generally provide for a portable search engine and processes that allow the portable search engine to install itself on and to search and display data on any device. The portable search engine is cross-platform, internationalized, distributed and has a federated search engine.  
         [0019]     In one embodiment, the POSE is a search platform that allows users to search on any platform using the same search engine. A search platform eliminates the headaches resulting from the fact that users save their data on multiple devices but do not have a search engine that can index and search all the devices they use.  
         [0020]     There has thus been outlined, rather broadly, the more important features of the invention in order that the detailed description thereof that follows may be better understood, and in order that the present contribution to the art may be better appreciated. There are, of course, additional features of the invention that will be described below and which will form the subject matter of the claims appended hereto.  
         [0021]     In this respect, before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein, as well as the abstract, are for the purpose of description and should not be regarded as limiting.  
         [0022]     As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for the designing of other structures, methods and systems for carrying out the several purposes of the present invention. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the present invention.  
         [0023]     The present invention, Portable Search Engine (POSE), relates to search engine software that can be carried or moved with ease and knows the context in which it is operating. Because it is portable, POSE installs on any device and can be used anywhere, at home in the office or on the road. A device is anything that can store data. Flash drives, portable external drives, cell phones, digital cameras, desktop and laptop computers, MP3 players, wristwatches, home entertainment systems and personal digital assistants (PDAs) are a few examples of devices.  
         [0024]     In the near future, portable devices, not desktops, will be the dominant way of creating and storing information. Even today, people use at least 6 devices—a laptop, a desktop, a cell phone, an MP3 player and a PDA, digital camera, or other information managers. Users use these devices to generate data and need a way to search all the devices. And, they need to search them where they use them—on the road, at home or in the office. POSE was invented to enable people to search all the portable devices they use using one search engine.  
         [0000]     Characteristics of POSE  
         [0025]     POSE is portable so it may be installed on the devices the user has and be searched with ease regardless of where the user is. Unlike the search engines of today that store all their application data and the generated indices on the desktop or on an external server, POSE installs and saves all files relating to a device on the device itself.  
         [0026]     POSE is a search platform so that users can search all the devices they own—cell phones, flash drives, digital cameras, personal digital assistants, desktop and laptop computers, etc.—simultaneously. The idea is that the user simply plugs in the device and searches—it does not matter whether the device is a wristwatch, cellphone or home computer.  
         [0027]     POSE has an intelligence layer that allows it to know who owns each device so as to know how to behave when used at home or on the road. POSE&#39;s intelligence layer comprise of Federation of devices, device registry, device knowledgebase, device rules database, license manager and a connectivity and an e-commerce layer.  
         [0028]     The motivation behind the invention of POSE is to solve the “information silo on devices” problem. Users use at least 6 portable devices to create and store information. They use cell phones to store phone numbers, email, application data, Todo lists, pictures and other information. Mp3 players store songs and application data. Digital cameras store pictures. PDAs store contacts, email, application data, pictures and other information. These devices store the same kinds of data but are used primarily for different purposes. Unfortunately, the information created by each device remains a silo on each device. Users want to use the same search engine to search all of their devices. Users also want to use the search engine anywhere they use their devices, not just on the desktop. Unfortunately there has not been such a search engine until POSE.  
         [0029]     Because all of these devices have storage that store the same kind of data, though in different ways, POSE&#39;s design mandates the storage, not the operating system, as the basic unit of design. Consequently, POSE runs on anything that has storage—it does not matter what kind of storage. POSE then builds a model of a device (see  FIG. 3 ) on the storage framework. With this approach anything can be defined on top of the storage foundation. This is a fundamental departure from the way software is conceived of and built today. Today, software is designed from the point of view of the operating system. In POSE&#39;s view, the operating system is one configuration option among many.  
         [0030]     POSE is designed as a distributed search engine. This means POSE can install its index on one device and its search engine on another device and still work. There may be times when a user may want to store the generated index from a device on another device.  
         [0031]     POSE is a portable meta-search engine. As a portable meta-search engine, POSE can search multiple portable devices simultaneously. Since POSE installs its files on each device, POSE is able to simultaneously search each device when the devices are connected.  
         [0032]     POSE is designed to be able to interchange search information on the different operating systems. This means a user can use any device on any operating system and be able to use POSE to search the device. For example, a user can search a UNIX or Macintosh device from Windows using POSE. This is possible if POSE is installed on the UNIX and Macintosh computers and they are all connected via a network.  
         [0033]     POSE works on dumb and smart devices. A dumb device is a device that has no processor, system memory, graphics card, networking or display capabilities of its own. An example of a dumb device is an external disk drive. When installed on a dumb device, POSE must be connected to a host in order for it to work. When connected to a host, POSE uses the host&#39;s processor, system memory, graphics card, networking and display. When installed on a smart device, POSE uses the smart devices processor, system memory, graphics card, networking and display.  
         [0034]     Because it can be used anywhere, POSE needs to have the intelligence to know what to do with regards to exchanging information with the hosts (private or public) it is connected to. A private host is defined broadly to mean a host owned by the person who owns the device. A public host is a host that does not belong to the person who owns the device, for example a computer in an airport or a computer at an Internet Café. POSE has 3 modes of working: Home Mode, Away Mode: Stand-alone mode.  
         [0035]     In Home Mode POSE shares data with all the hosts it is connected to. In this mode the host is considered private and POSE has determined that all the connected devices are owned by the same person. POSE uses the information obtained from its device registry to determine whether it is operating in home mode—connected to a host that belongs to the same person who owns the devices that are connected to the host. Even though there may be 6 or more connected devices, only one instance of POSE will be running because POSE automatically handles how many instances are running. In the home mode only one instance will run since all devices belong to the same person and it is all right to see and share all the information on the devices.  
         [0036]     Away Mode, Connected: In this mode POSE considers itself in away mode if it does not find the profile of the computer it is running on in its device registry. In this mode, POSE uses the host to create an isolated working environment. POSE runs strictly from the device but uses the host&#39;s resources such as the host&#39;s monitor, browser, and applications needed to show data but nothing is saved on the host. POSE does not share information with the host. If the host also has POSE installed, the POSE running on the device will not combine its instance with that of the one running on the host. Instead, POSE on the device will run from the device. The reason for this is that the POSE on the public host and the POSE on the device belong to different people.  
         [0037]     In Away Mode, Stand-alone: This mode is for smart devices like Smrartphones that have keyboards, memory, processor and display capability. POSE is not connected to any host (private or public) so it depends entirely on the files on the device.  
         [0000]     How POSE Works  
         [0038]     POSE is installed on each device. During installation, POSE asks the user to give the device a profile name. The user then enters a descriptive name for the device. POSE then queries the device for a unique identifier. For desktops and laptops POSE uses their machine address (MAC ID). For other devices, POSE queries the devices for their vendor ID and serial number. POSE combines the vendor ID and serial number and uses these as a unique identifier for the device. For devices that do not have a MAC address or a vendor ID and serial number, POSE generates a unique number. The unique identifier is then tied to the profile name given to the device and stored in the device registry. POSE searches the device registry for a list of registered devices on startup and if the device&#39;s ID is in the registry POSE indexes and searches the device and if not, POSE runs as an independent operating environment and uses the host&#39;s memory, processor, keyboard and monitor but does not try to index or search the host.  
         [0039]     After entering the device&#39;s profile name and unique ID in the device registry, POSE checks the license file to ensure the user&#39;s license has not expired and the user has not exceeded their allotted license. If the license is still valid, POSE checks the number of connected devices to make sure that the number of connected devices has not exceeded the number allowed in the license. If the number of connected devices is within limits, POSE checks the device knowledgebase to retrieve information for the device and also checks the rules file associated with the device. After this, POSE installs itself and starts indexing documents or starts monitoring the device for changes if POSE has already been installed.  FIG. 5  shows the device registry, the license file, the devices knowledgebase and rules files for POSE.  
         [0040]     After installation POSE allows the user to either index all the files on the device or to select those folders or files they wish to index. POSE then indexes the content of the device based on the user&#39;s selection. After indexing, POSE then starts monitoring the device&#39;s storage medium for any changes. POSE monitors changes to the folders on the device and to individual files. If files are modified POSE re-indexes the modified file. If a folder is moved or deleted POSE re-indexes to account for the change. The monitoring is done in real time so changes appear in real time. Any newly added file to the device is automatically indexed. The user may start searching before indexing is complete.  
         [0041]     After indexing the user may continue searching or take the device to another host computer, connect the device and search the device using POSE. The user may also use POSE to index the host computer to which the device is connected. Since everything is a device, POSE does not see a difference between a desktop, a laptop, a camera, an MP3 or a cell phone.  
         [0000]     Multiple Devices Support  
         [0042]     POSE supports searching of multiple devices. When a POSE-enabled device is connected to a host, POSE checks the device and the host for their identity and decides how to interact with the host based on the information in the device&#39;s registries and the host&#39;s MAC Address. The POSE start daemon checks to see if POSE is installed on the host. If it is and the instance of POSE is already running on the host, the device does not start another instance of POSE from the newly connected device but instead sends a message to the already running instance. The message includes: 
        the newly connected device&#39;s index location;     the data category files on the device;     location of the saved searches on the device;     the device&#39;s device registry database;     device knowledgebase;     the device&#39;s rules files; and     the device&#39;s profile name.        
 
         [0050]     The running instance on the host then adds the device&#39;s name and its index to a list of devices and sources and updates the POSE user interface to visually show the user the newly added device. When the user searches they will be searching both the host computer&#39;s index and the newly added device&#39;s index. POSE imposes no limits as to the number of devices that can be added. If there are no matches between the host computer&#39;s unique ID and the software license POSE will notify the user that there is no match between the device and the host and will assume that the host is either a new machine or the host does not belong to the owner of the device. The user may elect to add a new device and then index and search the host by selecting “Add Device” from the options provided by POSE. If the user selects the “Add Device” option, POSE will go through the installation process—get the device&#39;s profile name, unique ID, etc.  
         [0051]     POSE supports all the standard search operators—AND, OR, NOT and other extended operators such as Phrase, stemming, proximity, field, date and wildcard searches. The user may use any of these operators just as they would with any other search engine. In addition to this, POSE automatically categorizes the data found on the device and provides configurable categories. Auto categorization means POSE automatically generates categories based on the files found on the device. POSE uses file formats to decide which kinds of formats belong to a category. A file format may belong to one or more categories. The user may override POSE&#39;s categorization simply by moving file formats from one category to another. The user may use the POSE default categories or change the category by selecting from the category by deleting, adding or modifying it.  
         [0052]     POSE uses the category function to allow users to restrict documents to a particular type with just one click. Clicking on the All Files category without entering a search term displays all the files on a device if only one device is connected or all the files from all the devices if a lot of devices are connected. Clicking on any category with a blank search input box runs a query for all files and then restricts the files to the selected category.  
         [0053]     A successful search returns a result set. The result set could come from all the connected devices or from just one device. The result set gives the user an abstract of each document, the document type, a link that opens the directory where the file resides. To retrieve a document, the user clicks on the link for the document. To go to the directory where the file is saved, the user clicks the Open Folder link. To view the document as text, the user clicks View as Text. When the link for a document is clicked, POSE “knows” from the indexing process—the type of document—PDF, Web page, etc. and opens the file using the appropriate application.  
         [0054]     POSE uses embedding as a way to manage the viewing of documents. POSE embeds media players and productivity applications so that users do not have to open additional windows to view content. The media players play music, video and movies and the embedded applications allow users to view, read, edit documents in-place.  
         [0055]     POSE integrates consumer devices into search. Since POSE runs on any device that has storage capability, POSE identifies and easily downloads data from any of these devices. The data could be manipulated—read, edited, copied, rotated, resized, modified, deleted, searched and saved to another device or to the same device that originally held the data.  
         [0056]     POSE has all the advanced search and preferences found in today&#39;s desktop search engines such as advanced search and preferences. Advanced search allows users who want more control over the search process to further limit their search using criteria such as date range, document language, restricting search to a certain field, etc.  
         [0057]     POSE&#39;s preferences allow users to further customize POSE&#39;s behavior. POSE makes available the following preferences categories: Statistics, Suspend Indexing, Resume Indexing, Enable Drive Monitoring, Disable drive monitoring, Preferences Files. All the features of POSE are available on every platform and for most devices. The limitation that may arise will be due to the capability of the device rather than to any limitation placed by POSE.  
         [0000]     How to Start POSE  
         [0058]     Double-clicking on the POSE icon starts POSE. Since POSE handles many devices at once, it is not necessary to manually start POSE on each device. POSE has a start daemon that polls all connected devices and automatically starts POSE on devices. With the daemon, the user need only start POSE once and any other device that is connected is started automatically by POSE.  
         [0000]     POSE Search  
         [0059]     POSE was designed to address the simultaneous searching of multiple independent indexes. It has advanced search capabilities beyond those found on the standard desktop search engines of today:  
         [0060]     Federated searching: The ability to search multiple independent devices or drives simultaneously; The ability to present a combined result set or result set from independent devices attached to a host computer; Listing of available devices in the search User Interface so searches can be restricted to a drive or a combination of drives. No existing search engines use devices or drives as a search restrictor; and Categorization of data found on the device: POSE categorizes the data found on a device so users can restrict their searches to the categories.  
         [0061]     Instance Handover: When multiple devices are connected only 1 user interface is active and that one user interface is what is used to search all the connected devices. Since POSE runs from portable drives or devices that can be unplugged at any time, POSE creates a virtual search manager on a host computer and runs all connected POSE-enabled devices from this virtual search manager. The virtual search manager is basically a list of dynamic symbolic links that are generated by POSE. POSE creates a dynamic symbolic link for each connected device. Each link points to the following resources on each device: 
        The devices device registry so POSE can determine ownership, know which mode to run in, import the device name and add it to the Devices Information and to the Devices Available for Searching user interfaces     The device&#39;s license file so POSE can determine licensing information and know whether to add the device to the list of devices available for searching if the user is within the limits of his/her license or let the user know that they have exceeded the allotted license and need to obtain more licenses     The device&#39;s knowledgebase so POSE can determine what kind of device it is, the device&#39;s capability and what processing logic to apply to the device     the device&#39;s rules file so POSE can determine additional restrictions and processing rules for the device     The device&#39;s index so POSE knows where to look for it to search it     The saved searches on the device so POSE can import them and add them to the search user interface to make them available for use     The categories associated with the device so POSE can import them and make them available to the user     The excluded files for the device so POSE can exclude them from searching        
 
         [0070]     When the device is unplugged POSE removes the dynamic symbolic link and in effect removes all the information for a device from searching and indexing. POSE works the same way for indexing as it does for searching. When a device is connected POSE goes through its usual checks for ownership, license information as outlined earlier and then instead of creating a dynamic symbolic link, spurns a thread to index the device. So each device is independently indexed whether connected to other devices or when operating in a stand-alone mode.  
         [0071]     Application-level security: POSE accepts connections only from the localhost. All External connections are denied.  
         [0072]     POSE has the ability to automatically import indices without human intervention from all the POSE-enabled devices—devices that have POSE installed on them.  
         [0073]     POSE provides the ability to restrict searching to only one or x number of devices. In a multi device environment, users may want to limit searches to only the device that has the data they are looking for. POSE allows this by allowing users to restrict a search to a device using the device name. In POSE, device names are tied to the device&#39;s index so selecting a device name is the equivalent of selecting an index. It is preferable to use a device name to do the restrictions because a device name will be easier for users than an index name.  
         [0074]     POSE provides support for single application. When one instance (copy) of POSE is running and another POSE-enabled device is plugged in, another POSE instance will not start, instead a message will be sent to the already running instance. The already running instance will then read the index of the newly plugged—in device, import its index and add the device&#39;s name to the list of connected devices in the search interface. This way, regardless of how many portable devices are connected, only one interface is needed to read all the indices, list all connected devices, search all the devices and display the result set for all the connected devices.  
         [0000]     The POSE User Interface  
         [0075]     POSE could use a Graphical User Interface (GUI) or a standard Web browser for its User Interface. POSE does not have its own built-in browser but calls and uses the default browser found on the host computer that the portable drive or device is connected to. Because of its portability POSE makes no assumptions about the browser on the host computer and as a result can use any browser. Although POSE depends on the browser on a host computer, POSE also has its own custom GUI that is cross-platform. POSE can use this GUI when it has to.  
         [0076]     Making devices work as peers. Attached devices will communicate with each other to share device registry, knowledgebase, rules, and licensing information among others.  
         [0077]     The foregoing and other objects and advantages will appear from the description to follow. In the description reference is made to the accompanying drawings, which forms a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments will be described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural changes may be made without departing from the scope of the invention. In the accompanying drawings, like reference characters designate the same or similar parts throughout the several views.  
         [0078]     The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is best defined by the appended claims.  
     
    
     BRIEF DESCRIPTION OF THE DRAWING FIGURES  
       [0079]     In order that the invention may be more fully understood, it will now be described, by way of example, with reference to the accompanying drawing in which:  
         [0080]      FIG. 1  is an illustrative view of the present invention;  
         [0081]      FIG. 2  is an illustrative view of smart devices having the present invention installed thereon;  
         [0082]      FIG. 3  is a partial list of devices that can employ the portable search engine;  
         [0083]      FIG. 4  is an illustration of the present invention verses prior art;  
         [0084]      FIG. 5  is a chart of data structures maintained by the present invention;  
         [0085]      FIG. 6  is a flowchart of the installation of the present invention;  
         [0086]      FIG. 7  is a flowchart of the indexer and crawler processes of the present invention;  
         [0087]      FIG. 8  is a flowchart of the extracted data category assignment of the present invention;  
         [0088]      FIG. 9  is a flowchart of the search process of the present invention;  
         [0089]      FIG. 10  is a flowchart of the indexing process of the present invention;  
         [0090]      FIG. 11  is an illustrative view of a device having the portable search engine software thereon;  
         [0091]      FIG. 12  is an illustrative view of devices capable of sharing data using the present invention; and  
         [0092]      FIG. 13  is an illustrative view of devices in a network searchable by a single occurrence of the portable search engine on another device.  
     
    
     DESCRIPTION OF THE REFERENCED NUMERALS  
       [0093]     Turning now descriptively to the drawings, in which similar reference characters denote similar elements throughout the several views, the Figures illustrate he portable search engine (POSE) of the present invention. With regard to the reference numerals used, the following numbering is used throughout the various drawing figures. 
     10  Portable Search Engine (POSE) of the present invention      12  operating system devices      14  electronic storage devices      16  POSE generated data    
 
       DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0098]     The following discussion describes in detail one embodiment of the invention. This discussion should not be construed, however, as limiting the invention to those particular embodiments, practitioners skilled in the art will recognize numerous other embodiments as well. For definition of the complete scope of the invention, the reader is directed to appended claims.  
         [0099]     Referring to  FIG. 1 , shown is an illustrative view of the present invention comprising a portable search engine POSE installable on each device. Once installed on a device, the POSE ( 10 ) process is started by double-clicking on the POSE icon, which starts POSE. Since POSE handles many devices at once, it is not necessary to manually start POSE on each device. POSE has a start daemon that polls all connected devices and automatically starts POSE on devices. With the daemon, the user need only start POSE once and any other device that is connected is started automatically by POSE. During installation, POSE asks the user to give the device a profile name. The user then enters a descriptive name for the device. POSE then queries the device for a unique identifier. For desktops and laptops POSE uses their machine address (MAC ID). For other devices, POSE queries the devices for their vendor ID and serial number. POSE combines the vendor ID and serial number and uses these as a unique identifier for the device. For devices that do not have a MAC address or a vendor ID and serial number, POSE generates a unique number. The unique identifier is then tied to the profile name given to the device and stored in the device registry. POSE searches the device registry for a list of registered devices on startup and if the device&#39;s ID is in the registry POSE indexes and searches the device and if not, POSE runs as an independent operating environment using the host&#39;s memory, processor, keyboard and monitor but does not try to index or search the host. After entering the device&#39;s profile name and unique ID in the device registry, POSE checks the license file to ensure the user&#39;s license has not expired and the user has not exceeded their allotted license. IF the license is still valid, POSE checks the number of connected devices to make sure that the number of connected devices have not exceeded their number allowed in the license. If the number of connected devices is within limits, POSE checks the device knowledgebase to retrieve information for the device and also checks the rules file associated with the device. POSE then installs itself and starts indexing documents or starts monitoring the device for changes if POSE has already been installed. POSE monitors changes to the folders on the device and to individual files. If files are modified POSE re-indexes the modified file. If a folder is moved or deleted POSE re-indexes to account for the change. The monitoring is done in real time so changes appear in real time. Any newly added file to the device is automatically indexed. The user may start searching before indexing is complete. After indexing the user may continue searching or take the device to another host computer, connect the device and search the device using POSE.  
         [0100]     The user may also use POSE to index the host computer to which the device is connected. Since everything is a device, POSE does not see a difference between a desktop, a laptop, a camera, an MP3 or a cell phone.  
         [0101]     Referring to  FIG. 2 , shown is an illustrative view of smart devices having the present invention installed thereon. POSE ( 10 ) is designed to be able to interchange search information on the different operating systems ( 12 ). This means a user can use any device on any operating system and be able to use POSE to search the device. For example, a user can search a UNIX or Macintosh device from Windows using POSE. This is possible if POSE is installed on the UNIX and Macintosh computers and they are all connected via a network.  
         [0102]     Referring to  FIG. 3 , shown is a partial list of devices that can employ the portable search engine. POSE ( 10 ) works on dumb and smart devices ( 14 ). A dumb device ( 14 ) is a device that has no processor, system memory, graphics card, networking or display capabilities of its own. An example of a dumb device is an external disk drive. When installed on a dumb device, POSE must be connected to a host in order for it to work. When connected to a host ( 12 ), POSE uses the host&#39;s processor, system memory, graphics card, networking and display. When installed on a smart device, POSE uses the smart devices processor, system memory, graphics card, networking and display.  
         [0103]     Referring to  FIG. 4 , shown is an illustration of the present invention verses prior art. POSE ( 10 ) is a portable search engine that can be installed on user devices ( 14 ) and be searched with ease regardless of where the user is. Unlike the search engines of today that store all their application data and the generated indices on the desktop, POSE installs and saves all files ( 16 ) relating to a device on the device itself. As a search platform users can search all the devices they own—cell phones, flash drives, digital cameras, personal digital assistants, desktop and laptop computers, etc.—simultaneously. The idea is that the user simply plugs in the device and searches—it does not matter whether the device is a wristwatch, cellphone or home computer. Incorporating an intelligence layer allows it to know who owns each device so as to know how to behave when used at home or on the road. The intelligence layer is comprised of Federation of devices, device registry, device knowledgebase, device rules database, license manager and a connectivity and an e-commerce layer.  
         [0104]     Referring to  FIG. 5 , shown is a chart of data structures maintained by the present invention. To intelligently manage the flow of information within and among devices and between devices that are connected to public information systems, POSE ( 10 ) creates a series of device registries, federation of devices, device knowledgebase and rules files. Collectively these files moderate the exchange of data among devices, identify device owners, define what a device is and what its capabilities are and help to enable data conversion from one device&#39;s format to another.  
         [0105]     Referring to  FIG. 6 , shown is a flowchart of the installation of the present invention. During installation, POSE ( 10 ) asks the user to give the device a profile name. The user then enters a descriptive name for the device. POSE then queries the device for a unique identifier. POSE searches the device registry for a list of registered devices on startup and if the device&#39;s ID is in the registry POSE indexes and searches the device and if not, POSE runs as an independent operating environment—uses the host&#39;s memory, processor, keyboard and monitor but does not try to index or search the host. After entering the device&#39;s profile name and unique ID in the device registry, POSE checks the license file to ensure the user&#39;s license has not expired and the user has not exceeded their allotted license. If the license is still valid, POSE checks the number of connected devices to make sure that the number of connected devices have not exceeded their number allowed in the license. If the number of connected devices is within limits, POSE checks the device knowledgebase to retrieve information for the device and also checks the rules file associated with the device. After this, POSE installs itself and starts indexing documents or starts monitoring the device for changes if POSE has already been installed.  
         [0106]     Referring to  FIG. 7 , shown is a flowchart of the indexer and crawler processes of the present invention. The portable search engine ( 10 ) provides a cross-platform indexer process comprising a craweler process and a storer process that indexes documents after they have been parsed and indexes documents and uses the documents to create an index.  
         [0107]     Referring to  FIG. 8 , shown is a flowchart of the extracted data category assignment wherein POSE ( 10 ) automatically categorizes the data ( 16 ) found on a device and provides configurable categories. Auto categorization automatically generates categories based on the files found on the device. POSE uses file formats to decide which kinds of formats belong to a category. A file format may belong to one or more categories. POSE uses the category function to allow users to restrict documents to a particular type with just one click. The user may use the POSE default categories or change the category by selecting from the category by deleting, adding or modifying it.  
         [0108]     Referring to  FIG. 9 , shown is a flowchart of the search process of the present invention. The search process ( 10 ) returns a result set that could come from all the connected devices or from just one device. To retrieve a document, the user clicks on the link for the document. To go to the directory where the file is saved, the user clicks the Open Folder link. To view the document as text, the user clicks View as Text. When the link for a document is clicked, POSE knows from the indexing process the type of document—PDF, Web page, etc. and opens the file using the appropriate application. POSE uses embedding as a way to manage the viewing of documents. POSE embeds media players and productivity applications so that users do not have to open additional windows to view content. The media players play music, video and movies and the embedded applications allow users to view, read, edit documents in-place. POSE integrates consumer devices into search. Since POSE runs on any device that has storage capability, POSE identifies and easily downloads data from any of these devices. The data could be manipulated—read, edited, copied, rotated, resized, modified, deleted, searched and saved to another device or to the same device that originally held the data. POSE has all the advanced search and preferences found in today&#39;s desktop search engines such as advanced search and preferences. Advanced search allows users who want more control over the search process to further limit their search using criteria such as date range, document language, restricting search to a certain field, etc.  
         [0109]     Referring to  FIG. 10 , shown is a flowchart of the indexing process of the present invention. After indexing, POSE ( 10 ) starts monitoring the device&#39;s storage medium for any changes. If files are modified POSE re-indexes the modified file. If a folder is moved or deleted POSE re-indexes to account for the change. The monitoring is done in real time so changes appear in real time. Any newly added file to the device is automatically indexed. The user may start searching before indexing is complete.  
         [0110]     Referring to  FIG. 11 , shown is an illustrative view of a device having the portable search engine software thereon. Because all devices have storage that store the same kind of data, POSE&#39;s ( 10 ) design mandates the storage, not the operating system, as the basic unit of design. Consequently, POSE runs on anything that has storage—it does not matter what kind of storage. POSE then builds a model of a device on the storage framework. With this approach anything can be defined on top of the storage foundation. In POSE&#39;s view, the operating system is one configuration option among many.  
         [0111]     Referring to  FIG. 12 , shown is an illustrative view of devices capable of sharing data using the present invention. POSE ( 10 ) has three modes of working: Home Mode, Away Mode: Stand-alone mode. In Home Mode POSE shares data with all the hosts it is connected to. In this mode the host is considered private and POSE has determined that all the connected devices are owned by the same person. POSE uses the information obtained from its device registry to determine whether it is operating in home mode—connected to a host that belongs to the same person who owns the devices that are connected to the host. Even though there may be six or more connected devices, only one instance of POSE will be running because POSE automatically handles how many instances are running. In the home mode only one instance will run since all devices belong to the same person and it is all right to see and share all the information on the devices. Away Mode, Connected: In this mode POSE considers itself in away mode if it does not find the profile of the computer it is running on in its device registry. In this mode, POSE uses the host to create an isolated working environment. POSE runs strictly from the device but uses the host&#39;s resources such as the host&#39;s monitor, browser, and applications needed to show data but nothing is saved on the host. POSE does not share information with the host. If the host also has POSE installed, the POSE running on the device will not combine its instance with that of the one running on the host. Instead, POSE on the device will run from the device. The reason for this is that the POSE on the public host and the POSE on the device belong to different people. In Away Mode, Stand-alone: This mode is for smart devices like Smartphones that have keyboards, memory, processor and display capability. POSE is not connected to any host (private or public) so it depends entirely on the files on the device.  
         [0112]     Referring to  FIG. 13 , shown is an illustrative view of devices in a network searchable by a single occurrence of the portable search engine on another device. POSE ( 10 ) has 3 modes of working: Home Mode, Away Mode: Stand-alone mode. In Home Mode POSE shares data with all the hosts it is connected to. In this mode the host is considered private and POSE has determined that all the connected devices are owned by the same person. POSE uses the information obtained from its device registry to determine whether it is operating in home mode—connected to a host that belongs to the same person who owns the devices that are connected to the host. Even though there may be 6 or more connected devices, only one instance of POSE will be running because POSE automatically handles how many instances are running. In the home mode only one instance will run since all devices belong to the same person and it is all right to see and share all the information on the devices. Away Mode, Connected: In this mode POSE considers itself in away mode if it does not find the profile of the computer it is running on in its device registry. In this mode, POSE uses the host to create an isolated working environment. POSE runs strictly from the device but uses the host&#39;s resources such as the host&#39;s monitor, browser, and applications needed to show data but nothing is saved on the host. POSE does not share information with the host. If the host also has POSE installed, the POSE running on the device will not combine its instance with that of the one running on the host. Instead, POSE on the device will run from the device. The reason for this is that the POSE on the public host and the POSE on the device belong to different people. In Away Mode, Stand-alone: This mode is for smart devices like Smartphones that have keyboards, memory, processor and display capability. POSE is not connected to any host (private or public) so it depends entirely on the files on the device.