US20060041561A1 - Method and apparatus for wirelessly sharing a file using an application-level connection - Google Patents

Method and apparatus for wirelessly sharing a file using an application-level connection Download PDF

Info

Publication number
US20060041561A1
US20060041561A1 US11/002,735 US273504A US2006041561A1 US 20060041561 A1 US20060041561 A1 US 20060041561A1 US 273504 A US273504 A US 273504A US 2006041561 A1 US2006041561 A1 US 2006041561A1
Authority
US
United States
Prior art keywords
file
neighbor node
processor
identifier
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/002,735
Inventor
Howard Singer
Laird Popkin
Yariv Sadan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIMEWARNER Inc
Original Assignee
TIMEWARNER Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TIMEWARNER Inc filed Critical TIMEWARNER Inc
Priority to US11/002,735 priority Critical patent/US20060041561A1/en
Assigned to TIMEWARNER, INC. reassignment TIMEWARNER, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: POPKIN, LAIRD A., SADAN, YARIV, SINGER, HOWARD M.
Priority to PCT/US2005/029749 priority patent/WO2006023836A2/en
Publication of US20060041561A1 publication Critical patent/US20060041561A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Definitions

  • Peer-to-peer networking has altered the basic notions of how computers share data.
  • computers share information in a structured manner where one computer is a server and another computer is a client.
  • This traditional concept is known as the “client-server” model.
  • peer-to-peer networking and client-sever transactions typically both rely on a ubiquitous computer data network, for example a local area network or a wide area network (e.g. the Internet).
  • a computer operating in a peer-to-peer configuration is capable of acting both as a client and as a server, depending upon a particular data transaction.
  • a computer in a peer-to-peer network needs data
  • that computer can operate as a client.
  • the same computer can also provide data as a server when called upon to do so by another computer communicatively associated with the first computer in a peer-to-peer network.
  • Peer-to-peer networking has gained wide popularity as a means for sharing files. Peer-to-peer networking is especially popular in those instances when the shared files are media content files, for example audio content and video content files.
  • One aspect of such file sharing is that users are able to specify what files are desired and then search for the files on other computers that are attached to a peer-to-peer network.
  • the standard mechanisms for discovering files in a peer-to-peer network works fairly well because the computers attached to the peer-to-peer network are typically available when a search for a desired file is performed.
  • peer-to-peer networking breaks down in the realm of wireless devices.
  • mobile devices maintain only a transient connection with other mobile devices. This is especially true when the mobile devices interact with each other in local networking structures such as Blue Tooth and 802.11 wireless networks that do not bridge over to a wide area network. As such, it is only when two wireless devices are in proximity to each other that a local connection between them can be formed.
  • file sharing through peer-to-peer networking is limited by the short duration and limited bandwidth of a connection established between such devices.
  • a peer-to-peer network has little chance of operating in a realm where the network is only transiently present because there is simply no means for discovering file resources in the usual peer-to-peer manner.
  • Any attempt to search for a required file would be limited in scope to other wireless devices proximate to the device requesting the file.
  • Another problem with any type of file sharing is that of piracy of copyrighted content.
  • the use of any peer-to-peer networking to share copyrighted files, e.g. music files in the form of MP3, promotes copyright infringement.
  • a method and apparatus for sharing a file comprising recognizing a neighbor node, establishing an application-level connection with the neighbor node, determining a file that is to be shared with the neighbor node and conveying a portion of the determined file with the neighbor node.
  • FIG. 1 is a pictorial representation that depicts one illustrative use case wherein the present method is utilized for ad hoc file sharing;
  • FIG. 2 is a flow diagram that depicts one example method for wirelessly sharing a file
  • FIG. 2A just low diagram depicts one alternative method for determining the file according to membership in a group
  • FIG. 2B is a flow diagram that depicts one alternative method for determining a file based on the availability of files from a second neighbor node;
  • FIG. 3 is a flow diagram that depicts one alternative example method for determining a file to be shared by means of a file request
  • FIG. 4 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of an identity code and authenticating a selected file;
  • FIG. 5 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a Global Release Identifier and authenticating a selected file;
  • FIG. 6 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a calculated value and authenticating a selected file
  • FIG. 7 is a flow diagram that depicts an example alternative method for conveying a portion of a determined file to a neighbor node
  • FIG. 7A is a flow diagram that depicts an alternative method for conveying a determined file to a first neighbor node, wherein the file is obtained from a second neighbor node;
  • FIG. 8 is a flow diagram that depicts one alternative example method for establishing an incentive
  • FIG. 9 is a flow diagram that depicts one example method for noting a sale.
  • FIG. 10 is a flow diagram that depicts yet another method for noting a sale
  • FIG. 11 is a flow diagram that depicts an alternative method for establishing an incentive through an offer—acceptance process
  • FIG. 12 is a block diagram that depicts several example embodiments of a wireless file provider device
  • FIG. 13 is a pictorial representation that depicts several alternative example embodiments of a file cache.
  • FIG. 14 is a data flow diagram that depicts the internal operation of several example embodiments of a wireless file provider device.
  • FIG. 1 is a pictorial representation that depicts one illustrative use case wherein the present method is utilized for ad hoc file sharing.
  • intelligent wireless devices include, but are not necessarily limited to personal digital entertainment units 15 , cellular telephones 5 and personal digital assistants 10 . Included in each of these example intelligent wireless devices is a wireless interface enabling the intelligent wireless device to participate in an ad hoc network 20 . It should be noted that there are many varied techniques for establishing an ad hoc network 20 . From the perspective of this disclosure, an ad hoc network 20 comprises a network that is temporarily established between intelligent wireless devices.
  • the ad hoc network is established when one intelligent wireless device perceives a second intelligent wireless device.
  • the two intelligent wireless devices enable the communication of one or more data packets between processes executing in each of the intelligent wireless devices.
  • a purchase manager 25 Also shown in the figure is a purchase manager 25 , the function of which is described infra.
  • the physical structure of intelligent wireless device includes a wireless network interface.
  • a wireless network interface includes an 802.11 wireless networking interface.
  • Another form of a wireless network interface includes a Blue-Tooth interface. Doubtless, continued evolution of intelligent wireless networking will yield yet other forms of wireless network interfaces. It should be noted that the present method can be applied in any wireless networking structure and is not dependent upon any particular form of a wireless network interface herein described.
  • FIG. 2 is a flow diagram that depicts one example method for wirelessly sharing a file.
  • a file is shared wirelessly by first recognizing a neighbor node (step 35 ). Once a neighbor node is recognized, an application-level connection is established to the recognized neighbor node (step 40 ). A file that is to be shared with the neighbor node is then determined (step 45 ). So long as a connection with the neighbor node remains viable (step 50 ), a portion of the determined file is conveyed to the neighbor node (step 55 ).
  • FIG. 2A is a flow diagram that depicts one alternative method for determining a file to be shared according to membership in a group.
  • the user identifier is received from a recognized neighbor node (step 37 ).
  • group affiliation comprises membership in a media club.
  • a user of a recognized neighbor node may be a member of a “book of the month” club.
  • Another type of group membership may comprise membership in a “song of the day” club.
  • a file to be shared with the neighbor node is determined according to the group affiliation (step 52 ). For example, different files stored in a first provider node may be affiliated with a particular group.
  • FIG. 2B is a flow diagram that depicts one alternative method for determining a file based on the availability of files from a second neighbor node.
  • determining a file to be shared with the first recognized neighbor node is accomplished by recognizing a second neighbor node (step 39 ). Once a second neighbor node is recognized, a second application-level connection is established with the second neighbor node (step 44 ). It should be appreciated that a second neighbor node may have stored thereon various files that may be shared with the first recognized neighbor node. Accordingly, a list of one or more files is received from the second neighbor node (step 49 ).
  • this list of one or more files available on the second neighbor node is received by means of the application-level connection established with said second neighbor node.
  • the list of files available on the second neighbor node is then conveyed to the first neighbor node (step 54 ).
  • this is accomplished by conveying the list of one or more files to the first neighbor node using the first established application-level connection.
  • the application-level connection established with the first neighbor node is then used to receive a selection of one or more files (step 59 ).
  • the first recognized neighbor node will select files from the list of one or more files available on the second recognized neighbor node.
  • FIG. 3 is a flow diagram that depicts one alternative example method for determining a file to be shared by means of a file request.
  • determining a file to be shared is accomplished by receiving a request for a file (step 65 ).
  • a request for a file comprises an explicit request for a particular file.
  • an explicit request can include a request for a specific file (e.g. by the name of a specific title of an audio file).
  • a file is selected according to the received file request (step 70 ).
  • An authentication token is also received (step 75 ). Once the authentication token is received, the selected file is authenticated using the authentication token (step 80 ).
  • the selected file is declared to be the determined file, i.e. the file to be shared with the neighbor node (step 90 ).
  • the identity code is included in a file name by which a particular file is accessed by a file management system (e.g. an operating system).
  • a file management system e.g. an operating system
  • the identity code is included in a file header which is stored as part of the file itself.
  • e-book file is yet another example of a file type that can be misidentified and this and other examples presented herein are not intended to limit the scope of the claims appended hereto.
  • FIG. 4 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of an identity code and authenticating a selected file.
  • an authentication token is received by receiving an identity code (step 100 ).
  • an identity code is determined for the selected file (step 105 ).
  • the selected file is declared as authentic (step 115 ).
  • an identity code can be received along with a file name for a particular file.
  • an identity code can be received as part of a file name for a particular file. In either case, the present method applies.
  • an identity code for a selected file is determined by extracting an identity code from a file name of a file that is intended to be shared with a neighbor node.
  • an identity code for a selected file is determined by extracting an identity code from the file itself. It should be further appreciated that, according to one illustrative use case, an identity code comprises a unique digital value that has been directly encoded to correspond to a specific and unique media content file. It should be further appreciated that according to this illustrative use case, two files that comprise different versions of the same audio or video track will have different unique identity codes commensurate with the teachings of the present method.
  • FIG. 5 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a Global Release Identifier and authenticating a selected file.
  • the legitimate content file may be identified by a Global Release Identifier (a.k.a. “GRid”).
  • the Global Release Identifier is a content file identifier promulgated by a recognized authority (e.g. the Recording Industry Association of America or the International Federation of Phonographic Industries).
  • a Global Release Identifier is a content file identifier promulgated by a recognized authority (e.g. the Recording Industry Association of America or the International Federation of Phonographic Industries).
  • a Global Release Identifier is also determined for a selected file (step 125 ).
  • the selected file is declared to be authentic (step 135 ).
  • various means may be utilized to receive a global release identifier, for example as a separate identifier or as part of a file name. These are merely examples of the various alternative methods that can be used to receive a Global Release Identifier and these examples are not intended to limit the scope of the claims appended hereto. It should also be appreciated that various means may be utilized to determine a Global Release Identifier for a selected file.
  • a Global Release Identifier is determined by extracting a Global Release Identifier from a file name of a file that is intended to be shared with a neighbor node.
  • a Global Release Identifier is extracted from a file itself. It should further be appreciated that a Global Release Identifier can be overloaded onto many different renditions of the same audio and/or video title. For example, the same Global Release Identifier can be used to identify two different files of an audio track wherein each of the two files is encoded at a different sampling rate. In this event, the Global Release Identifier can not be used to identify a unique file.
  • FIG. 6 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a calculated value and authenticating a selected file.
  • a content file is not identified by an identity code or a Global Release Identifier.
  • one variation of the present method provides for receiving a calculated value (step 140 ) that identifies a file.
  • a calculated value includes, but is not limited to a hash code and cyclic redundancy code, or “CRC”.
  • a calculated value is also determined for a selected file (step 145 ).
  • the received calculated value is substantially equivalent to the calculated value determined for a selected file (step 150 )
  • the selected file is declared to be authentic (step 155 ).
  • various means may be utilized to receive a calculated value, for example as a separate identifier or as part of a file name. These are merely examples of the various alternative methods that can be used to receive a calculated value and these examples are not intended to limit the scope of the claims appended hereto. It should also be appreciated that various means may be utilized to determine a calculated value for a selected file.
  • a calculated value is determined by extracting a calculated value from a file name of a file that is intended to be shared with a neighbor node.
  • a calculated value is extracted from a file itself.
  • a selected file is subjected to an algorithm in order to generate a calculated value that can be used for comparison with a calculated value received in association with a file request.
  • FIG. 7 is a flow diagram that depicts an example alternative method for conveying a portion of a determined file to a neighbor node.
  • a portion of a determined file is conveyed to a neighbor node by first receiving from the neighbor node a segment identifier (step 160 ).
  • a file segment is then extracted from the determined file according to the segment identifier (step 165 ).
  • a neighbor node may only need a portion of a determined file. For example, a neighbor node may have previously received a portion of a file which the neighbor node needs to augment with a further portion of the same file.
  • a neighbor node may request a further portion of a file using a segment identifier. It should be further noted that in order to determine a particular file, a selected file must first be authenticated according to the techniques and teachings presented herein. Once a selected file is so authenticated, both the neighbor node that has requested a further portion of the file and a provider node can have a high level of confidence that a file from which a first portion of a file is received by the neighbor node and the selected file are identical, even in the case where the first portion of a file is received from an independent node. The extracted file segment is then conveyed to the neighbor node (step 170 ).
  • FIG. 7A is a flow diagram that depicts an alternative method for conveying a determined file to a first neighbor node, wherein the file is obtained from a second neighbor node.
  • a file is shared with a first neighbor node by recognizing a second neighbor node (step 161 ).
  • a second application-level connection is then established with the second recognized neighbor node (step 162 ).
  • the second recognized neighbor node is used as a source for file to be shared with the first recognized neighbor node. Accordingly, a list of available files is typically received from the second neighbor node commensurate with the teachings for determining a file to be shared with a first neighbor node heretofore described.
  • a portion of a determined file is then received by way of the second established connection (step 167 ).
  • a portion of a determined file is then conveyed to a first recognized neighbor node by means of a first established application-level connection (step 168 ). It should be appreciated that a first established application-level connection is established with the first recognized neighbor node.
  • FIG. 2 further illustrates that one alternative example method for sharing a file further comprises establishing an incentive for sharing the determined file with the neighbor node (step 60 ).
  • sharing a file in an ad-hoc network environment may require some form of incentive in order to encourage a user in control of a providing node to allow the providing node to actually provide a file.
  • a financial incentive for sharing a file needs to be provided to a copyright owner.
  • a particular file may be a media content file including, but not limited to an audio track, a static image, a moving image (i.e. a video file) and an e-book. It should be noted that these example media content files are not intended to limit the scope of the claims appended hereto.
  • FIG. 8 is a flow diagram that depicts one alternative example method for establishing an incentive.
  • establishing an incentive is accomplished by communicating a sales price to a neighbor node (step 175 ).
  • the neighbor node will dispatch an acceptance of the sales price. Accordingly, the acceptance is received from the neighbor node (step 180 ).
  • a user identifier is also received from the neighbor node (step 185 ).
  • the user identifier includes, but is not limited to an account number, a cellular telephone number, a cellular service account number, a credit card number, and a debit card number.
  • FIG. 9 is a flow diagram that depicts one example method for noting a sale.
  • a sale is noted by communicating a sales price to a purchase manager (step 200 ).
  • the sales price is communicated to the purchase manager at the time of sale.
  • the sales price is communicated to the purchase manager at a time subsequent to the sale of a file.
  • a provider identifier is also communicated to the purchase manager (step 205 ).
  • the user identifier received from the neighbor node is also communicated to the purchase manager (step 210 ).
  • the purchase manager can use the user identifier in order to debit the user's account (i.e. the user that received a file from a provider node).
  • the purchase manager can also use the provider identifier to enable a credit to the user of a provider node.
  • FIG. 10 is a flow diagram that depicts yet another method for noting a sale.
  • a sale is noted by communicating the user identifier received from the neighbor node to a purchase manager (step 215 ).
  • an identifier for the determined file i.e. the file received by a user using the neighbor node
  • the purchase manager is then communicated to the purchase manager (step 220 ).
  • the purchase manager is able to use the user's identifier in order to debit the user's account.
  • the identifier for the determined file can be used by the purchase manager to establish a purchase price for a file shared with the neighbor node.
  • FIG. 11 is a flow diagram that depicts an alternative method for establishing an incentive through an offer—acceptance process.
  • a sales price for a file shared with a neighbor node is communicated to the neighbor node (step 225 ).
  • the neighbor node can either accept the sales price or respond with a counter offer.
  • an acceptance is received (step 230 ) according to one variation of the present method and a counter-price is received (step 240 ) according to a different variation of the present method.
  • a sale of a file to the neighbor node is noted (step 235 ).
  • one variation of the present method provides for determining if the counter price is greater than or equal to a minimum price established for a particular file (step 245 ).
  • a minimum price established for a particular file (step 245 )
  • a sale of a file is noted (step 250 ). Accordingly, noting of the sale in either of these situations can be accomplished in varied manners as herein described.
  • FIG. 12 is a block diagram that depicts several example embodiments of a wireless file provider device.
  • a wireless file provider device 705 comprises a processor 700 , a wireless interface 710 and a memory 730 .
  • a wireless file provider device 705 further comprises a local user interface.
  • the local user interface comprises a user key 720 and a display 715 .
  • a wireless file provider device 705 as heretofore described further includes various functional modules each of which comprises an instruction sequence that can be executed by the processor.
  • An instruction sequence that implements a functional module is stored in the memory 730 .
  • the reader is advised that the term “minimally causes the processor” and variants thereof is intended to serve as an open-ended enumeration of functions performed by the processor as it executes a particular functional module (i.e. instruction sequence).
  • a particular functional module causes a processor to perform functions in addition to those defined in the appended claims is to be included in the scope of the claims appended hereto.
  • the functional modules (and their corresponding instruction sequences) described thus far that enable wirelessly sharing a file are, according to one alternative embodiment, imparted onto computer readable medium.
  • Examples of such medium include, but are not limited to, random access memory, read-only memory (ROM), Compact Disk (CD) ROM, Digital Versatile Disk (DVD), floppy disks, hard disk drives and magnetic tape.
  • This computer readable medium which alone or in combination can constitute a stand-alone product, can be used to convert a general-purpose computing device into a device for wirelessly providing files wherein said device is capable of providing a file wirelessly according to the techniques and teachings presented herein. Accordingly, the claims appended hereto are to include such computer readable medium imparted with such instruction sequences that enable execution of the present method and all of the teachings herein described.
  • Stored in the memory 730 of one example embodiment are several functional modules including a peer-to-peer module 735 , a file determination module 740 and a conveyance module 755 .
  • a portion of the memory 730 is used to store files. This portion of the memory is referred to as a file cache 750 .
  • a file determination module 740 comprises an authentication module 742 .
  • the file provider device 705 further comprises an incentive module 760 .
  • the memory 730 is also used to store a list of remotely available files 752 .
  • FIG. 13 is a pictorial representation that depicts several alternative example embodiments of a file cache.
  • a file cache 750 comprises various records each of which includes a file name field 800 .
  • the file cache 750 further comprises a file content field 825 , which is used to store the contents of a file.
  • a record in the file cache 750 further includes a Global Release Identifier field 805 .
  • a record included in the file cache 750 further includes an identity code field 810 .
  • a record included in the file cache 750 further includes a calculated value field.
  • a record included in the file cache 750 further includes a hash code field 815 .
  • a record stored in the file cache 750 further comprises a CRC field 820 .
  • a sales price field 830 for a record stored therein In those embodiments of a file provider device 705 that provide for a negotiated sale of a file, an alternative embodiment of the file cache 750 includes a minimum price field 835 .
  • the file cache 750 further includes a user group field 836 .
  • the user group field 836 is typically used to affiliate a particular file stored in the file cache 750 with a particular user group.
  • a particular user group can include various memberships in various types of groups as heretofore described.
  • One alternative embodiment of a file provider device 705 supports the conveyance of a file according to a segment identifier. Accordingly, one alternative embodiment of the file cache 750 includes a file content field 825 that is segregated into individual segments ( 825 A, 825 B, 825 C, etc.).
  • FIG. 14 is a data flow diagram that depicts the internal operation of several example embodiments of a wireless file provider device.
  • the processor 700 executes the peer-to-peer module 735 .
  • the peer-to-peer module 735 when executed by the processor 700 , minimally causes the processor to recognize a neighbor node by way of the wireless interface 710 . Once a neighbor node is recognized, a part of the peer-to-peer module 735 further minimally causes the processor 700 to establish an application-level connection 711 with the recognized neighbor node using wireless interface 710 .
  • the processor 700 executes the file determination module 740 .
  • the file determination module 740 minimally causes the processor 700 to determine a file to be provided to the recognized neighbor node.
  • the conveyance module 755 when executed by the processor 700 , minimally causes the processor to provide 870 from the file cache 750 a determined file while the connection 711 to the neighbor node remains viable.
  • the connection 711 established with the neighbor node comprises an application-level connection established by means of the wireless interface 710 .
  • a file is retrieved 870 according to a filename (stored in the filename field 800 ).
  • the content of the file is retrieved 870 from the file cache 750 from a field called content 825 .
  • the retrieved content is then directed 875 to the peer-to-peer module 735 as the processor 700 continues to execute the conveyance module 755 .
  • the file determination module 740 causes the processor to determine a file by minimally causing the processor 700 to receive a user identifier by means of the first established application-level connection.
  • the user identifier typically, is a user identifier that is affiliated with a user of a first recognize neighbor node.
  • user identifier includes therein a group identifier. Typically, the group identifier will identify a particular user as a member of a particular group.
  • this alternative embodiment of a file determination module 740 minimally causes the processor 700 to select one or more files stored in the file cache 750 wherein the group identifier matches the entry in a user group field 836 included in the file cache 750 .
  • the file determination module 740 causes the processor to determine which file is to be shared with a first recognized neighbor node by minimally causing the processor 700 to execute the peer-to-peer module 735 .
  • the processor 700 is minimally caused to recognize a second neighbor node and then establish a second application-level connection with the second recognize neighbor node using the wireless interface 710 .
  • the processor is further minimally caused to receive a list of one or more available files from the second neighbor node.
  • the file determination module 740 further minimally causes the processor to store in a remotely available files list 752 a filename in a filename field 827 and a node identifier in a node identifier field 803 . As such, the file determination module 740 causes the processor 700 to build a list of one or more files available on a second recognized neighbor node. The file determination module 740 further minimally causes the processor 700 to convey the list of one or more files available on a second recognized neighbor node to the first recognized neighbor node. According to this alternative embodiment, the file determination module 740 causes the processor 700 to convey this list to the first recognized neighbor node using the first established application-level connection which has been established with the first recognized neighbor node.
  • the file determination module 740 when executed by the processor 700 , causes the processor to determine a file by minimally causing the processor to receive 850 a file request from the neighbor node by means of the application level connection 711 . Based on the file request, the processor will select 855 a file from the file cache 750 .
  • This alternative embodiment of a file determination module 740 further minimally causes the processor to receive an authentication token from the neighbor node by means of the application level connections 711 .
  • This alternative embodiment of the file determination module 700 further minimally causes the processor 700 to authenticate the selected file according to the authentication token and execute the conveyance module 735 when the file is determined to be authentic.
  • the file determination module 740 includes an authentication module 742 .
  • the file determination module 740 causes the processor to receive an authentication token in the form of a Global Release Identifier.
  • the authentication module 742 when executed by the processor 700 , causes the processor to authenticate the selected file by minimally causing the processor to compare a received Global Release Identifier with a Global Release Identifier for the selected file.
  • this alternative embodiment of the authentication module 742 causes the processor 700 to retrieve a Global Release Identifier from the file cache 750 , e.g. from a field called “Global Release Identifier” 805 , and compare it with a Global Release Identifier received from the neighbor node by way of the wireless interface (i.e. by means of the wireless connection 711 established by the processor 700 as it continues to execute the peer-to-peer module 735 ).
  • the file determination module 740 also includes an authentication module 742 .
  • the file determination module 740 causes the processor to receive an authentication token in the form of an identity code.
  • the authentication module 742 of this alternative embodiment when executed by the processor 700 , causes the processor 700 to authenticate the selected file by minimally causing the processor 700 to compare a received identity code with an identity code for the selected file.
  • this alternative embodiment of the authentication module 742 causes the processor to retrieve an identity code from the file cache 750 , e.g. from the a field called “identity code” 810 , and compare it with an identity code received from the neighbor node by way of the wireless interface (i.e. by means of the wireless connections 711 established by the processor 700 as it continues to execute the peer-to-peer module 735 ).
  • the file determination module 740 also includes an authentication module 742 .
  • the file determination module 740 causes the processor to receive an authentication token in the form of calculated value.
  • the authentication module 742 when executed by the processor 700 , causes the processor 700 to authenticate the selected file by minimally causing the processor 700 to compare a received calculated value with a calculated value for the selected file.
  • this alternative embodiment of the authentication module 742 causes the processor to retrieve a calculated value from the file cache 750 from a calculated value field.
  • the authentication module 742 causes the processor 700 to retrieve a hash code from a field called a hash code 815 .
  • the calculated value received by the processor of this alternative embodiment comprises a hash code for the selected file.
  • the authentication module 742 minimally causes the processor 700 to calculate a hash code for the selected file according to the content stored in the content field 825 included in the file cache 750 . Then, the processor 700 is further caused to compare the received hash code with either a retrieved hash code or a calculated hash code.
  • the authentication module 742 causes the processor 700 to retrieve a CRC code from a field called CRC 815 .
  • the calculated value received by the processor of this alternative embodiment comprises a CRC code for the selected file.
  • the authentication module 742 minimally causes the processor 700 to calculate a CRC code for the selected file according to the content stored in the content field 825 included in the file cache 750 . Then, the processor 700 is further caused to compare the received hash code with either a retrieved CRC code or a calculated CRC code.
  • the wireless file provider device 705 includes a conveyance module 755 that, when executed by the processor, minimally causes the processor to provide a file from the file cache 750 according to a segment identifier. Accordingly, a segment identifier is received 877 from a neighbor node by means of a wireless connection 711 established by the processor as it executes the peer-to-peer module 735 .
  • the conveyance module 755 causes the processor to respond to a segment identifier by retrieving a portion of a file content stored in the file cache, wherein the file content field 825 is segregated into a plurality of segments ( 825 A, 825 B, 825 C, etc) and wherein retrieval is accomplished from a segment of the file content field 825 according to the received segment identifier.
  • the conveyance module 755 causes the processor 700 to convey a determined file to a first recognized neighbor node by minimally causing the processor 700 to execute the peer-to-peer module 735 .
  • the processor 700 is caused to recognize a second neighbor node.
  • the peer-to-peer module 735 further minimally causes the processor to establish a second application-level connection with the second recognized neighbor node.
  • the conveyance module 755 further minimally causes the processor 700 to receive a portion of a determined file by way of the second establish connection. As such, a portion of the determined file is received from the second recognized neighbor node.
  • the conveyance module 735 further minimally causes the processor 700 to direct the received portion of the determined file to the first recognized neighbor node. According to this alternative embodiment, this is accomplished as the processor continues to execute the conveyance module 755 , wherein the conveyance module 755 further minimally causes the processor 700 to direct the received portion of the determined file to the first established application-level connection.
  • a file provider device 705 further includes an incentive module 760 .
  • the incentive module 760 when executed by the processor 700 , minimally causes the processor 700 to establish an incentive when a file is conveyed from the file cache 750 to a neighbor node using the application level connection 711 .
  • the incentive module 760 causes the processor 700 to establish an incentive by minimally causing the processor 700 to communicate to a neighbor node by means of the wireless connection 711 a sales price for a file stored in the file cache 750 .
  • this is accomplished by the processor 700 by retrieving 885 from the file cache a sales price from a sales price field 830 included in a record for particular file stored in the file cache 750 .
  • the incentive module 760 then minimally causes the processor 700 to direct 890 the sales price to the peer-to-peer module 735 .
  • the processor as it continues to execute the peer-to-peer module 735 , is then minimally caused to convey the sales price to the neighbor node by means of the wireless connection 711 .
  • the neighbor node can either accept or reject the sales price.
  • the incentive module further minimally causes the processor 700 to receive from the neighbor node by means of the application level connection 711 an acceptance 893 of the price.
  • the incentive module 760 further minimally causes the processor to receive from the neighbor node a user identifier 893 .
  • the processor continues to execute the incentive module 760 , it is further minimally caused to store in the memory 730 an acceptance record 897 .
  • the acceptance record 897 includes the user identifier that was received from the neighbor node.
  • the acceptance record 897 further includes a sales price.
  • the acceptance record 897 further includes a file identifier, which comprises at least one of a global release identifier, an identity code and a file name.
  • the incentive module 760 causes the processor to establish an incentive by minimally causing the processor 700 to communicate to a neighbor node by means of the application level connection 711 a sales price for a file stored in the file cache 750 .
  • the incentive module 760 further minimally causes the processor to receive a counter-price from the neighbor node.
  • the incentive module 760 of this alternative embodiment further minimally causes the processor to retrieve from the file cache a minimum price value from a minimum price field 835 included in the file cache 750 .
  • An acceptance 897 is then stored in the memory by the processor 700 when the counter-price received by the processor from the neighbor node is equal to or greater than the minimum sales price retrieved by the processor 700 as it continues to execute the incentive module 760 .
  • the incentive module 760 when executed by the processor 700 , further minimally causes the processor to convey to a purchase manager by way of the wireless interface 710 the contents of the acceptance record 897 .
  • the incentive module 760 also causes the processor 700 to direct to the purchase manager by way of the wireless interface 710 at least one of a global release identifier, a file name and an identity code. According to various alternative embodiments, this includes at least one of the user identifier received from the neighbor node and the sales price.
  • the incentive module 760 also minimally causes the processor 700 to convey to the purchase manager by way of the wireless interface 710 a provider identifier.
  • the provider identifier 880 is received from the memory 730 by the processor 700 as it executes the incentive module 760 .
  • the incentive module 760 causes the processor 700 to establish connection with a purchase manager using a short-range wireless interface (e.g. BlueTooth or 802.11).
  • the incentive module 760 causes the processor 700 to establish connection with a purchase manager using a wireless cellular data interface (e.g. the G3 network). This list of examples is not meant to limit the scope of the claims appended hereto.

Abstract

Ad hoc application-level connections are established between wireless devices. Autonomous selection of files on a provider device facilitates migration of a file from the file provider to a file receiver. Once a file provider and a file receiver are communicatively coupled using an application-level connection, a portion of a determined file is conveyed from the provider node to a receiver node while a connection remains viable.

Description

    RELATED APPLICATIONS
  • The present application is a continuation-in-part of application Ser. No. 10/922,243 filed on Aug. 18, 2004 entitled “Method and Apparatus for Wirelessly Sharing a File Using an Application-Level Connection” by Singer et al., the priority date of which is hereby claimed and which is hereby incorporated by reference in its entirety.
  • BACKGROUND
  • Peer-to-peer networking has altered the basic notions of how computers share data. In a more traditional data sharing paradigm, computers share information in a structured manner where one computer is a server and another computer is a client. This traditional concept is known as the “client-server” model. Although the manner in which a data transfer takes place is different, peer-to-peer networking and client-sever transactions typically both rely on a ubiquitous computer data network, for example a local area network or a wide area network (e.g. the Internet). One distinguishing characteristic of the peer-to-peer model vis-à-vis the client-server model is that a computer operating in a peer-to-peer configuration is capable of acting both as a client and as a server, depending upon a particular data transaction. For example, when a computer in a peer-to-peer network needs data, that computer can operate as a client. The same computer can also provide data as a server when called upon to do so by another computer communicatively associated with the first computer in a peer-to-peer network.
  • Peer-to-peer networking has gained wide popularity as a means for sharing files. Peer-to-peer networking is especially popular in those instances when the shared files are media content files, for example audio content and video content files. One aspect of such file sharing is that users are able to specify what files are desired and then search for the files on other computers that are attached to a peer-to-peer network. The standard mechanisms for discovering files in a peer-to-peer network works fairly well because the computers attached to the peer-to-peer network are typically available when a search for a desired file is performed.
  • With the proliferation of mobile devices, many users of such devices attempt to share files with each other using a wireless connection. For example, a user of a digital music device may want to share a music file with another user. Up until now, both users would need to collaborate with each other to affect the transfer. Cell phone users may want to share ring-tones or photographs. Again, both users would need to agree to the transfer and collaborate to see the transfer through to fruition. The need for such collaboration could be substantially reduced if peer-to-peer networking could be used between wireless devices.
  • Unfortunately, the notion of peer-to-peer networking breaks down in the realm of wireless devices. One reason for this is the fact that mobile devices maintain only a transient connection with other mobile devices. This is especially true when the mobile devices interact with each other in local networking structures such as Blue Tooth and 802.11 wireless networks that do not bridge over to a wide area network. As such, it is only when two wireless devices are in proximity to each other that a local connection between them can be formed. As such, file sharing through peer-to-peer networking is limited by the short duration and limited bandwidth of a connection established between such devices. In fact, a peer-to-peer network has little chance of operating in a realm where the network is only transiently present because there is simply no means for discovering file resources in the usual peer-to-peer manner. Any attempt to search for a required file would be limited in scope to other wireless devices proximate to the device requesting the file. Another problem with any type of file sharing is that of piracy of copyrighted content. The use of any peer-to-peer networking to share copyrighted files, e.g. music files in the form of MP3, promotes copyright infringement.
  • SUMMARY
  • A method and apparatus for sharing a file comprising recognizing a neighbor node, establishing an application-level connection with the neighbor node, determining a file that is to be shared with the neighbor node and conveying a portion of the determined file with the neighbor node.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Several alternative embodiments will hereinafter be described in conjunction with the appended drawings and figures, wherein like numerals denote like elements, and in which:
  • FIG. 1 is a pictorial representation that depicts one illustrative use case wherein the present method is utilized for ad hoc file sharing;
  • FIG. 2 is a flow diagram that depicts one example method for wirelessly sharing a file;
  • FIG. 2A just low diagram depicts one alternative method for determining the file according to membership in a group;
  • FIG. 2B is a flow diagram that depicts one alternative method for determining a file based on the availability of files from a second neighbor node;
  • FIG. 3 is a flow diagram that depicts one alternative example method for determining a file to be shared by means of a file request;
  • FIG. 4 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of an identity code and authenticating a selected file;
  • FIG. 5 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a Global Release Identifier and authenticating a selected file;
  • FIG. 6 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a calculated value and authenticating a selected file;
  • FIG. 7 is a flow diagram that depicts an example alternative method for conveying a portion of a determined file to a neighbor node;
  • FIG. 7A is a flow diagram that depicts an alternative method for conveying a determined file to a first neighbor node, wherein the file is obtained from a second neighbor node;
  • FIG. 8 is a flow diagram that depicts one alternative example method for establishing an incentive;
  • FIG. 9 is a flow diagram that depicts one example method for noting a sale;
  • FIG. 10 is a flow diagram that depicts yet another method for noting a sale;
  • FIG. 11 is a flow diagram that depicts an alternative method for establishing an incentive through an offer—acceptance process;
  • FIG. 12 is a block diagram that depicts several example embodiments of a wireless file provider device;
  • FIG. 13 is a pictorial representation that depicts several alternative example embodiments of a file cache; and
  • FIG. 14 is a data flow diagram that depicts the internal operation of several example embodiments of a wireless file provider device.
  • DETAILED DESCRIPTION
  • FIG. 1 is a pictorial representation that depicts one illustrative use case wherein the present method is utilized for ad hoc file sharing. Today, there are a plethora of intelligent, wireless devices. These intelligent wireless devices include, but are not necessarily limited to personal digital entertainment units 15, cellular telephones 5 and personal digital assistants 10. Included in each of these example intelligent wireless devices is a wireless interface enabling the intelligent wireless device to participate in an ad hoc network 20. It should be noted that there are many varied techniques for establishing an ad hoc network 20. From the perspective of this disclosure, an ad hoc network 20 comprises a network that is temporarily established between intelligent wireless devices. In a typical ad hoc networking environment, the ad hoc network is established when one intelligent wireless device perceives a second intelligent wireless device. The two intelligent wireless devices enable the communication of one or more data packets between processes executing in each of the intelligent wireless devices. Also shown in the figure is a purchase manager 25, the function of which is described infra.
  • The physical structure of intelligent wireless device includes a wireless network interface. One form of a wireless network interface includes an 802.11 wireless networking interface. Another form of a wireless network interface includes a Blue-Tooth interface. Doubtless, continued evolution of intelligent wireless networking will yield yet other forms of wireless network interfaces. It should be noted that the present method can be applied in any wireless networking structure and is not dependent upon any particular form of a wireless network interface herein described.
  • FIG. 2 is a flow diagram that depicts one example method for wirelessly sharing a file. According to this example method, a file is shared wirelessly by first recognizing a neighbor node (step 35). Once a neighbor node is recognized, an application-level connection is established to the recognized neighbor node (step 40). A file that is to be shared with the neighbor node is then determined (step 45). So long as a connection with the neighbor node remains viable (step 50), a portion of the determined file is conveyed to the neighbor node (step 55).
  • FIG. 2A is a flow diagram that depicts one alternative method for determining a file to be shared according to membership in a group. According to this alternative method, the user identifier is received from a recognized neighbor node (step 37). It should be appreciated that the user of a recognized neighbor node may be affiliated with a particular group. Such group affiliation, according to one illustrative use case, comprises membership in a media club. For example, a user of a recognized neighbor node may be a member of a “book of the month” club. Another type of group membership may comprise membership in a “song of the day” club. It should be appreciated that these illustrative use cases are provided herein merely as examples of various types of group affiliations and are not intended to limit the scope of the claims appended hereto. In the event that the user identifier received from a neighbor node is affiliated with a particular group (step 42), a file to be shared with the neighbor node is determined according to the group affiliation (step 52). For example, different files stored in a first provider node may be affiliated with a particular group.
  • FIG. 2B is a flow diagram that depicts one alternative method for determining a file based on the availability of files from a second neighbor node. According to this alternative method, determining a file to be shared with the first recognized neighbor node is accomplished by recognizing a second neighbor node (step 39). Once a second neighbor node is recognized, a second application-level connection is established with the second neighbor node (step 44). It should be appreciated that a second neighbor node may have stored thereon various files that may be shared with the first recognized neighbor node. Accordingly, a list of one or more files is received from the second neighbor node (step 49). According to yet another variation of the present method, this list of one or more files available on the second neighbor node is received by means of the application-level connection established with said second neighbor node. The list of files available on the second neighbor node is then conveyed to the first neighbor node (step 54). Typically, this is accomplished by conveying the list of one or more files to the first neighbor node using the first established application-level connection. As such, the application-level connection established with the first neighbor node is then used to receive a selection of one or more files (step 59). Typically, the first recognized neighbor node will select files from the list of one or more files available on the second recognized neighbor node.
  • FIG. 3 is a flow diagram that depicts one alternative example method for determining a file to be shared by means of a file request. According to this alternative example method, determining a file to be shared is accomplished by receiving a request for a file (step 65). According to one variation of the present method, a request for a file comprises an explicit request for a particular file. For example, an explicit request can include a request for a specific file (e.g. by the name of a specific title of an audio file). According to this alternative example method, a file is selected according to the received file request (step 70). An authentication token is also received (step 75). Once the authentication token is received, the selected file is authenticated using the authentication token (step 80). When the file is determined to be authentic (step 85), the selected file is declared to be the determined file, i.e. the file to be shared with the neighbor node (step 90).
  • In many situations, there may be nearly identical files that contain nearly identical content. As such, these nearly identical files may be identically named. For example, there may be several files that each includes a different rendition of the national anthem. Although each file may sound similar to the human ear, they may not necessarily contain the same digital representation of the national anthem. This problem is magnified by the fact that several legitimate sources of a particular audio track may promulgate different versions of the audio track, each having the same file name (e.g. “STAR SPANGLED BANNER”). These different renditions may vary according to encoding rate or encoding resolution, just to name a few. In order to alleviate this problem, one variation of the present method provides for associating an identity code with a promulgated file. The identity code, according to one illustrative use case of the present method, is included in a file name by which a particular file is accessed by a file management system (e.g. an operating system). According to yet another illustrative use case, the identity code is included in a file header which is stored as part of the file itself. It should be appreciated that various forms of storage can be used to store the identity code and the various illustrative use cases presented herein are not intended to limit the scope of the claims appended hereto. It should also be noted that this problem is common to all types of files and is not necessarily limited to audio content files. For example, static image files and video files are susceptible to this type of misidentification. Furthermore, the claims appended hereto are not intended to be limited to these examples. A wide variety of file types can be misidentified. Consider yet another example of an electronic book file (e-book). And e-book file is yet another example of a file type that can be misidentified and this and other examples presented herein are not intended to limit the scope of the claims appended hereto.
  • FIG. 4 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of an identity code and authenticating a selected file. According to this alternative method, an authentication token is received by receiving an identity code (step 100). Accordingly, an identity code is determined for the selected file (step 105). When the received identity code and the identity code determined for the selected file are substantially equivalent (step 110), the selected file is declared as authentic (step 115). In one illustrative use case, an identity code can be received along with a file name for a particular file. And according to yet another illustrative use case, an identity code can be received as part of a file name for a particular file. In either case, the present method applies. According to one variation of the present method, an identity code for a selected file is determined by extracting an identity code from a file name of a file that is intended to be shared with a neighbor node. According to yet another variation of the present method, an identity code for a selected file is determined by extracting an identity code from the file itself. It should be further appreciated that, according to one illustrative use case, an identity code comprises a unique digital value that has been directly encoded to correspond to a specific and unique media content file. It should be further appreciated that according to this illustrative use case, two files that comprise different versions of the same audio or video track will have different unique identity codes commensurate with the teachings of the present method.
  • FIG. 5 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a Global Release Identifier and authenticating a selected file. In the case where a legitimate content file is shared between neighbor mobile nodes, the legitimate content file may be identified by a Global Release Identifier (a.k.a. “GRid”). The Global Release Identifier is a content file identifier promulgated by a recognized authority (e.g. the Recording Industry Association of America or the International Federation of Phonographic Industries). Accordingly, one variation of the present method provides for receiving a Global Release Identifier (step 120). Once the Global Release Identifier is received, a Global Release Identifier is also determined for a selected file (step 125). When the received Global Release Identifier is substantially equivalent to the Global Release Identifier determined for a selected file (step 130), the selected file is declared to be authentic (step 135). It should be appreciated that various means may be utilized to receive a global release identifier, for example as a separate identifier or as part of a file name. These are merely examples of the various alternative methods that can be used to receive a Global Release Identifier and these examples are not intended to limit the scope of the claims appended hereto. It should also be appreciated that various means may be utilized to determine a Global Release Identifier for a selected file. For example, according to an illustrative variation of the present method, a Global Release Identifier is determined by extracting a Global Release Identifier from a file name of a file that is intended to be shared with a neighbor node. According to yet another variation of the present method, a Global Release Identifier is extracted from a file itself. It should further be appreciated that a Global Release Identifier can be overloaded onto many different renditions of the same audio and/or video title. For example, the same Global Release Identifier can be used to identify two different files of an audio track wherein each of the two files is encoded at a different sampling rate. In this event, the Global Release Identifier can not be used to identify a unique file. Consequently, the use of a Global Release Identifier may need to be used in conjunction with another method for uniquely identifying a particular released file. For example, other methods described herein can thus be used in conjunction with the Global Release Identifier in a variation of the present method for authentication of a particular determined file. FIG. 6 is a flow diagram that depicts an alternative method for receiving an authentication token in the form of a calculated value and authenticating a selected file. In some use cases, a content file is not identified by an identity code or a Global Release Identifier. Accordingly, one variation of the present method provides for receiving a calculated value (step 140) that identifies a file. A calculated value includes, but is not limited to a hash code and cyclic redundancy code, or “CRC”. Once the calculated value is received, a calculated value is also determined for a selected file (step 145). When the received calculated value is substantially equivalent to the calculated value determined for a selected file (step 150), the selected file is declared to be authentic (step 155). It should be appreciated that various means may be utilized to receive a calculated value, for example as a separate identifier or as part of a file name. These are merely examples of the various alternative methods that can be used to receive a calculated value and these examples are not intended to limit the scope of the claims appended hereto. It should also be appreciated that various means may be utilized to determine a calculated value for a selected file. For example, according to an illustrative variation of the present method, a calculated value is determined by extracting a calculated value from a file name of a file that is intended to be shared with a neighbor node. According to yet another variation of the present method, a calculated value is extracted from a file itself. In yet another illustrative variation of the present method, a selected file is subjected to an algorithm in order to generate a calculated value that can be used for comparison with a calculated value received in association with a file request.
  • FIG. 7 is a flow diagram that depicts an example alternative method for conveying a portion of a determined file to a neighbor node. According to this alternative example method, a portion of a determined file is conveyed to a neighbor node by first receiving from the neighbor node a segment identifier (step 160). A file segment is then extracted from the determined file according to the segment identifier (step 165). It should be appreciated that a neighbor node may only need a portion of a determined file. For example, a neighbor node may have previously received a portion of a file which the neighbor node needs to augment with a further portion of the same file. According to one illustrative use case that is not intended to limit the scope of the claims appended hereto, a neighbor node may request a further portion of a file using a segment identifier. It should be further noted that in order to determine a particular file, a selected file must first be authenticated according to the techniques and teachings presented herein. Once a selected file is so authenticated, both the neighbor node that has requested a further portion of the file and a provider node can have a high level of confidence that a file from which a first portion of a file is received by the neighbor node and the selected file are identical, even in the case where the first portion of a file is received from an independent node. The extracted file segment is then conveyed to the neighbor node (step 170).
  • FIG. 7A is a flow diagram that depicts an alternative method for conveying a determined file to a first neighbor node, wherein the file is obtained from a second neighbor node. According to this alternative method, a file is shared with a first neighbor node by recognizing a second neighbor node (step 161). A second application-level connection is then established with the second recognized neighbor node (step 162). It should be appreciated that, according to this variation of the present method, the second recognized neighbor node is used as a source for file to be shared with the first recognized neighbor node. Accordingly, a list of available files is typically received from the second neighbor node commensurate with the teachings for determining a file to be shared with a first neighbor node heretofore described. Once a second application-level connection is established with the second recognized neighbor node, a portion of a determined file is then received by way of the second established connection (step 167). A portion of a determined file is then conveyed to a first recognized neighbor node by means of a first established application-level connection (step 168). It should be appreciated that a first established application-level connection is established with the first recognized neighbor node.
  • FIG. 2 further illustrates that one alternative example method for sharing a file further comprises establishing an incentive for sharing the determined file with the neighbor node (step 60). It should be further appreciated that sharing a file in an ad-hoc network environment may require some form of incentive in order to encourage a user in control of a providing node to allow the providing node to actually provide a file. In yet other situations, a financial incentive for sharing a file needs to be provided to a copyright owner. For example, a particular file may be a media content file including, but not limited to an audio track, a static image, a moving image (i.e. a video file) and an e-book. It should be noted that these example media content files are not intended to limit the scope of the claims appended hereto.
  • FIG. 8 is a flow diagram that depicts one alternative example method for establishing an incentive. According to this alternative example method, establishing an incentive is accomplished by communicating a sales price to a neighbor node (step 175). In the event that the neighbor node is interested in purchasing a file that it received from a first node according to the present method, the neighbor node will dispatch an acceptance of the sales price. Accordingly, the acceptance is received from the neighbor node (step 180). To further consummate the sale as a means of an incentive, a user identifier is also received from the neighbor node (step 185). The user identifier includes, but is not limited to an account number, a cellular telephone number, a cellular service account number, a credit card number, and a debit card number. Once the user identifier is received, a sale of a file shared with the neighbor node is then noted (step 190).
  • FIG. 9 is a flow diagram that depicts one example method for noting a sale. According to this example method, a sale is noted by communicating a sales price to a purchase manager (step 200). According to one variation of the present method, the sales price is communicated to the purchase manager at the time of sale. According to another variation of the present method, the sales price is communicated to the purchase manager at a time subsequent to the sale of a file. Along with the sales price, a provider identifier is also communicated to the purchase manager (step 205). The user identifier received from the neighbor node is also communicated to the purchase manager (step 210). Accordingly, the purchase manager can use the user identifier in order to debit the user's account (i.e. the user that received a file from a provider node). The purchase manager can also use the provider identifier to enable a credit to the user of a provider node.
  • FIG. 10 is a flow diagram that depicts yet another method for noting a sale. According to this alternative method, a sale is noted by communicating the user identifier received from the neighbor node to a purchase manager (step 215). In this situation, an identifier for the determined file (i.e. the file received by a user using the neighbor node) is then communicated to the purchase manager (step 220). In this manner, the purchase manager is able to use the user's identifier in order to debit the user's account. The identifier for the determined file can be used by the purchase manager to establish a purchase price for a file shared with the neighbor node.
  • FIG. 11 is a flow diagram that depicts an alternative method for establishing an incentive through an offer—acceptance process. According to this alternative method, a sales price for a file shared with a neighbor node is communicated to the neighbor node (step 225). In response, the neighbor node can either accept the sales price or respond with a counter offer. Accordingly, an acceptance is received (step 230) according to one variation of the present method and a counter-price is received (step 240) according to a different variation of the present method. When an acceptance is received, a sale of a file to the neighbor node is noted (step 235). When a counter price is received, one variation of the present method provides for determining if the counter price is greater than or equal to a minimum price established for a particular file (step 245). When the counter price is greater than or equal to the minimum price (step 245), a sale of a file is noted (step 250). Accordingly, noting of the sale in either of these situations can be accomplished in varied manners as herein described.
  • FIG. 12 is a block diagram that depicts several example embodiments of a wireless file provider device. According to one example embodiment, a wireless file provider device 705 comprises a processor 700, a wireless interface 710 and a memory 730. According to one alternative embodiment, a wireless file provider device 705 further comprises a local user interface. The local user interface, according to yet another example embodiment, comprises a user key 720 and a display 715.
  • The user various example embodiments of a wireless file provider device 705 as heretofore described further includes various functional modules each of which comprises an instruction sequence that can be executed by the processor. An instruction sequence that implements a functional module, according to one alternative embodiment, is stored in the memory 730. The reader is advised that the term “minimally causes the processor” and variants thereof is intended to serve as an open-ended enumeration of functions performed by the processor as it executes a particular functional module (i.e. instruction sequence). As such, an embodiment where a particular functional module causes a processor to perform functions in addition to those defined in the appended claims is to be included in the scope of the claims appended hereto.
  • The functional modules (and their corresponding instruction sequences) described thus far that enable wirelessly sharing a file are, according to one alternative embodiment, imparted onto computer readable medium. Examples of such medium include, but are not limited to, random access memory, read-only memory (ROM), Compact Disk (CD) ROM, Digital Versatile Disk (DVD), floppy disks, hard disk drives and magnetic tape. This computer readable medium, which alone or in combination can constitute a stand-alone product, can be used to convert a general-purpose computing device into a device for wirelessly providing files wherein said device is capable of providing a file wirelessly according to the techniques and teachings presented herein. Accordingly, the claims appended hereto are to include such computer readable medium imparted with such instruction sequences that enable execution of the present method and all of the teachings herein described.
  • Stored in the memory 730 of one example embodiment are several functional modules including a peer-to-peer module 735, a file determination module 740 and a conveyance module 755. A portion of the memory 730 is used to store files. This portion of the memory is referred to as a file cache 750. It should also be noted that one alternative embodiment of a file determination module 740 comprises an authentication module 742. According to yet another alternative embodiment, the file provider device 705 further comprises an incentive module 760. According to yet another alternative embodiment, the memory 730 is also used to store a list of remotely available files 752.
  • FIG. 13 is a pictorial representation that depicts several alternative example embodiments of a file cache. According to one example embodiment, a file cache 750 comprises various records each of which includes a file name field 800. According to this alternative embodiment, the file cache 750 further comprises a file content field 825, which is used to store the contents of a file. According to one alternative illustrative embodiment, a record in the file cache 750 further includes a Global Release Identifier field 805. According to yet another alternative example embodiment, a record included in the file cache 750 further includes an identity code field 810. According to yet another illustrative embodiment, a record included in the file cache 750 further includes a calculated value field. According to yet another illustrative embodiment, a record included in the file cache 750 further includes a hash code field 815. And in yet another alternative example embodiment, a record stored in the file cache 750 further comprises a CRC field 820. In order to support embodiments of a file provider device 705 that provide for establishing an incentive for sharing a file, yet another alternative embodiment of the file cache 750 includes a sales price field 830 for a record stored therein. In those embodiments of a file provider device 705 that provide for a negotiated sale of a file, an alternative embodiment of the file cache 750 includes a minimum price field 835. According to yet another alternative embodiment, the file cache 750 further includes a user group field 836. The user group field 836 is typically used to affiliate a particular file stored in the file cache 750 with a particular user group. A particular user group can include various memberships in various types of groups as heretofore described.
  • One alternative embodiment of a file provider device 705 supports the conveyance of a file according to a segment identifier. Accordingly, one alternative embodiment of the file cache 750 includes a file content field 825 that is segregated into individual segments (825A, 825B, 825C, etc.).
  • FIG. 14 is a data flow diagram that depicts the internal operation of several example embodiments of a wireless file provider device. According to one example embodiment, the processor 700 executes the peer-to-peer module 735. The peer-to-peer module 735, when executed by the processor 700, minimally causes the processor to recognize a neighbor node by way of the wireless interface 710. Once a neighbor node is recognized, a part of the peer-to-peer module 735 further minimally causes the processor 700 to establish an application-level connection 711 with the recognized neighbor node using wireless interface 710.
  • Once a connection is established with a recognized neighbor node, the processor 700 executes the file determination module 740. When executed by the processor 700, the file determination module 740 minimally causes the processor 700 to determine a file to be provided to the recognized neighbor node. The conveyance module 755, when executed by the processor 700, minimally causes the processor to provide 870 from the file cache 750 a determined file while the connection 711 to the neighbor node remains viable. The connection 711 established with the neighbor node comprises an application-level connection established by means of the wireless interface 710. According to one alternative embodiment of the conveyance module, a file is retrieved 870 according to a filename (stored in the filename field 800). The content of the file is retrieved 870 from the file cache 750 from a field called content 825. The retrieved content is then directed 875 to the peer-to-peer module 735 as the processor 700 continues to execute the conveyance module 755.
  • According to one alternative embodiment, the file determination module 740 causes the processor to determine a file by minimally causing the processor 700 to receive a user identifier by means of the first established application-level connection. The user identifier, typically, is a user identifier that is affiliated with a user of a first recognize neighbor node. It should be appreciated that user identifier, according to one alternative embodiment, includes therein a group identifier. Typically, the group identifier will identify a particular user as a member of a particular group. As such, this alternative embodiment of a file determination module 740 minimally causes the processor 700 to select one or more files stored in the file cache 750 wherein the group identifier matches the entry in a user group field 836 included in the file cache 750.
  • According to yet another alternative embodiment, the file determination module 740 causes the processor to determine which file is to be shared with a first recognized neighbor node by minimally causing the processor 700 to execute the peer-to-peer module 735. By executing the peer-to-peer module 735, the processor 700 is minimally caused to recognize a second neighbor node and then establish a second application-level connection with the second recognize neighbor node using the wireless interface 710. Once a second application-level connection is established with a second neighbor node, the processor, as it continues to execute this alternative embodiment of a file determination module 740, is further minimally caused to receive a list of one or more available files from the second neighbor node. According to this alternative embodiment, the file determination module 740 further minimally causes the processor to store in a remotely available files list 752 a filename in a filename field 827 and a node identifier in a node identifier field 803. As such, the file determination module 740 causes the processor 700 to build a list of one or more files available on a second recognized neighbor node. The file determination module 740 further minimally causes the processor 700 to convey the list of one or more files available on a second recognized neighbor node to the first recognized neighbor node. According to this alternative embodiment, the file determination module 740 causes the processor 700 to convey this list to the first recognized neighbor node using the first established application-level connection which has been established with the first recognized neighbor node.
  • According to yet another alternative embodiment, the file determination module 740, when executed by the processor 700, causes the processor to determine a file by minimally causing the processor to receive 850 a file request from the neighbor node by means of the application level connection 711. Based on the file request, the processor will select 855 a file from the file cache 750. This alternative embodiment of a file determination module 740 further minimally causes the processor to receive an authentication token from the neighbor node by means of the application level connections 711. This alternative embodiment of the file determination module 700 further minimally causes the processor 700 to authenticate the selected file according to the authentication token and execute the conveyance module 735 when the file is determined to be authentic.
  • According to one alternative example embodiment, the file determination module 740 includes an authentication module 742. According to this alternative embodiment, the file determination module 740 causes the processor to receive an authentication token in the form of a Global Release Identifier. The authentication module 742, when executed by the processor 700, causes the processor to authenticate the selected file by minimally causing the processor to compare a received Global Release Identifier with a Global Release Identifier for the selected file. Accordingly, this alternative embodiment of the authentication module 742 causes the processor 700 to retrieve a Global Release Identifier from the file cache 750, e.g. from a field called “Global Release Identifier” 805, and compare it with a Global Release Identifier received from the neighbor node by way of the wireless interface (i.e. by means of the wireless connection 711 established by the processor 700 as it continues to execute the peer-to-peer module 735).
  • According to another alternative example embodiment, the file determination module 740 also includes an authentication module 742. According to this alternative embodiment, the file determination module 740 causes the processor to receive an authentication token in the form of an identity code. The authentication module 742 of this alternative embodiment, when executed by the processor 700, causes the processor 700 to authenticate the selected file by minimally causing the processor 700 to compare a received identity code with an identity code for the selected file. Accordingly, this alternative embodiment of the authentication module 742 causes the processor to retrieve an identity code from the file cache 750, e.g. from the a field called “identity code” 810, and compare it with an identity code received from the neighbor node by way of the wireless interface (i.e. by means of the wireless connections 711 established by the processor 700 as it continues to execute the peer-to-peer module 735).
  • According to yet another alternative example embodiment, the file determination module 740 also includes an authentication module 742. According to this alternative embodiment, the file determination module 740 causes the processor to receive an authentication token in the form of calculated value. The authentication module 742, when executed by the processor 700, causes the processor 700 to authenticate the selected file by minimally causing the processor 700 to compare a received calculated value with a calculated value for the selected file. Accordingly, this alternative embodiment of the authentication module 742 causes the processor to retrieve a calculated value from the file cache 750 from a calculated value field. According to yet another alternative embodiment, the authentication module 742 causes the processor 700 to retrieve a hash code from a field called a hash code 815. As such, the calculated value received by the processor of this alternative embodiment comprises a hash code for the selected file. In yet another alternative embodiment, the authentication module 742 minimally causes the processor 700 to calculate a hash code for the selected file according to the content stored in the content field 825 included in the file cache 750. Then, the processor 700 is further caused to compare the received hash code with either a retrieved hash code or a calculated hash code.
  • According to yet another alternative embodiment, the authentication module 742 causes the processor 700 to retrieve a CRC code from a field called CRC 815. As such, the calculated value received by the processor of this alternative embodiment comprises a CRC code for the selected file. In yet another alternative embodiment, the authentication module 742 minimally causes the processor 700 to calculate a CRC code for the selected file according to the content stored in the content field 825 included in the file cache 750. Then, the processor 700 is further caused to compare the received hash code with either a retrieved CRC code or a calculated CRC code.
  • According to one alternative embodiment, the wireless file provider device 705 includes a conveyance module 755 that, when executed by the processor, minimally causes the processor to provide a file from the file cache 750 according to a segment identifier. Accordingly, a segment identifier is received 877 from a neighbor node by means of a wireless connection 711 established by the processor as it executes the peer-to-peer module 735. Generally, the conveyance module 755 causes the processor to respond to a segment identifier by retrieving a portion of a file content stored in the file cache, wherein the file content field 825 is segregated into a plurality of segments (825A, 825B, 825C, etc) and wherein retrieval is accomplished from a segment of the file content field 825 according to the received segment identifier.
  • In yet another alternative embodiment, the conveyance module 755 causes the processor 700 to convey a determined file to a first recognized neighbor node by minimally causing the processor 700 to execute the peer-to-peer module 735. By executing the peer-to-peer module 735, the processor 700 is caused to recognize a second neighbor node. The peer-to-peer module 735 further minimally causes the processor to establish a second application-level connection with the second recognized neighbor node. Using the second application-level connection, the conveyance module 755 further minimally causes the processor 700 to receive a portion of a determined file by way of the second establish connection. As such, a portion of the determined file is received from the second recognized neighbor node. Once received from the second recognized neighbor node, the conveyance module 735 further minimally causes the processor 700 to direct the received portion of the determined file to the first recognized neighbor node. According to this alternative embodiment, this is accomplished as the processor continues to execute the conveyance module 755, wherein the conveyance module 755 further minimally causes the processor 700 to direct the received portion of the determined file to the first established application-level connection.
  • One alternative example embodiment of a file provider device 705 further includes an incentive module 760. The incentive module 760, when executed by the processor 700, minimally causes the processor 700 to establish an incentive when a file is conveyed from the file cache 750 to a neighbor node using the application level connection 711. In yet another alternative embodiment, the incentive module 760 causes the processor 700 to establish an incentive by minimally causing the processor 700 to communicate to a neighbor node by means of the wireless connection 711 a sales price for a file stored in the file cache 750. Typically, this is accomplished by the processor 700 by retrieving 885 from the file cache a sales price from a sales price field 830 included in a record for particular file stored in the file cache 750. The incentive module 760 then minimally causes the processor 700 to direct 890 the sales price to the peer-to-peer module 735. The processor, as it continues to execute the peer-to-peer module 735, is then minimally caused to convey the sales price to the neighbor node by means of the wireless connection 711. The neighbor node can either accept or reject the sales price. In the event that the neighbor node accepts the sales price, the incentive module further minimally causes the processor 700 to receive from the neighbor node by means of the application level connection 711 an acceptance 893 of the price. Along with the acceptance, the incentive module 760 further minimally causes the processor to receive from the neighbor node a user identifier 893. As the processor continues to execute the incentive module 760, it is further minimally caused to store in the memory 730 an acceptance record 897. Typically, the acceptance record 897 includes the user identifier that was received from the neighbor node. In an alternative embodiment, the acceptance record 897 further includes a sales price. In yet another alternative embodiment, the acceptance record 897 further includes a file identifier, which comprises at least one of a global release identifier, an identity code and a file name.
  • According to one alternative embodiment, the incentive module 760 causes the processor to establish an incentive by minimally causing the processor 700 to communicate to a neighbor node by means of the application level connection 711 a sales price for a file stored in the file cache 750. In this alternative embodiment, the incentive module 760 further minimally causes the processor to receive a counter-price from the neighbor node. The incentive module 760 of this alternative embodiment further minimally causes the processor to retrieve from the file cache a minimum price value from a minimum price field 835 included in the file cache 750. An acceptance 897 is then stored in the memory by the processor 700 when the counter-price received by the processor from the neighbor node is equal to or greater than the minimum sales price retrieved by the processor 700 as it continues to execute the incentive module 760.
  • In yet another alternative embodiment, the incentive module 760, when executed by the processor 700, further minimally causes the processor to convey to a purchase manager by way of the wireless interface 710 the contents of the acceptance record 897. According to one alternative embodiment, the incentive module 760 also causes the processor 700 to direct to the purchase manager by way of the wireless interface 710 at least one of a global release identifier, a file name and an identity code. According to various alternative embodiments, this includes at least one of the user identifier received from the neighbor node and the sales price. According to this alternative embodiment, the incentive module 760 also minimally causes the processor 700 to convey to the purchase manager by way of the wireless interface 710 a provider identifier. Typically, the provider identifier 880 is received from the memory 730 by the processor 700 as it executes the incentive module 760.
  • According to one alternative embodiment, the incentive module 760 causes the processor 700 to establish connection with a purchase manager using a short-range wireless interface (e.g. BlueTooth or 802.11). According to yet another alternative embodiment, the incentive module 760 causes the processor 700 to establish connection with a purchase manager using a wireless cellular data interface (e.g. the G3 network). This list of examples is not meant to limit the scope of the claims appended hereto.
  • While the present method and apparatus has been described in terms of several alternative and exemplary embodiments, it is contemplated that alternatives, modifications, permutations, and equivalents thereof will become apparent to those skilled in the art upon a reading of the specification and study of the drawings. It is therefore intended that the true spirit and scope of the claims appended hereto include all such alternatives, modifications, permutations, and equivalents.

Claims (28)

1. A method for wirelessly sharing a file comprising:
recognizing a neighbor node;
establishing a first application-level connection with the recognized neighbor node;
determining a file to be shared with the neighbor node; and
conveying to the neighbor node a portion of the determined file while the first application-level connection is viable.
2. The method of claim 1 wherein determining a file to be shared comprises:
receiving a user identifier from the neighbor nodes
determining if the user identifier is affiliated with a particular group; and
determining a file associated with a the particular group when the user identifier is affiliated with said particular group.
3. The method of claim 1 wherein determining a file to be shared comprises:
recognizing a second neighbor node;
establishing an application-level connection with the second recognized neighbor node;
receiving a list of files available from the second neighbor node;
conveying the list of available files to the recognized neighbor node; and
receiving a file selection from the recognized neighbor node.
4. The method of claim 1 wherein determining a file to be shared comprises:
receiving a file request;
selecting a file according to the file request;
receiving an authentication token;
authenticating the selected file according to the authentication token; and
declaring the selected file to be a determined file when the file is authenticated.
5. The method of claim 4 wherein receiving an authentication token comprises receiving a Global Release Identifier and wherein authenticating the selected file comprises comparing the received Global Release Identifier with a Global Release Identifier for the selected file.
6. The method of claim 4 wherein receiving an authentication token comprises receiving an identity code and wherein authenticating the selected file comprises determining an identity code for the selected file and comparing the received identity code with a determined identity code for the selected file.
7. The method of claim 4 wherein receiving an authentication token comprises receiving a calculated value and wherein authenticating the selected file comprises determining a hash code for the selected file and comparing the received hash code with a determined hash code for the selected file.
8. The method of claim 1 wherein conveying to the neighbor node a portion of the determined file comprises:
receiving from the neighbor node a segment identifier;
extracting a segment from the determined file according to the segment identifier; and
directing the extracted segment to the established application-level connection.
9. The method of claim 1 wherein conveying to the neighbor node a portion of the determined file comprises:
recognizing a second neighbor node;
establishing a second application-level connection with the second recognized neighbor node;
receiving a portion of the determined file by way of the second established connection; and
conveying the received portion of the determined file to the established connection.
10. The method of claim 1 further comprising establishing an incentive for sharing the determined file.
11. The method of claim 10 wherein establishing an incentive comprises:
communicating a sales price to the neighbor node;
receiving an acceptance from the neighbor node;
receiving a user identifier from the neighbor node; and
noting a sale when an acceptance is received.
12. The method of claim 11 wherein noting a sale comprises communicating the sales price, a provider identifier and the user identifier received from the neighbor node to a purchase manager.
13. The method of claim 11 wherein noting a sale comprises communicating the user identifier received from the neighbor node and an identifier for the determined file to a purchase manager.
14. The method of claim 10 wherein establishing an incentive comprises:
communicating a sales price to the neighbor node;
receiving at least one of an acceptance and a counter-price from the neighbor node;
noting a sale when an acceptance is received; and
noting a sale when a counter-price is received and the counter-price is greater than a minimum sale price for the determined file.
15. A wireless file provider device comprising:
processor capable of executing an instruction sequence;
wireless interface capable of interacting with a wireless network; and
memory capable of storing a file cache and one or more instruction sequences including:
peer-to-peer module that, when executed by the processor, minimally causes the processor to:
recognize a first neighbor node; and
establish a first application-level connection with the recognized neighbor node using the wireless interface;
file determination module that, when executed by the processor, minimally causes the processor to determine a file to be shared with the recognized neighbor node; and
conveyance module that, when executed by the processor, minimally causes the processor to convey from the file cache to the first connection established with the first recognized neighbor node a portion of a determined file while the established connection remains viable.
16. The wireless file provider device of claim 15 wherein the file determination module causes the processor to determine a file to be shared by minimally causing the processor to:
receive a user identifier by means of the first established application level connection; and
select a file from the file cache according to the user identifier.
17. The wireless file provider device of claim 15 wherein the file determination module causes the processor to determine a file to be shared by minimally causing the processor to:
execute the peer-to-peer module in order to:
recognize a second neighbor node;
establish a second application level connection with the second neighbor node using the wireless interface;
receive a list of one or more available files from the second neighbor node by means of the second established connection;
convey the list of one or more available files to the first established connection; and
receive a file selection by means of the first established connection.
18. The wireless file provider device of claim 15 wherein the file determination module causes the processor to determine a file to be shared by minimally causing the processor to:
receive a file request from the neighbor node by means of the first application level connection;
select a file stored in the file cache according to the file request;
receive an authentication token from the neighbor node by means of the application level connection; and
authenticate the selected file according to the authentication token; and
execute the conveyance module when the file is determined to be authentic.
19. The wireless file provider device of claim 18 wherein the file determination module causes the processor to receive an authentication token in the form of a Global Release Identifier and includes an authentication module that, when executed by the processor, causes the processor to authenticate the selected file by minimally causing the processor to:
compare a received Global Release Identifier with a Global Release Identifier for the selected file.
20. The wireless file provider device of claim 18 wherein the file determination module causes the processor to receive an authentication token in the form of an identity code and includes an authentication module that, when executed by the processor, causes the processor to authenticate the selected file by minimally causing the processor to:
compare a received identity code with an identity code for the selected file.
21. The wireless file provider device of claim 18 wherein the file determination module causes the processor to receive an authentication token in the form of a calculated value and includes an authentication module that, when executed by the processor, causes the processor to authenticate the selected file by minimally causing the processor to:
determine a calculated value according to a selected file; and
compare a received calculated value with a calculated value determined according to the selected file.
22. The wireless file provider device of claim 15 wherein the conveyance module causes the processor to convey a determined file by minimally causing the processor to:
receive by means of the first application level connection a segment identifier from a neighbor node;
extract a portion of a file from the file cache according to the segment identifier; and
direct the extracted portion of the file to the neighbor node by means of the first application level connection.
23. The wireless file provider device of claim 15 wherein the conveyance module causes the processor to determine a file to be shared by minimally causing the processor to:
execute the peer-to-peer module in order to:
recognize a second neighbor node;
establish a second application level connection with the second neighbor node using the wireless interface;
receive a portion of the determined file by way of the second established connection; and
convey the received portion of the determined file to the first established connection
24. The wireless file provider device of claim 15 further comprising an incentive module that, when executed by the processor, minimally causes the processor to establish an incentive when a file is conveyed from the file cache to a neighbor node using the first application level connection.
25. The wireless file provider device of claim 24 wherein the incentive module causes the processor to establish an incentive by minimally causing the processor to:
communicate to a neighbor node by means of the first application level connection a sales price for a file stored in the file cache;
receive from the neighbor node by means of the first application level connection an acceptance;
receive from the neighbor node by means of the first application level connection a user identifier; and
store in the memory an acceptance record that includes the user identifier when an acceptance is received.
26. The file provider device of claim 25 wherein the incentive module further minimally causes the processor to convey to a purchase manager by way of the wireless interface the user identifier, the sales price and a provider identifier, wherein the provider identifier is stored in the memory.
27. The file provider device of claim 25 wherein the incentive module further minimally causes the processor to convey to a purchase manager by way of the wireless interface the user identifier and at least one of a Global Release Identifier, a filename and an identity code.
28. The wireless file provider device of claim 24 wherein the incentive module causes the processor to establish an incentive by minimally causing the processor to:
communicate to a neighbor node by means of the first application level connection a sales price for a file stored in the file cache;
receive from the neighbor node by means of the first application level connection at least one of an acceptance and a counter-price;
store in the memory an acceptance record when an acceptance is received; and
store in the memory an acceptance when a counter-price is received and when the counter-price is greater or equal to a minimum sales price for a file stored in the file cache.
US11/002,735 2004-08-18 2004-12-02 Method and apparatus for wirelessly sharing a file using an application-level connection Abandoned US20060041561A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/002,735 US20060041561A1 (en) 2004-08-18 2004-12-02 Method and apparatus for wirelessly sharing a file using an application-level connection
PCT/US2005/029749 WO2006023836A2 (en) 2004-08-18 2005-08-17 Method and apparatus for wirelessly sharing a file using an application level connection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/922,243 US7860923B2 (en) 2004-08-18 2004-08-18 Method and device for the wireless exchange of media content between mobile devices based on user information
US11/002,735 US20060041561A1 (en) 2004-08-18 2004-12-02 Method and apparatus for wirelessly sharing a file using an application-level connection

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/922,243 Continuation-In-Part US7860923B2 (en) 2004-08-18 2004-08-18 Method and device for the wireless exchange of media content between mobile devices based on user information

Publications (1)

Publication Number Publication Date
US20060041561A1 true US20060041561A1 (en) 2006-02-23

Family

ID=35909504

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/922,243 Active 2026-07-05 US7860923B2 (en) 2004-08-18 2004-08-18 Method and device for the wireless exchange of media content between mobile devices based on user information
US11/002,735 Abandoned US20060041561A1 (en) 2004-08-18 2004-12-02 Method and apparatus for wirelessly sharing a file using an application-level connection
US11/002,737 Active 2026-11-16 US8050623B2 (en) 2004-08-18 2004-12-02 Method and device for promotion and sale of media files on ad hoc mobile device networks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/922,243 Active 2026-07-05 US7860923B2 (en) 2004-08-18 2004-08-18 Method and device for the wireless exchange of media content between mobile devices based on user information

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/002,737 Active 2026-11-16 US8050623B2 (en) 2004-08-18 2004-12-02 Method and device for promotion and sale of media files on ad hoc mobile device networks

Country Status (2)

Country Link
US (3) US7860923B2 (en)
WO (1) WO2006023837A2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041943A1 (en) * 2004-08-18 2006-02-23 Howard Singer Method and apparatus for wirelessly receiving a file using an application-level connection
US20070136608A1 (en) * 2005-12-05 2007-06-14 Microsoft Corporation Off-line economies for digital media
US20080031208A1 (en) * 2006-08-04 2008-02-07 Microsoft Corporation Synchronization between wireless devices while saving power
US20080031209A1 (en) * 2006-08-04 2008-02-07 Microsoft Corporation Managing associations in ad hoc networks
US20080031210A1 (en) * 2006-08-04 2008-02-07 Microsoft Corporation Wireless support for portable media player devices
US20080176512A1 (en) * 2007-01-22 2008-07-24 Min-Liang Tan Wireless sharing of audio files and information for streamlined purchasing
US20090100187A1 (en) * 2006-07-26 2009-04-16 Harris Scott C Media Player With Automatic Streaming of Media Files
US7860923B2 (en) 2004-08-18 2010-12-28 Time Warner Inc. Method and device for the wireless exchange of media content between mobile devices based on user information
US20120084608A1 (en) * 2010-10-05 2012-04-05 Michael Pasternak Mechanism for Performing Verification of Template Integrity of Monitoring Templates Used for Customized Monitoring of System Activities
US20120173659A1 (en) * 2010-12-31 2012-07-05 Verizon Patent And Licensing, Inc. Methods and Systems for Distributing and Accessing Content Associated with an e-Book
US20150121451A1 (en) * 2013-10-31 2015-04-30 Eventure Interactive, Inc. Distance-Modified Security And Content Sharing
US9355004B2 (en) 2010-10-05 2016-05-31 Red Hat Israel, Ltd. Installing monitoring utilities using universal performance monitor
US9524224B2 (en) 2010-10-05 2016-12-20 Red Hat Israel, Ltd. Customized monitoring of system activities

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693945B1 (en) * 2004-06-30 2010-04-06 Google Inc. System for reclassification of electronic messages in a spam filtering system
US20060095582A1 (en) * 2004-10-29 2006-05-04 Narasimhan Nitya Device and method for transferring apportioned data in a mobile ad hoc network
KR100703315B1 (en) * 2005-04-06 2007-04-03 삼성전자주식회사 Device and method for transmitting files in bluetooth of wireless terminal
US20070067309A1 (en) * 2005-08-05 2007-03-22 Realnetworks, Inc. System and method for updating profiles
WO2007097673A1 (en) * 2006-02-21 2007-08-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for providing access for a limited set of mobile stations to a restricted local access point
US11030326B2 (en) 2006-07-20 2021-06-08 Daniel L. Coffing Exchanging user information with other physically proximate users
WO2008085133A1 (en) * 2007-01-08 2008-07-17 Freesystems Pte. Ltd. A multi-node media content distribution system
US8667160B1 (en) * 2007-02-02 2014-03-04 Max Haot System and method for internet audio/video delivery
US20100217988A1 (en) * 2007-04-12 2010-08-26 Avow Systems, Inc. Electronic document management and delivery
US9392074B2 (en) * 2007-07-07 2016-07-12 Qualcomm Incorporated User profile generation architecture for mobile content-message targeting
US9497286B2 (en) * 2007-07-07 2016-11-15 Qualcomm Incorporated Method and system for providing targeted information based on a user profile in a mobile environment
US20090048977A1 (en) * 2007-07-07 2009-02-19 Qualcomm Incorporated User profile generation architecture for targeted content distribution using external processes
KR101430997B1 (en) * 2007-10-30 2014-08-20 삼성전자주식회사 Method for managing contents, broadcast receiving apparatus using the same and video apparatus using the same
WO2009065045A1 (en) * 2007-11-14 2009-05-22 Qualcomm Incorporated Methods and systems for determining a geographic user profile to determine suitability of targeted content messages based on the profile
US9203911B2 (en) * 2007-11-14 2015-12-01 Qualcomm Incorporated Method and system for using a cache miss state match indicator to determine user suitability of targeted content messages in a mobile environment
US20090130971A1 (en) * 2007-11-21 2009-05-21 Polycom, Inc. Method & apparatus for distributing files in a communications network
US9391789B2 (en) * 2007-12-14 2016-07-12 Qualcomm Incorporated Method and system for multi-level distribution information cache management in a mobile environment
US20090164600A1 (en) * 2007-12-19 2009-06-25 Concert Technology Corporation System and method for place-shifting media items
DE102008003418A1 (en) * 2008-01-08 2009-07-09 Netventures Gmbh System for the decentralized management of real-time data streams
US8725740B2 (en) 2008-03-24 2014-05-13 Napo Enterprises, Llc Active playlist having dynamic media item groups
US9385938B2 (en) 2010-06-22 2016-07-05 Blackberry Limited Information distribution in a wireless communication system
US20110310813A1 (en) * 2010-06-22 2011-12-22 William Anthony Gage Information dissemination in a wireless communication system
US8570962B2 (en) 2010-06-22 2013-10-29 Blackberry Limited Information selection in a wireless communication system
US9326116B2 (en) 2010-08-24 2016-04-26 Rhonda Enterprises, Llc Systems and methods for suggesting a pause position within electronic text
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US8990273B2 (en) * 2011-01-13 2015-03-24 Apple Inc. Ad hoc file sharing
CN102290862B (en) * 2011-08-16 2013-05-08 航天科工深圳(集团)有限公司 Peer to peer communication method and system of power distribution terminals
US9295094B2 (en) 2012-05-07 2016-03-22 Qualcomm Incorporated System and method for peer-to-peer connection reestablishment
JP2013247594A (en) * 2012-05-29 2013-12-09 Sony Corp Information processing apparatus, wireless communication apparatus, information processing system, and information processing method
KR102001215B1 (en) * 2012-07-20 2019-07-17 삼성전자주식회사 Method and system for sharing content, device and computer readable recording medium thereof
CN103582170B (en) * 2012-07-23 2018-08-10 百度在线网络技术(北京)有限公司 The method and apparatus of communication connection is provided for multiple candidate applications in a mobile device
US9215075B1 (en) 2013-03-15 2015-12-15 Poltorak Technologies Llc System and method for secure relayed communications from an implantable medical device
US9038195B2 (en) * 2013-03-15 2015-05-19 Google Technology Holdings LLC Accessing a cloud-based service using a communication device linked to another communication device via a peer-to-peer ad hoc communication link
US9986044B2 (en) * 2013-10-21 2018-05-29 Huawei Technologies Co., Ltd. Multi-screen interaction method, devices, and system
KR102233473B1 (en) * 2015-01-06 2021-03-29 한국전자통신연구원 Method of acquiring contents exchange information among peers in P2P networks
US10068074B2 (en) 2016-03-25 2018-09-04 Credly, Inc. Generation, management, and tracking of digital credentials
US10033536B2 (en) 2016-03-25 2018-07-24 Credly, Inc. Generation, management, and tracking of digital credentials
KR102524674B1 (en) * 2016-12-14 2023-04-21 삼성전자주식회사 Electronic apparatus and notification service providing method thereof
US10205768B2 (en) * 2017-01-25 2019-02-12 International Business Machines Corporation Facility for initiating automatic exchange of file(s) between mobile devices
US20190087833A1 (en) * 2017-09-15 2019-03-21 Pearson Education, Inc. Digital credential receiver performance model
US10803104B2 (en) 2017-11-01 2020-10-13 Pearson Education, Inc. Digital credential field mapping

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307837B1 (en) * 1997-08-12 2001-10-23 Nippon Telegraph And Telephone Corporation Method and base station for packet transfer
US20020059144A1 (en) * 2000-04-28 2002-05-16 Meffert Gregory J. Secured content delivery system and method
US20020080888A1 (en) * 2000-12-22 2002-06-27 Li Shu Message splitting and spatially diversified message routing for increasing transmission assurance and data security over distributed networks
US20020138552A1 (en) * 2001-03-21 2002-09-26 Debruine Timothy S. Method and system for optimizing private network file transfers in a public peer-to-peer network
US20030050966A1 (en) * 2001-09-13 2003-03-13 International Business Machines Corporation Method and system for redirecting data requests in peer-to-peer data networks
US20030069921A1 (en) * 2001-09-07 2003-04-10 Lamming Michael G. Method and apparatus for processing document service requests originating from a mobile computing device
US20030069749A1 (en) * 1997-11-06 2003-04-10 Intertrust Technologies Corp. Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US20030097449A1 (en) * 2001-10-30 2003-05-22 Michael D. Derocher Method and system for ad hoc networking of computer users
US20030120817A1 (en) * 2001-10-15 2003-06-26 Maximilian Ott Dynamic content based multicast routing in mobile networks
US20030202494A1 (en) * 2002-04-26 2003-10-30 Drews Paul C. Establishing an ad hoc network
US6678252B1 (en) * 1999-10-28 2004-01-13 Verizon Laboratories Inc. Method and apparatus for dynamic source routing in ad hoc wireless networks
US20040034601A1 (en) * 2002-08-16 2004-02-19 Erwin Kreuzer System and method for content distribution and reselling
US6744740B2 (en) * 2001-12-21 2004-06-01 Motorola, Inc. Network protocol for wireless devices utilizing location information
US20040122958A1 (en) * 2002-12-19 2004-06-24 International Business Machines Corporation Method and system for peer-to-peer authorization
US20040199809A1 (en) * 2003-04-04 2004-10-07 Sun Microsystems, Inc. System and method for downloading files over a network with real time verification
US20040203698A1 (en) * 2002-04-22 2004-10-14 Intel Corporation Pre-notification of potential connection loss in wireless local area network
US20040260669A1 (en) * 2003-05-28 2004-12-23 Fernandez Dennis S. Network-extensible reconfigurable media appliance
US20050160111A1 (en) * 2002-03-21 2005-07-21 Microsoft Corporation Methods and systems for providing playlists
US20050165795A1 (en) * 2003-12-31 2005-07-28 Nokia Corporation Media file sharing, correlation of metadata related to shared media files and assembling shared media file collections
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20060031558A1 (en) * 2002-01-29 2006-02-09 Antonio Ortega Method and system for delivering media data
US20060035713A1 (en) * 1999-06-03 2006-02-16 Igt Gaming machine update and mass storage management
US20060048187A1 (en) * 2003-01-02 2006-03-02 Willem Lubbers Method for drawing up a list of contents in a device connected to a domestic network and device associated with said method
US20060168318A1 (en) * 2003-02-12 2006-07-27 Adam Twiss Methods and apparatus for traffic management in peer-to-peer networks
US20060208074A1 (en) * 2001-02-28 2006-09-21 Eglen Jan A Digital online exchange
US20060242036A1 (en) * 1996-09-04 2006-10-26 Walker Jay S Purchasing, redemption and settlement systems and methods wherein a buyer takes possession at a retailer of a product purchased using a communication network
US7130921B2 (en) * 2002-03-15 2006-10-31 International Business Machines Corporation Centrally enhanced peer-to-peer resource sharing method and apparatus
US7143102B2 (en) * 2001-09-28 2006-11-28 Sigmatel, Inc. Autogenerated play lists from search criteria
US20070097885A1 (en) * 2001-01-22 2007-05-03 Traversat Bernard A Peer-to-Peer Communication Pipes
US20070112676A1 (en) * 2001-07-06 2007-05-17 Nokia Corporation Digital rights management in a mobile communications environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6522875B1 (en) * 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
US6434134B1 (en) * 1998-12-11 2002-08-13 Lucent Technologies, Inc. Dynamic address assignment for wireless devices accessing packet-based wired networks
US6502194B1 (en) * 1999-04-16 2002-12-31 Synetix Technologies System for playback of network audio material on demand
US7072846B1 (en) * 1999-11-16 2006-07-04 Emergent Music Llc Clusters for rapid artist-audience matching
CA2299946A1 (en) * 2000-03-03 2001-09-03 Destiny Software Productions Inc. Digital media distribution method and system
EP2432190A3 (en) * 2001-06-27 2014-02-19 SKKY Incorporated Improved media delivery platform
JP4422930B2 (en) * 2001-08-07 2010-03-03 パイオニア株式会社 Information processing system, information processing method, information processing apparatus, and information processing program
US20030061137A1 (en) * 2001-08-21 2003-03-27 Leung Yiu Kau Settlement of transactions subject to multiple pricing plans
US20030061206A1 (en) * 2001-09-27 2003-03-27 Richard Qian Personalized content delivery and media consumption
US20030079133A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Method and system for digital rights management in content distribution application
US7054888B2 (en) * 2002-10-16 2006-05-30 Microsoft Corporation Optimizing media player memory during rendering
US7383586B2 (en) * 2003-01-17 2008-06-03 Microsoft Corporation File system operation and digital rights management (DRM)
EP1597895A2 (en) * 2003-02-19 2005-11-23 Koninklijke Philips Electronics N.V. System for ad hoc sharing of content items between portable devices and interaction methods therefor
US7391717B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US7941554B2 (en) * 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
US20050131761A1 (en) 2003-12-16 2005-06-16 Trika Sanjeev N. Mobile digital coupons
US20050248663A1 (en) * 2004-05-05 2005-11-10 James Owens Systems and methods for responding to a data transfer
US20060014521A1 (en) * 2004-07-14 2006-01-19 Zhi-Wen Chen Data protection method and system using the same
US7860923B2 (en) 2004-08-18 2010-12-28 Time Warner Inc. Method and device for the wireless exchange of media content between mobile devices based on user information
US7860922B2 (en) 2004-08-18 2010-12-28 Time Warner, Inc. Method and device for the wireless exchange of media content between mobile devices based on content preferences
WO2006023734A2 (en) 2004-08-18 2006-03-02 Time Warner, Inc. Method and apparatus for wireless distribution of a file using ad-hoc wireless networks
WO2006023836A2 (en) 2004-08-18 2006-03-02 Time Warner, Inc. Method and apparatus for wirelessly sharing a file using an application level connection

Patent Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242036A1 (en) * 1996-09-04 2006-10-26 Walker Jay S Purchasing, redemption and settlement systems and methods wherein a buyer takes possession at a retailer of a product purchased using a communication network
US6307837B1 (en) * 1997-08-12 2001-10-23 Nippon Telegraph And Telephone Corporation Method and base station for packet transfer
US20030069749A1 (en) * 1997-11-06 2003-04-10 Intertrust Technologies Corp. Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US20060035713A1 (en) * 1999-06-03 2006-02-16 Igt Gaming machine update and mass storage management
US6678252B1 (en) * 1999-10-28 2004-01-13 Verizon Laboratories Inc. Method and apparatus for dynamic source routing in ad hoc wireless networks
US20020059144A1 (en) * 2000-04-28 2002-05-16 Meffert Gregory J. Secured content delivery system and method
US20020080888A1 (en) * 2000-12-22 2002-06-27 Li Shu Message splitting and spatially diversified message routing for increasing transmission assurance and data security over distributed networks
US20070097885A1 (en) * 2001-01-22 2007-05-03 Traversat Bernard A Peer-to-Peer Communication Pipes
US20060208074A1 (en) * 2001-02-28 2006-09-21 Eglen Jan A Digital online exchange
US20020138552A1 (en) * 2001-03-21 2002-09-26 Debruine Timothy S. Method and system for optimizing private network file transfers in a public peer-to-peer network
US20070112676A1 (en) * 2001-07-06 2007-05-17 Nokia Corporation Digital rights management in a mobile communications environment
US20030069921A1 (en) * 2001-09-07 2003-04-10 Lamming Michael G. Method and apparatus for processing document service requests originating from a mobile computing device
US20030050966A1 (en) * 2001-09-13 2003-03-13 International Business Machines Corporation Method and system for redirecting data requests in peer-to-peer data networks
US7143102B2 (en) * 2001-09-28 2006-11-28 Sigmatel, Inc. Autogenerated play lists from search criteria
US20030120817A1 (en) * 2001-10-15 2003-06-26 Maximilian Ott Dynamic content based multicast routing in mobile networks
US20030097449A1 (en) * 2001-10-30 2003-05-22 Michael D. Derocher Method and system for ad hoc networking of computer users
US6744740B2 (en) * 2001-12-21 2004-06-01 Motorola, Inc. Network protocol for wireless devices utilizing location information
US20060031558A1 (en) * 2002-01-29 2006-02-09 Antonio Ortega Method and system for delivering media data
US7130921B2 (en) * 2002-03-15 2006-10-31 International Business Machines Corporation Centrally enhanced peer-to-peer resource sharing method and apparatus
US20050160111A1 (en) * 2002-03-21 2005-07-21 Microsoft Corporation Methods and systems for providing playlists
US20040203698A1 (en) * 2002-04-22 2004-10-14 Intel Corporation Pre-notification of potential connection loss in wireless local area network
US20030202494A1 (en) * 2002-04-26 2003-10-30 Drews Paul C. Establishing an ad hoc network
US20040034601A1 (en) * 2002-08-16 2004-02-19 Erwin Kreuzer System and method for content distribution and reselling
US20040122958A1 (en) * 2002-12-19 2004-06-24 International Business Machines Corporation Method and system for peer-to-peer authorization
US20060048187A1 (en) * 2003-01-02 2006-03-02 Willem Lubbers Method for drawing up a list of contents in a device connected to a domestic network and device associated with said method
US20060168318A1 (en) * 2003-02-12 2006-07-27 Adam Twiss Methods and apparatus for traffic management in peer-to-peer networks
US20040199809A1 (en) * 2003-04-04 2004-10-07 Sun Microsystems, Inc. System and method for downloading files over a network with real time verification
US20040260669A1 (en) * 2003-05-28 2004-12-23 Fernandez Dennis S. Network-extensible reconfigurable media appliance
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20050165795A1 (en) * 2003-12-31 2005-07-28 Nokia Corporation Media file sharing, correlation of metadata related to shared media files and assembling shared media file collections

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041943A1 (en) * 2004-08-18 2006-02-23 Howard Singer Method and apparatus for wirelessly receiving a file using an application-level connection
US8050623B2 (en) 2004-08-18 2011-11-01 Time Warner, Inc. Method and device for promotion and sale of media files on ad hoc mobile device networks
US7860922B2 (en) 2004-08-18 2010-12-28 Time Warner, Inc. Method and device for the wireless exchange of media content between mobile devices based on content preferences
US7860923B2 (en) 2004-08-18 2010-12-28 Time Warner Inc. Method and device for the wireless exchange of media content between mobile devices based on user information
US20070136608A1 (en) * 2005-12-05 2007-06-14 Microsoft Corporation Off-line economies for digital media
US7818811B2 (en) * 2005-12-05 2010-10-19 Microsoft Corporation Off-line economies for digital media
US20090100187A1 (en) * 2006-07-26 2009-04-16 Harris Scott C Media Player With Automatic Streaming of Media Files
US9015334B2 (en) * 2006-07-26 2015-04-21 Harris Technology, Llc Media player with automatic streaming of media files
US8248982B2 (en) 2006-08-04 2012-08-21 Microsoft Corporation Wireless support for portable media player devices
US20080031208A1 (en) * 2006-08-04 2008-02-07 Microsoft Corporation Synchronization between wireless devices while saving power
US20110064012A1 (en) * 2006-08-04 2011-03-17 Microsoft Corporation Wireless support for portable media player devices
US9596585B2 (en) 2006-08-04 2017-03-14 Microsoft Technology Licensing, Llc Managing associations in ad hoc networks
US20080031210A1 (en) * 2006-08-04 2008-02-07 Microsoft Corporation Wireless support for portable media player devices
US7860038B2 (en) 2006-08-04 2010-12-28 Microsoft Corporation Wireless support for portable media player devices
US20080031209A1 (en) * 2006-08-04 2008-02-07 Microsoft Corporation Managing associations in ad hoc networks
US8442428B2 (en) * 2007-01-22 2013-05-14 Min-Liang Tan Wireless sharing of audio files and information for streamlined purchasing
US20080176512A1 (en) * 2007-01-22 2008-07-24 Min-Liang Tan Wireless sharing of audio files and information for streamlined purchasing
US20120084608A1 (en) * 2010-10-05 2012-04-05 Michael Pasternak Mechanism for Performing Verification of Template Integrity of Monitoring Templates Used for Customized Monitoring of System Activities
US9256488B2 (en) * 2010-10-05 2016-02-09 Red Hat Israel, Ltd. Verification of template integrity of monitoring templates used for customized monitoring of system activities
US9355004B2 (en) 2010-10-05 2016-05-31 Red Hat Israel, Ltd. Installing monitoring utilities using universal performance monitor
US9524224B2 (en) 2010-10-05 2016-12-20 Red Hat Israel, Ltd. Customized monitoring of system activities
US20120173659A1 (en) * 2010-12-31 2012-07-05 Verizon Patent And Licensing, Inc. Methods and Systems for Distributing and Accessing Content Associated with an e-Book
US9002977B2 (en) * 2010-12-31 2015-04-07 Verizon Patent And Licensing Inc. Methods and systems for distributing and accessing content associated with an e-book
US20150121451A1 (en) * 2013-10-31 2015-04-30 Eventure Interactive, Inc. Distance-Modified Security And Content Sharing
US9112913B2 (en) * 2013-10-31 2015-08-18 Eventure Interactive, Inc. Distance-modified security and content sharing

Also Published As

Publication number Publication date
US7860923B2 (en) 2010-12-28
WO2006023837A2 (en) 2006-03-02
WO2006023837A3 (en) 2006-08-24
US20060039304A1 (en) 2006-02-23
US20060039303A1 (en) 2006-02-23
US8050623B2 (en) 2011-11-01

Similar Documents

Publication Publication Date Title
US20060041561A1 (en) Method and apparatus for wirelessly sharing a file using an application-level connection
US11138300B2 (en) Multi-factor profile and security fingerprint analysis
US7860922B2 (en) Method and device for the wireless exchange of media content between mobile devices based on content preferences
US10210527B2 (en) Open registry for identity of things including social record feature
US20190347290A1 (en) Blockchain-based music originality analysis method and apparatus
CN101729546B (en) Configuring user-customized services for networked devices
US20190354606A1 (en) Private Cryptocoinage in Blockchain Environments
US20100274859A1 (en) Method And System For The Creation, Management And Authentication Of Links Between Entities
US20110066503A1 (en) System and Method for Transferring Digital Media
US20170103449A1 (en) In-library lending activation
CN109582473A (en) Across chain data access method and device based on block chain
US20050060437A1 (en) Electronic receipt management
WO2023049770A2 (en) Cryptographically enabling characteristic assignment to identities with tokens, token validity assessments and state capture processes
JP2008525864A (en) Method, system and device for consuming content with license centric
US20230114684A1 (en) Cryptographic Content Co-Creation Mechanisms and Linking Physical Elements to Cryptographic Elements
CN111582935A (en) Block chain-based integral mutual identification method and system
WO2006023836A2 (en) Method and apparatus for wirelessly sharing a file using an application level connection
US20140280165A1 (en) Grouping equivalent content items
US8862692B2 (en) Method for providing/accessing data on the internet and a respective client, server, and system
WO2006023734A2 (en) Method and apparatus for wireless distribution of a file using ad-hoc wireless networks
GB2451226A (en) A method and system for the creation, management and authentication of links between people, entities, objects and devices
US20220393892A1 (en) Composite Cryptographic Systems with Variable Configuration Parameters and Memory Bound Functions
JP2005025423A (en) Group use system and method for application
TW202303484A (en) Apparatus and method for providing service of issuing media content token based on blockchain
KR20230118304A (en) On-line system and method for issuing and auehtnicating work including web token

Legal Events

Date Code Title Description
AS Assignment

Owner name: TIMEWARNER, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SINGER, HOWARD M.;POPKIN, LAIRD A.;SADAN, YARIV;REEL/FRAME:016232/0181

Effective date: 20050121

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION