WO2016085395A1 - Dynamic timing for improved communication handling between communication devices - Google Patents

Dynamic timing for improved communication handling between communication devices Download PDF

Info

Publication number
WO2016085395A1
WO2016085395A1 PCT/SE2015/051267 SE2015051267W WO2016085395A1 WO 2016085395 A1 WO2016085395 A1 WO 2016085395A1 SE 2015051267 W SE2015051267 W SE 2015051267W WO 2016085395 A1 WO2016085395 A1 WO 2016085395A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
shared
communication device
timer
sharing
Prior art date
Application number
PCT/SE2015/051267
Other languages
French (fr)
Inventor
Paul CRONHOLM
Örjan JOHANSSON
Joakim NYDEMARK
Joachim Samuelsson
Carl TÖNSGÅRD
Original Assignee
Crunchfish Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Crunchfish Ab filed Critical Crunchfish Ab
Publication of WO2016085395A1 publication Critical patent/WO2016085395A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information

Definitions

  • This application relates to a method, a computer-readable medium and a communication device, such as a mobile communications terminal, using improved timing for improved communication handling, such as handling of messages or sharing of content.
  • a connection with a device to share to has to be established.
  • the receiving device has to be identified and the connection be accepted. This requires many user actions on both the sending party and the receiving party's end, and especially so if the content is to be shared with more than one user.
  • the inventors of the present invention have realized, after inventive and insightful reasoning that by utilizing timers for how long content may be shared and also for how long the content may be retrieved, a dynamic communication handling may be provided.
  • a sharing network comprising a first communication device, a second communication device, a sharing server and a content server, wherein said first and second communication device are connected to each other, wherein the first communication device is configured to: set a sharing timer, and while the sharing timer is active, share content by sending out at least one message indicating content to be shared, and wherein the second communication device is configured to: receive a share message indicating content to be shared, sending a content access request for the content to be shared as indicated by the share message, and wherein the sharing server is configured to: receive a share request for content to be shared from a communication device; assign an identifier for the content to be shared; select a content server for storing the content to be shared and transmitting the identity of the content to be shared and an address for the content server to be used to the communication device, and wherein the content server is configured to: receive the content to be shared; store the content to be shared; set an availability timer; receive an
  • a communication device comprising a controller configured to: set a sharing timer, and while the sharing timer is active, share content by sending out at least one message indicating content to be shared, set an availability timer, wherein the sharing timer and the availability timer are associated with the content to be shared.
  • a receiving communication device comprising a controller configured to: receive a share message that was transmitted to the receiving communication device whilst a sharing timer was active, indicating content to be shared and send a content access request for the content to be shared; and if an availability timer is active, receiving access to the content to be shared.
  • a sharing server comprising a controller configured to: receive a share request for content to be shared from a communication device; assign an identifier for the content to be shared; select a content server for storing the content to be shared and transmitting the identity of the content to be shared and an address for the content server to be used to the communication device.
  • a content server comprising a controller configured to: receive an upload request for storing content to be shared from a first communication device, wherein the content to be shared is associated with a content identifier; store the content to be shared; set an availability timer for the content to be shared; receive a content access request from a second communication device, wherein the content access request indicates a content identifier; find the content to be shared that matches the content identifier; determine whether the availability timer is active, and if so, responding to the second communication device by providing access to the content to be shared, wherein the availability timer is associated with the content to be shared.
  • the communication device is a mobile
  • the communications terminal such as a tablet computer, a smartphone or a laptop computer.
  • the communication device is a game console.
  • the communication device is a media device such as a music and/or video playing device.
  • the teachings herein find use in personal communication systems for devices such as mobile phones, smart phones, tablet computers, laptop computers, gaming consoles and media and other infotainment devices, enabling for a personal area network to be established and used effortlessly.
  • FIGS. 1 A and IB are schematic views of each a communication device according to the teachings herein;
  • Figure 2 is a schematic view of the components of a communication device according to the teachings herein;
  • Figure 3 is a schematic view of a computer-readable memory according to the teachings herein;
  • Figure 4 shows an example embodiment of a sharing network according to the teachings herein;
  • Figure 5 shows an example embodiment of a time diagram for an embodiment according to the teachings herein;
  • Figure 6 shows an example embodiment of a cascading sharing network according to the teachings herein;
  • Figures 7 A and 7B each shows a flowchart illustrating a general method according to an embodiment of the teachings herein.
  • Figure 8 shows a flowchart illustrating a general method according to an embodiment of the teachings herein.
  • Figure 1 generally shows a communication device 100 according to an embodiment herein.
  • the communication device 100 is configured for wireless network communication.
  • Examples of a communication device 100 are: a laptop computer, a tablet computer, a mobile communications terminal such as a mobile telephone or a smart phone, a personal digital assistant and a game console. Such examples are portable. Other examples may include a desktop computer or computer integrated display.
  • Two embodiments will be exemplified and described as being a smartphone in figure 1A, a laptop computer 100 in figure IB as an example of a computer and a tablet computer.
  • a mobile communications terminal in the form of a smartphone 100 or a tablet computer 100 comprises a housing 110 in which a display 120 is arranged.
  • the display 120 is a touch display.
  • the display 120 is a non-touch display.
  • the smartphone 100 comprises two keys 130a, 130b. In this embodiment there are two keys 130, but any number of keys is possible and depends on the design of the smartphone 100.
  • the smartphone 100 is configured to display and operate a virtual key 135 on the touch display 120. It should be noted that the number of virtual keys 135 are dependant on the design of the smartphone 100 and an application that is executed on the smartphone 100.
  • the smartphone 100 is also equipped with a camera 160.
  • the camera 160 is a digital camera that is arranged to take video or still photographs by recording images on an electronic image sensor (not shown). In one embodiment the camera 160 is an external camera. In one embodiment the camera is alternatively replaced by a source providing an image stream.
  • the smartphone 100 may also be equipped with a loud speaker 140 and a microphone 145.
  • a laptop computer 100 comprises a display 120 and a housing 110.
  • the housing comprises a controller or CPU (not shown) and one or more computer-readable storage mediums (not shown), such as storage units and internal memory. Examples of storage units are disk drives or hard drives.
  • the laptop computer 100 further comprises at least one data port. Data ports can be wired and/or wireless. Examples of data ports are USB (Universal Serial Bus) ports, Ethernet ports or WiFi (according to IEEE standard 802.11) ports. Data ports are configured to enable a laptop computer 100 to connect with other computing devices or a server.
  • USB Universal Serial Bus
  • Ethernet ports accordinging to IEEE standard 802.11
  • the laptop computer 100 further comprises at least one input unit such as a keyboard 130.
  • input units such as a keyboard 130.
  • Other examples of input units are computer mouse, touch pads, touch screens or joysticks to name a few.
  • the laptop computer 100 is further equipped with a camera 160.
  • the camera 160 is a digital camera that is arranged to take video or still photographs by recording images on an electronic image sensor (not shown).
  • the camera 160 is an external camera.
  • the camera is alternatively replaced by a source providing an image stream.
  • the laptop computer 100 may also be equipped with a loud speaker 140 and a microphone 145.
  • the communication device according to figure 1 is configured to detect and track an object, in this example a hand H (illustrated in figure 5 A), via the camera 160. How such an object H is detected and tracked is disclosed in the Swedish patent application SE 1250910-5 and will not be discussed in further detail in the present application. For further details on this, please see the mentioned Swedish patent application. It should be noted, however, that the teachings of the present application may be implemented through the use of other tracking manners than disclosed in Swedish patent application SE 1250910-5.
  • FIG. 2 shows a schematic view of the general structure of a communication device according to figure 1.
  • the device 100 comprises a controller 210 which is responsible for the overall operation of the computing device 200 and is preferably implemented by any commercially available CPU ("Central Processing Unit"), DSP ("Digital Signal Processor") or any other electronic programmable logic device.
  • the controller 210 is configured to read instructions from the memory 240 and execute these instructions to control the operation of the computing device 100.
  • the memory 240 may be implemented using any commonly known technology for computer-readable memories such as ROM, RAM, SRAM, DRAM, CMOS, FLASH, DDR, SDRAM or some other memory technology.
  • the memory 240 is used for various purposes by the controller 210, one of them being for storing application data and program instructions 250 for various software modules in the computing device 200.
  • the software modules include a real-time operating system, drivers for a user interface 220, an application handler as well as various applications 250.
  • the computing device 200 further comprises a user interface 220, which in the computing device of figures 1 A and IB is comprised of the display 120 and the keys 130, 135.
  • the user interface may also comprise the microphone 145 and the loudspeaker 144.
  • the microphone and the loudspeaker may be arranged to form a group as has been disclosed in the Swedish patent application SE 1450293-4.
  • the computing device 200 may further comprises a radio frequency interface 230, which is adapted to allow the computing device to communicate with other devices through a radio frequency band through the use of different radio frequency technologies.
  • radio frequency interface 230 is adapted to allow the computing device to communicate with other devices through a radio frequency band through the use of different radio frequency technologies. Examples of such technologies are IEEE 802.11, IEEE 802.15, ZigBee, WirelessHART, WIFI, Bluetooth®, W-COMMUNICATION DEVICEMA/HSPA, GSM, UTRAN and LTE to name a few.
  • the computing device 200 is further equipped with a camera 260.
  • the camera 260 is a digital camera that is arranged to take video or still photographs by recording images on an electronic image sensor (not shown).
  • the camera 260 is operably connected to the controller 210 to provide the controller with a video stream 265, i.e. the series of images captured, for further processing possibly for use in and/or according to one or several of the applications 250.
  • the camera 260 is an external camera or source of an image stream.
  • references to 'computer-readable storage medium', 'computer program product', 'tangibly embodied computer program' etc. or a 'controller', 'computer', 'processor' etc. should be understood to encompass not only computers having different architectures such as single /multi- processor architectures and sequential (Von
  • references to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc.
  • Figure 3 shows a schematic view of a computer-readable medium as described in the above.
  • the computer-readable medium 30 is in this embodiment a data disc 30.
  • the data disc 30 is a magnetic data storage disc.
  • the data disc 30 is configured to carry instructions 31 that when loaded into a controller, such as a processor, executes a method or procedure according to the embodiments disclosed above.
  • the data disc 30 is arranged to be connected to or within and read by a reading device 32, for loading the instructions into the controller.
  • a reading device 32 in combination with one (or several) data disc(s) 30 is a hard drive.
  • the computer-readable medium can also be other mediums such as compact discs, digital video discs, flash memories or other memory technologies commonly used.
  • the instructions 31 may also be downloaded to a computer data reading device 34, such as a laptop computer or other device capable of reading computer coded data on a computer-readable medium, by comprising the instructions 31 in a computer- readable signal 33 which is transmitted via a wireless (or wired) interface (for example via the Internet) to the computer data reading device 34 for loading the instructions 31 into a controller.
  • a computer data reading device 34 such as a laptop computer or other device capable of reading computer coded data on a computer-readable medium
  • the computer-readable signal 33 is one type of a computer-readable medium 30.
  • the instructions may be stored in a memory (not shown explicitly in figure 3, but referenced 240 in figure 2) of the laptop computer 34.
  • references to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc.
  • Figure 4 shows an example of a network 400 comprising at least one communication device 100 such as in figure 1 and figure 2.
  • the network 400 is a network of potential recipients and will be referred to as a sharing network 400.
  • the sharing network 400 comprises a first communication device 100A which is connected to a second communication device 100B and a third communication device lOOC.
  • the connections may be established through a Bluetooth or WiFi connection or another manner of establishing a network for example, a grouping in an application utilizing an internet protocol to share content for example.
  • Example manners of establishing such a sharing network are disclosed in the Swedish patent applications SE 1450293-4, SE 1400535-9 and SE 1451203-2.
  • a network for sharing may be established by a communication device identifying at least one receiving communication device and initiating a connection with the at least one receiving communication device thereby establishing a sharing network; presenting content; and receive one user input indicating a share; and sharing the content with the at least one receiving communication device through the radio frequency interface, wherein identifying the receiving communication device is done by detecting a presence of the receiving communication device; and initiating the connection with the receiving communication device automatically.
  • a dynamic, proximity-based group of wireless communication devices to support potential interaction between a user of a first wireless communication device and one or more users of the wireless communication devices in the dynamic, proximity-based group is formed by the first wireless communication device sending a short-range wireless beacon, or other low power BluetoothTM technology, broadcast message to other wireless communication devices in a proximity zone around the first wireless communication device.
  • the short-range wireless beacon broadcast message is adapted for requesting the other wireless communication devices to send a response message to a server or to the first wireless communication device.
  • the server or the first wireless communication device registers responding devices among the other wireless communication devices.
  • the first wireless communication device communicates with the server to enable the user of the first wireless
  • the communication bubble 410 represents a Personal Area Network, also referred to as a BAN, Bubble Area NetworkTM, within which a user may share content with other users being in the same bubble effortlessly by performing a minimum of actions.
  • BAN Personal Area Network
  • Bubble Area NetworkTM Bubble Area Network
  • the dashed arrows indicate that the first communication device 100 A may communicate with the second and third communication devices 100B, lOOC. Naturally, the second and third communication devices 100B and lOOC may also communicate with each other even though this is not illustrated in figure 4 as figure 4 will be used to illustrate the communications initiated by the first communication device 100 A. It should be noted that any of the communicating devices 100 A, 100B and lOOC may be a sharing device and/or a receiving device. In one embodiment the communications between the communication devices 100 are transmitted using a close range radio frequency access technology such as low power BluetoothTM, BluetoothTM or WiFi.
  • a close range radio frequency access technology such as low power BluetoothTM, BluetoothTM or WiFi.
  • the communication devices may also be configured to communicate with one or more servers 420A, 420B through a network.
  • the network may be wired, wireless or a combination.
  • the one or more servers 420A, 420B may be implemented as separate computer servers or as software modules being executed on the same computer server.
  • the sharing server 420 A there is at least one sharing server 420 A and at least one content server 420B.
  • LTE Long Term Evolution
  • wired networking technology a long range technology such as LTE (Long Term Evolution) or other cellular or wired networking technology.
  • Figure 5 shows a time diagram for the sharing network 400 of figure 4 and a manner of providing a dynamic handling of communications between communication devices in a network will now be illustrated with reference to figure 5.
  • communication may be content sharing (such as sharing of a file) or message handling.
  • the first communication device 100 A is set to share a communication with the other communication devices 100B, lOOC in the network 400, possibly after receiving user input to do so.
  • the sharing may be initiated by for example a calendar application or other application running in the first communication device.
  • the content to be shared may be an image file, a sound file, a video file, or other data file.
  • the content may also be a user status change and/or an application status change, such as a calendar update/event.
  • the first communication device 100 A sends a request to share content to the sharing server 420A.
  • the request may carry an indication of the content to be shared and/or the content to be shared itself.
  • the request may also carry an indication of the region that the first communication device is currently in.
  • the region may be specified with geographical coordinates and/or by an indication of a current country code for the country that the first communication device is currently operating in.
  • the request may be a HTTP (Hyper Text Transfer Protocol) request or a HTTPS (Hyper Text Transfer Protocol Secure) request.
  • the request may also be a FTP (File Transfer Protocol) request, a FTPS (File Transfer Protocol Secure) request or a SPDY request.
  • the sharing server 420A assigns a content identifier (CID) with the content to be shared.
  • the content identifier may be assigned depending on the type of content.
  • the sharing server 420A selects a content server 420B to be used.
  • the content server 420B may be selected based on load balance and/or geographical closeness in an embodiment where the sharing content request indicates a region.
  • the sharing server 420A then responds with the content identifier CID and the content server 420B to be used in a share content response.
  • the content server to be used 420B may be identified through an address.
  • the address may be a Uniform Resource Locator (URL) address.
  • the content server to be used 420B may also be identified through an identifier, wherein the identifier is matched against a list of known content servers to find the address of the content server to be used. Such a list may be stored in the communication device 100 A or fetched from an external server (not shown).
  • the first communication device 100 A may carry knowledge of what content server 420B to be used, and in such an embodiment, the sharing server 420 A does not necessarily select a content server 420B.
  • the sharing server 420 A does not necessarily select a content server 420B.
  • the first communication device 100 A receives the share content response, it uploads the content to be shared to the content server 420B.
  • the content is uploaded along with its identifier (CID) so that the content server 420B is enabled to correctly identify the content to be shared.
  • the content server 420B stores the content to be shared and responds with a status message indicating whether the content was correctly received and stored (ACK) or not (NACK).
  • the sharing server 420 A may forward the content to the content server 420B.
  • the first communication device 100 A does not need to upload the content to the content server 420B.
  • the first communication device will be informed that the upload is completed through a status message either from the content server 420B or from the sharing server 420 A, possibly as part of the share content response.
  • an availability timer Tavailable is set.
  • the availability timer Tavailable indicates for how long the content should be stored or available.
  • the content may be rendered unavailable by the content server 420B rejecting any new access requests, such as a download request, while permitting initiated downloads to be finished.
  • the content may alternatively be rendered unavailable by the content server 420B deleting the content from the content server 420B, possibly after any ongoing downloads have finished and been acknowledged.
  • the content server 420B rejects any new download requests while ongoing downloads are ongoing and then deletes the content after the availability timer has expired. In such cases, the current time being compared to the availability timer would be the time for requesting the download, not for completing the download.
  • an availability timer automatically provides for ensuring that it is a latest version that is shared and it also reduces the memory needed to ensure this.
  • the availability timer Tavailable is indicated to be set and run by the content server 420B, but in one embodiment, the availability timer may be set by the first communication device 100 A or the sharing server 420 A. In such an
  • the content server will be informed when the availability timer expires.
  • the availability timer Tavailable may be predefined or it may be selected based on the content type, the size of the content, available bandwidth, current load and/or on the identity of the first communication device 100A. More possibilities are discussed further below. This allows for a dynamic message handling that is able to adapt to different users' needs, current load balancing and different user scenarios.
  • the availability timer Tavailable is selected by the sharing server 420A and possibly communicated to the first communication device 100 and/or to the content server 420B depending on which entity is running the availability timer
  • the availability timer Tavailable is selected by the first communication device 100 A and possibly communicated to the sharing server 420 A and/or to the content server 420B depending on which entity is running the availability timer Tavailable.
  • the availability timer Tavailable is selected by the content server 420B and possibly communicated to the first communication device 100 and/or to the sharing server 420A depending on which entity is running the availability timer Tavailable.
  • the first communication device 100 A starts to issue sharing messages (SHARE).
  • the sharing messages are broadcast messages.
  • the first communication device 100 A does not need to structure or compose specific messages, but only needs to send one (type of) message that reaches all communication devices 100B, lOOC within the sharing network 400.
  • the sharing messages are messages directed specifically at a receiving device, such as the second or the third communication device 100B, 100A.
  • the share message indicates the content to be shared, possibly by carrying the identifier for the content to be shared CID.
  • the share message may also carry the address (URL) of the content server 420B to be used.
  • the content server to be used may already be known to the receiving communication device 100B or it may be fetched based on the CID from the sharing server 420A. Utilizing a content server 420B enables for fast downloads as the connection to the content server 420 is most likely faster than the peer-to-peer connection between the communication devices, such as when the content server is connected to the communication device(s) via an LTE connection and the devices are connected through a low power BluetoothTM connection.
  • the share message may carry the content to be shared so that the content is shared when the share message is transmitted and received.
  • the share message may carry an indication that the content should be retrieved or downloaded from the first communication device and not from the content server 420B.
  • the content id is provided by the first communication device 100, thereby effectively implementing the sharing server. Also a storing server is not needed.
  • sharing server 420A and/or the content server 420B may be implemented in the first communication device as software servers
  • the share message is only received by the second communication device 100B, as in the example of figure 5, the third
  • the third communication device lOOC may be a communication device that has previously been part of the sharing network 400, but has been dropped for some reason and is now attempting to reconnect. Or, the third communication device lOOC may be a communication device joining the sharing network 400 for the first time.
  • a sharing timer Tshare is set as the content has been
  • the first communication device 100A continues to share the content to be shared.
  • the first communication device continuous to, continuously or repeatedly at intervals, broadcast the share message while the sharing timer Tshare is active.
  • the first communication device 100 A sends a share message to any communication device becoming a member of or joining the sharing network while the sharing timer Tshare is active.
  • the share messages are transmitted using a close range radio frequency access technology such as low power BluetoothTM, BluetoothTM or WiFi.
  • the first communication device 100A continuous to broadcast the share message as is indicated by the smaller, dashed arrows.
  • the third communication device 100A continuous to broadcast the share message as is indicated by the smaller, dashed arrows.
  • the sharing timer Tshare is indicated to be set and run by the first communication device 100 A, but in one embodiment, the sharing timer Tshare may be set by the sharing server 420A. In such an embodiment, the first communication device 100 A will be informed when the sharing timer Tshare expires.
  • the sharing timer Tshare may be predefined or it may be selected based on the content type, the size of the content, available bandwidth, current load and/or on the identity of the first communication device 100 A. More possibilities are discussed further below. This allows for a dynamic message handling that is able to adapt to different users' needs, current load balancing and different user scenarios.
  • the sharing timer Tshare is selected by the sharing server 420A and communicated to the first communication device 100.
  • the sharing timer Tshare is selected by the first communication device 100 A and possibly communicated to the sharing server 420 A depending on which entity is running the sharing timer Tshare.
  • the sharing timer Tshare expires, no more sharing messages are transmitted from the first communication device 100A. This reduces the bandwidth of the network, while making sure that all members receive the content to be shared. It also ensures that only recent content to be shared is shared.
  • a receiving communication device such as the second and/or third communication devices 100b, lOOC
  • receives a share message it sends a content access request, such as a download request to the content server 420B, possibly via the sharing server 420A.
  • the content access request may also be a request to view or otherwise take part of the content to be shared, for example such as a temporary download of images, videos or audio files that are to be shared via a social media webpage.
  • the download request This enables for sharing of content via for example a social media webpage or other server operated webpage thereby enabling a sharer to make content to be shared available.
  • the content server 420B may be known to the receiving device 100B, lOOC, an identifier for it may be retrieved from the sharing server 420A or it may be indicated in the share message as in the example of figure 5.
  • the share message carries the identifier CID for the content to be shared and an address to the content server 420B (URL), as the share message reaching the second communication device 100B in figure 5.
  • the second communication device 100B sends a download content message to the content server 420B and the content server 420B identifies what content to be downloaded based on the identifier CID and sends the content to the second communication device 100B in a download response message.
  • the share message carries the identifier CID for the content to be shared, as the share message reaching the third communication device lOOC in figure 5.
  • the second communication device 100B sends a download content message to the sharing server 420A and the sharing server 420A identifies from which content server 420B the content is to be downloaded from based on the identifier CID.
  • the sharing server 420A responds to the third communication device lOOC in a response indicating the address (or identifier) of the content server 420B to be used.
  • the third communication device lOOC then sends a download content message to the content server 420B and the content server 420B identifies what content to be downloaded based on the identifier CID and sends the content to the third communication device lOOC in a download response message.
  • the sharing server 420A retrieves the content to be downloaded from the content server 420B and forwards it to the third communication device lOOC.
  • a user is prompted to indicate whether he wishes to download the content to be shared or not, before the download request is sent to the content server 420B.
  • the share message carries the content to be shared and no specific download is needed.
  • the content to be shared is downloaded from the sharing server 420A. In one embodiment, the content to be shared is downloaded through the sharing server 420A.
  • the receiving second communication device 100B (or third communication device lOOC) does not initiate the download until it has received user input to do so, possibly after prompting the user for such input. This enables the user to select the time to download the content.
  • the sharing communication device thus makes the content to be share accessible to the receivers, and the receivers may choose to download or not.
  • the input to download the content does not have to come from a user, but can come from an application (the same or another), even from a remote application.
  • the content server 420B As the availability timer Tavailable expires, the content is deleted from the content server 420B and it is no longer possible to retrieve the content. This ensures that only the latest content is shared and reduces the bandwidth as well as the memory consumption needed to ensure this. Alternatively or additionally, the content server starts to reject (new) download requests for the content when the availability timer has expired.
  • the sharing first communication device 100 A may be configured to prompt a user of the first communication device 100A if the sharing timer should be extended. This enables the user to ensure that all receivers have received the content without having to share the content again.
  • the sharing first communication device 100A may also or alternatively be configured to prompt a user of the first communication device 100 A if the availability timer should be extended. This enables the user to ensure that all receivers have received the content without having to share the content again.
  • the sharing timer and the availability are two separate timers.
  • the sharing timer and the availability timer may be configured such that they do not expire at the same time.
  • the availability timer may expire after the sharing timer has expired.
  • the sharing timer can expire prior to the availability timer expiring.
  • this may be advantageous is in the sharing of content comprising a large amount of data.
  • some of the communication devices may not have sufficient time or bandwidth before the sharing timer expires to download the video at that point of time.
  • the video can however continue to be available, that is, the availability timer has not expired, after the sharing timer has expired. Whilst the sharing timer is no longer active, those devices which received a share message whilst the sharing timer was active can access the video as long as the availability timer is active.
  • the sharing timer and the availability timer provide for two periods or durations.
  • the duration during which the sharing timer is active can be considered the sharing duration.
  • the duration during which the availability timer is active can be considered the availability duration.
  • the sharing duration and the availability duration may be different lengths.
  • the first communication device 100 A may be configured to detect that another communication device 100 enters the sharing network 400 or bubble. If it is determined the first communication device 100 A may inform the user of the new member of the sharing network and prompt the user whether the new member should also receive a share message or not. Furthermore, the first communication device may be configured to, possibly after prompting a user, extend the sharing timer so that the new member may receive the share message and/or extend the availability timer so that the new member has time to download the content.
  • the first communication device 100 A resends the share message (either as a broadcast or when a communication device reenters the sharing network 400), there is a risk that the second and/or third communication devices 100B, lOOC receive duplicates of the share message, which may lead to downloading duplicates
  • One way of preventing this is to block communication from the first communication device 100A which prevents duplicate downloads, but also prevents further sharing with the first communication device 100 A.
  • Another way of preventing this is to block communication from the first communication device 100A based on the content identifier CID which prevents duplicate downloads, but also prevents intentional resends or updates from the first communication device 100 A.
  • a duplicate timer Tdouble is employed.
  • the duplicate timer Tdouble may be run by the content server 420B, preventing further downloads by the same
  • the duplicate timer Tdouble may be run by the sharing server 420A, preventing further downloads by the same communication device while the duplicate timer is active, but not forwarding an address to the content server 420B.
  • the duplicate timer Tdouble may be run by the first communication device 100 A, avoiding sending share messages to the same
  • the duplicate timer Tdouble may be run by the receiving communication device 100B, lOOC, as in figure 5, preventing further downloads by ignoring share messages carrying the same identifier that are received while the duplicate timer is active.
  • the double timer may be implemented as a flag preventing the content to be shared as long as the flag is set.
  • the flag is then not time-dependent but can be set based on other actions, such as entering a new bubble or leaving the current bubble.
  • This does not only prevent duplicate downloads initiated by a share message being transmitted from the first communication device 100 A, but also from share messages that are forwarded within a cascaded network 450.
  • a cascaded network 450 is shown in figure 6.
  • a first communication device 100A is connected to a second communication device 100B which is in the bubble (dashed oval) of the first communication device 100A.
  • the second communication device 100B is connected to a third communication device lOOC which is in the bubble (dashed oval) of the second communication device 100B.
  • the third communication device lOOC is connected to a fourth communication device 100D which is in the bubble (dashed oval) of the third communication device lOOC.
  • the fourth communication device 100D is connected to the first communication device 100A which is in the bubble (dashed oval) of the fourth communication device 100D.
  • Such cascaded networks 450 may be the result of different characteristics of a radio transmitter, items blocking reception, or other features.
  • the duplicate timer Tdouble may be set by the second communication device 100B receives the first share message.
  • the duplicate timer may be set by the transmitting first communication device 100 A, and part of the share message.
  • the duplicate timer Tdouble may then be indicated as an absolute time when the timer expires, or a relative time for how long it should be active from reception or from another time point or action (possibly passed).
  • the duplicate timer may be set by the receiving second communication device 100B, based on the time when share message was received.
  • the receiving communication device 100B is configured to discard any further share message for the same content if the further share message is received while the duplicate timer is active.
  • the receiving device 100B can determine whether the content is the same by comparing the identifiers of two different share messages. Alternatively, the receiving device 100B can determine whether the content is the same by comparing the content of the two different share messages, possibly by instructing the content server
  • the comparison of the content may be based on a hashed value being calculated and stored with the content and then comparing the hashed value for the contents to be compared.
  • a day care center wanting to share a picture of the day.
  • a parent or other guardian enters the day care facility a communication device being carried by the parent establishes or joins a sharing network with a day care communication device.
  • the day care communication device shares the picture of the day with the parent's communication device.
  • the sharing timer By setting the sharing timer to be the time during which children are picked up the sharing can be restricted to parents and also to that day so that the parents do not get an old picture.
  • the availability timer By setting the availability timer to correspond to the day (expiring at midnight for example) the storing space needed is kept low and it effectively implements the picture of the day.
  • Another example is a meeting where the agenda for the meeting is to be shared.
  • the sharing timer By setting the sharing timer to be the first five minutes of the meeting it is ensured that all participants who are on time receive a copy of the agenda and it is avoided that the meeting coordinator is disturbed with questions for the agenda.
  • the availability timer By setting the availability timer to expire as the meeting ends, there will be no "paper" trail with old agendas taking space on the content server.
  • a system with separate timers, a sharing timer and an availability timer increases the flexibility of the file sharing.
  • the provision of two separate timers separating sharing with availability enables content to be retrieved at a later point than when it was shared. This can be ideal for large content such as video files which may, for example, take up a substantial bandwidth or limited data allowance if downloaded over specific networks.
  • the provision of two separate timers can also increase network security. For example, a user may not wish to retrieve content whilst connected to the network via which they received a share message. The user may consider the network insecure and thus prefer to retrieve the content at a later point, whilst connected to a different network. The provision of two separate timers thus enables a more secure network.
  • timers are all associated with one and the same content.
  • timers enables for dynamic message handling where many different aspects of message handling and context may be taken into consideration and fulfilled.
  • the sharing timer and the availability timer will be discussed. It should be noted that combinations are possible and that the timers may also be regulated or changed dynamically.
  • the availability timer may be selected based on the content (type and/or size of the content).
  • the availability timer may also or alternatively be selected based on an interaction type. For example a sharing of a recently taken image may have a shorter sharing timer, than a sharing of a text document, possibly being an important memo.
  • the availability timer may also or alternatively be selected based on another application being executed by the first communication device 100A and/or the second communication device 100B, such as a calendar application. In such an application, the availability timer can be selected to coincide with the expiry of a meeting or other event. This enables for specific sharing of for example meeting data only while the meeting is ongoing.
  • the availability timer may also or alternatively be selected based on a location of the first communication device 100A and/or the second communication device 100B. In such an embodiment the availability timer can be selected to coincide with a presence in a meeting room or other locality. This enables for specific sharing of for example meeting data only while the user is present at the meeting.
  • the availability timer may also or alternatively be selected based on a detected movement. This enables for a sharing to be stopped as a sharer starts to move, such as when leaving a meeting room or other locality used for meetings (library, cafe, restaurant to name a few) by starting to reject downloads if a sharer and/or a receiver moves.
  • the availability timer may also or alternatively be selected based on the speed of movement, thereby enabling a fast moving receiver to download the content for a longer time as it may be assumed that the receiver is possibly unable to retrieve the content at the current time due to being forced to focus on handling a vehicle for example.
  • the availability timer may be based on a change of speed. As a change in speed is detected, by either the sharer or the receiver, the availability timer may be extended or reduced.
  • the availability timer may also or alternatively be selected based on the identity of the sharer and/or communication device used by the sharer.
  • the availability timer may also or alternatively be selected based on the identity of the receiver and/or communication device used by the receiver.
  • the availability timer can thus be set to accommodate to different users' (and their devices') needs or preferences.
  • a priority may also be established if the availability timer is set to be different for different receivers, wherein a high priority user will be given a longer time to download the content. Or similarly, content from a high priority sharer will be available for a longer time.
  • the availability timer may also be dependent on the sharing timer. For example, if a long sharing timer is selected, a long availability timer will also be selected and vice versa (an increase in sharing timer leads to an increase in availability timer).
  • the availability timer may also be selected based on the number of members in the sharing network 400.
  • the first communication device is configured to determine the number of members in the sharing network, the number of members also being referred to as a bubble count, and select the availability timer based on this. In this manner the availability timer can be extended for higher bubble counts (increasing bubble count leads to an increase in availability timer) so that all members of the sharing network is offered a chance to download their own copy of the content, as in larger groups it is common for users to partake in shared content by viewing or otherwise using a same communication device (such as through shared viewing).
  • the availability timer may also be selected based on the connection with the network (referenced NETWORK in figure 4) connecting a communication device with the sharing server 420 A and/or the content server 420B. Should the connection for a receiver and/or for a sharer be lost, the availability timer could be extended to allow for later download when the receiver again gains access to the network. Alternatively the availability timer can be reduced to prevent a later possibly uncontrolled download when the sharer is not present to monitor the use of the shared content.
  • the sharing timer may be selected based on the content (type and/or size of the content).
  • the sharing timer may also or alternatively be selected based on an interaction type. For example a sharing of a recently taken image may have a shorter sharing timer, than a sharing of a text document, possibly being an important memo.
  • the sharing timer may also or alternatively be selected based on the identity of the sharer and/or the device used by the sharer.
  • the sharing timer may also or alternatively be selected based on the identity of the receiver and/or the device used by the receiver.
  • the sharing timer can thus be set to accommodate to different users' (and their devices') needs or preferences.
  • a priority may also be established if the sharing timer is set to be different for different receivers, wherein a high priority user will have a longer sharing timer enabling sharing with that user for a longer time. Or similarly, content from a high priority sharer will be shared for a longer time.
  • the sharing timer may also or alternatively be selected based on another application, such as a calendar application.
  • the sharing timer can be selected to coincide with the expiry of a meeting, introductory part of a meeting or other event. This enables for specific sharing of for example meeting data only while the meeting is ongoing.
  • the sharing timer may also or alternatively be selected based on a location of the first communication device 100A and/or the second communication device 100B. In such an embodiment the sharing timer can be selected to coincide with a presence in a meeting room or other locality. This enables for specific sharing of for example meeting data only while the user is present at the meeting.
  • the sharing timer may also or alternatively be selected based on a detected movement. This enables for a sharing to be stopped as a sharer starts to move, such as when leaving a meeting room or other locality used for meetings (library, cafe, restaurant to name a few).
  • the sharing timer may also or alternatively be selected based on the speed of movement, thereby preventing a fast moving sharer to share with fewer recipients than if he was sharing for a longer time as when the user is moving at a high speed for a long time, he will come into contact (or be in the proximity) of more other users.
  • the sharing timer may be based on a change of speed. As a change in speed is detected, by either the sharer or the receiver, the sharing timer may be extended or reduced.
  • the availability and/or sharing timer may be set as absolute time (having a fixed time expiry, such as 8: 15 pm), a relative time (indicating a relative time, such as 10 minutes) or be related to an event, such as has been discussed above. It should also be noted that the various manners of selecting a timer may be combined. One example being that the sharing timer is set to 10 seconds or a movement of the sharer whichever happens first. Another example being that the availability timer is set to 10 minutes unless the bubble count increases in which case the availability timer is increased or when the sharer leaves a location whichever happens first. It should be noted that the duplicate timer may be selected in similar manners to the availability and sharing timers.
  • the availability and/or sharing timer may be set to start at a later time. This enables a user to set up a sharing at an early stage in advance, which sharing will be effected at a later time. For the example of the day care center, the staff may initiate sharing of possibly more than one picture as the picture is taken, but the actual sharing will not start until the pick up time.
  • Figure 7A shows a flowchart for a general method for a sharing network according to the teachings herein as have been disclosed in detail and in variants above.
  • Figure 7A shows a flowchart for a general method for a sharing network according to the teachings herein as have been disclosed in detail and in variants above, where the actions of the flowchart are grouped under an entity performing or at least initiating the action. It should be noted that all variants are considered to be covered by the general flowcharts of figures 7A and 7B and the flowcharts may require some reordering even of partial actions to cover a specific variants.
  • FIG. 7 A as content 100 A is to be shared, for example by receiving a user command to share content and a share request is generated 715.
  • An identifier for the content is assigned 720 and the content is uploaded 725, possibly to a content server, and the content is stored 730.
  • An availability timer is set 735 and a sharing timer is set 740. While the sharing timer is active, the content is shared 745 by sending out sharing message(s).
  • a sharing message is received 750 a duplicate timer is optionally set 755 and (if the duplicate timer is inactive) the content is downloaded.
  • an address (such as a URL) for the content is provided 765 for the download.
  • the download request is rejected 770 and optionally the content is deleted 775.
  • a share request is generated 715 and transmitted to a sharing server 420 A which assigns 720 an identifier for the content.
  • the first communication device 100 A uploads 725 the content to a content server 420B, and the content is stored 730.
  • An availability timer is set 735 by the content server 420B and a sharing timer is set 740 by the first communication device 100A. While the sharing timer is active, the content is shared 745 by the first communication device 100A sending out sharing message(s).
  • a duplicate timer is optionally set 755 and (if the duplicate timer is inactive) the content is downloaded. It should be noted that the first time a device receives a share message, the content is downloaded, but not for the other times a message for the same content is received. Optionally an address (such as a URL) for the content is provided 765 to the second communication device 100B for the download if the share message does not indicate an address for the download. As the availability timer expires, the download request is rejected 770 and optionally the content is deleted 775 by the content server 420B.
  • the dynamics of the sharing of content or other communications may also be regulated by changing the output power used by the communication interface 230.
  • the sharing i.e. how many receivers that will receive the sharing message can be seen to correlate to time spent on sharing multiplied by the energy or power used to share. The higher the output power, the more devices are reached, and the longer the sharing, the more devices will be reached.
  • the availability timer may thus be selected based on the output power, where an increase in output power gives an increase in availability timer thereby allowing the increased number of members that may be reached, an increased time to download the content or other communication to be shared.
  • the output power may be selected based on the number of members in the sharing network 400.
  • the first communication device 100A is configured to determine the number of members in the network, and possibly also a change
  • the output power may also be selected or regulated by determining a blocking factor for the current environment.
  • the blocking factor is determined by the first communication device 100 A sending out a sounding message (a ping) using the currently used radio frequency communication technology, such as low power
  • BluetoothTM and monitor the time until a reflection of the sounding message is received by the same first communication device 100 A.
  • a short reflection time thus indicates a high blocking factor. If the reflection time is short, then the output power will also be high (an increase in reflection time gives an increase in output power). This enables the first communication device to increase the likelihood that a share message is received also through blocking objects or other blocking factors.
  • Figure 8 shows a flowchart for a general method wherein the output power is also set 843.
  • the output power may be selected or regulated at any time during the sharing or before the sharing is initiated in a manner as discussed above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method for use in a sharing network comprising a first communication device (100A), a second communication device (100B), a sharing server (420A) and a content server (420B), wherein said first and second communication device are connected to each other, wherein the method comprises: sending a share request for content to be shared, assigning an identifier for the content to be shared; selecting a content server (420B) for storing the content to be shared; uploading the content to be shared to the content server (420B); setting a availability timer (Tavailable); setting a sharing timer (Tshare); sharing the content to be shared by sending out at least one share message carrying an indicator of the content to be shared while the sharing timer is active; receiving a share message; requesting a download of the content to be shared as indicated by the share message; and if the availability timer (Tavailable) is active, downloading the content to be shared, wherein the sharing timer (Tshare) and the availability timer (Tavailable) are associated with the content to be shared.

Description

DYNAMIC TIMING FOR IMPROVED COMMUNICATION HANDLING BETWEEN COMMUNICATION DEVICES
TECHNICAL FIELD
This application relates to a method, a computer-readable medium and a communication device, such as a mobile communications terminal, using improved timing for improved communication handling, such as handling of messages or sharing of content. BACKGROUND
When sharing content, such as image or sound, a connection with a device to share to has to be established. To establish this connection the receiving device has to be identified and the connection be accepted. This requires many user actions on both the sending party and the receiving party's end, and especially so if the content is to be shared with more than one user.
Simplified manners of establishing a network (and for sharing content) are disclosed in the Swedish patent applications SE 1451203-2 "COMMUNICATION DEVICE FOR FMPROVED SHARING OF CONTENT" and SE 1400535-9
"SELECTIVE USER INTERACTION IN A DYNAMIC, PROXIMITY-BASED GROUP OF WIRELESS COMMUNICATION DEVICES".
However, even though the establishment of a group to share with has been greatly improved by the manners taught by these two patent applications, the sender still has to take actions to ensure that all group members have actually received the content to be shared.
There is thus a need for an improved manner of handling communication between communication devices requiring a minimum of user actions.
More specific problems arise if a user enters a sharing network after the sharing has been effected, or if a user leaves and reenters the sharing network.
Problems also arise if new content versions are to be shared, in that there is a problem in how to keep track of which version to share and the increased storage if many versions are to be handled. SUMMARY
The inventors of the present invention have realized, after inventive and insightful reasoning that by utilizing timers for how long content may be shared and also for how long the content may be retrieved, a dynamic communication handling may be provided.
It is an object of the teachings of this application to overcome the problems listed above by providing a method for use in a sharing network comprising a first communication device, a second communication device, a sharing server and a content server, wherein said first and second communication device are connected to each other, wherein the method comprises: the first device sending a share request for content to be shared, setting an availability timer; setting a sharing timer; sharing the content to be shared by sending out at least one share message carrying an indicator of the content to be shared while the sharing timer is active; second communication device receiving a share message; sending a content access request for the content to be shared as indicated by the share message; and if the availability timer is active, receiving access to the content to be shared, wherein the sharing timer and the availability timer are associated with the content to be shared and wherein the sharing timer and the availability timer do not expire at the same time.
It is also an object of the teachings of this application to overcome the problems listed above by providing a sharing network comprising a first communication device, a second communication device, a sharing server and a content server, wherein said first and second communication device are connected to each other, wherein the first communication device is configured to: set a sharing timer, and while the sharing timer is active, share content by sending out at least one message indicating content to be shared, and wherein the second communication device is configured to: receive a share message indicating content to be shared, sending a content access request for the content to be shared as indicated by the share message, and wherein the sharing server is configured to: receive a share request for content to be shared from a communication device; assign an identifier for the content to be shared; select a content server for storing the content to be shared and transmitting the identity of the content to be shared and an address for the content server to be used to the communication device, and wherein the content server is configured to: receive the content to be shared; store the content to be shared; set an availability timer; receive an access request to the content to be shared and in response thereto, determine whether the availability timer is active and if so, respond to the content access request with the content to be shared, wherein the sharing timer and the availability timer are associated with the content to be shared.
It is also an object of the teachings of this application to overcome the problems listed above by providing a communication device comprising a controller configured to: set a sharing timer, and while the sharing timer is active, share content by sending out at least one message indicating content to be shared, set an availability timer, wherein the sharing timer and the availability timer are associated with the content to be shared.
It is also an object of the teachings of this application to overcome the problems listed above by providing a receiving communication device comprising a controller configured to: receive a share message that was transmitted to the receiving communication device whilst a sharing timer was active, indicating content to be shared and send a content access request for the content to be shared; and if an availability timer is active, receiving access to the content to be shared.
It is also an object of the teachings of this application to overcome the problems listed above by providing a sharing server comprising a controller configured to: receive a share request for content to be shared from a communication device; assign an identifier for the content to be shared; select a content server for storing the content to be shared and transmitting the identity of the content to be shared and an address for the content server to be used to the communication device.
It is also an object of the teachings of this application to overcome the problems listed above by providing a content server comprising a controller configured to: receive an upload request for storing content to be shared from a first communication device, wherein the content to be shared is associated with a content identifier; store the content to be shared; set an availability timer for the content to be shared; receive a content access request from a second communication device, wherein the content access request indicates a content identifier; find the content to be shared that matches the content identifier; determine whether the availability timer is active, and if so, responding to the second communication device by providing access to the content to be shared, wherein the availability timer is associated with the content to be shared.
It is also an object of the teachings of this application to overcome the problems listed above by providing a method for use in a communication device, wherein the method comprises: setting a sharing timer, and while the sharing timer is active, share content by sending out at least one message indicating content to be shared, wherein the sharing timer is associated with the content to be shared.
It is also an object of the teachings of this application to overcome the problems listed above by providing a method for use in a receiving communication device, wherein the method comprises: receiving a share message indicating content to be shared, sending a content access request for the content to be shared.
It is also an object of the teachings of this application to overcome the problems listed above by providing a method for use in a sharing server, wherein the method comprises receiving a share request for content to be shared from a
communication device, assigning an identifier for the content to be shared, selecting a content server for storing the content to be shared and transmitting the identity of the content to be shared and an address for the content server to be used to the
communication device.
It is also an object of the teachings of this application to overcome the problems listed above by providing a method for use in a content server, the method comprising: receiving an upload request for storing content to be shared from a first communication device, wherein the content to be shared is associated with a content identifier; storing the content to be shared; setting an availability timer for the content to be shared; receiving a content access request from a second communication device, wherein the content access request indicates a content identifier; finding the content to be shared that matches the content identifier; determining whether the availability timer is active, and if so, responding to the second communication device by providing access to the content to be shared, wherein the availability timer is associated with the content to be shared. It is a further object of the teachings of this application to overcome the problems listed above by providing a computer readable medium comprising instructions that when loaded into and executed by a controller, such as a processor, cause the execution of a method according to herein.
In one embodiment, the communication device is a mobile
communications terminal such as a tablet computer, a smartphone or a laptop computer. In one embodiment, the communication device is a game console. In one embodiment, the communication device is a media device such as a music and/or video playing device.
The teachings herein find use in personal communication systems for devices such as mobile phones, smart phones, tablet computers, laptop computers, gaming consoles and media and other infotainment devices, enabling for a personal area network to be established and used effortlessly.
Other features and advantages of the disclosed embodiments will appear from the following detailed disclosure, from the attached dependent claims as well as from the drawings. Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein.
All references to "a/an/the [element, device, component, means, step, etc]" are to be interpreted openly as referring to at least one instance of the element, device, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
BRIEF DESCRIPTION OF DRAWINGS
Figures 1 A and IB are schematic views of each a communication device according to the teachings herein;
Figure 2 is a schematic view of the components of a communication device according to the teachings herein;
Figure 3 is a schematic view of a computer-readable memory according to the teachings herein; Figure 4 shows an example embodiment of a sharing network according to the teachings herein;
Figure 5 shows an example embodiment of a time diagram for an embodiment according to the teachings herein;
Figure 6 shows an example embodiment of a cascading sharing network according to the teachings herein;
Figures 7 A and 7B each shows a flowchart illustrating a general method according to an embodiment of the teachings herein; and
Figure 8 shows a flowchart illustrating a general method according to an embodiment of the teachings herein.
DETAILED DESCRIPTION
The disclosed embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein;
rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
Figure 1 generally shows a communication device 100 according to an embodiment herein. In one embodiment the communication device 100 is configured for wireless network communication. Examples of a communication device 100 are: a laptop computer, a tablet computer, a mobile communications terminal such as a mobile telephone or a smart phone, a personal digital assistant and a game console. Such examples are portable. Other examples may include a desktop computer or computer integrated display. Two embodiments will be exemplified and described as being a smartphone in figure 1A, a laptop computer 100 in figure IB as an example of a computer and a tablet computer.
Referring to figure 1 A a mobile communications terminal in the form of a smartphone 100 or a tablet computer 100 (arranged with a wireless communication interface) comprises a housing 110 in which a display 120 is arranged. In one embodiment the display 120 is a touch display. In other embodiments the display 120 is a non-touch display. Furthermore, the smartphone 100 comprises two keys 130a, 130b. In this embodiment there are two keys 130, but any number of keys is possible and depends on the design of the smartphone 100. In one embodiment the smartphone 100 is configured to display and operate a virtual key 135 on the touch display 120. It should be noted that the number of virtual keys 135 are dependant on the design of the smartphone 100 and an application that is executed on the smartphone 100. The smartphone 100 is also equipped with a camera 160. The camera 160 is a digital camera that is arranged to take video or still photographs by recording images on an electronic image sensor (not shown). In one embodiment the camera 160 is an external camera. In one embodiment the camera is alternatively replaced by a source providing an image stream. The smartphone 100 may also be equipped with a loud speaker 140 and a microphone 145.
Referring to figure IB a laptop computer 100 comprises a display 120 and a housing 110. The housing comprises a controller or CPU (not shown) and one or more computer-readable storage mediums (not shown), such as storage units and internal memory. Examples of storage units are disk drives or hard drives. The laptop computer 100 further comprises at least one data port. Data ports can be wired and/or wireless. Examples of data ports are USB (Universal Serial Bus) ports, Ethernet ports or WiFi (according to IEEE standard 802.11) ports. Data ports are configured to enable a laptop computer 100 to connect with other computing devices or a server.
The laptop computer 100 further comprises at least one input unit such as a keyboard 130. Other examples of input units are computer mouse, touch pads, touch screens or joysticks to name a few.
The laptop computer 100 is further equipped with a camera 160. The camera 160 is a digital camera that is arranged to take video or still photographs by recording images on an electronic image sensor (not shown). In one embodiment the camera 160 is an external camera. In one embodiment the camera is alternatively replaced by a source providing an image stream.
The laptop computer 100 may also be equipped with a loud speaker 140 and a microphone 145. The communication device according to figure 1 is configured to detect and track an object, in this example a hand H (illustrated in figure 5 A), via the camera 160. How such an object H is detected and tracked is disclosed in the Swedish patent application SE 1250910-5 and will not be discussed in further detail in the present application. For further details on this, please see the mentioned Swedish patent application. It should be noted, however, that the teachings of the present application may be implemented through the use of other tracking manners than disclosed in Swedish patent application SE 1250910-5.
Figure 2 shows a schematic view of the general structure of a communication device according to figure 1. The device 100 comprises a controller 210 which is responsible for the overall operation of the computing device 200 and is preferably implemented by any commercially available CPU ("Central Processing Unit"), DSP ("Digital Signal Processor") or any other electronic programmable logic device. The controller 210 is configured to read instructions from the memory 240 and execute these instructions to control the operation of the computing device 100. The memory 240 may be implemented using any commonly known technology for computer-readable memories such as ROM, RAM, SRAM, DRAM, CMOS, FLASH, DDR, SDRAM or some other memory technology. The memory 240 is used for various purposes by the controller 210, one of them being for storing application data and program instructions 250 for various software modules in the computing device 200. The software modules include a real-time operating system, drivers for a user interface 220, an application handler as well as various applications 250.
The computing device 200 further comprises a user interface 220, which in the computing device of figures 1 A and IB is comprised of the display 120 and the keys 130, 135. The user interface may also comprise the microphone 145 and the loudspeaker 144. The microphone and the loudspeaker may be arranged to form a group as has been disclosed in the Swedish patent application SE 1450293-4.
The computing device 200 may further comprises a radio frequency interface 230, which is adapted to allow the computing device to communicate with other devices through a radio frequency band through the use of different radio frequency technologies. Examples of such technologies are IEEE 802.11, IEEE 802.15, ZigBee, WirelessHART, WIFI, Bluetooth®, W-COMMUNICATION DEVICEMA/HSPA, GSM, UTRAN and LTE to name a few.
The computing device 200 is further equipped with a camera 260. The camera 260 is a digital camera that is arranged to take video or still photographs by recording images on an electronic image sensor (not shown).
The camera 260 is operably connected to the controller 210 to provide the controller with a video stream 265, i.e. the series of images captured, for further processing possibly for use in and/or according to one or several of the applications 250.
In one embodiment the camera 260 is an external camera or source of an image stream.
References to 'computer-readable storage medium', 'computer program product', 'tangibly embodied computer program' etc. or a 'controller', 'computer', 'processor' etc. should be understood to encompass not only computers having different architectures such as single /multi- processor architectures and sequential (Von
Neumann)/parallel architectures but also specialized circuits such as field- programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other devices. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc.
Figure 3 shows a schematic view of a computer-readable medium as described in the above. The computer-readable medium 30 is in this embodiment a data disc 30. In one embodiment the data disc 30 is a magnetic data storage disc. The data disc 30 is configured to carry instructions 31 that when loaded into a controller, such as a processor, executes a method or procedure according to the embodiments disclosed above. The data disc 30 is arranged to be connected to or within and read by a reading device 32, for loading the instructions into the controller. One such example of a reading device 32 in combination with one (or several) data disc(s) 30 is a hard drive. It should be noted that the computer-readable medium can also be other mediums such as compact discs, digital video discs, flash memories or other memory technologies commonly used.
The instructions 31 may also be downloaded to a computer data reading device 34, such as a laptop computer or other device capable of reading computer coded data on a computer-readable medium, by comprising the instructions 31 in a computer- readable signal 33 which is transmitted via a wireless (or wired) interface (for example via the Internet) to the computer data reading device 34 for loading the instructions 31 into a controller. In such an embodiment the computer-readable signal 33 is one type of a computer-readable medium 30.
The instructions may be stored in a memory (not shown explicitly in figure 3, but referenced 240 in figure 2) of the laptop computer 34.
References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc.
An improved manner for communication handling between two or more communication devices using will be disclosed below with reference to the
accompanying figures. It should be clear that the processing is performed in part or fully in a communication device comprising a controller as disclosed above with reference to figures 1 and 2 or caused to be performed by executing instructions stored on a computer-readable medium as disclosed with reference to figure 3.
Figure 4 shows an example of a network 400 comprising at least one communication device 100 such as in figure 1 and figure 2. The network 400 is a network of potential recipients and will be referred to as a sharing network 400. In the example of figure 4, the sharing network 400 comprises a first communication device 100A which is connected to a second communication device 100B and a third communication device lOOC. The connections may be established through a Bluetooth or WiFi connection or another manner of establishing a network for example, a grouping in an application utilizing an internet protocol to share content for example. Example manners of establishing such a sharing network are disclosed in the Swedish patent applications SE 1450293-4, SE 1400535-9 and SE 1451203-2.
For example, a network for sharing may be established by a communication device identifying at least one receiving communication device and initiating a connection with the at least one receiving communication device thereby establishing a sharing network; presenting content; and receive one user input indicating a share; and sharing the content with the at least one receiving communication device through the radio frequency interface, wherein identifying the receiving communication device is done by detecting a presence of the receiving communication device; and initiating the connection with the receiving communication device automatically.
In another example, a dynamic, proximity-based group of wireless communication devices to support potential interaction between a user of a first wireless communication device and one or more users of the wireless communication devices in the dynamic, proximity-based group is formed by the first wireless communication device sending a short-range wireless beacon, or other low power Bluetooth™ technology, broadcast message to other wireless communication devices in a proximity zone around the first wireless communication device. The short-range wireless beacon broadcast message is adapted for requesting the other wireless communication devices to send a response message to a server or to the first wireless communication device. The server or the first wireless communication device registers responding devices among the other wireless communication devices. The first wireless communication device communicates with the server to enable the user of the first wireless
communication device to interact selectively with one or more of the users of the registered wireless communication devices, wherein said one or more users are less than all users of the registered wireless communication devices.
However, it should be noted that other manners of establishing a network may also be employed.
In figure 4 the network is illustrated with a dashed oval indicating that the three communication devices 100 are all in the same communication bubble 410. The communication bubble 410 represents a Personal Area Network, also referred to as a BAN, Bubble Area Network™, within which a user may share content with other users being in the same bubble effortlessly by performing a minimum of actions.
The dashed arrows indicate that the first communication device 100 A may communicate with the second and third communication devices 100B, lOOC. Naturally, the second and third communication devices 100B and lOOC may also communicate with each other even though this is not illustrated in figure 4 as figure 4 will be used to illustrate the communications initiated by the first communication device 100 A. It should be noted that any of the communicating devices 100 A, 100B and lOOC may be a sharing device and/or a receiving device. In one embodiment the communications between the communication devices 100 are transmitted using a close range radio frequency access technology such as low power Bluetooth™, Bluetooth™ or WiFi.
As is shown in figure 4, the communication devices may also be configured to communicate with one or more servers 420A, 420B through a network. The network may be wired, wireless or a combination. The one or more servers 420A, 420B may be implemented as separate computer servers or as software modules being executed on the same computer server. In one embodiment, there is at least one sharing server 420 A and at least one content server 420B. In one embodiment the
communications between the communication devices and the servers are transmitted using a long range technology such as LTE (Long Term Evolution) or other cellular or wired networking technology.
Figure 5 shows a time diagram for the sharing network 400 of figure 4 and a manner of providing a dynamic handling of communications between communication devices in a network will now be illustrated with reference to figure 5. The
communication may be content sharing (such as sharing of a file) or message handling.
The first communication device 100 A is set to share a communication with the other communication devices 100B, lOOC in the network 400, possibly after receiving user input to do so. Alternatively, the sharing may be initiated by for example a calendar application or other application running in the first communication device. In the following the disclosure will focus on sharing content, but it should be clear that the manner taught herein may also be applicable to other communications. The content to be shared may be an image file, a sound file, a video file, or other data file. The content may also be a user status change and/or an application status change, such as a calendar update/event.
The first communication device 100 A sends a request to share content to the sharing server 420A. The request may carry an indication of the content to be shared and/or the content to be shared itself. The request may also carry an indication of the region that the first communication device is currently in. The region may be specified with geographical coordinates and/or by an indication of a current country code for the country that the first communication device is currently operating in. The request may be a HTTP (Hyper Text Transfer Protocol) request or a HTTPS (Hyper Text Transfer Protocol Secure) request. The request may also be a FTP (File Transfer Protocol) request, a FTPS (File Transfer Protocol Secure) request or a SPDY request.
The sharing server 420A assigns a content identifier (CID) with the content to be shared. The content identifier may be assigned depending on the type of content.
In an embodiment where the share content request indicates the type of content (or the content itself), the sharing server 420A selects a content server 420B to be used. The content server 420B may be selected based on load balance and/or geographical closeness in an embodiment where the sharing content request indicates a region.
The sharing server 420A then responds with the content identifier CID and the content server 420B to be used in a share content response. The content server to be used 420B may be identified through an address. The address may be a Uniform Resource Locator (URL) address. The content server to be used 420B may also be identified through an identifier, wherein the identifier is matched against a list of known content servers to find the address of the content server to be used. Such a list may be stored in the communication device 100 A or fetched from an external server (not shown).
In one embodiment, the first communication device 100 A may carry knowledge of what content server 420B to be used, and in such an embodiment, the sharing server 420 A does not necessarily select a content server 420B. As the first communication device 100 A receives the share content response, it uploads the content to be shared to the content server 420B. The content is uploaded along with its identifier (CID) so that the content server 420B is enabled to correctly identify the content to be shared. The content server 420B stores the content to be shared and responds with a status message indicating whether the content was correctly received and stored (ACK) or not (NACK).
In an embodiment where the share content request carries the content to be shared, the sharing server 420 A may forward the content to the content server 420B. In such an embodiment, the first communication device 100 A does not need to upload the content to the content server 420B. The first communication device will be informed that the upload is completed through a status message either from the content server 420B or from the sharing server 420 A, possibly as part of the share content response.
As the content has been stored an availability timer Tavailable is set. The availability timer Tavailable indicates for how long the content should be stored or available. As the availability timer expires, the content is no longer available from the content server 420A. The content may be rendered unavailable by the content server 420B rejecting any new access requests, such as a download request, while permitting initiated downloads to be finished. The content may alternatively be rendered unavailable by the content server 420B deleting the content from the content server 420B, possibly after any ongoing downloads have finished and been acknowledged. Alternatively, the content server 420B rejects any new download requests while ongoing downloads are ongoing and then deletes the content after the availability timer has expired. In such cases, the current time being compared to the availability timer would be the time for requesting the download, not for completing the download.
Using an availability timer automatically provides for ensuring that it is a latest version that is shared and it also reduces the memory needed to ensure this.
In figure 5, the availability timer Tavailable is indicated to be set and run by the content server 420B, but in one embodiment, the availability timer may be set by the first communication device 100 A or the sharing server 420 A. In such an
embodiment, the content server will be informed when the availability timer expires. The availability timer Tavailable may be predefined or it may be selected based on the content type, the size of the content, available bandwidth, current load and/or on the identity of the first communication device 100A. More possibilities are discussed further below. This allows for a dynamic message handling that is able to adapt to different users' needs, current load balancing and different user scenarios. In one embodiment, the availability timer Tavailable is selected by the sharing server 420A and possibly communicated to the first communication device 100 and/or to the content server 420B depending on which entity is running the availability timer
Tavailable. In one embodiment, the availability timer Tavailable is selected by the first communication device 100 A and possibly communicated to the sharing server 420 A and/or to the content server 420B depending on which entity is running the availability timer Tavailable.
In one embodiment, the availability timer Tavailable is selected by the content server 420B and possibly communicated to the first communication device 100 and/or to the sharing server 420A depending on which entity is running the availability timer Tavailable.
Different ways to set the availability timer will be discussed further below. As the content to be shared has been stored in the content server 420B, such as when the first communication device 100 A receives the status message, the first communication device starts to issue sharing messages (SHARE). In one embodiment, the sharing messages are broadcast messages. In such an embodiment, the first communication device 100 A does not need to structure or compose specific messages, but only needs to send one (type of) message that reaches all communication devices 100B, lOOC within the sharing network 400. In one embodiment, the sharing messages are messages directed specifically at a receiving device, such as the second or the third communication device 100B, 100A.
The share message indicates the content to be shared, possibly by carrying the identifier for the content to be shared CID. The share message may also carry the address (URL) of the content server 420B to be used. Alternatively, the content server to be used may already be known to the receiving communication device 100B or it may be fetched based on the CID from the sharing server 420A. Utilizing a content server 420B enables for fast downloads as the connection to the content server 420 is most likely faster than the peer-to-peer connection between the communication devices, such as when the content server is connected to the communication device(s) via an LTE connection and the devices are connected through a low power Bluetooth™ connection.
In one embodiment, the share message may carry the content to be shared so that the content is shared when the share message is transmitted and received. In an alternative embodiment, the share message may carry an indication that the content should be retrieved or downloaded from the first communication device and not from the content server 420B. In such an embodiment, the content id is provided by the first communication device 100, thereby effectively implementing the sharing server. Also a storing server is not needed.
It should be noted that the sharing server 420A and/or the content server 420B may be implemented in the first communication device as software servers
In the example of figure 5, the share message is only received by the second communication device 100B, as in the example of figure 5, the third
communication device has not yet become part of the sharing network 400 as is indicated by the partially dashed time line for the third communication device lOOC.
The third communication device lOOC may be a communication device that has previously been part of the sharing network 400, but has been dropped for some reason and is now attempting to reconnect. Or, the third communication device lOOC may be a communication device joining the sharing network 400 for the first time.
To ensure that all members of the sharing network 400 are provided with the content to be shared a sharing timer Tshare is set as the content has been
successfully uploaded and stored to the content server 420, such as when receiving the status message. While the sharing timer is active, the first communication device 100A continues to share the content to be shared.
In an embodiment where the share message is broadcasted, the first communication device continuous to, continuously or repeatedly at intervals, broadcast the share message while the sharing timer Tshare is active. In an embodiment where the share message is directed at a specific receiving device, the first communication device 100 A sends a share message to any communication device becoming a member of or joining the sharing network while the sharing timer Tshare is active.
In one embodiment the share messages are transmitted using a close range radio frequency access technology such as low power Bluetooth™, Bluetooth™ or WiFi.
In figure 5, the first communication device 100A continuous to broadcast the share message as is indicated by the smaller, dashed arrows. As the third
communication device lOOC joins (or rejoins) the sharing network 400 it can (again) receive the broadcasted share message. In figure 5 this is illustrated as the share message arrow reaching the time line for the third communication device lOOC.
In figure 5, the sharing timer Tshare is indicated to be set and run by the first communication device 100 A, but in one embodiment, the sharing timer Tshare may be set by the sharing server 420A. In such an embodiment, the first communication device 100 A will be informed when the sharing timer Tshare expires.
The sharing timer Tshare may be predefined or it may be selected based on the content type, the size of the content, available bandwidth, current load and/or on the identity of the first communication device 100 A. More possibilities are discussed further below. This allows for a dynamic message handling that is able to adapt to different users' needs, current load balancing and different user scenarios. In one embodiment, the sharing timer Tshare is selected by the sharing server 420A and communicated to the first communication device 100.
In one embodiment, the sharing timer Tshare is selected by the first communication device 100 A and possibly communicated to the sharing server 420 A depending on which entity is running the sharing timer Tshare.
As the sharing timer Tshare expires, no more sharing messages are transmitted from the first communication device 100A. This reduces the bandwidth of the network, while making sure that all members receive the content to be shared. It also ensures that only recent content to be shared is shared.
Different ways to set the sharing timer will be discussed further below. As a receiving communication device, such as the second and/or third communication devices 100b, lOOC, receives a share message, it sends a content access request, such as a download request to the content server 420B, possibly via the sharing server 420A. The content access request may also be a request to view or otherwise take part of the content to be shared, for example such as a temporary download of images, videos or audio files that are to be shared via a social media webpage. In the disclosure herein we will focus on the download request. This enables for sharing of content via for example a social media webpage or other server operated webpage thereby enabling a sharer to make content to be shared available. As has been disclosed in the above, the content server 420B may be known to the receiving device 100B, lOOC, an identifier for it may be retrieved from the sharing server 420A or it may be indicated in the share message as in the example of figure 5.
In one embodiment, the share message carries the identifier CID for the content to be shared and an address to the content server 420B (URL), as the share message reaching the second communication device 100B in figure 5. In such an embodiment, the second communication device 100B sends a download content message to the content server 420B and the content server 420B identifies what content to be downloaded based on the identifier CID and sends the content to the second communication device 100B in a download response message.
In one embodiment, the share message carries the identifier CID for the content to be shared, as the share message reaching the third communication device lOOC in figure 5. In such an embodiment, the second communication device 100B sends a download content message to the sharing server 420A and the sharing server 420A identifies from which content server 420B the content is to be downloaded from based on the identifier CID. The sharing server 420A responds to the third communication device lOOC in a response indicating the address (or identifier) of the content server 420B to be used. The third communication device lOOC then sends a download content message to the content server 420B and the content server 420B identifies what content to be downloaded based on the identifier CID and sends the content to the third communication device lOOC in a download response message. Alternatively (not shown), the sharing server 420A retrieves the content to be downloaded from the content server 420B and forwards it to the third
communication device lOOC.
In one embodiment, a user is prompted to indicate whether he wishes to download the content to be shared or not, before the download request is sent to the content server 420B.
In one embodiment the share message carries the content to be shared and no specific download is needed. In one embodiment, the content to be shared is downloaded from the sharing server 420A. In one embodiment, the content to be shared is downloaded through the sharing server 420A.
In one embodiment the receiving second communication device 100B (or third communication device lOOC) does not initiate the download until it has received user input to do so, possibly after prompting the user for such input. This enables the user to select the time to download the content. The sharing communication device thus makes the content to be share accessible to the receivers, and the receivers may choose to download or not.
The input to download the content does not have to come from a user, but can come from an application (the same or another), even from a remote application.
As the availability timer Tavailable expires, the content is deleted from the content server 420B and it is no longer possible to retrieve the content. This ensures that only the latest content is shared and reduces the bandwidth as well as the memory consumption needed to ensure this. Alternatively or additionally, the content server starts to reject (new) download requests for the content when the availability timer has expired.
As the sharing timer expires or is about to expire, the sharing first communication device 100 A, may be configured to prompt a user of the first communication device 100A if the sharing timer should be extended. This enables the user to ensure that all receivers have received the content without having to share the content again.
As the availability timer expires or is about to expire, the sharing first communication device 100A, may also or alternatively be configured to prompt a user of the first communication device 100 A if the availability timer should be extended. This enables the user to ensure that all receivers have received the content without having to share the content again.
In one embodiment, the sharing timer and the availability are two separate timers. The sharing timer and the availability timer may be configured such that they do not expire at the same time. The availability timer may expire after the sharing timer has expired.
For example, the sharing timer can expire prior to the availability timer expiring. One example of where this may be advantageous is in the sharing of content comprising a large amount of data. For example, if a video is shared with a sharing network, some of the communication devices may not have sufficient time or bandwidth before the sharing timer expires to download the video at that point of time. The video can however continue to be available, that is, the availability timer has not expired, after the sharing timer has expired. Whilst the sharing timer is no longer active, those devices which received a share message whilst the sharing timer was active can access the video as long as the availability timer is active.
The sharing timer and the availability timer provide for two periods or durations. The duration during which the sharing timer is active can be considered the sharing duration. The duration during which the availability timer is active can be considered the availability duration. The sharing duration and the availability duration may be different lengths.
The first communication device 100 A may be configured to detect that another communication device 100 enters the sharing network 400 or bubble. If it is determined the first communication device 100 A may inform the user of the new member of the sharing network and prompt the user whether the new member should also receive a share message or not. Furthermore, the first communication device may be configured to, possibly after prompting a user, extend the sharing timer so that the new member may receive the share message and/or extend the availability timer so that the new member has time to download the content.
As the first communication device 100 A resends the share message (either as a broadcast or when a communication device reenters the sharing network 400), there is a risk that the second and/or third communication devices 100B, lOOC receive duplicates of the share message, which may lead to downloading duplicates
unnecessarily.
One way of preventing this is to block communication from the first communication device 100A which prevents duplicate downloads, but also prevents further sharing with the first communication device 100 A. Another way of preventing this is to block communication from the first communication device 100A based on the content identifier CID which prevents duplicate downloads, but also prevents intentional resends or updates from the first communication device 100 A.
To prevent that duplicate downloads are made, while still allowing for resends, a duplicate timer Tdouble is employed. The duplicate timer Tdouble may be run by the content server 420B, preventing further downloads by the same
communication device while the duplicate timer is active. The duplicate timer Tdouble may be run by the sharing server 420A, preventing further downloads by the same communication device while the duplicate timer is active, but not forwarding an address to the content server 420B. The duplicate timer Tdouble may be run by the first communication device 100 A, avoiding sending share messages to the same
communication device while the duplicate timer is active. And/or, the duplicate timer Tdouble may be run by the receiving communication device 100B, lOOC, as in figure 5, preventing further downloads by ignoring share messages carrying the same identifier that are received while the duplicate timer is active.
The double timer may be implemented as a flag preventing the content to be shared as long as the flag is set. The flag is then not time-dependent but can be set based on other actions, such as entering a new bubble or leaving the current bubble.
This does not only prevent duplicate downloads initiated by a share message being transmitted from the first communication device 100 A, but also from share messages that are forwarded within a cascaded network 450. One example of such a cascaded network 450 is shown in figure 6.
In figure 6, a first communication device 100A is connected to a second communication device 100B which is in the bubble (dashed oval) of the first communication device 100A. The second communication device 100B is connected to a third communication device lOOC which is in the bubble (dashed oval) of the second communication device 100B. The third communication device lOOC is connected to a fourth communication device 100D which is in the bubble (dashed oval) of the third communication device lOOC. And, the fourth communication device 100D is connected to the first communication device 100A which is in the bubble (dashed oval) of the fourth communication device 100D. Such cascaded networks 450 may be the result of different characteristics of a radio transmitter, items blocking reception, or other features.
Returning to figure 5, the duplicate timer Tdouble may be set by the second communication device 100B receives the first share message. The duplicate timer may be set by the transmitting first communication device 100 A, and part of the share message. The duplicate timer Tdouble may then be indicated as an absolute time when the timer expires, or a relative time for how long it should be active from reception or from another time point or action (possibly passed).
The duplicate timer may be set by the receiving second communication device 100B, based on the time when share message was received.
The receiving communication device 100B is configured to discard any further share message for the same content if the further share message is received while the duplicate timer is active.
The receiving device 100B can determine whether the content is the same by comparing the identifiers of two different share messages. Alternatively, the receiving device 100B can determine whether the content is the same by comparing the content of the two different share messages, possibly by instructing the content server
420B to do such a comparison.
The comparison of the content may be based on a hashed value being calculated and stored with the content and then comparing the hashed value for the contents to be compared.
One example of a situation when the dynamics of the teachings herein are beneficial is a day care center wanting to share a picture of the day. As a parent or other guardian, enters the day care facility a communication device being carried by the parent establishes or joins a sharing network with a day care communication device. The day care communication device shares the picture of the day with the parent's communication device.
By setting the sharing timer to be the time during which children are picked up the sharing can be restricted to parents and also to that day so that the parents do not get an old picture. By setting the availability timer to correspond to the day (expiring at midnight for example) the storing space needed is kept low and it effectively implements the picture of the day.
Another example is a meeting where the agenda for the meeting is to be shared. By setting the sharing timer to be the first five minutes of the meeting it is ensured that all participants who are on time receive a copy of the agenda and it is avoided that the meeting coordinator is disturbed with questions for the agenda. By setting the availability timer to expire as the meeting ends, there will be no "paper" trail with old agendas taking space on the content server.
A system with separate timers, a sharing timer and an availability timer increases the flexibility of the file sharing. As described above, the provision of two separate timers separating sharing with availability enables content to be retrieved at a later point than when it was shared. This can be ideal for large content such as video files which may, for example, take up a substantial bandwidth or limited data allowance if downloaded over specific networks. The provision of two separate timers can also increase network security. For example, a user may not wish to retrieve content whilst connected to the network via which they received a share message. The user may consider the network insecure and thus prefer to retrieve the content at a later point, whilst connected to a different network. The provision of two separate timers thus enables a more secure network.
The timing aspects of the teachings herein are also applicable to a system where one device directly shares content to a second device without the use of sharing or content servers. It should be noted that the timers (Tshare. Tavailable, Tdouble) are all associated with one and the same content. The content may be identified as being the same by comparing the content identifier, comparing the actual content and/or comparing an identifier for the share message. If a sharer shares two files, one timer will thus be generated for each file, in total one sharing timer for each file = two sharing timer s, one availability timer for each file = two availability timers, and possibly one duplicate timer for each file and each recipient = four duplicate timers in the example of figure 5, if duplicate timers are to be used.
The timers enables for dynamic message handling where many different aspects of message handling and context may be taken into consideration and fulfilled. In the below different ways to select or regulate the sharing timer and the availability timer will be discussed. It should be noted that combinations are possible and that the timers may also be regulated or changed dynamically.
The availability timer may be selected based on the content (type and/or size of the content). The availability timer may also or alternatively be selected based on an interaction type. For example a sharing of a recently taken image may have a shorter sharing timer, than a sharing of a text document, possibly being an important memo.
The availability timer may also or alternatively be selected based on another application being executed by the first communication device 100A and/or the second communication device 100B, such as a calendar application. In such an application, the availability timer can be selected to coincide with the expiry of a meeting or other event. This enables for specific sharing of for example meeting data only while the meeting is ongoing.
The availability timer may also or alternatively be selected based on a location of the first communication device 100A and/or the second communication device 100B. In such an embodiment the availability timer can be selected to coincide with a presence in a meeting room or other locality. This enables for specific sharing of for example meeting data only while the user is present at the meeting.
The availability timer may also or alternatively be selected based on a detected movement. This enables for a sharing to be stopped as a sharer starts to move, such as when leaving a meeting room or other locality used for meetings (library, cafe, restaurant to name a few) by starting to reject downloads if a sharer and/or a receiver moves. The availability timer may also or alternatively be selected based on the speed of movement, thereby enabling a fast moving receiver to download the content for a longer time as it may be assumed that the receiver is possibly unable to retrieve the content at the current time due to being forced to focus on handling a vehicle for example. In one such embodiment the availability timer may be based on a change of speed. As a change in speed is detected, by either the sharer or the receiver, the availability timer may be extended or reduced.
The availability timer may also or alternatively be selected based on the identity of the sharer and/or communication device used by the sharer. The availability timer may also or alternatively be selected based on the identity of the receiver and/or communication device used by the receiver. The availability timer can thus be set to accommodate to different users' (and their devices') needs or preferences. A priority may also be established if the availability timer is set to be different for different receivers, wherein a high priority user will be given a longer time to download the content. Or similarly, content from a high priority sharer will be available for a longer time.
The availability timer may also be dependent on the sharing timer. For example, if a long sharing timer is selected, a long availability timer will also be selected and vice versa (an increase in sharing timer leads to an increase in availability timer).
The availability timer may also be selected based on the number of members in the sharing network 400. In such an embodiment, the first communication device is configured to determine the number of members in the sharing network, the number of members also being referred to as a bubble count, and select the availability timer based on this. In this manner the availability timer can be extended for higher bubble counts (increasing bubble count leads to an increase in availability timer) so that all members of the sharing network is offered a chance to download their own copy of the content, as in larger groups it is common for users to partake in shared content by viewing or otherwise using a same communication device (such as through shared viewing).
The availability timer may also be selected based on the connection with the network (referenced NETWORK in figure 4) connecting a communication device with the sharing server 420 A and/or the content server 420B. Should the connection for a receiver and/or for a sharer be lost, the availability timer could be extended to allow for later download when the receiver again gains access to the network. Alternatively the availability timer can be reduced to prevent a later possibly uncontrolled download when the sharer is not present to monitor the use of the shared content.
The sharing timer may be selected based on the content (type and/or size of the content). The sharing timer may also or alternatively be selected based on an interaction type. For example a sharing of a recently taken image may have a shorter sharing timer, than a sharing of a text document, possibly being an important memo.
The sharing timer may also or alternatively be selected based on the identity of the sharer and/or the device used by the sharer. The sharing timer may also or alternatively be selected based on the identity of the receiver and/or the device used by the receiver. The sharing timer can thus be set to accommodate to different users' (and their devices') needs or preferences. A priority may also be established if the sharing timer is set to be different for different receivers, wherein a high priority user will have a longer sharing timer enabling sharing with that user for a longer time. Or similarly, content from a high priority sharer will be shared for a longer time.
The sharing timer may also or alternatively be selected based on another application, such as a calendar application. In such an application, the sharing timer can be selected to coincide with the expiry of a meeting, introductory part of a meeting or other event. This enables for specific sharing of for example meeting data only while the meeting is ongoing.
The sharing timer may also or alternatively be selected based on a location of the first communication device 100A and/or the second communication device 100B. In such an embodiment the sharing timer can be selected to coincide with a presence in a meeting room or other locality. This enables for specific sharing of for example meeting data only while the user is present at the meeting.
The sharing timer may also or alternatively be selected based on a detected movement. This enables for a sharing to be stopped as a sharer starts to move, such as when leaving a meeting room or other locality used for meetings (library, cafe, restaurant to name a few). The sharing timer may also or alternatively be selected based on the speed of movement, thereby preventing a fast moving sharer to share with fewer recipients than if he was sharing for a longer time as when the user is moving at a high speed for a long time, he will come into contact (or be in the proximity) of more other users. In one such embodiment the sharing timer may be based on a change of speed. As a change in speed is detected, by either the sharer or the receiver, the sharing timer may be extended or reduced.
The availability and/or sharing timer may be set as absolute time (having a fixed time expiry, such as 8: 15 pm), a relative time (indicating a relative time, such as 10 minutes) or be related to an event, such as has been discussed above. It should also be noted that the various manners of selecting a timer may be combined. One example being that the sharing timer is set to 10 seconds or a movement of the sharer whichever happens first. Another example being that the availability timer is set to 10 minutes unless the bubble count increases in which case the availability timer is increased or when the sharer leaves a location whichever happens first. It should be noted that the duplicate timer may be selected in similar manners to the availability and sharing timers.
The availability and/or sharing timer may be set to start at a later time. This enables a user to set up a sharing at an early stage in advance, which sharing will be effected at a later time. For the example of the day care center, the staff may initiate sharing of possibly more than one picture as the picture is taken, but the actual sharing will not start until the pick up time.
Figure 7A shows a flowchart for a general method for a sharing network according to the teachings herein as have been disclosed in detail and in variants above. Figure 7A shows a flowchart for a general method for a sharing network according to the teachings herein as have been disclosed in detail and in variants above, where the actions of the flowchart are grouped under an entity performing or at least initiating the action. It should be noted that all variants are considered to be covered by the general flowcharts of figures 7A and 7B and the flowcharts may require some reordering even of partial actions to cover a specific variants.
For figure 7 A as content 100 A is to be shared, for example by receiving a user command to share content and a share request is generated 715. An identifier for the content is assigned 720 and the content is uploaded 725, possibly to a content server, and the content is stored 730. An availability timer is set 735 and a sharing timer is set 740. While the sharing timer is active, the content is shared 745 by sending out sharing message(s). As a sharing message is received 750 a duplicate timer is optionally set 755 and (if the duplicate timer is inactive) the content is downloaded. It should be noted that the first time a device receives a share message, the content is downloaded, but not for the other times a message for the same content is received. Optionally an address (such as a URL) for the content is provided 765 for the download. As the availability timer expires, the download request is rejected 770 and optionally the content is deleted 775.
For figure 7B as a first communication device 100A is to share content, for example by receiving a user command to share content, a share request is generated 715 and transmitted to a sharing server 420 A which assigns 720 an identifier for the content. The first communication device 100 A uploads 725 the content to a content server 420B, and the content is stored 730. An availability timer is set 735 by the content server 420B and a sharing timer is set 740 by the first communication device 100A. While the sharing timer is active, the content is shared 745 by the first communication device 100A sending out sharing message(s). As a sharing message is received 750 by a second communication device 100B, a duplicate timer is optionally set 755 and (if the duplicate timer is inactive) the content is downloaded. It should be noted that the first time a device receives a share message, the content is downloaded, but not for the other times a message for the same content is received. Optionally an address (such as a URL) for the content is provided 765 to the second communication device 100B for the download if the share message does not indicate an address for the download. As the availability timer expires, the download request is rejected 770 and optionally the content is deleted 775 by the content server 420B.
The dynamics of the sharing of content or other communications may also be regulated by changing the output power used by the communication interface 230. The sharing, i.e. how many receivers that will receive the sharing message can be seen to correlate to time spent on sharing multiplied by the energy or power used to share. The higher the output power, the more devices are reached, and the longer the sharing, the more devices will be reached.
The availability timer may thus be selected based on the output power, where an increase in output power gives an increase in availability timer thereby allowing the increased number of members that may be reached, an increased time to download the content or other communication to be shared.
The output power may be selected based on the number of members in the sharing network 400. In such a case, the first communication device 100A is configured to determine the number of members in the network, and possibly also a change
(increase/decrease) in the number of members, and select or regulate the output power accordingly (an increase in the number of members gives an increase in output power). This allows for alleviating the blocking effect that a user will cause thereby allowing the signal to be strong enough to reach all members even if there many blocking factors.
The output power may also be selected or regulated by determining a blocking factor for the current environment. The blocking factor is determined by the first communication device 100 A sending out a sounding message (a ping) using the currently used radio frequency communication technology, such as low power
Bluetooth™ and monitor the time until a reflection of the sounding message is received by the same first communication device 100 A. A short reflection time thus indicates a high blocking factor. If the reflection time is short, then the output power will also be high (an increase in reflection time gives an increase in output power). This enables the first communication device to increase the likelihood that a share message is received also through blocking objects or other blocking factors.
Figure 8 shows a flowchart for a general method wherein the output power is also set 843. The output power may be selected or regulated at any time during the sharing or before the sharing is initiated in a manner as discussed above.
The invention has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.

Claims

1. A method for use in a sharing network comprising a first communication device (100A), a second communication device (100B), a sharing server (420A) and a content server (420B), wherein said first and second communication device are connected to each other, wherein the method comprises:
the first device:
sending a share request for content to be shared,
setting an availability timer (Tavailable);
setting a sharing timer (Tshare); and
sharing the content to be shared by sending out at least one share message carrying an indicator of the content to be shared while the sharing timer is active; and, the second communication device:
receiving a share message;
sending a content access request for the content to be shared as indicated by the share message; and
if the availability timer (Tavailable) is active, receiving access to the content to be shared,
wherein the sharing timer (Tshare) and the availability timer (Tavailable) are associated with the content to be shared, and wherein the sharing timer
(Tshare) and the availability timer (Tavailable) do not expire at the same time.
2. The method according to claim 1, wherein the method further comprises assigning an identifier for the content to be shared;
selecting a content server (420B) for storing the content to be shared; uploading the content to be shared to the content server (420B);
3. The method according to claim 1 or 2, wherein requesting a content access request to the content to be shared as indicated by the share message includes determining if a duplicate timer (Tdouble) is active and if not, setting the duplicate timer (Tdouble) and the duplicate timer (Tdouble) is associated with the content to be shared.
4. The method according to any preceding claim, wherein the content access request is a request to view or otherwise take part of the content to be shared.
5. The method according to any preceding claim, wherein the content access request is a download request.
6. The method according to claim 5, wherein the method further comprises requesting a download of the content to be shared after receiving input to perform the download.
7. The method according to claim 5 or 6, wherein the method further comprises requesting a download of the content to be shared as indicated by the share message by
requesting an address for the content server (420B) from the sharing server (420A) and requesting a download from the content server of the content to be shared.
8. The method according to any preceding claim, wherein the method further comprises determining that the availability timer has expired, and in response thereto deleting the content to be shared.
9. The method according to any preceding claim, wherein the method further comprises determining that the availability timer has expired, and in response thereto rejecting the content access request to the content to be shared.
10. The method according to any preceding claim, wherein the method further comprises selecting the sharing timer based on the content type, content size, the identity of the first communication device (100 A), the identity of the second
communication device (100B), and/or a load balance of the sharing network (400).
11. The method according to any preceding claim, wherein the method further comprises selecting the sharing timer based on a detected movement.
12. The method according to claim 11, wherein the method further comprises selecting the sharing timer based on a speed of the detected movement.
13. The method according to any preceding claim, wherein the method further comprises determining the number of members in the sharing network (400) and selecting the sharing timer may also be selected based on the number of members.
14. The method according to any preceding claim, wherein the method further comprises selecting the sharing timer based on a connection with the between the first communication device (100A) and/or the second communication device (100B) with the sharing server (420 A) and/or the content server (420B).
15. The method according to any preceding claim, wherein the method further comprises selecting the sharing timer based on a location of the first
communication device (100A) and/or the second communication device (100B).
16. The method according to any preceding claim, wherein the method further comprises selecting the sharing timer based on an application being executed by the first communication device (100A) and/or the second communication device (100B).
17. The method according to any preceding claim, wherein the method further comprises selecting the availability timer based on the content type, content size, the identity of the first communication device (100 A), the identity of the second communication device (100B), and/or a load balance of the sharing network (400).
18. The method according to any preceding claim, wherein the method further comprises selecting the availability timer based on a detected movement.
19. The method according to claim 18, wherein the method further comprises selecting the availability timer based on a speed of the detected movement.
20. The method according to any preceding claim, wherein the method further comprises determining the number of members in the sharing network (400) and selecting the availability timer based on the number of members.
21. The method according to any preceding claim, wherein the method further comprises selecting the availability timer based on a connection with the between the first communication device (100A) and/or the second communication device (100B) with the sharing server (420A) and/or the content server (420B).
22. The method according to any preceding claim, wherein the method further comprises selecting the availability timer based on a location of the first communication device (100A) and/or the second communication device (100B).
23. The method according to any preceding claim, wherein the method further comprises selecting the availability timer based on an application being executed by the first communication device (100 A) and/or the second communication device (100B).
24. The method according to any preceding claim, wherein the duplicate timer is a logical flag.
25. The method according to any preceding claim, wherein the method further comprises
determining the number of members in the sharing network (400) and setting an output power to be used by the first communication device (100 A) when sending the share message based on the number of members.
26. The method according to any preceding claim, wherein the method further comprises the first communication device (100A):
sending out a sounding message;
monitoring the reflection time from the sending of the sounding message until a reflection of the sounding message is received; and
setting the output power to be used by the first communication device (100 A) when sending the share message based on the reflection time.
27. The method according to claim 25 or 26, wherein the method further comprises selecting the availability timer based on the output power.
28. A sharing network comprising a first communication device (100A), a second communication device (100B), a sharing server (420A) and a content server (420B), wherein said first and second communication device are connected to each other, wherein the first communication device (100A) is configured to:
set a sharing timer (Tshare), and while the sharing timer (Tshare) is active, share content by sending out at least one message indicating content to be shared, and wherein the second communication device (100B) is configured to:
receive a share message indicating content to be shared,
sending a content access request for the content to be shared as indicated by the share message, and wherein the sharing server (420A) is configured to:
receive a share request for content to be shared from a communication device (100);
assign an identifier for the content to be shared (CID);
select a content server (420B) for storing the content to be shared and transmitting the identity of the content to be shared and an address (URL) for the content server (420B) to be used to the communication device
(100), and wherein the content server (420B) is configured to: receive the content to be shared;
store the content to be shared;
set an availability timer (Tavailable);
receive an access request to the content to be shared and in response thereto, determine whether the availability timer is active and if so, respond to the content access request with the content to be shared, wherein the sharing timer (Tshare) and the availability timer (Tavailable) are associated with the content to be shared.
29. A communication device (100) comprising a controller (210) configured to:
set a sharing timer (Tshare), and while the sharing timer (Tshare) is active, share content by sending out at least one message indicating content to be shared,
set an availability timer (Tavailable),
wherein the sharing timer (Tshare) and the availability timer (Tavailable) are associated with the content to be shared.
30. The communication device (100) of claim 29, wherein the controller (210) is further configured to:
request an identifier for the content to be shared from a sharing server
(420A);
receive an address for the content server (420B) from the sharing server
(420A); and
upload the content to be shared to a content server (420B).
31. The communication device (100) of claim 29 or 30, wherein the communication device is a mobile communications terminal such as a mobile phone or a computer tablet arranged for wireless communication.
32. A receiving communication device (100B) comprising a controller
(210) configured to: receive a share message, that was transmitted to the receiving
communication device (100B) whilst a sharing timer (Tshare) was active, indicating content to be shared and send a content access request for the content to be shared; and if an availability timer (Tavailable) is active, receiving access to the content to be shared.
33. The receiving communication device (100B) according to claim 32, wherein the controller (210) is further configured to determine if a duplicate timer (Tdouble) is active and if not,
set the duplicate timer (Tdouble) and then send the content access request to the content to be shared, wherein the duplicate timer (Tdouble) is associated with the content to be shared.
34. A sharing server (420A) comprising a controller configured to:
receive a share request for content to be shared from a communication device (100);
assign an identifier for the content to be shared (CID);
select a content server (420B) for storing the content to be shared and transmitting the identity of the content to be shared and an address (URL) for the content server (420B) to be used to the communication device (100).
35. A content server (420B) comprising a controller configured to:
receive an upload request for storing content to be shared from a first communication device (100A), wherein the content to be shared is associated with a content identifier (CID);
store the content to be shared;
set an availability timer (Tavailable) for the content to be shared;
receive a content access request from a second communication device (100B), wherein the content access request indicates a content identifier (CID);
find the content to be shared that matches the content identifier; determine whether the availability timer is active, and if so, responding to the second communication device (100B) by providing access to the content to be shared, wherein the availability timer (Tavailable) is associated with the content to be shared.
36. A method for use in a communication device (100), wherein the method comprises:
setting a sharing timer (Tshare), and while the sharing timer (Tshare) is active, share content by sending out at least one message indicating content to be shared, wherein the sharing timer (Tshare) is associated with the content to be shared.
37. A method for use in a receiving communication device (100B), wherein the method comprises:
receiving a share message indicating content to be shared, sending a content access request for the content to be shared.
38. A method for use in a sharing server (420 A), wherein the method comprises receiving a share request for content to be shared from a communication device (100), assigning an identifier for the content to be shared (CID), selecting a content server (420B) for storing the content to be shared and transmitting the identity of the content to be shared and an address (URL) for the content server (420B) to be used to the communication device (100).
39. A method for use in a content server (420B), the method comprising: receiving an upload request for storing content to be shared from a first communication device (100A), wherein the content to be shared is associated with a content identifier (CID);
storing the content to be shared;
setting an availability timer (Tavailable) for the content to be shared; receiving a content access request from a second communication device
(100B), wherein the content access request indicates a content identifier (CID); finding the content to be shared that matches the content identifier; determining whether the availability timer is active, and if so, responding to the second communication device (100B) by providing access to the content to be shared, wherein the availability timer (Tavailable) is associated with the content to be shared.
40. A computer readable storage medium (30) encoded with instructions (31) that, when loaded and executed on a controller of a communication device (100, 200), causes the method according to any of claims 1 to 27 or any of claims 36 to 39 to be performed.
PCT/SE2015/051267 2014-11-26 2015-11-25 Dynamic timing for improved communication handling between communication devices WO2016085395A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE1451433-5 2014-11-26
SE1451433A SE1451433A1 (en) 2014-11-26 2014-11-26 Dynamic timing for improved communication handling between communication devices

Publications (1)

Publication Number Publication Date
WO2016085395A1 true WO2016085395A1 (en) 2016-06-02

Family

ID=56074774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2015/051267 WO2016085395A1 (en) 2014-11-26 2015-11-25 Dynamic timing for improved communication handling between communication devices

Country Status (2)

Country Link
SE (1) SE1451433A1 (en)
WO (1) WO2016085395A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556574B1 (en) * 1999-03-31 2003-04-29 Cisco Technology, Inc. Duplicate ignore delay timer for ARP like protocol messages using are protocol
US20140185499A1 (en) * 2012-12-31 2014-07-03 Nokia Corporation Method and apparatus for ad-hoc content sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556574B1 (en) * 1999-03-31 2003-04-29 Cisco Technology, Inc. Duplicate ignore delay timer for ARP like protocol messages using are protocol
US20140185499A1 (en) * 2012-12-31 2014-07-03 Nokia Corporation Method and apparatus for ad-hoc content sharing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Rich Communication Suite 5.2 Advanced Communications Services and Client Specification" *

Also Published As

Publication number Publication date
SE1451433A1 (en) 2016-05-27

Similar Documents

Publication Publication Date Title
US10986436B2 (en) Managing connections of a user device
US9712623B2 (en) Answering a call with client through a host
US20170339215A1 (en) System and method of secure file sharing using p2p
EP2769527B1 (en) Method and apparatus for maintaining one or more communication sessions
KR102202647B1 (en) Method for communicating data and electronic device thereof
US20160164810A1 (en) Multi-endpoint actionable notifications
CN111316624B (en) Personalized audio/video invitation for telephone calls
US11201912B2 (en) Communication device for improved establishing of a connection between devices
US20150230078A1 (en) Secure Ad Hoc Data Backup to Nearby Friend Devices
US10212568B2 (en) Selective user interaction in a dynamic, proxmity-based group of wireless communication devices
US11888604B2 (en) Systems and methods for joining a shared listening session
JP2017516201A (en) Selective exchange of data between P2P compatible client devices via a server
WO2016085395A1 (en) Dynamic timing for improved communication handling between communication devices
SE1651082A1 (en) Communication device for improved establishing of a connection between devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15862784

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15862784

Country of ref document: EP

Kind code of ref document: A1