Abstract:
A method, system, and computer readable media that when executed determines and manages presence information and presents the information to a plurality of devices. A determination is made if a presence device is within a range of a detection device. If the presence device is within a detectable range, presence information is prepared. The presence information includes the location of the detection device and the availability of the user of the presence device. Then, the presence device updates a plurality of devices with the presence information.

Description:
BACKGROUND 
       [0001]    Everyday, millions of people log in to their computers using an associated password and username. By logging in and using such personalized information, the presence or absence of the user at a computer terminal can be determined. Alternatively, presence or absence of a user can be determined through a phone system. For instance, calls made by a user are automatically detected. Accordingly, the detection places the caller present. Motion sensor systems also determine presence or absence of a user by detecting movements within a limited range. Still further, a strike of a button on a keyboard or a movement of an associated mouse causes presence to be determined. 
         [0002]    Quite recently, “availability” features were introduced into presence/absence determination systems. Availability features provide the user with options describing their current status. Namely, a user could be “unavailable,” “available,” “busy,” “in a meeting,” “on a call,” etc. As an illustrative example, systems would consider a user “unavailable” if the computer system failed to detect mouse or keyboard movements for a prolonged period of time. Systems were also programmed to go “busy” when associated applications, such as electronic calendars, indicated so. By using the availability feature, other parties interested in the whereabouts of the user would be able to check the user&#39;s status. Consequently, more than absence or presence could be determined. 
       SUMMARY 
       [0003]    This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. 
         [0004]    In accordance with a first aspect of the present invention, a method for distributing presence information to a plurality of devices is presented. The method determines if a presence device is within a range of a detection device. Continuing, the method determines presence information associated with the presence device if it is determined that the presence device is within the range of the detection device. The presence information includes a location of the detection device and an availability of the user of the presence device. Once presence information is determined, the method provides the presence information to a plurality of devices. 
         [0005]    In accordance with another aspect of the present invention, a presence determination system is presented. Contained within the presence determination system is a presence device. A detection device is configured to determine whether the presence device is within a range of the detection device. The presence determination system also contains a management device configured to maintain a location and an availability of a user of the presence device, wherein the location corresponds to the detection device. 
         [0006]    In yet another aspect, a computer readable media containing executable instructions on a management device is presented. When executed, the instructions configure the management device to receive presence information from a detection device. The detection device determines if a presence device is within a range of the detection device. Further, the instructions, when executed on the management device, determine an availability of a user of the presence device if it is determined that the presence device is within the range of the detection device. 
         [0007]    Following the determination that the presence device is within a range of the detection device, the management device is configured to repeatedly locate a related device if the user of the presence device is available. The management device determines if the user of the presence device responds to one of the related devices. Presence information is updated if a user of the presence device responds to a related device. 
     
    
     
       DESCRIPTION OF THE DRAWINGS 
         [0008]    The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: 
           [0009]      FIG. 1  is a diagram illustrating components of an exemplary system using a presence device in accordance with an aspect of the present invention; 
           [0010]      FIG. 2  is a pictorial diagram representing devices involved for detecting a presence device and managing presence information in accordance with an aspect of the present invention; 
           [0011]      FIG. 3  is a flow diagram for detecting the presence or absence of a presence device from the perspective of a detection device in accordance with an aspect of the present invention; 
           [0012]      FIG. 4  is a pictorial representation of a presence device circumscribed within a range of a detection device in accordance with an aspect of the present invention; 
           [0013]      FIG. 5  is a flow diagram for a presence update routine from the perspective of a management device wherein the management device determines availability of a user and the location of a detection device and further provides the information to a number of devices in accordance with an aspect of the present invention; 
           [0014]      FIG. 6  is a flow diagram representing a search for a user among related devices and updating corresponding information in accordance with an aspect of the present invention; and 
           [0015]      FIG. 7  pictorially represents events taken by the management device to locate a user of a presence device wherein the presence device is detected, but the user is not located near the detection device in accordance with an aspect of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0016]    Generally described, embodiments of the present invention relate to a system and method for presence/absence determinations. In particular, embodiments of the present invention relate to a system and method for providing presence information that disclose presence/absence determinations to a number of interested parties wherein the presence information is defined by a detection device location and user availability. In an illustrative embodiment, detection of a presence device occurs when the presence device enters within an area corresponding to a range of the detection device. In turn, an associated management device receives information corresponding to presence device determinations from the detection device. The management device provides centralized information where distribution of that information to a number of devices operated by the interested parties can take place. 
         [0017]    As previously stated, presence information includes a detection device location and user availability. Specifically, the location of the detection device refers to the area that is encompassed by the detection device. Further, availability information refers to the user&#39;s status. Namely, whether the user is “unavailable,” “available,” “busy,” “in a meeting,” “on a call,” etc. Although not relevant to the present embodiment, presence information may also contain a name associated with the presence device, address related to the name, password information, credit card information, or any other type of personal information. 
         [0018]    Now referencing  FIG. 1 , a diagram illustrating components of an exemplary system  100  using a presence device  104  in accordance with an aspect of the current invention is presented. As shown, a user  102  posses a presence device  104  within a range of a detection device  106 . Connected to each detection device  106  is a management device  108  for storing presence information. The management device may comprise of multiple servers receiving and transmitting presence information through a network. One skilled in the art would appreciate that a network  112  can include the Internet, an intranet network, a wide area network (WAN), a local area network (LAN), personal area network (PAN), wireless local are network (WLAN), and the like. As described above, presence information includes detection device  106  location and user availability. Further connected to the management device  106  is a number of related devices  110 . The related devices  110  may correspond to a land-line phone, a cellular phone, a television, other networked computers, or any other device. As will be described in more detail below, users of the related devices  110  may determine the presence information of the user  102  of the presence device  104 . 
         [0019]    In a further embodiment of the present invention, a number of public devices  114  are connected to the management device  108  through a network connection  112 . Each public device  114  may be represented by a land-line phone, a cellular phone, a television, other networked computers, etc. Similar to the related devices  110 , users of the public devices  114  may determine the presence information of the user  102  of the presence device  104 . In the current embodiment, the public devices  114  would be given access to all presence information. In another embodiment, the public devices  114  are given limited access to the presence information. 
         [0020]      FIG. 2  is a pictorial diagram representing devices involved for detecting a presence device  104  and managing presence information in accordance with an aspect of the present invention.  FIG. 2  shows a complete system in accordance with the present invention. Explicitly, the diagram shows the system in view of the detection device  106  and the system in view of the management device  108 . 
         [0021]    Operations of the detection device  106  will now be described.  FIG. 3  is a flow diagram for determining the presence or absence of a presence device  104  from the perspective of a detection device  106  in accordance with an aspect of the present invention. Specifically, the presence detection routine  300  determines if a presence device  104  is within a range of the detection device  106  and updates presence data in accordance with that determination. 
         [0022]    Beginning at block  302 , the detection device  106  searches for a presence device  104 . For example, as shown in  FIG. 4 , a presence device  104  may be detected When it moves within an area defined by a range  402  of the detection device  106  in accordance with an aspect of the present invention. As shown, the presence device  104  may move inside and outside a range of the detection device  106 . One skilled in the art would recognize that the detection device  106  and presence device  104  may be attached to a number of apparatuses. As shown, the detection device  106  is attached to a computer and the presence device  104  is attached to a cellular phone. In one example, the presence device  104  is connected to a cellular phone through a blue-tooth attachment. The detection device  106  may be associated with a number of presence devices  104 . Alternatively, the detection device  106  can be associated with a singular presence device  104 . For example, the detection device  106  selects a unique presence device  104  corresponding to an association between the detection device  106  and the unique presence device  104  among a number of presence devices  104  within a range  402  of the detection device  106 . Further, a presence device  104  may be associated with a number of detection devices  106 . 
         [0023]    Each presence device  104  can contain and/or be associated with user specific information. Information about the user  102  can include the user&#39;s name, address, credit card information, etc. Protection of such information may occur through encryption. Pertaining to the blue-tooth example, the detection device  106  and the presence device  104  establish a trusted relationship known as “pairing” for security. Further, any detection device identification information may also be used for associating with other devices. 
         [0024]    Determination of a presence device  104  within a range of the detection device  106  may occur through wireless means. One skilled in the art of wireless technology would understand that there are many ways of implementing such a determination. Continuing with the previous blue-tooth example, the presence device  104  and the detection device  106  use radio communication systems, so they do not have to be in line of sight of each other. 
         [0025]    Operationally, the detection device  106  sends a detection signal to locate the presence device  104 . If the presence device  104  is within a range  402 , the signal is responded back to by the presence device  106 . If no response is received, the detection device  106  resends the signal to locate the presence device  104  after an elapsed period of time. In a further embodiment of the present invention, the presence device  104  sends the signal to the detection device  106 , instead of the detection device  106  sending the signal. 
         [0026]    In another embodiment, the user may manually set a location of their physical presence without having the presence device  104 . The user sets their physical location at the detection device  106  through user identification information, such as a password and log-in name. 
         [0027]    Returning to  FIG. 3 , block  304  determines whether there has been a change in presence. If there is no change in presence, the routine  300  returns to block  302  periodically. If a change has occurred, presence information is updated. At block  306 , the detection device  106  updates presence or absence information directly on the device  104 . Further, the detection device  106  provides detection of presence or absence information to a management device  108  at block  308 . As described below, the management device  108  handles and distributes presence information among a number of devices. The presence detection routine  300  ends at block  310 . 
         [0028]    Operations of the management device  108  will now be described.  FIG. 5  is a flow diagram for a presence update routine  500  from the perspective of a management device  108  wherein the management device  108  determines availability of the user  102  and the location of the presence device  104  and further provides the information to a number of devices in accordance with an aspect of the present invention. Beginning at block  502 , the management device  108  receives data regarding presence or absence of a presence device  102  from the detection device  106 . After receiving the data, the management device  108  determines whether presence of a device is detected at decision block  504 . At block  506 , the management device  108  publishes to a number of devices that the user  102  of the presence device  104  is unavailable if there is an absence of the presence device  102 . The routine  500  ends at block  516 . 
         [0029]    If, on the other hand, the presence device  104  has been detected at decision block  504 , the management device  108  determines the location of the detection device  106  that sent the data at block  508 . Continuing, availability of the user  102  associated with the presence device  102  is determined at block  510 . Availability features provide the user with options describing their current status. Namely, a user could be “unavailable,” “available,” “busy,” “in a meeting,” “on a call,” etc. The management device  108  determines availability through a variety of means. Accordingly, the management device  108  can detect if the user  102  is on a call. Moreover, electronic calendars can be checked to determine availability status. Further, the availability may be a user preference on the presence device  102 . The user may also manually describe their availability status at the detection device  106 . Following the determination of availability, the presence information is provided to other devices at block  512 . More specifically, the presence information can be provided to related devices  110  and/or to a number of public devices  114 . At block  514 , public information is updated. The routine ends at block  516 . 
         [0030]    By providing presence information, corrections for system errors may be made. Continuing with the previous illustration, the sending of updated presence information to the other devices will correct any error regarding an erroneous detection device  106 . For instance, if a first detection device  106  fails to detect a change in presence, the presence information retrieved from a second detection device  106  will inform the first detection device  106  that the user  102  of the presence device  106  is no longer within range of the first detection device  106 . In turn, appropriate corrections will be made by the first detection device  106 . Moreover, security is provided. Because the first detection device  106  failed to log out properly, a deviant user may still access information at that particular location. By providing presence information, the first detection device  106  will disengage any deviant users. 
         [0031]    In accordance with another aspect of the present invention,  FIG. 6  is a flow diagram representing a search routine  600  for locating a user among related devices and updating corresponding information in accordance with an aspect of the present invention. More specifically,  FIG. 6  relates to actions taken when a user  102  of a presence device  104  cannot be found at the location of detection, but may be found elsewhere. 
         [0032]    Starting at block  602  of routine  600 , the management device  108  receives a request from an interested party seeking the user  102  of the presence device  104 . Accordingly, this can be a call, an instant message, an invitation to collaborate, etc. In turn, the management device  108  determines the availability of the user at decision block  604 . When the user  102  of the presence device  104  is unavailable, the routine  600  ends at block  622 . Alternatively, when the management device  108  determines that the user  102  is available, the management device  108  locates the appropriate detection device  106  at block  606 . The management device, as previously stated, contains presence information corresponding to presence/absence determinations. Included in the information is the location of the detection device  106  that determined that the presence device  104  was within an area corresponding to a range  402  of the detection device  106 . Using that information, the management device tracks the location of the detection device  106  associated with the presence device  104 . 
         [0033]    The management device  108  searches for the user  102  at the location of the appropriate detection device  106  at block  608 . At decision block  610 , a determination whether the user  102  has been found is made. If the user  102  is found, the management device  108  determines if the user is at a new location at decision block  612 . If it is determined that the user is not at new location, the device does not need to update the presence information. If, however, the user  102  is found at a new location, then the management device  108  updates presence information to reflect accordingly at block  614 . 
         [0034]    Continuing, if the user is not found at decision block  610 , at decision block  616 , the management device  108  determines whether all locations have been searched in trying to locate the user  102 . When a device has not been searched, the device is selected at block  618  and searched by repeating block  608 . On the other hand, when all the related devices have been searched, the management device  108  at block  620  updates the presence information to reflect that the user  102  is unavailable. Consequently, the routine  600  terminates at block  622 . 
         [0035]      FIG. 7  pictorially represents events taken by the management device to locate a user of a presence device wherein the presence device is detected, but the user is not located near the detection device, in accordance with an aspect of the present invention. At step  700 , the user  102  of the presence device  104  leaves the presence device  104  near the detection device  106 . In an exemplary scenario, the user  102  leaves the presence device  104  at home while the user  102  goes to work. In another scenario, the user  102  may have left the presence device  104  in their car while the user  102  goes into their home. 
         [0036]    Following step  700 , the presence device  104  is detected by the detection device  106  at step  702 . Information is provided to the management device  108  at step  704 . Availability of the user  102  is determined at step  706 . The presence information is provided to a related device at step  708 , which in turn, wants to locate the user  102  at step  710 . 
         [0037]    Subsequently, the management device  108  searches the devices at which a user  102  may be located. Accordingly, the management device  108  starts with the detection device  106  that detected the presence device  104  at steps  712  and  714 . If not found, the management device  108  continues to search each device until the user  102  is found at steps  716  and  718 . Continuing with the examples above, when the presence device  102  is left at home, the management device  108  will search related devices at the user&#39;s  102  home and then devices at work. With respect to leaving the presence device  104  in the car, the management device  108  will search related devices at home. 
         [0038]    At step  720 , presence information for the user  102  on the management device  108  is updated if the user  102  verifies their identity. When the user  102  is initially found at steps  716  and  718 , the user  102  will be denied access to change the presence information. The user  102  may override the presence/absence determination system without the presence device  104  by using verification information such as a password. Once verified, the management device  108  updates the presence information and informs other devices of the updated location. One skilled in the art would recognize that some devices which the user  102  may be found at do not require verification information. 
         [0039]    While illustrative embodiments have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.