This invention is related to device discovery in wireless network regime
Recent advances in wireless communications have facilitated an ever-increasing mobile economy. Telephones, personal data assistants, wireless mice and keyboards, and other wireless devices are increasing in popularity at a rapid pace. To accommodate such devices, companies are providing as a service networks and peripherals that may be accessed by these wireless devices as customers avail themselves of the vendor's product and services. However, finding wireless devices is often confusing.
Traditional location services provide device location information based on hard-coded coordinates corresponding to stationary objects. However, this requires administrative overhead and that the devices remain stationary.
What is needed is an improved device discovery architecture that is a simple and intuitive way to find wireless devices.
The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
The present invention disclosed and claimed herein, in one aspect thereof, comprises architecture for obtaining device locations, and generating a three-dimensional (3-D) display representative of the location of the devices. Traditional location services provide device location information based on hard-coded coordinates corresponding to stationary objects. The subject invention provides for dynamic 3-D location displays based upon detection of device coordinates and representation of location of the device on a display. The invention utilizes wireless radio position calculation methods to dynamically identify wireless devices and provide location information. Given that a wireless radio can return location of remote devices in 3-D space, the processing power and presentation capabilities of the current generation of computing devices (PCs, PDAs) can be used for presenting a 3-D representation of all devices in the area that may be of interest. For example, the 3-D capabilities of the present invention can distinguish that a new mouse, from among other wireless mice within a particular range, is available. In another example, a traveler can arrive at an airport lounge and via the invention detect printers, scanners, and other devices of interest and know where they are located.
To the accomplishment of the foregoing and related ends, certain illustrative aspects of the invention are described herein in connection with the following description and the annexed drawings. These aspects are indicative, however, of but a few of the various ways in which the principles of the invention may be employed and the present invention is intended to include all such aspects and their equivalents. Other advantages and novel features of the invention may become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
The present invention is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It may be evident, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the present invention.
As used in this application, the terms “component” and “system” are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
As used herein, the term “inference” refers generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic-that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
Referring now to
The devices 102 may include any suitable wireless devices, whether mobile, movable, or stationary, e.g., a printer, scanner, mouse, keyboard, desktop and/or portable computer, portable data assistant, m-commerce device, any suitable type of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. The invention contemplates employment of at least RFID (Radio Frequency Identification) technology, UWB (Ultrawideband) systems, Wi-Fi® and Bluetooth® wireless technologies, separately or in combination, in addition to other wireless technologies. That is, the network implemented may accommodate only Bluetooth devices, or a network may be implemented to accommodate a plurality of different wireless/wired technologies. Thus, the communication can be a predefined structure as with conventional networks or simply an ad hoc communication between at least two devices.
Wi-Fi, or Wireless Fidelity, allows connection to the Internet from a couch at home, a bed in a hotel room or a conference room at work, without wires. Wi-Fi is a wireless technology that enables devices, e.g., computers, to send and receive data indoors and out; almost anywhere within range of a base station. Note, however, that Wi-Fi can be used in ad hoc mode with a device other than access point (here, denoted as the base station). Wi-Fi networks use radio technologies (IEEE 802.11 (a, b, g, etc.)) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which typically employ IEEE 802.3 or Ethernet). Wi-Fi networks typically operate in the unlicensed 2.4 and 5 GHz radio bands, with an 11 Mbps (802.11b) or 54 Mbps (802.11a) data rate or with products that contain both bands (dual band), so the networks can provide real-world performance similar to basic 10BaseT wired Ethernet networks used in many offices. Of course, wireless systems utilizing even higher bit rates and/or frequencies may be used in accordance with the present invention.
The disclosed architecture can also be used with HiperLAN technology. HiperLAN is a set of wireless local area network (WLAN) communication standards primarily used in European countries. There are two specifications: HiperLAN/1 and HiperLAN/2, both of which have been adopted by the European Telecommunications Standards Institute (ETSI). The HiperLAN standards provide features and capabilities similar to those of the IEEE 802.11 WLAN standards used in the U.S. and other adopting countries. HiperLAN/1 provides communications at up to 20 Mbps in the 5-GHz range of the radio frequency spectrum. HiperLAN/2 operates at up to 54 Mbps in the same RF band, and is compatible with 3G (third-generation) WLAN systems for sending and receiving data, images, and voice communications. HiperLAN/2 has the potential, and is intended, for implementation worldwide in conjunction with similar systems in the 5-GHz RF band.
HomeRF® is just one other example of a many other wireless technologies that can benefit from the disclosed architecture.
With such capabilities, a user of the invention can access a portable system that can detect entity location relative to the user and present directional information to the user such that the user can navigate to the desired entity. Detection can be accomplished by any number of conventional means, for example, triangulation with two antennas, Doppler shift with one antenna, etc.
Referring now to
At 200, a user selects a mode of implementation of the subject invention. This includes whether the invention is used in a portable terminal device, a stationary computer, or other implementation described in greater detail hereinbelow. At 202, filtering is selected. This includes selecting detection in a single plane in 2-D space, or in 3-D space. If in 3-D space, the user can choose to detect substantially all devices within a given radius of the system. Filtering can be selected in a directional format such that a subset of devices in a hemisphere, quadrant, or other volume of space can be detected. After selecting the filtering mode, at 204, the user enables the sensing or detecting process. This, for example, can be performed by manually pressing a button, or automatically after a short duration of time.
At 206, it is determined if a device has been detected. If NO, at 208, sensing range is extended. This can occur automatically or manually until a predetermined limit is reached or signal received back. For example, if the invention is employed in a portable device, the range can be extended to cover an approximate area of a room between the device and a furthest wall or side walls of the room. The sensing range can be extended until either a predetermined limit is reached or a device is found. Flow is then back to the input of 206 to again determine if a device has been detected.
If YES, a device has been detected, at 210, the device is identified. This can include determining if the detected device(s) is a printer, copier, computer, etc. At 212, a graphical representation of the detected devices is presented to the user. Of course, the invention can also display information to inform the user that a device has or has not been detected. Thus in one mode, the user can control the invention to provide an alert that devices have been detected, after which the user can select a mode to present a 2-D and/or 3-D representation thereof. Alternatively, the invention can automatically display a representation of all detected devices upon detection.
At 214, it is determined if more devices are to be detected. That is, if the user operates the invention to display a few devices, and chooses to have a lesser or greater number of devices presented, the range can be modified to facilitate display of the additional devices. Thus, at 214, if the user desires to display more devices, flow proceeds to 208 to extend sensing range. Alternatively, if the user chooses to not display any more devices, flow is from 214 to a Stop block.
Referring now to
Since such airport areas may be spaced apart by significant distances, an airport system 312 may be suitably implemented to transmit a map of the areas 306 located throughout the airport to the PTD 300. Thus the airport system 312 can use the architecture of the present invention to detect location of one or more PTDs 300 and transmit thereto information related to the nearest service areas 306. This information may be a gate number that is used to locate an area in an airport.
Alternatively, the PTD can detect a service area location tag from which to obtain the location of the service area. Thus the first service area 308 has associated therewith a first tag (also denoted TAG A) 314 and second service area 310 has associated therewith a second tag (also denoted TAG B) 316, which when pulsed, emits tag location information that may be presented to the user 302. If the user PTD 300 is at, for example, gate eight, the tag location information received by the PTD 300 can be the gate numbers associated with the nearest service areas 306, which are gates three and fifteen. In accordance with the present invention, the tag locations can then be presented graphically or in a tabular format on a display 318 of the PTD 300 as GATE3 and GATE15.
In a more robust implementation, the user 302 can signal the airport system 312 via the PTD 300 for the device or port needed. The airport system can then select the nearest service area 306 that has the device or port available. Still further, the airport system can reserve the device or port for the user 302 within a specific time of arrival. That is, if the user 302 deplanes, and the PTD 300 displays in 2-D or 3-D all available service areas 306, as described above, the user 302 can further request a specific device, in response to which the airport system directs the user 302 to the corresponding service area having the requested device or port. The user 302 would be allowed to reserve the device or port for only a few minutes associated with the time to arrive at the device or port from the first detected location of the PTD 300 by the airport system. Otherwise, the device or port is made available for others to use. Of course, the airport system 312 would calculate the reservation time based upon the location of the detected PTD 300. For example, if the user 302 was two floors away, that distance would need to be considered in determining the reservation time.
The airport system 312, operable in accordance with the present invention, can also “learn” or classify user behavior according to usage of such devices and/or ports, and as a result, operate accordingly. The subject invention (e.g., in connection with anticipating device and/or port availability) can employ various artificial intelligence based schemes for carrying out various aspects of the subject invention. For example, a process for determining which devices to display to the user can be facilitated via an automatic classification system and process. That is, when the user 302 decides to find available devices/ports, the classifier can determine which to display based upon actual availability and expected availability. As the airport system 312 operates over time, trends can be developed for the average time used per device/port, and further criteria can be considered, such as the time of day, day of the week, etc. Based upon such information, the airport system 312 can signal the PTD 300 to display only those devices/ports that are available or will become available within a predetermined duration of time. Of course, when the user 302 activates the PTD 300 to detect the devices/ports, the PTD 300 can signal the airport system 312 for authentication or a basic identification process, in response to which the airport system 312 reacts to the requested information. It is to be appreciated that although this description focuses on an airport, it is intended to apply to any system in any location that can supplement or enhance the functionality of the detection and presentation features of the present invention by intercommunicating with the PTD 300 to provide a more beneficial use to the user 302. This feature facilitates reducing the loss of utility of the disclosed detection architecture by presenting to the user 302 only those devices/ports that are available for use or that will become available shortly, and not those devices/ports that are not available. Alternatively, all devices/ports can be displayed, but those that are currently in use will have a different color, with variations in color indicating predicted availability based upon past data (e.g., a blinking graphic).
Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. A classifier is a function that maps an input attribute vector, x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to a class—that is, f(x)=confidence(class). In the case of device detection and presentation systems, for example, attributes are utilization times derived from the past usage of the devices and/or ports, and the classes are types of devices.
For example, a support vector machine (SVM) classifier can be employed. An SVM operates by finding a dynamically changing hypersurface in the space of possible inputs. This hypersurface will facilitate presenting the devices/ports by attempting to define the time at which a given device/port will become available, where such criteria is used, based upon past input (or usage) data. Other directed and undirected models classification approaches include, e.g., naïve Bayes, Bayesian networks, decision trees, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
As will be readily appreciated from the subject specification, the subject invention can employ classifiers that are explicitly trained (e.g., via a generic training data) as well as implicitly trained (e.g., via observing user behavior, receiving extrinsic information) so that the classifier(s) is used to automatically determine according to a predetermined criteria which devices/ports to display according to traffic in the service areas (in the airport example) and devices/ports that are more heavily used. The criteria can include, but is not limited to, the type of device, type of port, location of the device or port, and usage of the devices or ports. For example, with respect to SVM's which are well understood, SVM's are configured via a learning or training phase within a classifier constructor and feature selection module.
The disclosed architecture can also consider other factors in facilitating device discovery and presentation. A look-up table of barrier materials can be used to properly adjust the signal strength for sensing the detectable entities. For example, where the user may be attempting to detect entities through a wall, the table can include typical wall materials (e.g., wall board, paneling, sheet rock, lumber, steel . . . ) that impact whether the signal strength should be increased to enhance delectability of the enclosed entities.
The disclosed architecture is operable to sense the presence of the barrier, and thus react according to user requirements. For example, the user can control the detection and presentation system to sense and display only those devices within a first barrier. This is determinable based upon the signal strength, and properties of materials that impact the signal strength. Thus, if the user desires to detect all devices in a rectangular shaped room, the walls are the barriers such that all devices detectable beyond the walls will be filtered out based upon the strength (or weakness) of the received signals. The system will then auto-range the detection component signal to sense those devices within the barrier. This feature is particularly useful in an airplane environment where the shape of the volume to be sensed is primarily a long rectangular volume. Thus the distance to the sides of the seating area, for example, is very short while the distance to the back seats of the plane is relatively very long. Of course, in accordance with the present invention, wireless devices operating inside luggage (or crates) in the luggage compartment (or cargo hold) can also be sensed provided the appropriate barrier materials are used for filtering and selecting the required signal strengths.
Still further, where the entities to be detected are inline with a radius from the device 300 (i.e., along a line-of-sight (LOS)), discrimination of the entities when proximately located along the LOS is more difficult (e.g., in an airplane seating arrangement, or office or conference room environments). Thus several calculations need to be performed along with filtering to distinguish the entities for presentation.
The airport system 312 (other similarly implemented system of the present invention) can determine the velocity and heading of the PTD 300 (and user 302) by simply making repeated measurements of the PTD location. Thus, in an alternative implementation of the present invention, while the application of the present invention employed in the PTD 300 can be used to detect and present the location of entities to the user 302, implementation of the present invention in the airport system 312 can be for tracking the location and movements of all users of activated PTDs throughout a given location. Of course, the airport system 312 would then display the locations of the PTDs as the PTDs move throughout an area.
Referring now to
Note also that for users who may use legacy systems or systems that connect to the network via a hardwired connection, such systems may be proxied into the system of the subject invention by way of the airport system 312 or other system(s) capable of such purposes. The user may then be presented with the multi-dimensional display of all available devices within an area or given range of a wireless device associated with the proxy system. The proxy method facilitates the presentation of wireless devices of any or all areas of the airport the user desires to perceive.
Since some users may not be comfortable with the “animated” presentation of the devices on the display, that is, as the PTD 300 moves relative to the displayed devices, the displayed devices are adjusted accordingly, the user 302 can choose to reference the detected devices relative to a fixed point. For example, as the user approaches and enters the service area 308, the user 302 can select that all detected devices be displayed on the PTD 300 relative to a front door 320 (where the tag 314 may be physically located). This can facilitate finding the device more readily for some users.
It is appreciated that the PTD 300 can be employed to detect moving entities. For example, if a user enters a store, the PTD 300 can be used to ascertain and display the location of a tagged assistant such that the user 302 can readily find the assistant. Thus the disclosed architecture is operable where both the detection system and the detected entities are capable of movement.
Referring now to
Referring now to
When detected, the PTD 300 presents the 3-D information to the user in a 3-D representation via the display 318. Note the disclosed architecture is operable to automatically orient the displayed data in the most viewable manner, such as in a portrait or landscape format. Here the graphics are presented in a landscape format with a scroll bar 502 for scrolling the window up or down. In this implementation, the PTD 300 may not have the floor plan stored therein, thus the floor plan will be transmitted to the PTD 300 for use in presenting the devices thereon. Optionally, the PTD 300 may use analytical results on the radio waves characteristics to dynamically determine the approximate location of walls, floors, and other barriers within the present space. Note also that wireless devices are not necessarily the only item of interest to the user 302. For example, in a library or other facility where not all services are provided wirelessly, the user 302 may be interested in finding available network ports. Thus each wired network port can be identified with a tag such that the user can go to the port and plug into the port. Here, two ports, PORT1 and PORT2, are tagged for identification on respectively, FLOOR4 and FLOOR2.
Again, the 3-D spatial orientation and relationships of the devices and ports are maintained for display to the user 302. Thus the user 302 can ascertain depth and lateral spatial features via the display 318. In more robust implementations, the display 318 presents features that facilitates zoom-in and zoom-out of the window to provide greater detail as to where the device and/or port is located. Additionally, the presentation component can use colors to differentiate relative depth of the devices and ports. In support thereof, the FLOOR4 device and port graphics can be different colors to represent that WD1 is farther away from the PTD 300 than PORT1.
Another feature of the present invention that is described in greater detail below, is that when the user 302 walks with the PTD 300 laterally, the PTD 300 will sense the change in position of the devices and ports relative to the PTD 300, and display the orientation of the associated display graphics accordingly.
Alternatively or in combination with the features previously described, the display component can be suitably designed to present a location vector 504 on the display 318 that indicates both direction and approximate distance (here, 33 meters) of a selected device, e.g., device WD2. Thus the user not only can be presented with the multi-dimensional graphical and textual representation of the detected devices over multiple floors, but can also assign the location vector 504 to the WD2 device to facilitate finding the device WD2. The user can assign the vector 504 by selecting both the vector 504 and the device WD2 via, perhaps, voice control, a keyboard, and/or a light pen or stylus. As the user moves the PTD 300 by walking, the vector arrow points to the general location of the WD2 device and provides the dynamically updating distance and direction from the PTD 300.
The disclosed architecture includes a graphical user interface that is presented via the display 318 that facilitates the discovery and display of wireless devices. The interface includes an input component for processing management information. The management information is associated with at least one of configuring the PTD 300 and detecting the device locations. The interface also includes a presentation component for presenting a 2-D or 3-D representation of the locations of one or more of the detected devices based upon the management information. In the interface of
The interface further comprises a mapping feature that maps a representative device location in space relative to other detected devices. Thus where the WD2 device is detected above the WD3 device, the corresponding spatial relationship is preserved for presentation to the user. As indicated previously, the interface includes a presentation component that provides a graphical representation of a location vector for indicating a direction and distance of the computer from a detected device. A mapping feature of the interface automatically maps device location information according to predetermined spatial criteria. That is, the user can scale the graphics to include more or fewer detected devices. Further more, each of the detected and displayed device locations are selectable. By selecting a device location, the user can be presented with further information about the device, such as make, model, etc. The mapping feature can be configured to draw a general 2-D or 3-D representation of a floor layout of individual device location graphics, wherein the graphics are selectable. The presentation component further comprises means for selecting a floor in the building and means for selecting one of the device locations. Thus where the user chooses to look more closely at a specific floor, only that floor can be selected for an enhanced close-up view. The interface further includes graphical means to display a color and/or a pattern corresponding to user preference information.
Note that in more robust implementations, the PTD 300 can download a map of an area for presentation of the device superimposed thereon. This can occur in addition to or in lieu of dynamically generating the map. For example, if the user is on a first floor and detects a device on the third floor, the user can further download a map that generally matches the layout and features of the environment in which the user is present. This map download can occur automatically and is transparent to the user. Once the map is no longer needed, it can be deleted, manually or automatically according to predetermined criteria (e.g., signal strength, heading of the PTD, aging parameters, . . . ). That is, the map can show walls, hallways, stairs, etc., that generally match building or room features where the user is currently standing, and where the user will need to go to get to the device. As the user moves in the direction of the device, as directed by the location vector 504, or by other means, the map presented by the PTD 300 moves through the virtual hallways, stairs, etc., to aid the user in navigating to the device. Thus, the user can quickly and easily navigate to the desired device location. The disclosed architecture is capable of generating one or maps in the background (transparent to the user) as the user moves the PTD throughout an environment. That is, as the user navigates one map, another may be generated for use for eventual presentation, the map being a different rendition of the existing map such that the user can manually or automatically switch between them during navigation. For example, as the user views one map, which map may be a more graphical robust representation, a wire frame map may be developed and tracked in the background (or in the foreground next to the robust map) such that of the user chooses to view the wire frame version, this may be accommodated by the simple press of a button, or invoking of a voice command.
Referring now to
In the first position (1), the PTD 602 senses and displays two devices, WD1 and WD2. The corresponding display 606 illustrates that the representative graphics for WD1 and WD2 are oriented spatially as indicated.
In a second position (2), the PTD 602 is in rotation clockwise on the way to the 90-degree position (also associated with position (3)) to detect and ultimately display devices WD2, WD3, and WD4. Note, however, that as the PTD 300 is rotated past device WD 1, the display 608 will sense and track the relative device positions during movement such that device WD 1 is shown moving out of the display area. When rotation reaches the third position (3), the PTD 602 is in the 90-degree position, and the corresponding graphics are as in display 610.
In a fourth (or 180-degree) position (4), the PTD 602 senses and displays the devices WD3, WD4, and WD5, as illustrated in display 612. Of course, the user will also see device WD2 transition out of the display area and device WD5 transition into the display area as rotation continues from position 3 to position 4.
In a fifth (or 270-degree) position (5), the PTD 602 senses and displays devices WD5 and WD1. Thus, the user will see device WD3 and WD4 transition out of the display area and devices WD1 move into the display area at the PRD 602 rotates.
Note that the disclosed architecture is operable to display a full 360-degree representation of the detected devices (similar to the illustrated area 600) such that the fixed point 604 is in the center of the display area and scroll bars are provided such that the user can scroll up/down, left/right to view all detected devices WD1, WD2, WD3, WD4, and WD5 in a 2-D or 3-D presentation.
Referring now to
Alternatively, the architecture can be configured to scan a fixed distance in front of the computer system 700, which fixed distance includes the volume in space where such input devices are typically positioned. That is, a keyboard can typically be found in front of the computer chassis (for a desktop unit) or upward and a short distance away (for a floor-based tower chassis). For a mouse, the location is in front and slightly to the left or right of the desktop chassis. Of course, the architecture can be encased as a standalone unit in a chassis separate from the portable terminal, desktop, tower, or portable computer chassis such that the standalone unit is operable to communicate with the computer system 700 via a USB connection or other communication port. Thus, the unit can be positioned to detect the location of the input devices at locations that are typical for such implementations, e.g., in front of the user.
Referring now to
The interface 800 also includes an Environment subwindow 806 for allowing selecting of the environment in which the sensing is taking place. This may include a large area (e.g., airport terminal, library, multi-floor areas . . . ), medium area (e.g., office areas and airplane seating area) or small area (single office or adjacent (or proximately located) offices).
The interface 800 also includes a Range Mode subwindow 808 for allowing the user to select a fixed range of detection, auto-ranging, auto-ranging to first detected device, range to multiple floors, a single floor, etc.
The interface 800 also includes a Filtering subwindow 810 for allowing the user to select the type of envelope to sense, e.g., directional in one plane (i.e., 2-D), full 360-degree spherical range, quadrant, hemisphere, etc.
Referring now to
With reference again to
The system bus 908 can be any of several types of bus structure including a memory bus or memory controller, a peripheral bus and a local bus using any of a variety of commercially available bus architectures. The system memory 906 includes read only memory (ROM) 910 and random access memory (RAM) 912. A basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within the computer 902, such as during start-up, is stored in the ROM 910.
The computer 902 further may include a hard disk drive 914, a magnetic disk drive 916, (e.g., to read from or write to a removable disk 918) and an optical disk drive 920, (e.g., reading a CD-ROM disk 922 or to read from or write to other optical media), although all of this hardware is not required for operation in accordance with the subject invention. The hard disk drive 914, magnetic disk drive 916 and optical disk drive 920 can be connected to the system bus 908 by a hard disk drive interface 924, a magnetic disk drive interface 926 and an optical drive interface 928, respectively. The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 902, the drives and media accommodate the storage of broadcast programming in a suitable digital format. Although the description of computer-readable media above refers to a hard disk, a removable magnetic disk and a CD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, digital video disks, cartridges, and the like, may also be used in the exemplary operating environment, and further that any such media may contain computer-executable instructions for performing the methods of the present invention.
A number of program modules can be stored in the drives and RAM 912, including an operating system 930, one or more application programs 932, other program modules 934, program data 936, and a filter component 937. It is appreciated that the present invention can be implemented with various commercially available operating systems or combinations of operating systems.
A user can enter commands and information into the computer 902 through a keyboard 938 and a pointing device, such as a mouse 940. Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a satellite dish, a scanner, or the like. These and other input devices are often connected to the processing unit 904 through a serial port interface 942 that is coupled to the system bus 908, but may be connected by other interfaces, such as a parallel port, a game port, a universal serial bus (“USB”), an IR interface, etc. A monitor 944 or other type of display device is also connected to the system bus 908 via an interface, such as a video adapter 946. In addition to the monitor 944, a computer typically includes other peripheral output devices (not shown), such as speakers, printers etc.
The computer 902 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer(s) 948. The remote computer(s) 948 may be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 902, although, for purposes of brevity, only a memory storage device 950 is illustrated. The logical connections depicted include a local area network (LAN) 952 and a wide area network (WAN) 954. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
When used in a LAN networking environment, the computer 902 is connected to the local network 952 through a network interface or adapter 956. The adaptor 956 may facilitate wired or wireless communication to the LAN 952, which may also include a wireless access point disposed thereon for communicating with the wireless interface of the adaptor 956. When used in a WAN networking environment, the computer 902 typically includes a modem 958, or is connected to a communications server on the LAN, or has other means for establishing communications over the WAN 954, such as the Internet. The modem 958, which may be internal or external, is connected to the system bus 908 via the serial port interface 942. In a networked environment, program modules depicted relative to the computer 902, or portions thereof, may be stored in the remote memory storage device 950. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
Referring now to
What has been described above includes examples of the present invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the present invention, but one of ordinary skill in the art may recognize that many further combinations and permutations of the present invention are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
Number | Name | Date | Kind |
---|---|---|---|
5295244 | Dev et al. | Mar 1994 | A |
5586254 | Kondo et al. | Dec 1996 | A |
5600706 | Dunn et al. | Feb 1997 | A |
5678198 | Lemson | Oct 1997 | A |
5758288 | Dunn et al. | May 1998 | A |
5793974 | Messinger | Aug 1998 | A |
5809265 | Blair et al. | Sep 1998 | A |
5958012 | Battat et al. | Sep 1999 | A |
6091956 | Hollenberg | Jul 2000 | A |
6222482 | Gueziec | Apr 2001 | B1 |
6317599 | Rappaport et al. | Nov 2001 | B1 |
6324577 | Hirai | Nov 2001 | B1 |
6327535 | Evans et al. | Dec 2001 | B1 |
6393557 | Guthridge et al. | May 2002 | B1 |
6651105 | Bhagwat et al. | Nov 2003 | B1 |
6661335 | Seal | Dec 2003 | B1 |
6674403 | Gray et al. | Jan 2004 | B2 |
7039392 | McCorkle et al. | May 2006 | B2 |
7139557 | Tang et al. | Nov 2006 | B2 |
20010042118 | Miyake et al. | Nov 2001 | A1 |
20030124977 | Smith et al. | Jul 2003 | A1 |
20030143992 | Humphrey et al. | Jul 2003 | A1 |
20040073538 | Leishman et al. | Apr 2004 | A1 |
20050020275 | Agrawala et al. | Jan 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050048987 A1 | Mar 2005 | US |