The ability to determine the presence of individuals relative to a location is often desirable. For instance, it may be desirable for subordinates to determine when their supervisor is in his or her office, e.g., so that they may speak with the supervisor. To locate their supervisor, subordinates may periodically walk past the office of the supervisor to determine whether he or she is in the office. While periodically checking the office of the supervisor is generally effective in allowing the presence of the supervisor to be determined, periodically checking the office may be relatively inefficient.
Rather than periodically checking the office of the supervisor to determine whether he or she is present, subordinates may instead attempt to contact the supervisor. By way of example, subordinates may e-mail or leave a telephone message for the supervisor requesting that the supervisor contact them when he or she arrives. However, the supervisor may not necessarily check his or her e-mail or telephone messages substantially immediately upon arrival at his or her office. Hence, the subordinates may not be aware of the presence of the supervisor in his or her office until relatively long after the supervisor has arrived.
The invention may best be understood by reference to the following description taken in conjunction with the accompanying drawings in which:
In one embodiment, a method includes obtaining a request for a notification regarding an event associated with a first party and a first location. The request is received or otherwise obtained from a second party. The method also includes determining whether the second party is permitted to receive the notification, determining whether the event has occurred, sending the notification if the event has occurred and the second party is permitted to receive the notification. Sending the notification regarding the event includes sending the notification to the second party.
A system which monitors a location and is capable of identifying parties that are present at the location may provide notification relating to the presence of the parties. In one embodiment, a user of the system may effectively request notification when there is a transition or event, e.g., an arrival or a departure, of a first party relative to the location. The user may effectively “camp” on the location such that the location may be monitored for the transition associated with the first party. By way of example, a user, or “camper,” may request that the system notify him or her when the first party, or “campee,” arrives at the location.
The ability to camp on a location increases the efficiency with which the presence of a party relative to the location may be determined. When a user camps on a location, the user is substantially automatically notified relatively soon after the presence of the party relative to the location changes. Hence, the user may be made aware of whether the party has arrived or left the location without having to actually check the location, or having to waiting for the party to respond to a request, e.g., an e-mail request or a request left in a telephone message.
A user may typically use a system to camp on a location to determine when a party either arrives or leaves the location. Referring initially to
After X camps on the particular location, it is determined in step 112 whether Y has arrived at the particular location. The determination of whether Y has arrived at the particular location may occur, in one embodiment, when periodical polls of the location by the camping application indicate that Y has arrived at the particular location. Alternatively, the determination of whether Y has arrived at the particular location may occur when the camping application receives an indication that Y has arrived at the particular location, as for example from a sensor location at the particular location.
If the determination in step 112 is that Y has not arrived at the particular location, then in optional step 120, X receives notification from the camping application that Y has still not arrived at the particular location. From step 120, process flow returns to step 108 in which X continues camping on the particular location. It should be appreciated that in the absence of optional step 120, process flow may move directly from step 112 to 108 if it is determined that Y has not arrived at the particular location.
Alternatively, if it is determined in step 112 that Y has arrived at the particular location, X is notified of the arrival of Y in step 116. A notification of the arrival may be provided to X by a camping application, and may include, but is not limited to, a notification that is provided via e-mail, a notification that is provided via telephonic communications, and/or a notification that is provided via an instant message on an instant messaging application. Once X receives notification that Y has arrived at the particular location, the process of camping on a location is completed.
In lieu of camping on a location for a notification that a first party has arrived at a particular location, a camping party may camp on a location for a notification of other events associated with the first party and the particular location. By way of example, a camping party may camp on a location for a notification that a particular party has left or departed from the location.
It is determined in step 162 whether Y has departed from the particular location. In one embodiment, a camping application may receive notification via a sensor at the particular location that Y is no longer sensed at the particular location. If it is determined that Y has not departed from the particular location, X may optionally receive a notification from the camping application in step 162 that Y is still located at the particular location. Whether or not X receives notification that Y is still present at the particular location, process flow returns to step 158 in which X continues to camp on the particular location.
Returning to step 162, if it is determined that Y has departed from the particular location, then the camping application notifies X in step 166 that Y has departed from the particular location. Once X receives notification that Y has departed from the particular location, the process of camping on the particular location for notification of a departure is completed.
The operation of a system, e.g., a system associated with a camping application, that enables X to camp on a location for notification of an event relating to Y includes processing requests to camp on the location and monitoring the location. Referring next to
In step 208, the system determines the permissions and preferences associated with the request, as well as the permissions and preferences associated with Y. For instance, when X specifies a request using a user interface, X may specify the particular location, an event for which notification is desired, and/or a method of notification. It should be appreciated that the system may have default permissions and preferences that may be implemented in the absence of specific permissions and preferences specified by X. Both X and Y may specify permissions and preferences. Y may specify whether or not X is allowed to camp on a location for notifications relating to Y
After the system determines permissions and preferences, the system determines in step 212 whether X is allowed to camp as requested. That is, it is determined in step 212 if X is allowed to receive notifications relating to Y. If it is determined that X is not allowed to receive notifications relating to Y, the system rejects the request to camp in step 216, and notifies X accordingly. In other words, the system rejects the request. Once X is notified that the request is denied, the process of operating a system that supports camping on a location is terminated.
Alternatively, if it is determined in step 212 that X is allowed to camp as requested, then the system effectively accepts the request to camp. Accordingly, in step 220, the system monitors the location for the requested event relating to Y. Monitoring the location may include interfacing with a sensor and/or a location device associated with the location. In one embodiment, monitoring the location may involve polling the location and/or receiving information updates from the location, e.g., information updates that identify parties which are currently at the location.
A determination is made in step 220 as to whether the desired event relating to Y has occurred. If it is determined that the desired event has not occurred, process flow returns to step 220 in which the system continues to monitor the location. On the other hand, if it is determined that the event relating to Y has occurred, the system notifies X in step 228 that the event has occurred. Optionally, the system may also notify Y that X has been notified of the event in step 232. After the system notifies X of the event and, optionally, notifies Y that X was notified, the process of operating a system that supports camping on a location is completed.
A system which supports camping on a location is generally implemented within a network environment.
A computing device 329 includes camp logic 333 and a camp interface 337. Camp logic 333 and camp interface 337 are arranged to cooperate to allow a request to camp on location 313 to be sent to locator logic 325. Camp logic 333 and locator logic 325 are generally associated with an application that implements camp on location functionality. Camp interface 337 may be a graphical user interface (GUI) that may be used to select a parties and locations to camp on, as well as to select a method of notification.
In the described embodiment, computing device 329 may be used to send a request to computing device 321 or, more specifically, locator logic 325, to camp on location 313 for the arrival of a party Y 305. When locator logic 325 obtains information associated with such a request, locator logic 325 effectively monitors location 313 using sensing arrangement 319 to determine when a locator tag 309 associated with Y 305 is sensed at location 313. Locator logic 325 may effectively request or otherwise ask that sensing arrangement 319 provide locator logic 325 with an indication when Y 305 has arrived at location 313.
A locator tag 309 is substantially any device or component which allows a physical location of Y 305 to be identified. Locator tag 309 may be an RFID tag, for instance. In one embodiment, locator tag 309 may be a device such as a cellular telephone, a global positioning system (GPS) receiver or transmitter, or a computing device. When such a device is sensed as being at location 317, Y 305 may generally be assumed as being at location 313.
When Y 305 enters or otherwise transitions into location 313, sensing arrangement 319 senses that locator tag 309 is present at location 313. As shown in
When a user or camper requests a camp on a location, the user may be presented with a user interface that allows the request to be specified. With reference to
Fields in window 445 includes a field 449 that allows a party 453 to be selected and a field 457 that allows a location 457 to be selected. In the described embodiment, possible locations to monitor that a presented in field 457 are dependent upon the field selected in field 449. That is, locations displayed in field 457 may be based on locations at which selected party 453 may be expected to be. As shown, the presence of party 453 at a location 461 is to be monitored. A desired transition, e.g., an arrival or a departure, is displayed in a field 465, and a desired method of notification is displayed in a field 473. As shown, an arrival transition 465 is selected, and a phone notification 477 is selected as a notification method. Because phone notification 477 is selected, a telephone number may be specified in a field 481. Hence, when party 453 arrives at location 461, a notification will effectively be provided by calling the telephone number specified in field 481.
Whether or not a user or a camper may be allowed to camp on a location for an event associated with a first party depends, in one embodiment, on whether the first party has allowed the user permission to request a camp. In other words, a user may effectively access an application that allows camping on a location to specify permissions.
It should be appreciated that a “default” condition may be in effect if a party does not specify parties who are allowed to camp on a location for his or her presence. A default condition is typically a condition in which either everyone with access to an application that allows camping on a location is allowed to camp on a location for the presence of the party, or nobody with access to the application is allowed to camp on a location for the presence of the party.
A party may proactively make a selection 589 that allows substantially everyone with access to an application that allows camp on a location to camp on a location for his or her presence, or a selection 595 that effectively allows nobody to camp on a location for his or her presence. A selection 591 allows a party to specify parties that are allowed to camp on a location for his or her presence. As shown, the parties that are allowed to camp on a location may be specified using e-mail addresses. However, it should be understood that substantially any identifying information, e.g., given names, for the parties may be specified. A selection 593 allows a party to specify parties that are not allowed to camp on a location for his or her presence.
Although only a few embodiments of the present invention have been described, it should be understood that the present invention may be embodied in many other specific forms without departing from the spirit or the scope of the present invention. By way of example, methods and mechanisms used to specify information relating to a request may vary widely. While a user interface that includes scrollable menus and text input fields has been described as being suitable for allowing a request to be specified, other user interfaces may be suitable. Other suitable user interfaces may include, but are not limited to including, a series of text input fields, a plurality of pull-down or pop-up menus, and a wizard application which prompts a user to specify inputs. In one embodiment, a user interface may be a voice interface that may enable a request to be specified using a telephone.
A variety of different methods may be used to sense the location of a party at a location. That is, a location tracking system may be substantially any system that effectively provides live tracking of a device or a party that is in possession of the device. The sensing of a location of a party may include, but is not limited to including, determining when an RFID tag of the party, a cellular phone of the party, and/or a laptop computer possessed by the party is present at the location, as previously mentioned. It should be appreciated, however, that substantially any suitable method may be used to sense the location of a party at a location. By way of example, if the location is an office assigned to the party, the use of a telephone in the office may be an indication that the party is present at the location. The use of a computer in the office may also be considered to be an indication that the party is present at the location. In one embodiment, a sensor that turns lights on and off in an office when someone enters or leaves, respectively, the office may be an indication that a party has either entered or left the office. In another embodiment, a heat sensor may be used to provide an indication of whether a party is present at a location.
Triangulation may also be used to determine the location of a party without departing from the spirit or the scope of the present invention. For instance, GPS techniques may be used to ascertain the location of a party. Once the location of the party is determined, it may be determined if the party is actually present at a particular location that is being camped on by another party.
In general, a system may enable camping on a location until a requester or camper proactively rescinds the request. That is, a system may camp on a location in response to a request until the request is rescinded. Alternatively, a system may camp on a location in response to a request until the request times out, e.g., expires, or until the requester is no longer active, e.g., a requester has logged out of the computing system used to submit the request. A system may allow a preference to be set by an administrator or by a user that indicates how long a request is to remain active and, hence, how long a camp on a location is to last. If the object of the request, e.g., the arrival of a party at a location, has not occurred before the request times out, a notification may be sent to the requester that his or her request has timed out. It should be appreciated that, typically, when the object of a request occurs, the request is effectively considered fulfilled and is deactivated.
In one embodiment, an overall system may be arranged such that an indication that a party has arrived at or departed from a location is substantially only provided to a locator, e.g., a locator on a device of the system that sends out a notification that the party has arrived at or departed from the location, if a notification is to be sent. That is, unless a requester has requested notification regarding an event relating to a party and a location, substantially no indication of the event is recorded or otherwise provided to a locator. However, it should be appreciated that in some embodiments, indications regarding events at a location may be substantially automatically provided to a locator such that the locator may process the indications to determine if any requests for notification regarding any of the events are effectively active.
Logic and/or a mechanism that allows camping on a location may generally be implemented on any suitable system, as described above. In one embodiment, a suitable system may be a phone, e.g., a Cisco IP phone available commercially from Cisco Systems, Inc. of San Jose, Calif. That is, camp logic and a camp interface may be provided on a networked phone.
The steps associated with the methods of the present invention may vary widely. Steps may be added, removed, altered, combined, and reordered without departing from the spirit of the scope of the present invention. Therefore, the present examples are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5260986 | Pershan | Nov 1993 | A |
5657007 | Anderson et al. | Aug 1997 | A |
6160881 | Beyda et al. | Dec 2000 | A |
6298039 | Buskens et al. | Oct 2001 | B1 |
6335679 | Thomas et al. | Jan 2002 | B1 |
6473437 | Stumer | Oct 2002 | B2 |
6492912 | Jones | Dec 2002 | B1 |
6529587 | Cannon et al. | Mar 2003 | B1 |
6560318 | Spielman et al. | May 2003 | B1 |
6639516 | Copley | Oct 2003 | B1 |
7010110 | Jorasch et al. | Mar 2006 | B2 |
7129818 | Begole et al. | Oct 2006 | B1 |
7443915 | Standish et al. | Oct 2008 | B2 |
7680263 | Nice et al. | Mar 2010 | B2 |
20010006519 | Voit | Jul 2001 | A1 |
20030005133 | Banerjee et al. | Jan 2003 | A1 |
20030055994 | Hermann et al. | Mar 2003 | A1 |
20040164867 | Jormalainen | Aug 2004 | A1 |
20050064861 | Nishida | Mar 2005 | A1 |
20060165058 | Caballero-McCann et al. | Jul 2006 | A1 |
20060227949 | Shaffer et al. | Oct 2006 | A1 |
20060239200 | Pirzada et al. | Oct 2006 | A1 |
20070121878 | Shaffer et al. | May 2007 | A1 |
20070287415 | Yamada | Dec 2007 | A1 |
Number | Date | Country |
---|---|---|
WO02080113 | Oct 2002 | WO |
2422937 | Aug 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20080186198 A1 | Aug 2008 | US |