The present invention relates generally to wireless communication systems, and more particularly to methods and apparatus for providing a social network through embedding attributes in exchanged files.
Digital file sharing is a major focus of many innovative software applications. There is significant user demand for new devices and applications for sharing photographs, videos, and music, as well as more traditional file types such as word processor documents and spreadsheets. Users have traditionally shared digital files between computers through email, websites, and exchanging physical storage media, such as CD-ROM disks and USB storage devices. As the storage capacity of mobile devices, such as cellular phones and portable MP3 players, have increased new applications have emerged to allow users to share digital files between mobile devices.
Users are also increasingly turning to social networking websites and applications to share digital files. Social networking websites not only provide an easy way to share files with contacts but also increase the collaborative aspect of digital files. Some social networking websites allow users to see which other users have access to a given photograph. Some also allow users to collaboratively edit certain files. However, social networking applications generally store information on a centralized server.
The various aspects provide methods for establishing a social network including establishing a close range communication link between a first mobile device and a second mobile device, and transmitting social network information from the first mobile device to the second mobile device via the close range communication link. The social network information may include a social network identifier created by a user of the first mobile device which may be included within a data file transmitted to the second mobile device via the close range communication link or within metadata of a file transmitted to the second mobile device via the close range communication link. The social network identifier may be an identifier of the first mobile device. The first mobile device may also receive an identifier of the second mobile device via the close range communication link, and storing the identifier of the second mobile device in a data file or within the metadata of the file being transmitted before the file is transmitted to the second mobile device. The social information stored within the first mobile device in a data file or in a file metadata may be updated based upon updated social information received in a subsequent message from a third mobile device. The close range communication link may be a near field communication (NFC) protocol communication link, a Bluetooth® protocol communication link, a IEEE 802.14.4 protocol communication link, an infrared communication link, or other wireless proximity-limited communication link.
The various aspects may also provide methods for sharing files within a social network by establishing a close range communication link between a first mobile device and a second mobile device, receiving in the first mobile device social network information from the second mobile device via the close range communication link, discovering whether the first mobile device and the second mobile device are members of a common social network based upon the received social network information, selecting a file for transmission to the second mobile device based upon the discovered common social network, and transmitting the selected file from the first mobile device to the second mobile device via the close range communication link. The social network information may be an identifier that may be saved in a data file or within metadata of files designated for sharing with the social network. The social network information may also be an identifier of the second mobile device, such as a telephone number, and discovery of a common social network may be accomplished by comparing the received identifier to identifiers in an address database to identify a match, in which case the common social network may be a category assigned to a matching address data record. The file transferred to the second mobile device may be selected to avoid redundant transmissions by receiving identifiers of files designated for sharing with the social network stored on the second mobile device and transmitting only those files on the first mobile device that are not among the received file identifiers.
In an aspect a mobile device includes a processor, a memory and a wireless close range communication transceiver, in which the processor is configured to establish a close range communication link between a mobile device and a second mobile device via the wireless close range communication transceiver, and transmit social network information to the second mobile device via the close range communication link. The social network information may include a social network identifier created by a user of the mobile device which may be included within a data file that the processor is configure to transmit to the second mobile device via the close range communication link or within metadata of a file that the processor is configure to transmit to the second mobile device via the close range communication link. The social network identifier may be all identifier of the mobile device. The mobile device processor may also be configured to receive an identifier of the second mobile device via the close range communication link, and store the identifier of the second mobile device in a data file in the memory or within the metadata of the file being transmitted before the file is transmitted to the second mobile device. The processor may be further configured to update the social information stored within the mobile device memory in a data file or in a file metadata based upon updated social information received in a subsequent message from a third mobile device. The wireless close range communication transceiver may be a near field communication (NFC) protocol transceiver, a Bluetooth® protocol transceiver, a IEEE 802.14.4 protocol transceiver, an infrared transceiver, or other wireless proximity-limited communication transceiver. The mobile device processor may further be configured to receive social network information from the second mobile device via the close range communication link, discover whether the mobile device and the second mobile device are members of a common social network based upon the received social network information, select a file for transmission to the second mobile device based upon the discovered common social network, and transmit the selected file from the first mobile device to the second mobile device via the close range communication link. The social network information may be an identifier saved in a data file or within metadata of files designated for sharing with the social network. The social network information may also be an identifier of the second mobile device, such as a telephone number, and the processor may be configured to discover a common social network by comparing the received identifier to identifiers in an address database to identify a match, in which case the common social network may be a category assigned to a matching address data record. The processor may be further configured to select the file transferred to the second mobile device to avoid redundant transmissions by receiving identifiers of files designated for sharing with the social network stored on the second mobile device and transmitting only those selected files that are not among the received file identifiers.
In an aspect a mobile device includes a means for establishing a close range communication link between the mobile device and a second mobile device, and a means for transmitting social network information from the first mobile device to the second mobile device via the close range communication link. The mobile device may further include a means for transmitting a data file or file to the second mobile device via the close range communication link. The social network information may include a social network identifier created by a user of the mobile device which may be included within a data file transmitted to the second mobile device or within metadata of a file transmitted to the second mobile device. The social network identifier may be an identifier of the mobile device. The mobile device may also include a means for receiving an identifier of the second mobile device via the close range communication link, and a means for storing the identifier of the second mobile device in a data file or within the metadata of the file being transmitted before the file is transmitted to the second mobile device. The mobile device may also include a means for updating social information stored within the mobile device in a data file or in a file metadata based upon updated social information received in a subsequent message from a third mobile device. The means for establishing a close range communication link may be a means for establishing a near field communication (NFC) protocol communication link, a means for establishing a Bluetooth® protocol communication link, a means for establishing a IEEE 802.14.4 protocol communication link, a means for establishing an infrared communication link, or a means for establishing another wireless proximity-limited communication link. The mobile device may further include a means for receiving social network information from the second mobile device via the close range communication link, a means for discovering whether the mobile device and the second mobile device are members of a common social network based upon the received social network information, a means for selecting a file for transmission to the second mobile device based upon the discovered common social network, and a means for transmitting the selected file from the first mobile device to the second mobile device via the close range communication link. The mobile device may include a means for saving the social network information as an identifier in a data file or within metadata of files designated for sharing with the social network. The social network information may also be an identifier of the second mobile device, such as a telephone number, in which case the means for discovering a common social network may include a means for comparing the received identifier to identifiers in an address database to identify a match, in which case the common social network may be a category assigned to a matching address data record. The mobile device may include a means for selecting files for transfer to the second mobile device to avoid redundant transmissions including a means for receiving identifiers of files designated for sharing with the social network stored on the second mobile device and a means for transmitting only those selected files that are not among the received file identifiers.
In an aspect a computer program product includes a computer-readable medium including at least one instruction for establishing a close range communication link between a first mobile device and a second mobile device, and at least one instruction for transmitting social network information from the first mobile device to the second mobile device via the close range communication link. The computer-readable medium may include at least one instruction for transmitting a file or data file to the second mobile device via the close range communication link. The social network information may include a social network identifier created by a user of the first mobile device which may be included within a data file transmitted to the second mobile device or within metadata of a file transmitted to the second mobile device. The social network identifier may be an identifier of the first mobile device. The computer-readable medium may include at least one instruction for receiving an identifier of the second mobile device via the close range communication link, and at least one instruction for storing the identifier of the second mobile device in a data file or within the metadata of the file being transmitted before the file is transmitted to the second mobile device. The computer-readable medium may include at least one instruction for updating the social information stored within the first mobile device in a data file or in a file metadata based upon updated social information received in a subsequent message from a third mobile device. The computer-readable medium may include at least one instruction for establishing a near field communication (NFC) protocol communication link, at least one instruction for establishing a Bluetooth® protocol communication link, at least one instruction for establishing a IEEE 802.14.4 protocol communication link, at least one instruction for establishing an infrared communication link, or at least one instruction for establishing another wireless proximity-limited communication link. The computer-readable medium may further include at least one instruction for receiving in the first mobile device social network information from the second mobile device via the close range communication link, at least one instruction for discovering whether the first mobile device and the second mobile device are members of a common social network based upon the received social network information, at least one instruction for selecting a file for transmission to the second mobile device based upon the discovered common social network, and at least one instruction for transmitting the selected file from the first mobile device to the second mobile device via the close range communication link. The social network information may be an identifier that may be saved in a data file or within metadata of files designated for sharing with the social network. The social network information may also be an identifier of the second mobile device, such as a telephone number, and the computer-readable medium may include at least one instruction for discovery of a common social network may be accomplished by comparing the received identifier to identifiers in an address database to identify a match, in which case the common social network may be a category assigned to a matching address data record. The computer-readable medium may include at least one instruction for selecting the file transferred to the second mobile device to avoid redundant transmissions including at least one instruction for receiving identifiers of files designated for sharing with the social network stored on the second mobile device, and at least one instruction for transmitting those selected files that are not among the received file identifiers.
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary aspects of the invention, and, together with the general description given above and the detailed description given below, serve to explain features of the invention.
a-3c are process flow diagrams of aspect methods for sharing digital files in a social network.
The various aspects will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claims.
In this description, the term “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
As used herein, the term “mobile device” is intended to encompass any form of programmable computer as may exist or will be developed in the future which implements a communication module for wireless voice and data communications, including, for example, cellular telephones, personal data assistants (PDA's), palm-top computers, laptop, and notebook computers, wireless electronic mail receivers (e.g., the Blackberry® and Treo® devices), multimedia Internet enabled cellular telephones (e.g., the Blackberry Storm®), and similar personal electronic devices which include a wireless communication module, processor, and memory.
As used herein, the term “file” or “digital file” is intended to encompass any resource for storing information in a manner that can be recognized by a computer processor. Users typically think of a file as an entity within a file system that can be edited, copied, moved, deleted, or renamed. However the same information that can be stored in a file that is part of a file system can be stored within an application that hides the data from direct access by the user. Such applications may include database management systems and encrypted file stores. Furthermore, while files are typically stored in a file system based on one or more permanent storage media such as a hard drive or flash memory, files may be stored in volatile memory such as RAM or cache memory.
The various aspects make use of wireless proximity-limited communication technologies to exchange files and social networking information between devices. A variety of wireless proximity-limited communication technologies may be used for this purpose. Examples of proximity-limited communication technologies include: near-field communications (NFC) protocol technologies; Bluetooth® protocol technologies; wireless personal area networks (WPAN) technologies based upon IEEE 802.14.4, including Zigbee®, WirelessHART and MiWi specifications; and infrared communication technologies, such as the IrDA (Infrared Data Association) protocol.
NFC technology devices operate in the unregulated RF band of 13.56 MHz and fully comply with existing contactless smart-card technologies, standards, and protocols such as FeliCa and Mifare. NFC-enabled devices are interoperable with contactless smart-cards and smart-card readers conforming to these protocols. The effective range of NFC protocol communications is approximately 0-20 cm (up to 8 in.), and data communications terminate either by a command from an application using the link or when the communicating devices move out of range.
However, the aspects and the claims are not necessarily limited to any one or all of the NFC protocols, and instead may encompass any close range (i.e., proximity-limited) wireless communication link. The Bluetooth® communication protocol is another suitable close range communication link that may be used. Bluetooth® transceivers may be configured to establish communication links automatically or in response to user commands as part of the various aspects as are provided for in the Bluetooth® protocol. The IrDA (Infrared Data Association) protocol may be used since the infrared transceivers must be within visual range of each other in order to establish a communication link, thereby restricting communications to situations where two mobile device users are cooperating to establishing the communication link. Short range wireless communication technologies, such as WPAN technologies based upon the IEEE 802.15.4 protocol may also be used, perhaps with range limiting features such as reduced transmission power level. In addition, other close range communication protocols and standards may be developed which may be used in the various aspects in the same manner as NFC, Bluetooth®, IrDA, and WPAN protocol devices.
Further, longer range wireless technologies and protocols may be used with modifications or additions that limit their effective range for purposes of identifying electronic devices one to another. For example, IEEE 802.11 (WiFi) (which communicates using the 2.4 GHz frequency band) and UWB (Ultra Wideband) wireless communication protocols and standards may also be used in combination with range-limiting features. For example, the power of transmitters may be limited for authentication communications, such that two devices must be relatively close together (e.g. within a few feet of each other) in order to send and receive the communications contemplated in the various aspects. As another example, round-trip communication delay limits may be imposed such that authentication communications can only occur if the round trip of such signals is less than a threshold set to reject signals sent from more than a dozen feet or so, and maybe as short as two to three feet separation.
For simplicity of reference, the various aspects and the claims refer to “close range communications” and “near field communications” in order to encompass any and all wireless proximity-limited communication technologies. References herein to “close range communication links” and “near field communications” are not intended to limit the scope of the description or the claims in any way other than the communications technology will not exchange credential information beyond the immediate vicinity of a user, which may be about three meters (about twelve feet). In a preferred aspect, the close communication range is limited to less than about one meter (about three feet), in a further preferred aspect, the communication range is limited to less than about one foot, and in some aspects the communication range is limited to approximately 0-20 cm (up to 8 in.). In order to reflect this distinction, descriptions of aspects using links with communication ranges of approximately 0-20 cm (up to 8 in.) refer to “NFC protocol” links. Therefore, references to “NFC protocol” communications are intended to be limited to communications transceivers and technologies with ranges provided by the various NFC protocols and standards listed above, but may also include technologies with a similar limited communication range.
With close range communications like NFC protocol devices it is easy to connect any two devices to each other with a secure wireless data link to exchange information or access content and services. Solution vendors argue that the intuitive operation of NFC protocol systems makes the technology particularly easy for consumers to use (“just touch and go”), while the inherent security resulting from its very short communication range makes such systems ideal for mobile payment and financial transaction applications. Familiar applications of NFC protocol technology are electronic pass keys used in building security systems, mass transit fare card systems, and smart credit cards which need only to be brought close to a point of sale reader to complete a transaction.
Social networking websites and applications are rapidly gaining in popularity as vehicles for sharing digital files among informal groups of individuals. Social networking via the Internet enable the sharing of files among individuals, but the information is stored in a centralized server that group members access. This centralized system topography may not be ideal for integrating social networking concepts with file sharing when files are maintained on group member mobile devices. Applications that enable decentralized social networks that include shared files among a limited or trusted social network would fill a gap in current social networking concepts available. The various aspects take advantage of close range wireless communication technologies and the portability of mobile devices to enable users to create ad hoc social networks for sharing files among a trusted social network. Using close range communication technologies to create the social network and exchange files allows users to control the members of the network more so than possible with Internet networks. Since two mobile devices must be brought very close together to create or join a social network, users will know who is joining and will have access to shared files.
The various aspects may be employed in a variety of wired and wireless networks, including for example a wireless network employing cellular data communication links. By way of example,
The mobile devices 28, 29 within the network 10 may be capable of other types of communications, such as wireless communications via a cellular network in which mobile cellular devices 28, 29 are configured with an airlink for transmitting and receiving cellular signals 2 from/to a cellular base site or base station 16. In this example network 10, the base station 16 is a part of a cellular network that includes elements required to operate the network, such as a mobile switching center 18. In operation, the mobile switching center 18 is capable of routing calls and messages to and from the mobile devices 28, 29 via the base station 16 when the mobile devices 28, 29 are making and receiving cellular data calls. The mobile switching center 18 may also provide a connection to telephone landline trunks (not shown) during telephone calls, and to a server gateway 22 coupled to the Internet 24 for sending and receiving data to an Internet accessible server 26.
The various aspects enable mobile device users to create a social network for sharing digital information, such as documents, pictures, videos, and audio files, by bringing their mobile devices 28, 29 sufficiently close together (e.g., touch together) to establish a close range communication link. The limited range of the close range communication link provides users with security that their social network extends only to who are known personally to the members, such as family members and friends who they trust. Using such a proximity-initiated communication link, files designated for sharing within the social network can be communicated back and forth until each stores all of the designated shared files of the other. This sharing of files continues as each member of the network touches (or nearly touches) their mobile device 28, 29 to devices of other members of the network. In this manner friends and family, and similar social networks, can pass along photos, electronic post cards, chain letters, etc.
In order to establish a social network, some information about the network must be exchanged between the mobile devices 28, 29. Conventional social networks maintained on centralized servers in which the server maintains a list of members and which monitors the log-in of users. In contrast, a decentralized network enabled by the various aspects depends upon the mobile devices identifying the social networks to which they belong so that two or more mobile devices 28, 29 communicating via a close range communication link can discover if they are in a common network.
Information identifying a social network may be any data such as numbers, letters, words, and combinations thereof, that users want to use. For example, users may identify a social network with a descriptive title such as “Smith Family.” While users may use simple identifiers, mobile devices may be configured to append near-random numbers to minimize the likelihood that two unrelated social networks would have the same identifier which could lead to unintended file sharing across the two unrelated networks. For example, a user may initiate a new social network by giving it the name “Smith Family” to which the user's mobile device may append a random number, such as 58135498513547 to yield: Smith_Family58135498513547.
In one aspect, such social network membership information may be stored in a file that can be exchanged between mobile devices 28, 29 communicating via a close range communication link. For example, the mobile devices 28, 29 may be configured to maintain a data file containing social network identification information and to exchange identifiers in this data file with other mobile devices when a close range communication link is established. In this aspect, one or both mobile devices 28, 29 can compare a received social network identification list file to such a file stored in memory to determine if there are any matches.
Using the Smith Family example, when the user adds a family member to the Smith Family social network by touching the user's mobile device to the mobile device of a family member, the added mobile device may store “Smith_Family58135498513547” in its social network list data file. Then the next time the two mobile devices are brought close together one or both may exchange their social network list data file enabling the devices to discover that they share membership in the “Smith_Family58135498513547” social network.
Once two mobile devices 28, 29 in close range wireless communication identify a common social network membership, they may exchange files (e.g., documents, photos, etc.) that have been designated for sharing within the common social network. A variety of methods may be used for designating files to be shared within a social network, including storing such files in a particular “folder” in memory (e.g., a “Smith Family Photos” folder), adding a file extension to the file names (e.g., “pic1.SmithFamily.jpg”), or appending an identifier to the file contents. In an aspect described more fully below, files are identified for sharing within a social network using metadata associated with each file.
Many file formats contain additional information about the file that is not viewed by the user in the typical usage scenario. Such information about information stored in a file is referred to in the digital information arts as “metadata.” For example, a JPEG-formatted picture (i.e., a “JPEG file”) often includes a portion of the file that is reserved for “comments” and other information about the picture. For example metadata associated with a JPEG picture may include the day and time that the picture was taken, as well as comments that users may add, such as a caption. The content of metadata, such as the JPEG comments field, may be ASCII-formatted text that contains information such as the software used to create the file or the copyright owner of the file. When such a JPEG picture is opened for viewing (e.g., as part of a web page), the comment field is generally not displayed. Thus, the content of the comment field might not affect the typical user experience. Nevertheless, the metadata is available to an application accessing that file. Various aspects take advantage of the existence and nature of metadata to store information related to social networking groups (e.g., designation that the file may be shared) within a file in a manner that does not interfere with or inhibit normal use of the file.
In another aspect, social networking information may be stored within the actual data of the file in a manner that is transparent to the user. Such a technique is known as “steganography” or “watermarking.” For example, the image data of a JPEG file may be altered in a manner that adds text which can be extracted from the file. The original JPEG file and the altered (i.e., watermarked) JPEG file may be indistinguishable to a user viewing the images presented side by side. The hidden text included using steganographic methods is also referred to herein as metadata, even though it is data that is intertwined with the image data. For many file formats, there may not be a clear distinction between data and metadata. As used herein, “metadata” refers to any information about a digital file that can be extracted from the digital file.
Using metadata information regarding the social network or networks with which a particular file can be stored within the file itself. Thus, in this aspect, a mobile device may be configured to access each file's metadata to determine if it is to be shared with a member of a social network with which it has established a close range communication link. This aspect simplifies the process of designating files for sharing since the files need not be moved to a particular folder or renamed.
In a further aspect, metadata in files designated for sharing are used to identify both the mobile device social network membership and that the file is to be shared with the social network. Thus, when a user creates or joins a social network, the identifier of that social network may be added to the metadata of files identified for sharing with that network. For example, a user may create the “Smith Family” social network by selecting a photo (or other type of document) and designating it to be shared with that social network. The mobile device may be configured to edit the selected photo data file to add the social network identifier (e.g., Smith_Family58135498513547) to the file's metadata. The mobile devices may be further configured to exchange file metadata tags during a close range communication session to discover common social network membership. Thus, in this aspect, file metadata tags are exchanged instead of a social network list data record as describe in the preceding aspect. For example, two mobile devices of Smith family members are brought close together one or both may exchange the metadata tags on their stored files to enable the devices to discover that they share membership in the “Smith_Family58135498513547” social network. This process of sharing social network memberships for common membership discovery also enables discovery of the files designated for sharing within the social network at the same time.
A further issue associated with decentralized social networks enabled by the various aspects involves the potential of redundant file sharing. Once two mobile devices that are members of a social network have exchanged files there is no need to exchange the same files the next time the two devices establish a close range communication link. However, some files may be added or modified in the meantime, so it would be desirable to exchange files that have been added or changed since the last exchange of files. This capability is provided in an aspect in which information about each file, such as a file identifier and, optionally, a version identifier, are also included in metadata to enable mobile devices to recognize new and modified files. Such identifiers may be conventional metadata information such as file names and date/time of last update. Alternatively, special social networking file/version identifier metadata may be appending to the file metadata. By configuring mobile devices to exchange metadata related to files designated for sharing in a particular social network, the mobile devices can discover the new or modified files present on the other device. Mobile devices can be configured to discover the new/modified files and only exchange the files that are not already shared. To do so, the mobile devices may exchange the portions of file metadata including the social network identifier, the file identifier, and the last-update day/time information. Receiving mobile devices can compare this information to the metadata of the files stored within its memory to select only those files (or versions of files) that are not stored in memory. This aspect is expected to speed the process of updating social network files between two devices after an initial synchronization with a social network.
In a further aspect, the metadata associated with a file may include information regarding the mobile devices through which the file has been passed. Thus, if a file has been transferred from a first mobile device to a second mobile device, and from the second mobile device to a third mobile device, the metadata on the file on the third mobile device may include information indicating that the file is already stored on the first and second mobile devices.
An example process 100 for exchanging files and social networking metadata between two mobile devices 2, 4 via a close range communication link, such as an NFC communication link, is illustrated in
In block 110 the users may initiate a social networking exchange of information by bringing their two mobile devices 2, 4 into close proximity so that a close range communication link, such as an NFC communication link, is established between the devices. The mobile devices 2, 4 equipped with wireless close range communication transceivers, such as NFC protocol transceivers, may be configured to automatically establish a close range communication link as soon as the devices are within communication range (e.g., about 8-10 inches in the case of NFC protocol transceivers). Alternatively, one or both of the mobile devices may be configured so that a user is required (e.g., pressing a button or making a menu selection on their mobile devices 2, 4) before a close range communication link will be established. Requiring both a user action and bringing mobile devices 2, 4 into close proximity can protect against inadvertent social network exchanges, such as might otherwise happen in a crowded elevator, for example. The handshaking communication exchanges involved in establishing a close range communication link may be specified in the associated protocol. For example, the handshaking exchanges to establish an NFC communication link are well known and specified in the NFC protocol. For aspects that use other forms of close range communication links (e.g., Bluetooth®, Zigbee®, range-limited WiFi, etc.), the handshaking communication exchanges involved in establishing the close range communication link will be in accordance with the particular signaling protocol employed.
Once the close range communication link is established, in block 111 the mobile devices 2, 4 may exchange social network information between each other sufficient to enable one or both devices to discover and agree upon a social network to which both two devices belong. In the situation where the users are initiating a social network or adding a new device to an established social network, this communication exchange may involve transmitting the social network identifier and related information from the member mobile device 2 to the mobile device 4 being added to the network. Thus, users can quickly create a social network by creating a social network identifier on a first mobile device 2, and then adding other mobile devices to the network simply by touching or nearly touching the devices together. In an aspect, in block 111 some user action may also be required to add a mobile device 4 to a social network, such as activation of a button or user menu in order to enable the social network addition communications.
In the situation where the close range communication link has been established between two mobile devices 2, 4 which are both members of at least one established social network, the information exchange in block 111 may enable discovery of common network memberships. For example, in one aspect, the mobile devices 2, 4 may exchange a social network list datafile from one to the other (i.e., either one-way or both ways). In this aspect, the mobile device 2, 4 receiving such a social network list datafile may compare the social network identifiers in that list to the social network identifiers in its own social network list datafile stored in memory to identify common memberships. In another aspect, the mobile devices 2, 4 may exchange a social network metadata stored in data files designated for sharing. In this aspect, the mobile device receiving such metadata may compare social network identifiers within it to social network identifiers included in its own file metadata to discover common memberships. A variety of methods may be implemented to discover the common social networks and agree on a particular common network, two examples of which are describe more fully below with reference to
Once the mobile devices 2, 4 have agreed on a common social network, in block 112 the first mobile device 2 may transmit the files designated for sharing over the close range communication link. In block 114 the second mobile device 4 receives the files and may store them in memory. In some aspects, initiating a file transfer may include a series of communications that occur between the mobile devices 2, 4 after the close range communication link is established (i.e., in block 110) but prior to transmitting the file (i.e., in blocks 112, 114).
Once the second mobile device 4 has received and saved the file or files in block 114, in block 116 it may update the social networking metadata on its local copy of the transferred file or files to reflect the social networking information corresponding to the second mobile device 4. In block 118 the second mobile device 4 may also send identifying information to the first mobile device 2 over the close range communication link, which in block 120 the first mobile device may use to update the social networking metadata on its copy of the file. Such updates to the social networking metadata are optional, and may not be implemented in all aspects.
It should be noted that while
The optional updates to social networking metadata during file sharing illustrated in blocks 116-120 of process 100 shown in
As mentioned above, in block 111 of process 100 a variety of methods may be used to discover and select a social network common to two (or more) mobile devices. In one example method illustrated as process 111a in
Since users may be members of multiple social networks there is a possibility that the users' mobile devices discover more than one common social network. In this case it may be desirable to select a single social network for file sharing to avoid files designated for one network “leaking” into the other social network. A variety of methods may be used to select one of multiple common networks. For example, in one aspect social networks may be prioritized by users, in which case the mobile devices 2, 4 may select the one common social network with highest priority to both users. In another aspect, in blocks 126a, 126b the mobile devices may be configured to present a display identifying to the users the common social networks so that one or both of the users may select one, optional. In blocks 127a, 127b the mobile devices 2, 4 may receive the user input(s) or otherwise determine a preferred single common social network and transmit its identifier to the other mobile device. In block 127a this selection process may be performed in one of the devices, in which case the deciding mobile device 2 transmits the selected identifier to the other mobile device. Alternatively, in blocks 127a, 127b the selection process may be performed in both devices with each transmitting the identifier of the preferred common social network. If the two preferences transmitted in blocks 127a and 127b are the same, then the process of exchanging files designated for sharing within the selected social network may proceed as described above with reference to blocks 112-120 in
In an alternative aspect illustrated in process 111b shown in
The metadata used to convey social networking information may be very simple in structure. In some aspects, the metadata may include one or more social network identifiers and a series of contact identifiers corresponding to those network members who are known to possess or have possessed the file. An example of such a metadata structure is illustrated in
Another example XML language metadata structure is illustrated in
In a further aspect, the social networking metadata included with files designated for sharing may include all the elements illustrated in
The XML format example data structures shown in
Some aspects may automate the process of sharing files. For example, a user may wish to automatically share all photographs of his family with other members of his family. An overview process of such an aspect is illustrated in
In block 154 the received file information can be used by the receiving mobile device 2, 4 to determine the files to be transmitted to the second mobile device 4. In determining the files to be transferred the mobile device may identify those files stored in memory designated for sharing with the selected social network which are not present on the other mobile device. For example, the mobile device may receive metadata of the shared files possessed by the other mobile device, and use this information to determine which of the files in its memory are not included in the received metadata. As another example, the mobile device may identify for transfer those files in memory whose metadata does not include the identifier of the other mobile device. In addition to determining which files will be transferred, in block 158 the first mobile device may also update the social networking metadata of the various files to reflect the networking information corresponding to mobile device 4 to which the files will be sent. In block 162 the mobile device 2 may transfer the determined files to the other mobile device 4, which are received by the other mobile device 4 in block 166. In some aspects, the process of automatic file sharing may be symmetric so that both devices send files and receive files as illustrated in blocks 155, 159, 161, and 163.
While the foregoing aspects describe social networks that are created by a user, mobile devices may also be configured to automatically create a social network by sharing files and device information when a close range communication link is established with another mobile device. In this aspect, the criteria used by a mobile device for selecting files to share may be a combination of information known about the user of the second mobile device 4 and the information known about the contacts and social networks of the files stored in the memory of the first mobile device 2. For example, the mobile device 2 may be configured to recognize another mobile device 4 as belonging to a social network such as by recognizing that device's phone number is stored in the mobile device's address book and categorized as “family.” Thus, a user's address book may be used to identify the members of a social network as those having a common categorization. The mobile device 2 may also recognize one or more photographs stored in its memory as being family photos, such as based on common file names or a common file folder. Such recognition may also be based on a portion of the various photo's social networking metadata that explicitly categorizes the photo as “family,” such as illustrated in
Mobile devices may also be configured to discover the existence of social networks based upon the metadata included in shared files. Thus, if a mobile device has stored in memory a file with metadata such as that illustrated in
Some aspects, including those that employ automatic file sharing, may include further social networking information in file metadata. An example of such metadata is illustrated in
Aspects that provide for automatic file sharing may also provide additional information to assist a determination whether to share a file. An XML parent element 190 of the type “sharing-hints” illustrated in
In a further aspect, file metadata may include limits on the number of times a file can be shared. For example, a user may wish to share a photo, but only to users within three degrees of separation (i.e., his friends, his friends' friends, and his friends' friends' friends). To implement this restriction, the metadata may include an XML element 196 of the type “transfers-remaining” that can store integer values and function as a decrementing counter. The “transfers-remaining counter is decremented by a mobile device each time a file transfer is made by a recipient mobile device with the decremented count included in the metadata attached to the shared file. When the transfers-remaining counter equals zero a mobile device would decline to share the file further. As another example, a user wishing to share notes from a class may restrict the number of sharing steps to prohibit any further sharing.
While the forgoing aspects described social networks identified by a user or linked to categories of contacts known to a user, the various aspects may also be used to discover social networks based upon common interests related to shared files. Thus, the social networking information included in a file metadata can be used to discover other members of a potential social network. This aspect is illustrated by considering the example illustrated in
In an aspect, the contact information in the social networking metadata may specify the preferred communication protocol for communications within the social network. In some aspects, the preferred communication protocol may depend on the context of the message. For example, a user may prefer to receive advertisements via SMS while preferring to receive content updates via email. Such preferences may be recorded in the file metadata so they are communicated to all members of the social network. Further, some aspects may combine social networking information stored in metadata of a given file with contact information stored in the address book of a mobile device to determine the proper protocol or protocols for intra-network communications.
The series of communications resulting in the social network illustrated in
The example illustrated in
A broadcast communication 240 may be communications targeted at the user, such as in the previously discussed example of an advertisement for a concert. Some aspects may enable users to send broadcast communications to update the metadata of a shared file and/or a social networking information file. As previously discussed with reference to
In addition to updating the social network, some aspects may use broadcast messages to update the content of the file metadata. For example, a file may contain an outline prepared for an exam, and that file may be shared among a study group. When a user saves changes to a file, the mobile device could send a broadcast communication to all members of the social network defined by the shared file (i.e., the study group) that contains the user's changes. When a broadcast message with changes is received, the receiving mobile device may be configured to merge the changes into its copy of the shared file.
Another example of how a file may be changed as it moves across a social network is shown in
The aspects described above may be implemented on any of a variety of mobile devices, such as, for example, cellular telephones, personal data assistants (PDA) with a close range wireless communication capability, mobile electronic mail receivers, mobile web access devices, and other processor equipped devices that may be developed in the future that recognize digital files with various metadata. Typically, such mobile devices will have in common the components illustrated in
For use in the various aspects the mobile device 350 will include a close range transceiver 378 coupled to the processor 351 capable of establishing and communicating close range wireless communication link using one of the near field communication protocols. The close range communication transceiver 378 may be any of a number of different known transceivers capable of transmitting and/or receiving data in accordance with any of a number of different close range techniques and protocols, such as defined in the NFC, Bluetooth®, IEEE 802.14.4, and IrDA protocols or other standards. For example, the close range transceiver may be an NFC protocol transceiver, a NFCIP-1 or NFCIP-2 transceiver, an RFID transceiver, a Bluetooth® (i.e., communication in the 2.4 GHz frequency band) transceiver, an infrared (e.g., IrDA) transceiver, an IEEE 802.14.4 transceiver, an UWB (Ultra Wideband) transceiver, or a longer range wireless communication transceiver implementing range limiting methods (e.g., transmission power restrictions or round-trip-time limitations).
The processor 351 may be any programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions to perform a variety of functions, including the functions of the various aspects described above.
Typically, software applications may be stored in the internal memory 352 before they are accessed and loaded into the processor 351. In some mobile devices, the processor 351 may include internal memory sufficient to store the application software instructions. For the purposes of this description, the term memory refers to all memory accessible by the processor 351, including internal memory 352 and memory within the processor 351 itself. User data files are typically stored in the memory 352. In many mobile devices, the memory 352 may be a volatile or nonvolatile memory, such as flash memory, or a mixture of both.
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the processes, steps or blocks of the various aspects must be performed in the order presented. As will be appreciated by one of skill in the art the order of processes in the foregoing aspects may be performed in any order. Further, words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the processes; these words are simply used to guide the reader through the description of the methods.
The various illustrative logical blocks, modules, circuits, and algorithm in blocks described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and step have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some processes or methods may be performed by circuitry that is specific to a given function.
In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The processes of a method or algorithm disclosed herein may be embodied in a processor-executable software module executed which may reside on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to carry or store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium, Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a machine readable medium and/or computer-readable medium, which may be incorporated into a computer program product.
The preceding description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.