Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20060010204 A1
Publication typeApplication
Application numberUS 10/886,002
Publication dateJan 12, 2006
Filing dateJul 6, 2004
Priority dateJul 6, 2004
Also published asCN1981506A, CN1981506B, CN104683462A, DE602005021968D1, EP1763945A1, EP1763945B1, EP2224677A2, EP2224677A3, EP2224677B1, US8316088, WO2006005988A1
Publication number10886002, 886002, US 2006/0010204 A1, US 2006/010204 A1, US 20060010204 A1, US 20060010204A1, US 2006010204 A1, US 2006010204A1, US-A1-20060010204, US-A1-2006010204, US2006/0010204A1, US2006/010204A1, US20060010204 A1, US20060010204A1, US2006010204 A1, US2006010204A1
InventorsTeemu Jalava, Jaakko Teinila
Original AssigneeNokia Corporation
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Peer-to-peer engine for object sharing in communication devices
US 20060010204 A1
Abstract
This invention describes a method for sharing of application specific objects between communication devices (e.g., a mobile communication device or a mobile phone) using middleware containing a peer-to-peer engine. This engine is completely peer-to-peer based and no servers are needed in the network. Especially games are seen as a promising potential application for the invention. An application registers to the peer-to-peer (P2P) engine when it wants to share or download files. The P2P engine takes care of the file sharing and informs when a new file has been downloaded so the application can start using it and the P2P engine delivers them to the appropriate application directories. The P2P engine can use either a 2G or 3G general packet radio system (GPRS), a wideband code division multiple access (WCDMA) or a Bluetooth as a transport for the file sharing and the choice of the transport is left to the user.
Images(4)
Previous page
Next page
Claims(32)
1. A method for providing object sharing between a communication device and a further communication device, comprising the steps of:
sending an invite by a peer-to-peer engine of the communication device to a further peer-to-peer engine of the further communication device, wherein said invite signal contains information about at least one file or a part of said at least one file available for sharing and belonging to an application X in said communication device and said information is taken from a peer-to-peer database of said communication device by said peer-to-peer engine; and
transferring said at least one file or the part of said at least one file to a further peer-to-peer database of said further communication device, if said further communication device supports said application X and initiates said transfer, thus providing said object sharing.
2. The method of claim 1, wherein said at least one file or the part of said at least one file must be stored in said peer-to-peer database in order to be the object for sharing and said at least one file or said part of said at least one file is copied from said peer-to-peer database during said transferring.
3. The method of claim 1, wherein said transferring from the communication device to the further communication device is facilitated by said peer-to-peer engine and by said further peer-to-peer engine, respectively.
4. The method of claim 1, wherein after the step of sending the invite signal, the method further comprises the steps of:
determining whether the further communication device supports said application X and optionally contains at least one further file or a part of said at least one further file belonging to said application X for sharing; and
sending, if the further communication device supports said application X, an ok signal by the further peer-to-peer engine of said further communication device to said peer-to-peer engine of said communication device, wherein said ok signal contains, if available for sharing, further information about said at least one further file or the part of said at least one further file and said further information is taken from said further peer-to-peer database by said further peer-to-peer engine.
5. The method of claim 4, wherein after the step of sending an ok signal, the method further comprising the steps of:
sending an acknowledgement signal by the peer-to-peer engine of the communication device to said further peer-to-peer engine of the further communication device, and
transferring said at least one further file or the part of said at least one further file from said peer-to-peer further database to said peer-to-peer database, if said communication device initiates said transfer, thus providing further said object sharing.
6. The method of claim 5, further comprising the step of:
completing said at least one further file or the part of said at least one further file in said peer-to-peer database of said communication device and optionally storing said at least one further file or the part of said at least one further file in said peer-to-peer database in order to be the object for sharing.
7. The method of claim 6, wherein said at least one further file or the part of said at least one further file after said completing is moved or copied to a corresponding application directory X out of N application directories available in said communication device and, if said at least one further file or the part of said at least one further file is moved out of said peer-to-peer database, it is no longer available for sharing in said communication device, wherein N is an integer of at least a value of one.
8. The method of claim 6, wherein said completing includes storing in said peer-to-peer database data regarding said at least one further file or the part of said at least one further file containing a file name, a file type, file meta-data, an application ID, a checksum, a file size, pointers to various file parts, pointers to various checksums of the corresponding file parts, an indication of a file availability for sharing and an indication of a file completeness.
9. The method of claim 5, wherein all signals originated from and received by said peer-to-peer engine and said further peer-to-peer engine are transported by second generation (2G) general packet radio system (GPRS) means, by third generation (3G) general packet radio system (GPRS) means, by code division multiple access (CDMA) means, by wideband code division multiple access (WCDMA) means, by Bluetooth means, by wireless local area networks (WLAN) means, or by upper memory block (UMB) means.
10. The method of claim 5, wherein all the steps initiated by corresponding users of the communication device or the further communication device are performed automatically by the peer-to-peer engine and the further peer-to-peer engine, respectively.
11. The method of claim 4, wherein said further information includes a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding said at least one further file or the part of said at least one further file.
12. The method of claim 1, further comprising the step of:
completing said at least one file or the part of said at least one file in said further peer-to-peer database of said further communication device and optionally storing said at least one file or the part of said at least one file in said further peer-to-peer database in order to be the object for sharing.
13. The method of claim 12, wherein said at least one file or the part of said at least one file after said completing is moved or copied to a corresponding application directory X available in said further communication device and, if said at least one file or the part of said at least one file is moved out of said further peer-to-peer database, it is no longer available for sharing in said further communication device.
14. The method of claim 12, wherein said completing includes storing in said further peer-to-peer database data regarding said at least one file or the part of said at least one file containing a file name, a file type, file meta-data, an application ID, a checksum, a file size, pointers to various file parts, pointers to various checksums of the corresponding file parts, an indication of a file availability for sharing and an indication of a file completeness.
15. The method of claim 1, wherein said communication device is a mobile communication device or a mobile phone.
16. The method of claim 1, wherein said information includes a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding said at least one file or the part of said at least one file.
17. A computer program product comprising: a computer readable storage structure embodying computer program code thereon for execution by a computer processor with said computer program code characterized in that it includes instructions for performing the steps of the method of claim 1 indicated as being performed by any component or a combination of components of said communication device or said further communication device.
18. A communication device for providing object sharing between said communication device and a further communication device, comprising:
a peer-to-peer engine, for sending an invite signal to a further peer-to-peer engine of the further communication device, wherein said invite signal contains information about at least one file or a part of said at least one file available for sharing and belonging to an application X in said communication device, for providing said at least one file or the part of said at least one file for transferring to a further peer-to-peer database of said further communication device, if said further communication device supports said application X and initiates said transfer, thus providing said object sharing; and
a peer-to-peer database, for storing said information about said at least one file or the part of said at least one file, wherein said information is taken from a peer-to-peer database of said communication device by said peer-to-peer engine.
19. The communication device of claim 18, wherein said at least one file or the part of said at least one file must be stored in said peer-to-peer database in order to be the object for sharing and said at least one file or said part of said at least one file is copied from said peer-to-peer database during said transferring.
20. The communication device of claim 18, wherein said transferring from the communication device to the further communication device is facilitated by said peer-to-peer engine and by said further peer-to-peer engine, respectively.
21. The communication device of claim 18, wherein after sending the invite signal, it is determined whether the further communication device supports said application X and optionally contains at least one further file or the part of said at least one further file belonging to said application X for sharing, and, if it is determined that the further communication device supports said application X, an ok signal is sent by the further peer-to-peer engine of said further communication device to said peer-to-peer engine of said communication device, wherein said ok signal contains, if available for sharing, further information about said at least one further file or the part of said at least one further file and said further information is taken from said further peer-to-peer database by said further peer-to-peer engine.
22. The method of claim 21, wherein after sending an ok signal, an acknowledgement signal is sent by the peer-to-peer engine of the communication device to said further peer-to-peer engine of the further communication device, and said at least one further file or the part of said at least one further file is transferred from said peer-to-peer further database to said peer-to-peer database, if said communication device initiates said transfer, thus providing further said object sharing.
23. The communication device of claim 22, wherein all signals originated from and received by said peer-to-peer engine and said further peer-to-peer engine are transported by second generation (2G) general packet radio system (GPRS) means, by third generation (3G) general packet radio system (GPRS) means, by code division multiple access (CDMA) means, by wideband code division multiple access (WCDMA) means, by Bluetooth means, by wireless local area networks (WLAN) means, or by upper memory block (UMB) means.
24. The communication device of claim 22, wherein said at least one further file or the part of said at least one further file in said peer-to-peer database of said communication device is completed and optionally stored in said peer-to-peer database in order to be the object for sharing.
25. The communication device (11) of claim 24, wherein said at least one further file or the part of said at least one further file after said completing is moved or copied to a corresponding application directory X out of N application directories available in said communication device and, if said at least one further file or the part of said at least one further file is moved out of said peer-to-peer database, it is no longer available for sharing in said communication device, wherein N is an integer of at least a value of one.
26. The communication device of claim 24, wherein said completing includes storing in said peer-to-peer database data regarding said at least one further file or the part of said at least one further file containing a file name, a file type, file meta-data, an application ID, a checksum, a file size, pointers to various file parts, pointers to various checksums of the corresponding file parts, an indication of a file availability for sharing and an indication of a file completeness.
27. The communication device of claim 21, wherein said further information includes a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding said at least one further file or the part of said at least one further file.
28. The communication device of claim 18, further comprising:
a peer-to-peer management block, for managing the peer-to-peer engine and the peer-to-peer database.
29. The communication device of claim 18, wherein said information includes a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding said at least one file or the part of said at least one file.
30. The communication device of claim 18, wherein said communication device is a mobile communication device or a mobile phone.
31. Middleware of a communication device for providing object sharing between the communication device and a further communication device, comprising:
a peer-to-peer engine, for sending an invite signal to a further peer-to-peer engine of the further communication device, wherein said invite signal (contains information about at least one file or a part of said at least one file available for sharing and belonging to an application X in said communication device, for providing said at least one file or the part of said at least one file for transferring to a further peer-to-peer database of said further communication device, if said further communication device supports said application X and initiates said transfer, thus providing said object sharing; and
a peer-to-peer database, for storing said information about said at least one file or the part of said at least one file, wherein said information is taken from a peer-to-peer database of said communication device by said peer-to-peer engine.
32. The middleware of the communication device of claim 31, wherein said at least one file or the part of said at least one file must be stored in said peer-to-peer database in order to be the object for sharing and said at least one file or said part of said at least one file is copied from said peer-to-peer database during said transferring.
Description
    TECHNICAL FIELD
  • [0001]
    This invention generally relates to network information sharing and more specifically to sharing of application specific objects between communication devices (e.g., mobile phones) using middleware containing a peer-to-peer engine.
  • BACKGROUND ART
  • [0002]
    Currently there is no transparent way for applications in mobile phones to upload and download files which phone users consider important to share. Either sharing files is not possible at all or the sharing is very user consuming, because the phone user has to personally oversee the transfer. The user has to make sure the files are moved to the appropriate directory and subsequently a particular application uses or edits a configuration of the application to enable usage of these new files, i.e., FTP (File Transfer Protocol) or similar means have to be used. To enable easy transfer of files with as little actions from the user as possible, there should be some kind of file sharing engine. For a better user experience the user should see the transferred file as an object for the particular application, e.g., the user can be informed that there is a new circuit, “Suzuka” for a game “Formula 1 2003” available, and not just told that a track_suzuka_ver11.tra file was downloaded in a “download” directory.
  • [0003]
    Prior art solutions are file transfer solutions where the user has to know what the files are, what they contain, what directory they should be in and how to configure the applications to use them. These previous solutions are implementations of different file transfer protocols. In all these applications little or no middleware application logic is used.
  • DISCLOSURE OF THE INVENTION
  • [0004]
    The object of the present invention is to provide a methodology for sharing of application specific objects between communication devices (e.g., mobile communication devices or mobile phones) using middleware containing a peer-to-peer engine.
  • [0005]
    According to a first aspect of the invention, a method for providing object sharing between a communication device and a further communication device, comprising the steps of: sending an invite by a peer-to-peer engine of the communication device to a further peer-to-peer engine of the further communication device, wherein the invite signal contains information about at least one file or a part of the at least one file available for sharing and belonging to an application X in the communication device and the information is taken from a peer-to-peer database of the communication device by the peer-to-peer engine; and transferring the at least one file or the part of the at least one file to a further peer-to-peer database of the further communication device, if the further communication device supports the application X and initiates the transfer, thus providing the object sharing.
  • [0006]
    According further to the first aspect of the invention, the at least one file or the part of the at least one file must be stored in the peer-to-peer database in order to be the object for sharing and the at least one file or the part of the at least one file may be copied from the peer-to-peer database during the transferring.
  • [0007]
    Further according to the first aspect of the invention, the transferring from the communication device to the further communication device may be facilitated by the peer-to-peer engine and by the further peer-to-peer engine, respectively.
  • [0008]
    Still further according to the first aspect of the invention, after the step of sending the invite signal, the method may further comprise the steps of: determining whether the further communication device supports the application X and optionally contains at least one further file or a part of the at least one further file belonging to the application X for sharing; and sending, if the further communication device supports the application X, an ok signal by the further peer-to-peer engine of the further communication device to the peer-to-peer engine of the communication device, wherein the ok signal contains, if available for sharing, further information about the at least one further file or the part of the at least one further file and the further information is taken from the further peer-to-peer database by the further peer-to-peer engine. Still further, the method may further comprise the step of: completing the at least one further file or the part of the at least one further file in the peer-to-peer database of the communication device and optionally storing the at least one further file or the part of the at least one further file in the peer-to-peer database in order to be the object for sharing. Yet still further, the at least one further file or the part of the at least one further file after the completing may be moved or copied to a corresponding application directory X out of N application directories available in the communication device and, if the at least one further file or the part of the at least one further file is moved out of the peer-to-peer database, it may no longer available for sharing in the communication device, wherein N is an integer of at least a value of one. Yet further still, the completing may include storing in the peer-to-peer database data regarding the at least one further file or the part of the at least one further file containing a file name, a file type, file meta-data, an application ID, a checksum, a file size, pointers to various file parts, pointers to various checksums of the corresponding file parts, an indication of a file availability for sharing and an indication of a file completeness.
  • [0009]
    According still further to the first aspect of the invention, all signals originated from and received by the peer-to-peer engine and the further peer-to-peer engine may be transported by second generation (2G) general packet radio system (GPRS) means, by third generation (3G) general packet radio system (GPRS) means, by code division multiple access (CDMA) means, by wideband code division multiple access (WCDMA) means, by Bluetooth means, by wireless local area networks (WLAN) means, or by upper memory block (UMB) means.
  • [0010]
    According further still to the first aspect of the invention, all the steps initiated by corresponding users of the communication device or the further communication device may be performed automatically by the peer-to-peer engine and the further peer-to-peer engine, respectively.
  • [0011]
    Yet still further according to the first aspect of the invention, the further information may include a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding the at least one further file or the part of the at least one further file.
  • [0012]
    According yet further still to the first aspect of the invention, the method may further comprise the step of: completing the at least one file or the part of the at least one file in the further peer-to-peer database of the further communication device and optionally storing the at least one file or the part of the at least one file in the further peer-to-peer database in order to be the object for sharing. Still further, the at least one file or the part of the at least one file after the completing may be moved or copied to a corresponding application directory X available in the further communication device and, if the at least one file or the part of the at least one file is moved out of the further peer-to-peer database, it may no longer be available for sharing in the further communication device. Yet still further, the completing may include storing in the further peer-to-peer database data regarding the at least one file or the part of the at least one file containing a file name, a file type, file meta-data, an application ID, a checksum, a file size, pointers to various file parts, pointers to various checksums of the corresponding file parts, an indication of a file availability for sharing and an indication of a file completeness.
  • [0013]
    Still yet further according to the first aspect of the invention, the communication device may be a mobile communication device or a mobile phone.
  • [0014]
    According further to the first aspect of the invention, the information may include a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding the at least one file or the part of the at least one file.
  • [0015]
    According to a second aspect of the invention, a communication device for providing object sharing between the communication device and a further communication device, comprising: a peer-to-peer engine, for sending an invite signal to a further peer-to-peer engine of the further communication device, wherein the invite signal contains information about at least one file or a part of the at least one file available for sharing and belonging to an application X in the communication device, for providing the at least one file or the part of the at least one file for transferring to a further peer-to-peer database of the further communication device, if the further communication device supports the application X and initiates the transfer, thus providing the object sharing; and a peer-to-peer database, for storing the information about the at least one file or the part of the at least one file, wherein the information is taken from a peer-to-peer database of the communication device by the peer-to-peer engine.
  • [0016]
    According further to the second aspect of the invention, the at least one file or the part of the at least one file must be stored in the peer-to-peer database in order to be the object for sharing and the at least one file or the part of the at least one file may be copied from the peer-to-peer database during the transferring.
  • [0017]
    Further according to the second aspect of the invention, the transferring from the communication device to the further communication device may be facilitated by the peer-to-peer engine and by the further peer-to-peer engine, respectively.
  • [0018]
    Still further according to the second aspect of the invention, after sending the invite signal, it may be determined whether the further communication device supports the application X and optionally contains at least one further file or the part of the at least one further file belonging to the application X for sharing, and, if it is determined that the further communication device supports the application X, an ok signal may be sent by the further peer-to-peer engine of the further communication device to the peer-to-peer engine of the communication device, wherein the ok signal contains, if available for sharing, further information about the at least one further file or the part of the at least one further file and the further information is taken from the further peer-to-peer database by the further peer-to-peer engine. Still further, after sending an ok signal, an acknowledgement signal may be sent by the peer-to-peer engine of the communication device to the further peer-to-peer engine of the further communication device, and the at least one further file or the part of the at least one further file may be transferred from the peer-to-peer further database to the peer-to-peer database, if the communication device initiates the transfer, thus providing further the object sharing. Further still, the at least one further file or the part of the at least one further file in the peer-to-peer database of the communication device may be completed and optionally stored in the peer-to-peer database in order to be the object for sharing. Yet further, the at least one further file or the part of the at least one further file after the completing may be moved or copied to a corresponding application directory X out of N application directories available in the communication device and, if the at least one further file or the part of the at least one further file is moved out of the peer-to-peer database, it may no longer be available for sharing in the communication device, wherein N is an integer of at least a value of one. Yet still further, the completing may include storing in the peer-to-peer database data regarding the at least one further file or the part of the at least one further file containing a file name, a file type, file meta-data, an application ID, a checksum, a file size, pointers to various file parts, pointers to various checksums of the corresponding file parts, an indication of a file availability for sharing and an indication of a file completeness.
  • [0019]
    According further to the second aspect of the invention, the all signals originated from and received by the peer-to-peer engine and the further peer-to-peer engine may be transported by second generation (2G) general packet radio system (GPRS) means, by third generation (3G) general packet radio system (GPRS) means, by code division multiple access (CDMA) means, by wideband code division multiple access (WCDMA) means, by Bluetooth means, by wireless local area networks (WLAN) means, or by upper memory block (UMB) means.
  • [0020]
    According still further to the second aspect of the invention, the further information may include a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding the at least one further file or the part of the at least one further file.
  • [0021]
    According further still to the second aspect of the invention, the communication device may further comprise: a peer-to-peer management block, for managing the peer-to-peer engine and the peer-to-peer database.
  • [0022]
    According yet further still to the second aspect of the invention, the information may include a file name, a checksum, a file type and a bit field describing what file parts are available to share regarding the at least one file or the part of the at least one file.
  • [0023]
    Yet still further according to the second aspect of the invention, the communication device may be a mobile communication device or a mobile phone.
  • [0024]
    According to a third aspect of the invention, a computer program product comprising: a computer readable storage structure embodying computer program code thereon for execution by a computer processor with the computer program code characterized in that it includes instructions for performing the steps of the first aspect of the invention indicated as being performed by any component or a combination of components of the communication device or the further communication device.
  • [0025]
    According to a fourth aspect of the invention, middleware of a communication device for providing object sharing between the communication device and a further communication device, comprising: a peer-to-peer engine, for sending an invite signal to a further peer-to-peer engine of the further communication device, wherein the invite signal (contains information about at least one file or a part of the at least one file available for sharing and belonging to an application X in the communication device, for providing the at least one file or the part of the at least one file for transferring to a further peer-to-peer database of the further communication device, if the further communication device supports the application X and initiates the transfer, thus providing the object sharing; and a peer-to-peer database, for storing the information about the at least one file or the part of the at least one file, wherein the information is taken from a peer-to-peer database of the communication device by the peer-to-peer engine.
  • [0026]
    According further to the fourth aspect of the invention, the at least one file or the part of the at least one file must be stored in the peer-to-peer database in order to be the object for sharing and the at least one file or the part of the at least one file may be copied from the peer-to-peer database during the transferring.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0027]
    For a better understanding of the nature and objects of the present invention, reference is made to the following detailed description taken in conjunction with the following drawings, in which:
  • [0028]
    FIG. 1 shows an example of a block diagram for a communication device (e.g., a mobile phone) with middleware for peer-to-peer object sharing, according to the present invention.
  • [0029]
    FIG. 2 a shows an example of a structure of a peer-to-peer database, according to the present invention.
  • [0030]
    FIG. 2 b shows examples of peer-to-peer sharing signals used for signaling in a peer-to-peer sharing protocol, according to the present invention.
  • [0031]
    FIG. 3 shows an example of a flow chart for a peer-to-peer object sharing protocol between communication devices (e.g., mobile phones), according to the present invention.
  • BEST MODE FOR CARRYING OUT THE INVENTION
  • [0032]
    The present invention provides a new methodology for sharing of application specific objects between communication devices (e.g., mobile communication devices or mobile phones) using middleware containing a peer-to-peer engine. This engine is completely peer-to-peer based and no servers are needed in the network. Although from a user perspective the transferred items in these peer-to-peer sessions are objects of a certain application, they are files for the peer-to-peer engine middleware, so the term “file” can be also used instead of the term “object”. Especially games are seen as a promising potential application of the present invention.
  • [0033]
    An application registers to the peer-to-peer (P2P) engine when it wants to share or download files. The P2P engine takes care of the file sharing and informs when a new file has been downloaded so the application can start using it. The P2P engine does not understand the contents of the file; it just delivers them to the appropriate application directories. The P2P engine can use a cellular connection, e.g., a second generation (2G) general packet radio system (GPRS), a third generation (3G) GPRS, a code division multiple access (CDMA), a wideband code division multiple access (WCDMA), etc., or a proximity radio connection, e.g., a Bluetooth, a wireless local area networks (WLAN), an upper memory block (UMB), etc. as a transport for the file sharing. The choice of the transport is left to the user.
  • [0034]
    FIG. 1 shows one example among others of a block diagram for a communication device (e.g., a mobile phone) 11 with middleware for peer-to-peer object sharing, according to the present invention.
  • [0035]
    As shown in FIG. 1 a middleware layer 16 sits between an application layer 10 and a transport layer 22. Each of N application directories 12-1, 12-2, . . . , 12-N (N is an integer of at least a value of one) of the application layer 10 contains one of N different applications and files associated with them. Any of these N application directories can register with a peer-to-peer engine 18 of the middleware layer 16 when it wants to share or download files through a corresponding application programming interface (API) out of N APNs 14-1, 14-2, . . . , 14-N. The peer-to-peer engine (P2P) 18 takes care of the file sharing as described in more detail below and informs the appropriate application directory out of said of N application directories 12-1, 12-2, . . . , 12-N when a new file has been downloaded so the appropriate application directory can start using it. The P2P engine 18 does not understand the contents of the file but delivers them to the appropriate application directories. All signals related to file sharing (e.g., peer-to-peer sharing signals 24 and/or peer-to-peer file transfer signals 26) originated from and received by said peer-to-peer engine 18 through an interface 14 are transported, e.g., by second generation (2G) or third generation (3G) general packet radio system (GPRS) means 22-1, by wideband code division multiple access (WCDMA) means 22-2, or by Bluetooth means 22-3, all of the transport layer 22. The choice of the transport means is left to the user. FIG. 1 only shows a few examples of the transport means. As it is pointed out above, in general, the transport means can be a broad class of connection including the cellular connection (e.g., the 2G GPRS, 3G GPRS, CDMA, WCDMA, etc.) or the proximity radio connection (e.g., the Bluetooth, WLAN, UMB, etc.).
  • [0036]
    Regarding the example of FIG. 1, the difference between the GPRS/WCDMA transport and the Bluetooth transport regarding the present invention is that in the GPRS/WCDMA transport the user cannot share files with all the users connected to GPRS/WCDMA networks that have the same P2P engine. Instead, the user has to find other users and tell them that he/she wants to share files with them. On the contrary, in the Bluetooth transport, a user communication base (a number of other users) is limited because of a small range, so the user can keep searching and scanning through the other users inside the Bluetooth coverage and share the files with them on a continuous basis. Another factor which makes Bluetooth transport easier is because the data transfer in Bluetooth transport is free, whereas it is not free in the GPRS/WCDMA transport.
  • [0037]
    The middleware layer 16 also contains another important component defining the present invention: the peer-to-peer (P2P) database 20. The P2P database 20 contains the file or a part of said file that is shared and/or under download. The user can decide if the downloaded file or the part of the file can be further shared after the download is completed. If that is the case, the file or the part of the file is completed as described below and saved in the P2P database 20. If, however, the user decides not to share the file or the part of the file further after the download is complete, then the file or the part of the file is moved to an appropriate application directory out of said N application directories 12-1, 12-2, . . . , 12-N. This will prevent sharing of these files, and information about the file is removed from the P2P database 20. If, however, the file only copied from the P2P database 20 to the appropriate application directory out of said N application directories 12-1, 12-2, . . . , 12-N, the file can continue being shared.
  • [0038]
    Thus only the files being downloaded are always physically in the P2P database 20. Only files to be shared and completed files are stored in the in the P2P database 20. Most of the downloaded files are in the N application directories 12-1, 12-2, . . . , 12-N and the P2P database 20 only contains links to those files through the P2P engine 18. This ensures that a memory (or a disk space) is used as little as possible.
  • [0039]
    A peer-to-peer management block 12-M is for managing the peer-to-peer engine 18 and the peer-to-peer database 20 through the application programming interface (API) 14-M. For example, the user can access the shared files in addition to the application described above, delete temporarily files in the peer-to-peer database 20 (through the peer-to-peer engine 18), change temporarily folders for the peer-to-peer database 20, etc.
  • [0040]
    FIG. 2 a shows one example among others of a structure of the P2P database 20 containing K files, according to the present invention.
  • [0041]
    The content of any file entry in the P2P database 20 can be as follows:
  • [0042]
    A file name
  • [0043]
    A file type. This is a string the application assigns to the file so it can recognize the object and knows what to do with it. For example, application “Formula one game” could use the file type “circuit” and the file name “Suzuka”.
  • [0044]
    An application ID. This ID is used by the P2P engine 18 to keep track which application directory out of the N application directories 12-1, 12-2, . . . , 12-N is the owner of this file. The application ID is given at the time the application registered to the P2P engine 18. When the file is completed this application is prompted. Assigning the application ID is based on IANA (Internet Assigned Number Authority) guidelines for naming the application, for example vnd.nokia.chess (vnd means vendor specific). These Application IDs must be globally unique for an application.
  • [0045]
    Application meta-data. This is a user understandable description (text, figures, etc.) of the content of the file, e.g., “Suzuka track for F1 game with astonishing graphics”. Meta-data can be used by the user to select only desirable files.
  • [0046]
    Checksum. This is used for checking integrity of the received file. If the checksum does not match the checksum calculated from completed file, the file is corrupted.
  • [0047]
    File size.
  • [0048]
    Pointer to part checksums. A single file is composed of one or several parts (e.g., P parts, each with a size, e.g., 100 kB). Each of these parts has its own checksum. This ensures that if a part of a file has become corrupted the whole file does not need to be downloaded again, just the corrupted 100 kB part. The size of the last part can be less than 100 kB.
  • [0049]
    Pointer to the file parts. When a new file is downloaded a space of the size of the file is allocated in the P2P database 20. This space is divided into, e.g., 100 kB parts, to be downloaded separately. When all the parts have been downloaded, the space is continuous and the file is complete.
  • [0050]
    Share. This is a bit field indicating if the file should be shared to other users.
  • [0051]
    Completed. This is a bit field indicating if the file is complete.
  • [0052]
    The file downloaded into the P2P database 20 is complete when all the above information is available in the P2P database 20 for that file.
  • [0053]
    Generally, a peer-to-peer sharing protocol, according to the present invention, contains two parts: signaling (represented by the peer-to-peer sharing signal 24 in FIG. 1) and a file transfer (represented by the peer-to-peer file transfer signal 26 in FIG. 1). In the signaling protocol two participants are describing what files they have to share and what are they looking for. The file transfer protocol is used to transfer the files one part at a time. The transfer is one way only, so if both users want to download something from each other there are two file transfer sessions.
  • [0054]
    FIG. 2 b shows one example among many others of peer-to-peer sharing signals 24 used for signaling in peer-to-peer sharing protocol, according to the present invention. The peer-to-peer sharing signals 24 can include an invite signal 24-1, an ok signal 24-2, an acknowledgement signal 24-3, a cancel signal 24-4 and a bye signal 24-5.
  • [0055]
    In the signaling protocol both parties offer the files they have to share. Based on this information and what files they already have, they start file transfer sessions to acquire desired files. These sessions can be one by one or simultaneous, based on implementation and terminal capabilities of the phones. In the beginning of the signaling protocol session there are three messages exchanged, “invite”, “ok” and “acknowledgement” corresponding to the invite signal 24-1, the ok signal 24-2 and the acknowledgement signal 24-3, respectively. The “invite” describes the files to share belonging to an application X (one out of the N application directories 12-1, 12-2, . . . , 12-N) in an A party (e.g., the communication device 11 of FIG. 1).
  • [0056]
    The description of the file, according to the present invention, can consist of, e.g., the file name, the file checksum, the file type and a bit field describing what are the parts the sharer has. E.g., 101100 would mean the sharer has parts 1, 3 and 4 of the file consisting of six parts.
  • [0057]
    If a B party (e.g., a further communication with similar features as the communication device 11 of FIG. 1) has the application X and some files to share whose owner is the application X, the B party sends the “ok” message back, with a description what files it has. When the A party receives the “ok” message it sends the “acknowledgement” message back and the A party starts a file transfer session to get some file it wants from the B party and similarly the B party starts its own file transfer session to get some file it wants from the A party (there are two separate transfer sessions as mentioned above). If the A or B party does not want any new files to be transferred, it does not start its file transfer session. In case the B party does not have application X, it sends the “cancel” message (corresponding to the cancel signal 24-4) back and the signaling session for the application X files ends. In case neither party wants to transfer any file after the successful signaling session starts, the A or B party can send a “bye” message (corresponding to the bye signal 24-5) after a timeout if no file transfer session is started. The “bye” message is followed by another “bye” message from the other end.
  • [0058]
    There are many possible variations to the procedures described above. For example, there can be a need for security features, which would ensure that the shared files are really generated by the correct application (one of the N application directories 12-1, 12-2, . . . , 12-N). There could be a need to sign the shared file by the corresponding application.
  • [0059]
    Also there can be several alternatives how files are shared automatically between the users. For example, a totally automatic solution will share automatically all files that are marked as shared in a database. In other words, in this solution all the files belonging to a certain application which the other side (user) does not have (assuming that the other side supports said application), these files are transferred “automatically” to the other side. In a semiautomatic solution the middleware will ask another user if he/she wants to download these specific objects (files) of a certain application to his/her terminal (phone). The middleware will show, e.g., application meta-data and size of a file, etc. (as described above) to help the other side to make the decision. Yet in an alternative implementation, it can be also possible to invoke file sharing from the application menu. In an application menu there could be an option to start the object sharing with a specific user and the application would then ask the middleware to take care of the actual file sharing.
  • [0060]
    Furthermore, the signaling protocol could be an SIP (Session Initiation Protocol), the file sharing information could be in the payload of an “invite” message (as described above). This payload can use an SDP (Session Description Protocol), which describes session capabilities of the sender. In the 200 ok response there is the SDP of the other end. These mechanics could easily be reused by this invention.
  • [0061]
    FIG. 3 shows an example of a flow chart for a peer-to-peer object sharing protocol between communication devices (e.g., mobile phones), according to the present invention.
  • [0062]
    The flow chart of FIG. 3 represents only one possible scenario among many others. In a method according to the present invention, in a first step 40, the peer-to-peer (P2P) engine of the communication device 11 (device A) sends the invite signal 24-1 to a further P2P engine of a further communication device (device B). The invite signal describes the files (at least the one file) belonging to an application X (one of the N application directories 12-1, 12-2, . . . , 12-N) in the device A and available to share, wherein information on the files, taken from the P2P database 20 by P2P engine 18, is forwarded (the invite signal 24-1) to the device B using transport layer means (e.g., the GPRS, WCDMA or Bluetooth means 22-1, 22-1, or 22-3). In a next step 42, it is determined whether the device B supports said application X with further files (at least the one further file) belonging to said application X for sharing. If that is not the case (the device B does not support said application X), in a step 44, the further P2P engine of the device B sends the cancel signal 24-4 to the P2P engine 18 of the device A and the process stops. If, however, it is determined that the device B supports said application X, in a next step 46, the P2P engine of the device B sends the ok signal 24-2 to the P2P engine of the device A; the ok signal 24-2 describes the further files (at least the one further file) belonging to the application X in the device B to share, wherein information on the further files is taken from the further P2P database by the further P2P engine of the device B and forwarded (the ok signal 24-2) to the device A using transport layer means described above.
  • [0063]
    In a next step 48, the P2P engine 18 of the device A sends the acknowledgment signal 24-3 to the further P2P engine of the device B. In a next step 50, it is determined whether the device A and/or the device B want to transfer files belonging to the application X from the device B and/or A, respectively. If that is not the case in a step 52, the devices A and B send a bye signal 24-5 to each other. If, however, it is determined that the device A and/or the device B want to transfer files belonging to the application X from the device B and/or A, in a next step 54, the devices A and/or B transfer desired application X files to each other in the separate session (see the signal 26 in FIG. 1); the files and further files are taken from the P2P database 20 and from the further data base, respectively, and downloaded to the further P2P database and to the P2P database 18 of the corresponding devices A and B.
  • [0064]
    In a final step 56, the transferred files are completed in the P2P database and in the further P2P database of the devices A and B and optionally stored in these P2P databases or copied to the corresponding applications (application directories 12-1, 12-2, . . . , 12-N) to be the objects for sharing. Alternatively, these transferred files can be moved to the corresponding applications (application directories 12-1, 12-2, . . . , 12-N) and then they are not available for sharing.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4926326 *Aug 12, 1988May 15, 1990Mckinley Robert ECoin-operated message display system
US5542115 *Jun 24, 1994Jul 30, 1996Pioneer Tech Development LimitedPaging method and apparatus
US5631847 *Apr 27, 1995May 20, 1997Elonex I.P. Holdings, LtdSystem for network file server failure notification
US5740549 *Jun 12, 1995Apr 14, 1998Pointcast, Inc.Information and advertising distribution system and method
US5832474 *Feb 26, 1996Nov 3, 1998Matsushita Electric Industrial Co., Ltd.Document search and retrieval system with partial match searching of user-drawn annotations
US5852436 *Feb 18, 1997Dec 22, 1998Microsoft CorporationNotes facility for receiving notes while the computer system is in a screen mode
US5862325 *Sep 27, 1996Jan 19, 1999Intermind CorporationComputer-based communication system and method using metadata defining a control structure
US5933478 *Sep 27, 1995Aug 3, 1999Hitachi, Ltd.Data transfer system and handheld terminal device used therefor
US6061796 *Aug 26, 1997May 9, 2000V-One CorporationMulti-access virtual private network
US6065044 *Mar 12, 1998May 16, 2000Casio Computer Co., Ltd.Home page update notification apparatus comparing notification time and update time to determine home page update status in an information communication system using computer network and program recording medium
US6067561 *Feb 7, 1997May 23, 2000Hughes Electronics CorporationElectronic mail notification system and method within a hybrid network that transmits notifications via a continuous, high-speed channel
US6094676 *May 30, 1997Jul 25, 2000Hilgraeve IncorporatedMethod and apparatus for peer-to-peer communication
US6094681 *Mar 31, 1998Jul 25, 2000Siemens Information And Communication Networks, Inc.Apparatus and method for automated event notification
US6278448 *Feb 17, 1998Aug 21, 2001Microsoft CorporationComposite Web page built from any web content
US6288715 *May 11, 1999Sep 11, 2001Qwest Communications Int'l., Inc.Screensaver messaging system
US6366907 *Dec 15, 1999Apr 2, 2002Napster, Inc.Real-time search engine
US6396513 *May 14, 1996May 28, 2002At&T Corp.Electronic message sorting and notification system
US6400810 *Jul 20, 1999Jun 4, 2002Ameritech CorporationMethod and system for selective notification of E-mail messages
US6438632 *Mar 10, 1999Aug 20, 2002Gala IncorporatedElectronic bulletin board system
US6507866 *Jul 19, 1999Jan 14, 2003At&T Wireless Services, Inc.E-mail usage pattern detection
US6549916 *May 15, 2000Apr 15, 2003Oracle CorporationEvent notification system tied to a file system
US6591310 *May 11, 2000Jul 8, 2003Lsi Logic CorporationMethod of responding to I/O request and associated reply descriptor
US6658000 *Sep 18, 2000Dec 2, 2003Aerocast.Com, Inc.Selective routing
US6675205 *Jul 20, 2001Jan 6, 2004Arcessa, Inc.Peer-to-peer automated anonymous asynchronous file sharing
US6865600 *May 19, 2000Mar 8, 2005Napster, Inc.System and method for selecting internet media channels
US6892210 *Dec 31, 2001May 10, 2005Worldsync, Inc.Database management and synchronization across a peer-to-peer network
US7089301 *Aug 11, 2000Aug 8, 2006Napster, Inc.System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
US7170999 *Aug 28, 2002Jan 30, 2007Napster, Inc.Method of and apparatus for encrypting and transferring files
US7310629 *Apr 3, 2002Dec 18, 2007Napster, Inc.Method and apparatus for controlling file sharing of multimedia files over a fluid, de-centralized network
US7441180 *Feb 21, 2003Oct 21, 2008Mediadefender, Inc.Computer network file synchronization system and method
US7509492 *Mar 27, 2002Mar 24, 2009Microsoft CorporationDistributed scalable cryptographic access control
US7549047 *Nov 21, 2002Jun 16, 2009Xerox CorporationMethod and system for securely sharing files
US7613770 *Jun 30, 2006Nov 3, 2009Microsoft CorporationOn-demand file transfers for mass P2P file sharing
US7643458 *May 25, 2005Jan 5, 2010Hewlett-Packard Development Company, L.P.Communicating between wireless communities
US7716302 *Jul 16, 2004May 11, 2010Canon Kabushiki KaishaMethod of accessing and sharing a digital document in P2P communication network
US7769810 *Apr 26, 2007Aug 3, 2010Adobe Systems IncorporatedMethod and system for collaborative editing
US7990896 *Jul 13, 2007Aug 2, 2011Sprint Spectrum L.P.Method and system for automating node configuration to facilitate peer-to-peer communication
US20020007401 *May 10, 2001Jan 17, 2002Naoya SuzukiMail-arrival notification system, mail-arrival monitoring apparatus, mail server apparatus, mobile communication terminal, information processing apparatus, mail acquisition instructing method , mail acquiring method, and program storing medium
US20020049760 *Jun 15, 2001Apr 25, 2002Flycode, Inc.Technique for accessing information in a peer-to-peer network
US20020059384 *Jul 5, 2001May 16, 2002Koninklijke Philips Electronics N.V.Substituting URL for attachment in forwarding electronic content
US20020095399 *May 4, 2001Jul 18, 2002Devine Robert L.S.System and methods providing automatic distributed data retrieval, analysis and reporting services
US20020129086 *Aug 31, 2001Sep 12, 2002The Regents Of The University Of CaliforniaCluster-based aggregated switching technique (CAST) for routing data packets and information objects in computer networks
US20020143944 *Jan 22, 2002Oct 3, 2002Traversat Bernard A.Advertisements for peer-to-peer computing resources
US20020147771 *Jan 22, 2002Oct 10, 2002Traversat Bernard A.Peer-to-peer computing architecture
US20020156893 *Jun 5, 2002Oct 24, 2002Eric PouyoulSystem and method for dynamic, transparent migration of services
US20020165979 *May 7, 2001Nov 7, 2002International Business Machines CorporationSystem and method for responding to resource requests in distributed computer networks
US20020184310 *Jan 22, 2002Dec 5, 2002Traversat Bernard A.Providing peer groups in a peer-to-peer environment
US20020184311 *Jan 22, 2002Dec 5, 2002Traversat Bernard A.Peer-to-peer network computing platform
US20020184357 *Jan 22, 2002Dec 5, 2002Traversat Bernard A.Rendezvous for locating peer-to-peer resources
US20020188657 *Jan 22, 2002Dec 12, 2002Traversat Bernard A.Resource identifiers for a peer-to-peer environment
US20020188735 *Jun 6, 2001Dec 12, 2002Needham Bradford H.Partially replicated, locally searched peer to peer file sharing system
US20020194256 *May 31, 2001Dec 19, 2002Needham Bradford H.Limiting request propagation in a distributed file system
US20030018708 *Jul 20, 2001Jan 23, 2003Daryl HlasnyObject search and retrieval service for an ad HOC data communication system
US20030041265 *Aug 21, 2001Feb 27, 2003Todd LagimonierSystem for efficiently handling cryptographic messages containing nonce values in a wireless connectionless environment without compromising security
US20030050834 *Sep 7, 2001Mar 13, 2003Sergio CaplanSystem and method for dynamic customizable interactive portal active during select computer time
US20030055818 *Mar 26, 2002Mar 20, 2003Yaroslav FaybishenkoMethod and system of routing messages in a distributed search network
US20030056093 *Sep 19, 2001Mar 20, 2003Microsoft CorporationPeer-to-peer name resolution protocol (PNRP) group security infrastructure and method
US20030063770 *Oct 1, 2001Apr 3, 2003Hugh SvendsenNetwork-based photosharing architecture
US20030070070 *Jun 7, 2002Apr 10, 2003Yeager William J.Trust spectrum for certificate distribution in distributed peer-to-peer networks
US20030074403 *Nov 25, 2002Apr 17, 2003Harrow Ivan P.Methods and apparatus for peer-to-peer services
US20030088547 *Nov 6, 2001May 8, 2003Hammond Joel K.Method and apparatus for providing comprehensive search results in response to user queries entered over a computer network
US20030088571 *Nov 8, 2001May 8, 2003Erik EkkelSystem and method for a peer-to peer data file service
US20030110181 *Oct 19, 1999Jun 12, 2003Hinrich SchuetzeSystem and method for clustering data objects in a collection
US20030125063 *May 9, 2002Jul 3, 2003Bo SvenssonPeer-to-peer communications within a mobile network
US20030152034 *Feb 1, 2002Aug 14, 2003Microsoft CorporationPeer-to-peer method of quality of service (Qos) probing and analysis and infrastructure employing same
US20030177184 *Jun 14, 2002Sep 18, 2003Dickerman Howard J.Instant messaging session invite for arranging peer-to-peer communication between applications
US20030182428 *Mar 19, 2002Sep 25, 2003Jiang LiPeer-to-peer (P2P) communication system
US20030191816 *Jan 10, 2001Oct 9, 2003Spoovy, LlcSystem and method for creating and delivering customized multimedia communications
US20030225834 *May 31, 2002Dec 4, 2003Microsoft CorporationSystems and methods for sharing dynamic content among a plurality of online co-users
US20030233455 *Jun 14, 2002Dec 18, 2003Mike LeberDistributed file sharing system
US20040003090 *Jun 28, 2002Jan 1, 2004Douglas DeedsPeer-to-peer media sharing
US20040030743 *Feb 20, 2003Feb 12, 2004Jean-Christophe HuglySystem and method for describing and identifying abstract software modules in peer-to-peer network environments
US20040041836 *Aug 28, 2002Mar 4, 2004Microsoft CorporationSystem and method for shared integrated online social interaction
US20040041849 *Aug 30, 2002Mar 4, 2004Von MockDisplay screen saver with two way messaging capability and method therefor
US20040064512 *Sep 26, 2002Apr 1, 2004Arora Akhil K.Instant messaging using distributed indexes
US20040068429 *Oct 2, 2001Apr 8, 2004Macdonald Ian DStrategic organization plan development and information present system and method
US20040088348 *Oct 31, 2002May 6, 2004Yeager William J.Managing distribution of content using mobile agents in peer-topeer networks
US20040103280 *Nov 21, 2002May 27, 2004Xerox Corporation.Method and system for securely Sharing files
US20040107242 *Dec 2, 2002Jun 3, 2004Microsoft CorporationPeer-to-peer content broadcast transfer mechanism
US20040179689 *Mar 23, 2004Sep 16, 2004Mark MaggentiCommunication device for providing security in a group communication network
US20050021398 *Sep 27, 2003Jan 27, 2005Webhound CorporationMethod and system for downloading digital content over a network
US20050120073 *Oct 29, 2004Jun 2, 2005Samsung Electronics Co., Ltd.Method and apparatus for sharing applications using P2P protocol
US20050216300 *Mar 15, 2005Sep 29, 2005Barry AppelmanSharing social network information
US20050243740 *Apr 16, 2004Nov 3, 2005Microsoft CorporationData overlay, self-organized metadata overlay, and application level multicasting
US20060004789 *Jun 14, 2004Jan 5, 2006Christopher LuntMethod of sharing social network information with existing user databases
US20060218225 *Mar 28, 2006Sep 28, 2006Hee Voon George HDevice for sharing social network information among users over a network
US20070064702 *Sep 20, 2005Mar 22, 2007Anthony BatesModifying operation of peer-to-peer networks based on integrating network routing information
US20070230482 *Mar 31, 2006Oct 4, 2007Matsushita Electric Industrial Co., Ltd.Method for on demand distributed hash table update
US20070239759 *Apr 7, 2006Oct 11, 2007Microsoft CorporationRange and Cover Queries in Overlay Networks
US20070250582 *Apr 21, 2006Oct 25, 2007Microsoft CorporationPeer-to-peer buddy request and response
US20080077669 *Sep 21, 2007Mar 27, 2008Cuneyt OzverenPeer-To-Peer Learning For Peer-To-Peer Collaboration
US20080091777 *Oct 12, 2006Apr 17, 2008International Business Machines CorporationMethod, system and program product for building collaboration applications using multiple-peer user interface libraries
US20080177860 *Mar 10, 2008Jul 24, 2008Musicgremlin, Inc.Method of wirelessly sharing content among devices
US20090182842 *Jul 16, 2009Rabindranath DuttaMethod And System For Redirecting Data Requests In Peer-To-Peer Data Networks
US20090187982 *Feb 18, 2009Jul 23, 2009Palo Alto Research Center IncorporatedSystems and methods for authenticating communications in a network medium
US20090240821 *Jun 1, 2009Sep 24, 2009Logitech Europe S.A.Multiplayer Peer-to-Peer Connection Across Firewalls and Network Address Translators Using a Single Local Port on the Local Host
US20100185956 *Jul 22, 2010Microsoft CorporationSignaling support for sharer switching in application sharing
US20100306339 *May 27, 2010Dec 2, 2010International Business Machines CorporationP2p content caching system and method
US20110113350 *May 12, 2011International Business Machines CorporationMethod, system and program product for building collaboration applications using multiple-peer user interface libraries
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7900203Apr 24, 2007Mar 1, 2011Microsoft CorporationData sharing and synchronization with relay endpoint and sync data element
US7933296Mar 2, 2007Apr 26, 2011Microsoft CorporationServices for data sharing and synchronization
US7980954May 9, 2006Jul 19, 2011Wms Gaming Inc.Wagering game system with shared outcome determined by a gaming machine
US8020112Nov 6, 2006Sep 13, 2011Microsoft CorporationClipboard augmentation
US8036140 *Apr 22, 2005Oct 11, 2011Microsoft CorporationApplication programming interface for inviting participants in a serverless peer to peer network
US8296671May 1, 2008Oct 23, 2012Microsoft CorporationEnabling access to rich data by intercepting paste operations
US8370423Feb 5, 2013Microsoft CorporationData synchronization and sharing relationships
US8409014Jun 15, 2011Apr 2, 2013Wms Gaming Inc.Wagering game system with shared outcome determined by a gaming machine
US8453066 *Jan 9, 2007May 28, 2013Microsoft CorporationClipboard augmentation with references
US8468147Jun 12, 2012Jun 18, 2013Huawei Technologies Co., Ltd.Search server interconnection method, search server and system for mobile search
US8538951Feb 17, 2012Sep 17, 2013Huawei Technologies Co., Ltd.Search server interconnection method, search server and system for mobile search
US8693391Jul 14, 2006Apr 8, 2014Nokia CorporationPeer to peer services in a wireless communication network
US8751442Feb 12, 2007Jun 10, 2014Microsoft CorporationSynchronization associated duplicate data resolution
US8971331 *Mar 24, 2009Mar 3, 2015Nokia CorporationSelection of transmission parameters for wireless connection
US9197733Feb 21, 2012Nov 24, 2015Blackberry LimitedSystem and method for transferring data between electronic devices
US9203786Jan 14, 2013Dec 1, 2015Microsoft Technology Licensing, LlcData synchronization and sharing relationships
US20060020455 *Jul 20, 2004Jan 26, 2006Motorola, Inc.Adaptive plug-in architecture for mix-mode personal communication
US20060229015 *Mar 31, 2006Oct 12, 2006Samsung Electronics Co., Ltd.Device and method for displaying files during bluetooth communication in a wireless terminal
US20060239295 *Apr 22, 2005Oct 26, 2006Microsoft CorporationApplication programming interface for inviting participants in a serverless peer to peer network
US20070173265 *Jan 16, 2007Jul 26, 2007Gum Arnold JMethod and apparatus for setting the boundaries of virtual operations
US20070223462 *Aug 17, 2006Sep 27, 2007Steven HiteEnhanced service delivery platform that provides a common framework for use by IMS and Web applications in delivering services
US20070237139 *Jul 14, 2006Oct 11, 2007Nokia CorporationNode
US20070294366 *Sep 15, 2006Dec 20, 2007Microsoft CorporationData Synchronization and Sharing Relationships
US20080031176 *Oct 6, 2005Feb 7, 2008Koninklijke Philips Electronics, N.V.Radio Communications Gateway And Radio Communications Terminal
US20080086360 *Oct 5, 2007Apr 10, 2008Rajesh KanapurSystem and method for advertising via mobile devices
US20080109464 *Jan 9, 2007May 8, 2008Microsoft CorporationExtending Clipboard Augmentation
US20080109744 *Nov 6, 2006May 8, 2008Microsoft CorporationClipboard Augmentation
US20080109832 *Jan 9, 2007May 8, 2008Microsoft CorporationClipboard Augmentation with References
US20080133723 *Dec 4, 2007Jun 5, 2008Electronics & Telecommunications Research InstituteExtended home service apparatus and method for providing extended home service on p2p networks
US20080195739 *Feb 12, 2007Aug 14, 2008Microsoft CorporationResolving Synchronization Duplication
US20080212616 *Mar 2, 2007Sep 4, 2008Microsoft CorporationServices For Data Sharing And Synchronization
US20080221909 *Mar 8, 2007Sep 11, 2008Nokia CorporationAnimated connection page
US20080267221 *Apr 24, 2007Oct 30, 2008Microsoft CorporationData Sharing and Synchronization with Relay
US20080276091 *May 4, 2007Nov 6, 2008Annikki WelinMobile Device File Sharing Method and Apparatus
US20080320139 *Jun 25, 2007Dec 25, 2008Yahoo! Inc.Social mobilized content sharing
US20090075696 *Jan 24, 2008Mar 19, 2009Rajesh KanapurSystem and Method for Storage and Sharing of Digital Media
US20090176556 *May 9, 2006Jul 9, 2009Gagner Mark BWagering game system with shared outcome determined by a gaming machine
US20100095009 *Oct 1, 2007Apr 15, 2010Nokia CorporationMethod, System, and Devices for Network Sharing or Searching Of Resources
US20120020248 *Mar 24, 2009Jan 26, 2012Nokia CorporationSelection of transmission parameters for wireless connection
US20130339941 *Dec 16, 2011Dec 19, 2013Antix Labs Ltd.Methods of distributing software
EP2632112A1 *Feb 21, 2012Aug 28, 2013Research In Motion LimitedSystem and method for transferring data between electronic devices
WO2009002694A2 *Jun 10, 2008Dec 31, 2008Eric FixlerSocial mobilized content sharing
WO2010145709A1 *Jun 18, 2009Dec 23, 2010Telefonaktiebolaget Lm Ericsson (Publ)Data flow in peer-to-peer networks
Classifications
U.S. Classification709/205
International ClassificationG06F15/16
Cooperative ClassificationH04L67/1068, H04L67/04, H04L67/1095, H04L67/06, H04L67/38, H04M2250/64, H04M1/7253, G06Q10/10
European ClassificationG06Q10/10, H04L29/08N9P2C, H04L29/08N3, H04L29/08N9R, H04L29/06C4
Legal Events
DateCodeEventDescription
Sep 30, 2004ASAssignment
Owner name: NOKIA CORPORATION, FINLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JALAVA, TEEMU;TEINILA, JAAKKO;REEL/FRAME:015206/0100
Effective date: 20040802
Apr 26, 2015ASAssignment
Owner name: NOKIA TECHNOLOGIES OY, FINLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:035495/0924
Effective date: 20150116