Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A METHOD FOR INFORMATION EXCHANGE AND A TECHNICAL EQUIPMENT
Document Type and Number:
WIPO Patent Application WO/2014/091062
Kind Code:
A1
Abstract:
The embodiments of the invention concern a method that comprises detecting at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data; detecting a rotation of at least the apparatus with respect to rest of the stacked devices; determining the direction of the rotation; and performing a data transfer action according to the determined direction. Also, the embodiments of the invention concern a method that comprises detecting at least one near-by second device by a first device; obtaining a data element from said detected at least one near-by second device obtaining a data element from the second device; combining the data elements to create data element combination; searching content by means of the data element combination; and outputting the content via at least one of the devices. The embodiments of the invention also concern technical equipment for performing the methods.

Inventors:
ARRASVUORI JUHA (FI)
PIIPPO PETRI (FI)
LUCERO ANDRÉS (FI)
BOBERG MARION (FI)
Application Number:
PCT/FI2012/051248
Publication Date:
June 19, 2014
Filing Date:
December 14, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA CORP (FI)
International Classes:
G06F3/0346; G06F17/30; H04M1/72412; H04M1/725; H04W4/00
Domestic Patent References:
WO2005103860A12005-11-03
Foreign References:
US20080195735A12008-08-14
US20100167646A12010-07-01
JP2012231245A2012-11-22
US20110307841A12011-12-15
Attorney, Agent or Firm:
NOKIA CORPORATION et al. (Jussi JaatinenKeilalahdentie 4, Espoo, FI)
Download PDF:
Claims:
Claims:

1 . A method, comprising:

- detecting at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data;

- detecting a rotation of at least the apparatus with respect to rest of the stacked devices;

- determining the direction of the rotation; and

- performing a data transfer action according to said determined direction.

2. The method according to claim 1 , wherein the data transfer action comprises sending data from the apparatus to at least one device.

3. The method according to claim 1 , wherein the data transfer action comprises fetching data from at least one device to the apparatus.

4. A method, comprising:

- detecting at least one near-by second device by a first device;

- obtaining a data element from said detected at least one near-by second device;

- obtaining a data element from said first device;

- combining the data elements to create data element combination;

- searching content by means of the data element combination;

- outputting the content via at least one of the devices.

5. The method according to claim 4, further comprising fetching a data element from said detected at least one near-by second device by said first device.

6. The method according to claim 4 or 5, further comprising:

- detecting at least one near-by second device from a stack of devices in which stack at least part of the displays of the stacked devices overlap; wherein

- the content is output to the overlapping area of the stacked devices.

7. The method according to any of the preceding claims 4 to 6, wherein the content is visual content, wherein the method comprises

- displaying the content via at least one of the devices.

8. The method according to any of the preceding claims 4 to 7, further comprising searching content from one of the devices.

9. The method according to any of the preceding claims 4 to 8, further comprising searching content from a source external to the devices.

10. The method according to any of the preceding claims 4 to 9, further comprising transferring the content to at least one of the devices. 1 1 . The method according to claim 10, wherein the direction of the transfer between devices is determined by detecting a rotation direction of one of the devices with respect to at least one other device in a stack of devices.

12. The method according to any of the preceding claims 4 to 1 1 , wherein the data element is fetched from said near-by second device by rotating said first device.

13. An apparatus comprising at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

- detecting at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data;

- detecting a rotation of at least the apparatus with respect to rest of the stacked devices;

- determining the direction of the rotation; and

- performing a data transfer action according to said determined direction.

14. The apparatus according to claim 13, further comprising computer program code to cause the apparatus to perform sending data from the apparatus to at least one device.

15. The apparatus according to claim 13, further comprising computer program code to cause the apparatus to perform fetching data from at least one device to the apparatus.

16. An apparatus comprising at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

- detecting at least one near-by second device;

- obtaining a data element from said detected at least one near-by second device;

- obtaining a data element from the apparatus;

- combining the data elements to create data element combination;

- searching content by means of the data element combination;

- outputting the content via at least one of the devices.

17. The apparatus according to claim 16, further comprising computer program code to cause the apparatus to perform fetching a data element from said detected at least one near-by second device. 18. The apparatus according to claim 16 or 17, further comprising computer program code to cause the apparatus to perform

- detecting at least one near-by second device from a stack of devices in which stack at least part of the displays of the stacked devices overlap;

- outputting the content to the overlapping area of the stacked devices.

19. The apparatus according to any of the preceding claims 16 to 18, wherein the content is visual content, wherein the apparatus further comprises computer program code to cause the apparatus to perform

- displaying the content via at least one of the devices.

20. The apparatus according to any of the preceding claims 16 to 19, further comprising computer program code to cause the apparatus to perform searching content from one of the devices. 21 . The apparatus according to any of the preceding claims 16 to 20, further comprising computer program code to cause the apparatus to perform searching content from a source external to the devices.

22. The apparatus according to any of the preceding claims 16 to 22, further comprising computer program code to cause the apparatus to perform transferring the content to at least one of the devices.

23. The apparatus according to claim 22, further comprising computer program code to cause the apparatus to perform - determining the direction of the transfer between devices by detecting a rotation direction of one of the devices with respect to at least one other device in a stack of devices.

24. The apparatus according to any of the preceding claims 16 to 23, further comprising computer program code to cause the apparatus to perform fetching the data element from said near-by second device by rotating said apparatus.

25. A system comprising at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the system to perform at least the following:

- detecting at least one device being stacked with an apparatus, wherein said at least one device and said apparatus are configured to store data;

- detecting a rotation of at least the apparatus with respect to rest of the stacked devices;

- determining the direction of the rotation; and

- performing a data transfer action according to said determined direction.

26. An apparatus comprising:

- means for detecting at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data;

- detecting a rotation of at least the apparatus with respect to rest of the stacked devices;

- determining the direction of the rotation; and

- performing a data transfer action according to said determined direction.

27. An apparatus comprising:

- means for detecting at least one near-by second device;

- means for obtaining a data element from said detected at least one nearby second device;

- means for obtaining a data element from said apparatus;

- means for combining the data elements to create data element combination;

- means for searching content by means of the data element combination; and

- means for outputting the content via at least one of the devices.

28. A computer program product embodied on a non-transitory computer readable medium, comprising computer program code configured to, when executed on at least one processor, cause an apparatus or a system to:

- detect at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data;

- detect a rotation of at least the apparatus with respect to rest of the stacked devices;

- determine the direction of the rotation; and

- perform a data transfer action according to said determined direction.

29. A computer program product embodied on a non-transitory computer readable medium, comprising computer program code configured to, when executed on at least one processor, cause an apparatus or a system to:

- detect at least one near-by second device by a first device;

- obtain a data element from said detected at least one near-by second device;

- obtain a data element from said first device;

- combine the data elements to create data element combination;

- search content by means of the data element combination;

- output the content via at least one of the devices.

Description:
A METHOD FOR INFORMATION EXCHANGE AND A TECHNICAL EQUIPMENT

Technical Field The embodiments of the present invention relates to data exchange between at least two devices.

Background Electronic devices, such as smart phones having data storage means and a display are capable of create virtual workspace or expanded display when combined together. For example, when two apparatuses are placed next to each other, the viewing area can be expanded to cover the two adjacent displays instead of one. Such a functionality can be found from certain portable devices, but also from a system having a laptop display and an external display, which together can create an expanded viewing area.

The previous example utilizes information (data) exchange (transfer) between devices. However, now there is a need for even better information exchange method by means of which information can be more easily transferred between devices, and information from the devices can be utilized to obtain unexpected results.

Summary Now there has been invented an improved method and technical equipment implementing the method which are addressed to such need. Various aspects of the invention include methods, apparatuses, a system and computer program products embodied on a non-transitory readable mediums comprising a computer program stored therein, which are characterized by what is stated in the independent claims. Various embodiments of the invention are disclosed in the dependent claims.

According to a first aspect, a method comprises detecting at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data; detecting a rotation of at least the apparatus with respect to rest of the stacked devices; determining the direction of the rotation; and performing a data transfer action according to said determined direction.

According to an embodiment, the data transfer action comprises sending data from the apparatus to at least one device. According to an embodiment, the data transfer action comprises fetching data from at least one device to the apparatus.

According to a second aspect, a method comprises detecting at least one near-by second device by a first device; obtaining a data element from said detected at least one near-by second device; obtaining a data element from said first device; combining the data elements to create data element combination; searching content by means of the data element combination; outputting the content via at least one of the devices.

According to an embodiment, a data element from said detected at least one near-by second device is fetched by said first device.

According to an embodiment, at least one near-by device is detected from a stack of devices in which stack at least part of the displays of the stacked devices overlap; wherein the content is output to the overlapping area of the stacked devices.

According to an embodiment, the content is visual content, wherein the content is displayed via at least one of the devices.

According to an embodiment, the content is searched from one of the devices.

According to an embodiment, content is searched from a source external to the devices.

According to an embodiment, the content is transferred to at least one of the devices.

According to an embodiment, the direction of the transfer between devices is determined by detecting a rotation direction of one of the devices with respect to at least one other device in a stack of devices.

According to an embodiment, the data element is fetched from said near-by second device by rotating said first device. According to a third aspect, an apparatus comprises at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following: detecting at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data; detecting a rotation of at least the apparatus with respect to rest of the stacked devices; deternnining the direction of the rotation; and perfornning a data transfer action according to said determined direction. According to a fourth aspect, an apparatus comprises at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following: detecting at least one near-by second device; obtaining a data element from said detected at least one near-by second device; obtaining a data element from the apparatus; combining the data elements to create data element combination; searching content by means of the data element combination; outputting the content via at least one of the devices.

According to a fifth aspect, a system comprises at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the system to perform at least the following: detecting at least one device being stacked with an apparatus, wherein said at least one device and said apparatus are configured to store data; detecting a rotation of at least the apparatus with respect to rest of the stacked devices; determining the direction of the rotation; and performing a data transfer action according to said determined direction.

According to a sixth aspect, an apparatus comprises means for detecting at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data; means for detecting a rotation of at least the apparatus with respect to rest of the stacked devices; means for determining the direction of the rotation; and means for performing a data transfer action according to said determined direction. According to a seventh aspect, an apparatus comprises means for detecting at least one near-by second device by the apparatus; means for obtaining a data element from said detected at least one near-by second device; means for obtaining a data element from said apparatus; means for combining the data elements to create data element combination; means for searching content by means of the data element combination; and means for outputting the content via at least one of the devices.

According to an eighth aspect, a computer program product embodied on a non- transitory computer readable medium, comprises computer program code configured to, when executed on at least one processor, cause an apparatus or a system to: detect at least one device being stacked with said apparatus, wherein said at least one device and said apparatus are configured to store data; detect a rotation of at least the apparatus with respect to rest of the stacked devices; determine the direction of the rotation; and perform a data transfer action according to said determined direction.

According to a ninth aspect, a computer program product embodied on a non- transitory computer readable medium, comprises computer program code configured to, when executed on at least one processor, cause an apparatus or a system to: detect at least one near-by second device by a first device; obtain a data element from said detected at least one near-by second device; obtain a data element from said first device; combine the data elements to create data element combination; search content by means of the data element combination; output the content via at least one of the devices.

Description of the Drawings

In the following, various embodiments of the invention will be described in more detail with reference to the appended drawings, in which

Fig. 1 shows an embodiment of an apparatus;

Fig. 2 shows an embodiment of a layout of an apparatus;

Fig. 3 shows an embodiment of a network system;

Fig. 4 shows an embodiment for combining information semantically;

Fig. 5 shows another embodiment for combining information semantically;

Fig. 6 shows an embodiment of a method for combining information semantically;

Fig. 7 shows an embodiment for exchanging information between devices; and Fig. 8 shows an embodiment of a method for exchanging information between devices.

Description of Example Embodiments

In the following, several embodiments of the invention will be described in the context of smart phones. It is to be noted, however, that the invention is not limited to smartphones only. In fact, the different embodiments have applications in any environment where information exchange between devices is possible. Other examples of the apparatus are mobile phone, laptop device, tablet device. Figure 1 illustrates and example of the apparatus, e.g. a smart phone. The apparatus 151 contains memory 152, at least one processor 153 and 156, and computer program code 154 residing in the memory 152. The apparatus according to the example of Figure 1 , also has one or more cameras 155 and 159 for capturing image data, for example stereo video. The apparatus of this example also contains one, two or more microphones 157 and 158 for capturing sound. The apparatus may also contain sensor for generating sensor data relating to the apparatus' relationship to the surroundings. The apparatus also comprises a display 160 for viewing single- view, stereoscopic (2-view) or multiview (more-than-2-view) images. The display 160 may be extended at least partly on the back cover of the apparatus. The apparatus 151 also comprises an interface means (e.g. a user interface) which allows a user to interact with the apparatus. The user interface means is implemented either using one or more of the following: the display 160, a keypad 161 , voice control, or other structures. The apparatus is configured to connect to another device e.g. by means of a communication block (not shown in Fig. 1 ) able to receive and/or transmit information.

Figure 2 shows a layout of an apparatus according to an example embodiment. The electronic device 50 is for example a mobile terminal (e.g. mobile phone, a smart phone, a camera device, a tablet device) or other user equipment of a wireless communication system. Embodiments of the invention may be implemented within any electronic device or apparatus, such a personal computer and a laptop computer. The apparatus 50 shown in Figure 2 comprises a housing 30 for incorporating and protecting the device. The apparatus 50 further comprises a display 32 in the form of e.g. a liquid crystal display. In other embodiments of the invention the display is any suitable display technology suitable to display an image or video. The apparatus 50 further comprises a keypad 34 or other data input means. In other embodiments of the invention any suitable data or user interface mechanism may be employed. For example the user interface may be implemented as a virtual keyboard or data entry system as part of a touch-sensitive display. The apparatus comprises a microphone 36 or any suitable audio input which may be a digital or analogue signal input. The apparatus 50 further comprises an audio output device which in embodiments of the invention may be any one of: an earpiece 38, speaker, or an analogue audio or digital audio output connection. The apparatus 50 of Figure 2 also comprises a battery 40 (or in other embodiments of the invention the device may be powered by any suitable mobile energy device such as solar cell, fuel cell or clockwork generator). The apparatus according to an embodiment comprises an infrared port 42 for short range line of sight communication to other devices. In other embodiments the apparatus 50 may further comprise any suitable short range communication solution such as for example a Bluetooth wireless connection, a near field communication (NFC) connection or a USB/Firewire wired connection.

Figure 3 shows a system, where the apparatus is able to function. In Fig. 3, the different devices may be connected via a fixed network 210 such as the Internet or a local area network; or a mobile communication network 220 such as the Global System for Mobile communications (GSM) network, 3rd Generation (3G) network, 3.5th Generation (3.5G) network, 4th Generation (4G) network, Wireless Local Area Network (WLAN), Bluetooth®, or other contemporary and future networks. Different networks are connected to each other by means of a communication interface 280. The networks comprise network elements such as routers and switches to handle data (not shown), and communication interfaces such as the base stations 230 and 231 in order for providing access for the different devices to the network, and the base stations 230, 231 are themselves connected to the mobile network 220 via a fixed connection 276 or a wireless connection 277.

There may be a number of servers connected to the network, and in the example of Fig. 1 are shown servers 240, 241 and 242, each connected to the mobile network 220, which servers, or one of the servers, may be arranged to operate as computing nodes (i.e. to form a cluster of computing nodes or a so-called server farm). Some of the above devices, for example the computers 240, 241 , 242 may be such that they are arranged to make up a connection to the Internet with the communication elements residing in the fixed network 210.

There are also a number of end-user devices such as mobile phones and smart phones 251 for the purposes of the present embodiments, Internet access devices (Internet tablets) 250, personal computers 260 of various sizes and formats, and computing devices 261 , 262 of various sizes and formats. These devices 250, 251 , 260, 261 , 262 and 263 can also be made of multiple parts. In this example, the various devices are connected to the networks 210 and 220 via communication connections such as a fixed connection 270, 271 , 272 and 280 to the internet, a wireless connection 273 to the internet 210, a fixed connection 275 to the mobile network 220, and a wireless connection 278, 279 and 282 to the mobile network 220. The connections 271 -282 are implemented by means of communication interfaces at the respective ends of the communication connection. All or some of these devices 250, 251 , 260, 261 , 262 and 263 are configured to access a server 240, 241 , 242 and a social network service. In the present embodiments, two or more devices (e.g. smartphones) are brought close to each other, for example stacked on top of each other. This allows users to combine and exchange information easily. The embodiments have two viewpoints:

1 ) Combining information semantically and

2) Exchanging information between devices.

Combining information semantically This part of the method is based on a principle where a keyword from one of the devices is combined with a keyword from at least one other device. The resulting combination is used for searching content, that can be shown to the user(s).

An embodiment for this is shown in Figure 4. In this embodiment a first device (410) comprises a keyword "hat", and a second device (420) comprises a contact card for a person "Alfred Smith". The contact card may comprise contact information, such as telephone number, email address, home address, etc. In addition, the contact card may comprises a photo of the contact (425). As the first device (410) and the second device (420) are brought close to each other (i.e. substantially parallel to each other within a short distance), for example stacked on top of each other as shown with reference 440, the overlapping area (430) shows the combination of the keyword "hat" from the first device (410) and a contact card from the second device (420), i.e. a contact with a hat. If the data obtained from the second device (420) is a contact list with numerous contact cards, the overlapping area (430) may display a slideshow of the photos where the people in the contact list appear with hats on their heads. This is implemented in such a manner that the names of the people are obtained from the contact list of the second device. These names, together with a keyword "hat" from the first device, are sent to a photo service and the matching photos are shown one at time on the overlapping area of the displays. The photo service being used can locate on either the first device or the second device. Instead of showing the combination on the overlapping area of the devices, it is also possible to use a display of either device, or an expanded display made of both devices, when the devices are located next to each other. Another embodiment for the keyword combination is shown on Figure 5. In this embodiment, a first device (510) has as a keyword <colour blue>. For example, the display can contain background of blue colour, or an image of blue colour, whereby in both cases the display can show only blue. As an another example, the display of the first device (510) can show a list of colours, where the user is able to select a colour blue. Blue may have been indicated in a metadata of the image file.

A second device (520) has as a keyword "moon", which relates to an image being shown on the display of the second device (520). The moon as a content of an image can be identified from the metadata of the image.

When the first and second devices (510, 520) are stacked together or brought next to each other, one of the apparatuses may use the keyword combination "Blue"+"Moon" as a search term, to obtain a result from a service, either from one of the devices or from a network service. When the result has been received, the result may be brought to the overlapping area (530). As shown in the Figure 5, the overlapping area (530) triggers a player to play a song "Blue Moon" by Elvis Presley. The overlapping area can play only the audio file of the song, or alternatively the video file. The users are able to alter the size of the overlapping area, whereby the content display size is also altered. By this embodiment, the users can experiment to come up with surprising results of media provided from a service. In another embodiment, where the devices are located next to each other, the result can be provided to one of the displays or to an expanded display of the two devices' display.

If a user of the first device (510) dynamically changes the content of the display of the first device (510), for example to contain a picture of a river, the keywords from the first and second devices (510, 520) are combined again, to create a combination by means of which a result is searched from a service. After having brought the result to the overlapping area, the users are able to hear another song "Moon river" by Frank Sinatra. It is realized that the result for the overlapping area can be surprisingly changed by defining a new keyword in one of the devices. It is also realized that in this example, a song is only an example. The resulting media item can be an image, a social network wall, a web page, a song, a video clip, an audio clip, or any other content that can be retrieved from one of the devices or from a network service by a keyword search.

In the previous, the overlapping area of the devices was configured to show the result for combined keywords. It is appreciated, however, that the same method can be utilized also in a system of at least two devices, where the devices are next to each other, whereby the expanded display area is configured to show the result. Yet in another embodiment, only one of the devices is configured to show the result when the devices is close enough to each other, for example next to each other. An embodiment of a method is illustrated in Figure 6. At first, one of the devices ("first device") detects an existence of another device (610). The first device receives data from the another device (620), from where at least some information (a keyword) is extracted (630). The first device also determines its own information (640) after which the extracted information and its own information are combined (650). The combination is used as a search term to look for an action (660). The action can be displaying an image, which image relates to the keyword combination. The action can be playing an audio or video file that relates to the keyword combination. The action can be displaying a web site relating to the keyword combination. Each of these actions can be displayed, performed, run in one of the devices or in an expanded display of two or more devices, or on an overlapping display area of two or more devices.

Exchanging information between devices

An embodiment for exchanging information between devices is shown in Figure 7. A first device (710) and a second device (720) are stacked on top of each other (i.e. stacked substantially parallel to each other within a short distance). In order to describe the method for information exchange, at first a term "screwing principle" is presented. Screwing is known from other fields of technology, and people know to which direction the screw must be turned to make the screw to screw down and similarly to which direction the screw must be turned to make the screw to screw up.

For the purposes of the present embodiment, the screwing principle may be utilized for information exchange. In Figure 7, the second device (720) is rotated with respect to the first device (710), whereby an information exchange is started. The source for the information to be exchanged may be determined according to the screwing principle. For example, when the second device (720) is "screwed down" i.e. rotated clockwise (as shown in Figure 7 by means of the arrow 725) the information is transmitted ("pushed") from the second device (720) to the first device (710). On the other hand, when the second device (710) is "screwed up", i.e. rotated counterclockwise the information is transmitted ("pulled") from the first device (710) to the second device (720). The first device (710) can stay still with respect to the rotating second device, or the first device can be rotated as well. The thing that matter is the direction of the changing position of the devices with respect to each other. In this example, the second device (720) is configured to perform the exchange action either by pushing or pulling. However, the role of the devices can be changed, either by defining the role for both devices, or at least for the device being in charge, or by changing the order of the devices in the stack, so that the device covering the other device's display is automatically the device in charge. It is appreciated that the device from which information is transferred from or transferred to can be a "dummy" device meaning that it does not necessarily has to have computing capabilities but only a readable/writable memory. The device in charge has the means for sensing the respective position of the devices and the change in said respective position. These means for sensing the respective position may include at least one of the following: an accelerator, a magnetometer, a camera, a "hover display" utilizing capacitive sensor, or their combination. Figure 8 illustrates an embodiment of the method for exchanging information between devices as a flowchart. At first, an existence of another device is detected (810) in a stack of devices. Then, a respective position to the detected device is determined (820). This position is used as a reference position (825). The change in the reference position is detected (830). After this, the new position is compared (840) to the reference position to determine the direction of the change, and the new position is set as a reference position (845). The determined direction is used to select (850) how the data transfer is performed, i.e. from the detected device or to the detected device. According to an embodiment, the clockwise direction of the change in the respective location from the device's (the one performing the data transfer operation) point of view transfers data to the other device, and the counterclockwise direction of the change in the respective location from the device's (being in charge) point of view transfers data from the other device.

Implementation

In order to carry out the previous embodiments out, the stacked or neighboring devices (or at least one of the devices) need to identify the existence of another device. The existence of the other device can be identified e.g. by determining the strength of Bluetooth signal or by near field communication method (NFC). Then one of the devices (e.g. first device) receives data from another device (e.g. detected device), from which received data at least some information is extracted. When the devices are stacked, the data can be received by means of the information exchange method as described above. The extracted information from the detected device and information from the first device are analyzed. In the analysis, at least one of the following are checked: the metadata of the information, file names of the information, text content of the information, image analysis of the information. After the analysis, one or more parts of the extracted information from the detected device and the information from the first device are semantically combined. The combined one or more parts are used to provide a certain action. The resulting action can then be shared with the other device(s) by means of the information exchange method as described above, when the devices are stacked.

The information exchange method can be further utilized for semantic information combining. For example, as shown in Figure 5, when the first device (510) provides a colour blue and the second device (520) provides an image of a moon, the screwing principle may be utilized to vary one of the keywords. For example, by rotating the first device clockwise, the colours can be browsed from blue to other colours (to result in keyword combination "Pink moon", "Yellow moon", "Silver moon", etc.), and by rotating the first device counterclockwise the colours are reversely browsed. Instead of the colour, the first device can browse an image gallery to select the other keyword to be combined with a "moon" (to result in a keyword combination e.g. "Moon river", "Moon child", "Man in the moon", etc.). It is realized that the keywords can be combined with varying order. This means that the device is configured to search for any file that satisfies the keyword combination regardless of the order of the keywords. For example, if a result is found for "Blue Moon", also "Moon Blue" can be searched. Therefore, "Blue" as a keyword from the first device can be replaced with keyword "River" from the first device to be combined with keyword "Moon" from the second device. On the other hand, by rotating the second device to clockwise, the images in the image gallery of the second device can be browsed to select another keyword to replace "moon" (to result in a keyword combination e.g. "Blue eyes", "Blue velvet", "Blue suede shoes", etc.) Similarly, by rotating the second device to counterclockwise, the image gallery of the second device a reversely browsed.

Yet in another embodiment one or more devices store an application for companionship. After being started, the application collects data from the devices where the application exists. The application can start e.g. when the two or more devices are close enough to each other. The data being collected can be metadata of image, calendar events, message, collection of web pages user has visited lately, music titles, emails, videos, games, map data etc. The user may be asked which data can be used in said application, e.g. by checking a tick box. In an embodiment, the collected data is in form of text. Thus in both devices there may be different text data based on the past activity or when last used. The application may collect information e.g. from different time intervals or only a certain time period e.g. last two hours or similar. After the devices are connected, e.g. with a Bluetooth connection or NFC, the application starts analyzing the text data in each device to find patterns by combining data from both devices to be used as keyword combination. When a keyword combination is found, an application for amusement is started in least one of the devices. When this application is turned on, it starts automatically (without user interaction) to show video or start to play music, or provide some other amusement etc. based on the analysis and keyword combination. That is based on a search in one or more applications either in one or more nearby devices or network devices, and when the match is found, the respective action (e.g. playing video, music or some other amusing action) will occur.

The various embodiments may provide a surprising result to be shown when data from several devices are combined. The result is more than the combination of the keywords. In addition, the present embodiment for exchanging information between devices represents remarkable advantage over the related technology. This is because data can be easily transmitted by rotating at least one of the devices, whereby less, even none, data transfer configuration by a user needs to be done. The various embodiments of the invention can be implemented with the help of computer program code that resides in a memory and causes the relevant apparatuses to carry out the invention. For example, a device may comprise circuitry and electronics for handling, receiving and transmitting data, computer program code in a memory, and a processor that, when running the computer program code, causes the device to carry out the features of an embodiment.

It is obvious that the present invention is not limited solely to the above-presented embodiments, but it can be modified within the scope of the appended claims.