The present invention relates to switching of electronic social presence between devices and more particularly to the switching of electronic social presence between devices responsive to a separation between the devices.
The use of multiple different devices by a single individual to access social media and instant messaging, collectively called electronic social presence, is becoming more widespread. Although referred to as electronic social presence, the usage is not restricted to social purposes, but is also used for business purposes. In the workplace, the need to stay in contact with colleagues throughout the day and outside working hours has grown. Technologies exist to allow an individual to be constantly contactable through instant messaging on whichever device that individual is using at that time of the day. Typically, a user will be sat at a desk using a laptop whilst being “available” for instant messaging. The same user may leave their desk to attend meetings. For the duration of this period away from their desk the need to be “available” for instant messaging still exists. Existing technologies allow this to happen through the provision of instant messaging on mobile devices such as phones and tablets.
The use of instant messaging on various devices and platforms to tackle the need to be in constant contact is not new, however switching between devices is currently a problem. It is presently possible to log in from multiple devices and have an electronic social presence attempt to follow the individual by sending new chat notifications to the “most recently used device” where “most recently used” is an algorithm built into the application itself. An example of an application which does this is Google™ Talk. It is also presently possible to send notifications to all the devices on which an individual is logged in. An example of this is the Skype™ application. Sending notifications to a most recently used or sending notifications to all devices is not an optimal way of resolving the problem of allowing an individual to be constantly contactable. Known prior art discloses a method for changing a first device into a second device during a session. Information on the session is transmitted from the first device to the second device. Based on the received information, the second device is connected to the session and the first device is disconnected from the session such that the session is maintained. No state data for the session is transferred from the first device to the second device.
Known prior art discloses a method for uninterrupted communication sessions including automatically detecting, at a first device associated with a first user, a second device associated with a first user, and creating, at the first device associated with the first user, a network connection between the first and second devices, wherein the first device operates in a first medium and the second device operates in a second medium. A communication session may be transferred from the first device operating in the first medium to the second device operating in the second medium. Peer to peer communication between the first and second devices is used. If the network connection between the first device and the second device is lost before the communication session has been transferred, then the transfer will not take place. This may happen if the second device moves outside the operating range of a wireless network connection.
Known prior art discloses the switching of a user's sessions among devices using Bluetooth™ to handle the passing of the information relating to the session. If the Bluetooth connection between the transferor device and the transferee device is lost before the communication session has been transferred, then the transfer will not take place. This may happen if the transferee device moves outside the operating range of the Bluetooth connection. No state data for the session is transferred from the first device to the second device.
In one embodiment of the present invention, a processor implemented method, system, and/or computer program product switches an electronic social presence between a first device and a second device. An electronic signal indicating a signing in to a social presence server by the first device is received. A determination is made as to whether the first device and the second device are physically located farther apart than a predetermined distance. In response to determining that the first device and the second device are physically located farther apart than the predetermined distance, the first device signs out from the social presence server, the second device signs in to the social presence server, and a history associated with the electronic social presence is transferred from the first device to the second device.
Preferred embodiments of the present invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Referring to
Fixed device 104 is referred to as the “fixed” device, but it may actually be a desktop computer, a laptop computer, a tablet computer or other type of device. It is referred to as a “fixed” device because it typically remains at a single location during use and does not follow a user as the user moves from the fixed location. Mobile device 108 may actually be a laptop computer, a tablet computer or a mobile phone such as a smartphone device. It is referred to as a “mobile” device because it typically follows a user as the user moves from the fixed location and does not remain at a single location during use.
Referring to
At step 206, a check is made as to whether there is a physical separation between the fixed device 104 and the mobile device 108. The check determines whether the fixed device 104 and the mobile device 108 are physically located further than a predetermined distance apart. Whilst the user continues to work with the fixed device 104 and the mobile device 108 is located near to the user, there will be no separation between the fixed device 104 and the mobile device 108. The way in which it is determined whether there is a separation between the fixed device 104 and the mobile device 108 will be described later with reference to
At step 208, after a separation between the fixed device 104 and the mobile device 108 has been detected, the user is signed out of the social presence server 102 on the fixed device 104, signed in to the social presence server 102 on the mobile device 108 and a history associated with the session between the fixed device 104 and the social presence server 102 is transferred from the fixed device 104 to the mobile device 108.
Referring to
The agent 110 executing on the mobile device 108 and the agent 106 executing on the fixed device 104 co-operate in order to transfer the history from the fixed device 104 to the mobile device 108. In an embodiment, the history is transferred directly from the fixed device 104 to the mobile device 108. Processing then proceeds to step 210.
At step 210, a check is made as to whether there is still a physical separation between the fixed device 104 and the mobile device 108. The check determines whether the fixed device 104 and the mobile device 108 are still physically located more than a predetermined distance apart. Whilst the user continues to work with the mobile device 108 away from the fixed device 104, there will be separation between the fixed device 104 and the mobile device 108. The way in which it is determined whether there is a separation between the fixed device and the mobile device will be described later with reference to
At step 212, after no separation between the fixed device 104 and the mobile device 108 has been detected, the user is signed out of the social presence server 102 on the mobile device 108, signed in to the social presence server 102 on the fixed device 104 and a history associated with the session between the mobile device 108 and the social presence server 102 is transferred from the mobile device 108 to the fixed device 104.
Referring again to
The agent 110 executing on the mobile device 108 and the agent 106 executing on the fixed device 104 co-operate in order to transfer the history from the mobile device 108 to the fixed device 104. In an embodiment, the history is transferred directly from the mobile device 108 to the fixed device 104.
Processing then returns to step 206, again checking for any separation between the fixed device 104 and the mobile device 108.
Referring to
After the home location 304 has been initialized, the agent compares the position provided by the GPS sensor 302 of the mobile device 108 with the home location 304 stored in the mobile device to determine whether there is separation between the fixed device 104 at the home location 304 and the mobile device 108. In practice, there will be a predetermined level of separation between the fixed device 104 at the home location 304 and the mobile device 108 required before it is determined that there is separation because otherwise movement of the mobile device 108 across a desk may cause the determination to provide false results. The determination as to whether there is any separation is used as the input described above with reference to step 206 of
The home location 304 is preferably stored in the mobile device 108, but may instead be stored elsewhere and communicated to the mobile device. A GPS sensor 302 is preferably used, but any method of determining position that is available at the home location 304 may also be used. If the method of determining position is also available where the mobile device 108 is located, then this is used to determine that there is separation. If the method of determining position is not available where the mobile device 108 is located, then the absence of availability of the method of determining position may be used to determine that there is separation.
Referring to
The loss of pairing between the Bluetooth interfaces 402, 404 is used by the agent 106, 110 to determine whether there is separation between the fixed device 104 at the home location 304 and the mobile device 108. The determination as to whether there is any separation is used as the input described above with reference to step 206 of
Although the pairing between the Bluetooth interfaces 402, 404 is used by the agent 106, 110 to determine whether there is separation and to determine whether there is no separation, the Bluetooth interface 402, 404 is not used to transfer the history at step 208 of
Referring to
NFC sensor 502 in fixed device 104 and NFC sensor 504 in mobile device 108 initially communicate with each other to determine that there is no separation between the fixed device 104 and the mobile device 108. When the communication between NFC sensor 502 in fixed device 104 and NFC sensor 504 in mobile device 108 is broken, it is used by the agent 106, 110 to determine whether there is separation between the fixed device 104 and the mobile device 108. The determination as to whether there is any separation is used as the input described above with reference to step 206 of
Although the existence of NFC communication between the fixed device 104 and the mobile device 108 is used by the agent 106, 110 to determine whether there is separation and to determine whether there is no separation, the NFC sensors 502, 504 is not used to transfer the history at step 208 of
Referring to
After the home location 304 has been initialized, the agent 110 receives inputs from the accelerometer sensor 602 of the mobile device 108 in order to determine whether there is separation between the fixed device 104 at the home location 304 and the mobile device 108. The agent 110 needs to be able to differentiate between normal usage of the mobile device 108, such as to make or receive a telephone call, while it is next to the fixed device 104 and usage when the mobile device 108 is moved away from the fixed device 104. This can be achieved using methods such as those used in inertial navigation systems which can determine when the mobile device 108 has moved a predetermined distance away from the fixed device 104. An inertial navigation system continuously calculates, via dead reckoning, the position and direction and speed of movement of a moving object without the need for external references. The determination as to whether there is any separation is used as the input described above with reference to step 206 of
Similarly, once it has been determined that there is separation between the fixed device 104 at the home location 304 and the mobile device 108, the agent continues to receive inputs from the accelerometer sensor 602 of the mobile device 108 in order to determine whether there is no separation between the fixed device 104 at the home location 304 and the mobile device 108. The determination as to whether there is no separation is used as the input described above with reference to step 210 of
Referring to
In an embodiment, the use of an agent 106, 110 means that rules as to which devices 104, 108 can receive which information from the first session can be enforced. For example, a mobile device 108 may not be authorized to receive calendar notifications from a fixed device 104 due to the mobile device 108 not having a company's security standards enforced upon it. The use of an agent 106, 110 to trigger the session initialization allows these rules to be implemented.
In another embodiment of the present invention, instead of transferring history between devices, the present status of a file download and the file download itself can be transferred between devices. For example, when a file is being downloaded on a fixed device 104 and the session switches to a mobile device 108, then the file download may be continued, rather than terminated.
In a first embodiment, the file download on the fixed device 104 is paused until the session is resumed on the fixed device 104 as a result of the mobile device 108 being brought back into proximity to the fixed device 104 that is, there is no separation between the fixed device 104 and the mobile device 108.
In a second embodiment, the file download on the fixed device 104 is paused and the download session is passed to the mobile device 108. Mobile device 108 then continues the download of the rest of the file. The downloaded file is now split at a byte level across the fixed device 104 and the mobile 108. When the mobile device 108 is brought back into proximity with the fixed device 104 the agent 106, 110 copies the file download fragment from the mobile device 108 to the fixed device 104 and the complete file is available on the fixed device 104.
In a third embodiment, the file download on the fixed device 104 is stopped, the file download fragment on the fixed device 104 is copied to the mobile device 108 and the mobile device 108 downloads the remainder of the file. The complete file is then available on the mobile device 108.
Embodiments of the present invention provide a method for switching of electronic social presence between a first device and a second device, the method comprising the steps of: signing in to a social presence server on the first device; determining whether the first device and the second device are physically located farther than a predetermined distance apart; and responsive to a determination that the first device and the second device are physically located farther than a predetermined distance apart, signing out from the social presence server on the first device, signing in to the social presence server on the second device and transferring a history associated with the electronic social presence from the first device to the second device.
Embodiments of the present invention further provide a method as described above, further comprising the steps of: determining whether the first device and the second device are physically located within a predetermined distance of each other; and responsive to a determination that the first device and the second device are physically located within a predetermined distance of each other, signing out from the social presence server on the second device, signing in to the social presence server on the first device and transferring a history associated with the electronic social presence from the second device to the first device.
Preferably, said determination steps are carried out by an agent executing on a first device and/or a second device; and said steps of signing in, signing out and transferring a history are carried out by an agent. Further preferably, said agent enforces rules as to what information said first and/or said second devices may receive.
In another embodiment, responsive to a determination that the first device and the second device are physically located further than a predetermined distance apart, a file download on the first device is paused; and responsive to a determination that the first device and the second device are physically located within a predetermined distance of each other, a file download on the first device is resumed.
In another embodiment, responsive to a determination that the first device and the second device are physically located further than a predetermined distance apart, a file download on the first device is paused, the file download being resumed on the second device; and responsive to a determination that the first device and the second device are physically located within a predetermined distance of each other, the portion of the file download present on the second device is copied to the first device.
In another embodiment, responsive to a determination that the first device and the second device are physically located further than a predetermined distance apart, a file download on the first device is stopped, the file download fragment being copied to the second device and the file download completed on the second device.
Embodiments of the invention further provide a system for switching of electronic social presence between a first device and a second device, the system comprising: means for determining whether the first device and the second device are physically located further than a predetermined distance apart; and responsive to the means for determining that the first device and the second device are physically located further than a predetermined distance apart, means for signing out from the social presence server on the first device, means for signing in to the social presence server on the second device and means for transferring a history associated with the electronic social presence from the first device to the second device.
Embodiments of the invention further provide a system as described above, further comprising: means for determining whether the first device and the second device are physically located within a predetermined distance of each other; and responsive to the means for determining that the first device and the second device are physically located within a predetermined distance of each other, means for signing out from the social presence server on the second device, means for signing in to the social presence server on the first device and means for transferring a history associated with the electronic social presence from the second device to the first device.
Embodiments of the invention further provide a computer program product for switching of electronic social presence between a first device and a second device, the computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code adapted to perform the method described above when said program is run on a computer.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Number | Date | Country | Kind |
---|---|---|---|
1318349.6 | Oct 2013 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
7487248 | Moran | Feb 2009 | B2 |
8060533 | Wheeler | Nov 2011 | B1 |
8131281 | Hildner | Mar 2012 | B1 |
8224894 | Parks et al. | Jul 2012 | B1 |
8461803 | Cohen | Jun 2013 | B2 |
8503340 | Xu | Aug 2013 | B1 |
8554647 | Grigg | Oct 2013 | B1 |
8810392 | Teller | Aug 2014 | B1 |
8908580 | Shen | Dec 2014 | B2 |
9319968 | Montemurro | Apr 2016 | B2 |
20060153198 | Chadha | Jul 2006 | A1 |
20070124721 | Cowing | May 2007 | A1 |
20080133757 | Etelapera | Jun 2008 | A1 |
20080305771 | Yajima | Dec 2008 | A1 |
20090157799 | Sukumaran et al. | Jun 2009 | A1 |
20090264070 | Lim | Oct 2009 | A1 |
20110191692 | Walsh | Aug 2011 | A1 |
20120209654 | Romagnino | Aug 2012 | A1 |
20120214461 | Raghavan | Aug 2012 | A1 |
20120220289 | Bellmare | Aug 2012 | A1 |
20130054698 | Lee | Feb 2013 | A1 |
20130141514 | Chao et al. | Jun 2013 | A1 |
20130231138 | Hans | Sep 2013 | A1 |
20130265232 | Yun | Oct 2013 | A1 |
20130288692 | Dupray | Oct 2013 | A1 |
20140025504 | Butler | Jan 2014 | A1 |
20140087660 | Kim | Mar 2014 | A1 |
20140156538 | Kandasamy | Jun 2014 | A1 |
20140280981 | Singhal | Sep 2014 | A1 |
20150026261 | Shimakawa | Jan 2015 | A1 |
20150072662 | Chandrasekaran | Mar 2015 | A1 |
20150099469 | Goldstein | Apr 2015 | A1 |
20150178362 | Wheeler | Jun 2015 | A1 |
20150228419 | Fadell | Aug 2015 | A1 |
20150294543 | Ricks | Oct 2015 | A1 |
20150379624 | Poornachandran | Dec 2015 | A1 |
20160042473 | Danielli | Feb 2016 | A1 |
20160061613 | Jung | Mar 2016 | A1 |
20160080510 | Dawoud Shenouda Dawoud | Mar 2016 | A1 |
Number | Date | Country |
---|---|---|
2490800 | Nov 2012 | GB |
Entry |
---|
Windows Apps Team, “Roaming app data and the user experience”, 2016. |
Ip.com et al., “A method and system for automatically switching user's sessions among devices based on the Bluetooth protocol”, 2011. |
Dubey et al., “A Method for Supporting Automatic Switching and Session Transfer Over Multiple Networks”, 2013. |
WhatIs.com, “Near Field Communication (NFC)”, 2016. |
Anonymous, “A method and system for automatically switching user's sessions among devices based on the Bluetooth protocol”, ip.com, IPCOM000206820D, May 9, 2011, pp. 1-4. |
Number | Date | Country | |
---|---|---|---|
20150113048 A1 | Apr 2015 | US |