EP1631879A2 - System and method for user interaction in a peer-to-peer environment - Google Patents
System and method for user interaction in a peer-to-peer environmentInfo
- Publication number
- EP1631879A2 EP1631879A2 EP04753386A EP04753386A EP1631879A2 EP 1631879 A2 EP1631879 A2 EP 1631879A2 EP 04753386 A EP04753386 A EP 04753386A EP 04753386 A EP04753386 A EP 04753386A EP 1631879 A2 EP1631879 A2 EP 1631879A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- user
- node
- group
- entities
- peer
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- This invention relates to systems and methods for user interaction, more particularly to such in a peer-to-peer environment.
- nodes for messaging, chatting, and file sharing.
- chat and messaging services in preference to conventional mail for textually-related communications.
- file sharing many individuals have come to prefer file sharing to conventional
- the computers such as mobile nodes, offer capabilities to individuals to create and edit digital content items (e.g., images, video clips, audio recordings and the like) by themselves. In many cases individuals, would like to share these digital items with other
- systems and methods applicable, for example, to searching for entities reachable via networking, allowing for communications among node users, and performing sharing operations.
- Such systems and methods could for example, be employed in the provision of services such as sharing, messaging, and/or chat.
- Fig. 1 is a diagram depicting exemplary steps involved in finding nodes providing information about groups according to various embodiments ofthe present invention.
- Fig. 2 is a diagram depicting exemplary steps involved in search according to various embodiments ofthe present invention.
- Fig. 3 is a diagram depicting exemplary steps involved in making entities available according to various embodiments ofthe present invention.
- Fig. 4 is a diagram depicting exemplary steps involved in messaging according to various embodiments ofthe present invention.
- Fig. 5 shows an exemplary group membership certificate according to various
- Fig. 6. is a diagram depicting exemplary steps involved authentication according
- Fig. 7 is a diagram depicting further exemplary steps involved authentication according to various embodiments ofthe present invention.
- Fig. 8 shows Various exemplary graphical user interface (GUI) screens relating to a user viewing entities that she has made available for receipt by other nodes.
- GUI graphical user interface
- Fig. 9. shows various exemplary GUI screens relating to various operations performable by a user with respect to entities.
- Figs. 10 and 11 show various exemplary GUI screens relating to entity search operations performable by a node's user.
- Figs. 12 and 13 show various exemplary GUI screens relating, to instant messaging operations performable by a node's user.
- Fig. 14 shows various exemplary GUI screens relating to group creation.
- Fig. 15 shows various exemplary GUI screens relating to searching for groups.
- Fig. 16 shows various exemplary GUI screens relating to searching for users and/or corresponding nodes.
- Fig. 17 shows various exemplary GUI screens relating to joining a group.
- Fig. 18 shows an exemplary general purpose computer employable in various embodiments of the present invention.
- Fig. 19 shows a functional block diagram of an exemplary node employable in various embodiments ofthe present invention.
- systems and methods applicable, for example, in the provision of various services such as sharing, messaging, and chat in a peer-to-peer environment.
- the services are applicable, for example, in the provision of various services such as sharing, messaging, and chat in a peer-to-peer environment.
- the services are applicable, for example, in the provision of various services such as sharing, messaging, and chat in a peer-to-peer environment.
- the services are applicable, for example, in the provision of various services such as sharing, messaging, and chat in a peer-to-peer environment.
- the services are applicable, for example, in the provision of various services such as sharing, messaging, and chat in a peer-to-peer environment.
- each participant node has equivalent
- communication between nodes in a peer-to-peer environment can take place via one or more intermediate nodes belonging to the same peer-to-
- the peer-to-peer environment might, for instance, consist of users' nodes and service providers' nodes. It is noted that, in various embodiments, messaging can be implemented via application layer routing between nodes.
- connections between nodes can be maintained, for
- embodiments ofthe present invention provide various services.
- Such services could, for example, be made available to users having nodes such as wired or
- Such terminals could have one or more network interfaces.
- the interfaces are not limited to
- EDGE Enhanced Data rate for Global System for Mobile communications Evolution
- UMTS Universal Mobile Telecommunications Service
- DNB-T Transmissionrestrial Digital Video Broadcast
- DNB-X and/or Ethernet interfaces.
- messages can be passed between nodes, for example, for the provision ofthe above-mentioned services.
- various embodiments ofthe present invention provide user interfaces applicable, for example, to the provision of such services.
- a user wishing to join groups and/or make use of various available services may first act to sign-up. For example, such a user might, in various embodiments, visit a kiosk, customer service location, or the like. As another example, such a user might, in various embodiments, direct her node to a web portal or the like. The user could be prompted by a customer representative at a kiosk or the like, or by a web portal or the like, to provide necessary billing information, personal information, and or the like. The customer representative could ask for some metadata to be associated with the user's node. For example, the representative could verbally ask for such data, the user could reply verbally, and the representative could enter the data into a PC or the like. As another example, the representative could have the user answer a series of questions presented using a PC or the
- the metadata could be checked by one or more service providers.
- the representative may act to have
- the user may be requested to agree to behave in a legal manner, and/or
- appropriate software modules or the like could be placed on the user's node, if not being already pre-installed (e.g., by the manufacturer ofthe node).
- the appropriate modules might, for instance, include modules corresponding to an application for the
- initial default configurations and/or information regarding service providers and/or nodes corresponding to one or more peer-to-peer environments.
- the initial default configurations might, for instance, correspond to initial settings regarding user's node.
- information regarding nodes could include, for instance, information regarding public groups and/or a listing of nodes providing name-to-address mapping.
- Placing of software modules might, for instance occur via network download via the web portal or via the action ofthe customer representative. Accordingly, the customer representative might, as a specific example, act to have the software modules delivered to the
- OBEX Object Push Profile perhaps over Bluetooth, IrDA, 802.1 lb, 802.11 lg,
- secret keys and/or public keys could, in various embodiments, be created in user's
- node perhaps via various techniques known in the art.
- one or more certificates are provided.
- a "general access certificate” could be presented, and/or the user could be considered a member of a "general group”.
- the general access certificate could, for instance, give user the rights to use services offered in the general group.
- the user rights could include, for example, rights to search metadata information for public groups.
- the user rights could include rights to search metadata information regarding general group members and/or their nodes.
- Metadata might, in various embodiments, be associated with the user's node.
- Such functionality could be implemented in a number of ways.
- the user's node could query the user for such information via a GUI (Graphical User Interface) or other interface.
- GUI Graphic User Interface
- the user could supply the requested information via a GUI or other interface and have it dispatched to the node.
- the customer representative could ask for such information and have it dispatched to the node.
- the representative could verbally ask for such data, the user could reply verbally, and the representative could enter the data into a PC or the like.
- the representative could have the user answer a series of questions presented using a PC or the like. In either case, the representative could then act to have the metadata dispatched from the PC or the like to user's node.
- the user might act to employ the software modules to learn of one or more groups that she could join.
- the software modules delivered to the user's node during initial download could, for instance, contain initial information of nodes to be contacted in dispatching an information request regarding groups that the user could potentially join. Accordingly the user might act to have her node learn of nodes capable of providing such information.
- dedicated nodes could exist for providing such information about groups. Alternately or additionally, such information could be provided by nodes that also served other functions. For instance, in various embodiments such information might be provided by various nodes associated with users.
- the user could act to have her node make use of service discovery to learn of such nodes.
- the service discovery could be, for instance, Bluetooth service discovery or DNS-SD (Domain Name Server Service Discovery). It is noted that mDNS (multicast Domain Name Server) might be employed, for instance, in embodiments employing DNS-SD.
- the node might act to broadcast on established and/or well-known ports, and/or to listen on established and/or well-known ports.
- the user could act to have her node dispatch a query to learn of nodes that provided such information. Such a query could, for example, be sent via email, MMS
- Multimedia Messaging Service messaging
- SMS Short Message Service
- OBEX OPP Object Push Profile
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- a query could include metadata and/or other parameters indicating that the entities to be found via the search were nodes that provided information about groups joinable by the user.
- the user might be able to indicate to her node via a GUI or other interface a desire to find such nodes providing information about groups.
- the user's node could, for instance, perform such device discovery and/or dispatch one or more queries ofthe sort just noted, the queries containing the appropriate metadata and/or other parameters.
- the user's node could learn of nodes capable of providing the desired information (step 101). For example, via such device discovery the user's node could learn of network addresses corresponding to the nodes capable of providing the information. As another example, where a query was sent, the user's node could receive one or more messages containing information regarding the nodes capable of providing the information. Included in each such message could, in various embodiments, be metadata and/or other parameters corresponding to the nodes capable of providing the desired information. In various embodiments, the metadata and/or other parameters corresponding to each node could include unique identifiers and/or be otherwise sufficient to identify that particular node. It is noted that, in various embodiments, unique identifiers could be associated with, for instance, groups, nodes, users, entities, and/or the like.
- the user's node could, in various embodiments, act to present such information to its user via a GUI or other interface.
- the GUI or other interface could further act to allow the user to select from the presented nodes one or more nodes from which to receive group information.
- a user could perform operations, including, for instance, group search operations, via a webpage.
- Such a webpage might be implemented, for example, via ASP (Active Server Pages), ASP+ (Active Server Pages+), JSP (Java Server Pages), PHP (PHP: Hypertext Preprocessor), WebObjects, and/or the like.
- the user's node could next, in compliance with any user specification ofthe sort just described, request from one or more ofthe appropriate nodes information regarding available groups (step 103).
- the user might, perhaps via a GUI or the like, employ her node to indicate that she was only interested in receiving information regarding groups matching indicated metadata.
- the metadata could be included in the request.
- a user could be able to enter text mode keywords
- the keywords could, for instance, contain textual information that the user
- Such keywords could perhaps be text describing the subject ofthe group, name ofthe group, and/or the like.
- Request functionality could be implemented in a number of ways.
- the user's node could employ email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like to request such information. Messaging via the network of nodes might be via peer-to-peer and perhaps, when
- Such action might, for example, be directed to a network address, unique identifier, or the like obtained by the user's node via its above-described actions to receive information regarding nodes capable of providing information regarding available groups.
- multicast could be employed.
- a node capable of providing such info ⁇ nation could act to comply with the request. Accordingly,
- Such a node could act to return a message to the user's node containing the appropriate
- Metadata corresponding to the group metadata corresponding to the group.
- metadata could be, for example, the
- the individuals could, for instance, be the managers of those groups and/or be individuals capable of granting access to the group where application was required.
- the node could act to provide information regardmg only groups whose associated metadata matched the supplied metadata. It
- the metadata corresponding to a group could include membership criteria and/or an information relating to a group application to be completed in order to request group membership.
- group applications e.g., short, normal, and long
- Group applications will be discussed in greater detail below.
- the node in acting to provide info ⁇ nation regarding only appropriate groups, the node might perform operations involving, for instance, metadata analysis, text analysis, and/or the mapping of, for example, keywords against certain metadata fields.
- the certain metadata fields might, for instance, be those determined and/or indicated to be most relevant. Such indication might, for example, be done by a system administrator or the like.
- Messages responding to requests for information regarding available groups could be sent in a number of ways. For example, such a message could be sent via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links. Such action could be directed to a network address or the like ofthe user's node. Such a network address or the like might, for example, have been received via the request for
- such a message containing group information could be received by a user's node without the node making a corresponding request.
- a member of a group and/or the group's manager might act to have such information sent without there being a specific request. Such action might be performed, for
- embodiments contain an invitation to a group, the invitation perhaps including software modules
- an invitation could be a gaming invitation shown by a gaming application, with the user perhaps accepting the invitation via an interface associated with the gaming application.
- one type of group could be a group of a user's own nodes that is used to enable sharing, uploading, searching and/or downloading files between
- a user's node might, for instance, do comparisons of group membership metadata of other users' nodes. Based on this comparison, a list might be formed of those groups to which certain ofthe user's nodes belonged, but the other did not. This list might be used, for instance, to synchronize group memberships among the user's terminals, the user's confirmation perhaps being requested in order to initiate further group application requests.
- Another way to manage group memberships of a particular user's nodes could involve that user
- the user's node could, in various embodiments,
- GUI GUI or other interface
- the user's node could act to send a join request message to an appropriate target (step 107).
- the appropriate target for which information is presented.
- target could be, for example, as specified in received contact information regarding the selected
- included in a join request message could be unique one or more
- identifiers corresponding to the user and or one or more unique identifiers corresponding to the one or more groups.
- join request message could be
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the appropriate node Upon receipt of the join request message at the appropriate node, the appropriate node might, in various embodiments, access an associated metadata directory, store, and/or the like to consult group rules.
- group rules could, in various embodiments, be established by a group manager and/or the like.
- a service provider may act as a group
- software modules operating one or more nodes associated with the service provider might allow the service provider to Hmit membership in those groups to its own customers.
- the node In consulting the group rules, the node might first act to see
- group manager or the like having rights to grant group membership, perhaps via the node's GUI,
- the appropriate node or the group manager may also consult some external database or registers to see if the user corresponding to the join request was potentially eligible for membership, and/or the like. Such eligibility might, for example, involve the user's being associated with a certain region, indicating a proof of a membership in a hobby group, club, and/or the like, and or being able to share a common secret used as a group membership criteria. This consulting could, in various embodiments, happen based on the user's join request and/or later based on user data received in a membership application.
- a rejection message could be dispatched to the user's node.
- the message could be sent, for example, via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the group rules could be further consulted to see if a user needed to complete a group application in order to request membership.
- the user could be granted membership. Accordingly, a message indicating that membership had been granted.
- the message could be sent, for example, via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- included in the message is a certificate corresponding to group membership.
- data corresponding to the application could be sent to the node ofthe user seeking membership.
- the message could be sent, for example, as a join-request-rejected message
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links. It is noted that, in various embodiments, the application could ask for billing information (e.g., credit card information).
- billing information e.g., credit card information
- the data corresponding to the application could take a number of forms.
- the data could take the form of a hyperlink to a secure website that could present the application and forward the results to the node that dispatched the message including data corresponding to the application.
- the secure website might, for example, employ SSL (Secure Socket Layer) or TLS (Transport Layer Security).
- the data could take the form of an Java or .Net application that, when run at the recipient's node, could present the application and forward the results to the node that dispatched the message including data corresponding to the application.
- forwarding ofthe results could, for example, in a manner analogous to that described above, employ email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like.
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- SOAP Simple Object Access Protocol
- RMI Remote Method Invocation
- JMS Java Messaging Service
- the recipient node Upon receipt ofthe forwarded results, the recipient node could act to see if the results were in accordance with those needed for grant of group membership. Such determination could, for example, involve comparing the results with the above-noted group rules. Alternately or additionally, such determination could involve commutation with one or more servers or the like in order to confirm billing data or the like requested by the application. Such one or more severs might, for example, be servers operated by a bank, credit card company, or the like. Where it was determined that membership could not be granted to the user, a rejection message could be
- corresponding to a user could be metadata ofthe sort discussed above as being collected, for example, by a customer representative, and/or metadata relating to that user's membership in a group.
- the former sort of metadata could be shared among all subscriber nodes, and perhaps not be alterable by the user, while the later sort of metadata might only be shared if specified by the user.
- a node user wishing to search for information regarding groups, other group members, downloadable entities such as a files, media items, program, and/or the like could, according to various embodiments ofthe present invention, indicate a desire to do so via a GUI or other interface provided by her node (step 201).
- the user could additionally specify one or more of her node's network interfaces as employable in the searching for and/or downloading entities.
- the node should act to minimize the use of cellular telephone links such as, for example, GPRS or UMTS links and maximize the use of short-range radio communication links such as, for example, Bluetooth links.
- cellular telephone links such as, for example, GPRS or UMTS links
- short-range radio communication links such as, for example, Bluetooth links.
- such modules might keep track of connection patterns between various nodes. Such modules might then examine such patterns in order to make a guess as to whether a particular connection was to be used in the near future. In the case where a particular connection was guessed to be used in the near future, it could be kept open.
- Such functionality might have a
- multiplexing could be employed in connections where appropriate such that multiple messages and/or the like could sent between two nodes via a single communication
- modules could, in various embodiments, have the effect of reducing wait time experienced by a
- the communication settings might, for example, have been given to user's node
- the communication settings might have been entered by the node's user, perhaps via an appropriate GUI. Or, as user can define such settings or do selections per a specific operation. Via such entry, the user might, in various embodiments, be able to specify communications settings with respect to specified and/or all network operations and/or the like, and/or on a per-operation basis.
- the communication settings might, in various embodiments, cover the overall guidelines of usage of network links and node interfaces regarding communication with other nodes via appropriate software modules. It is further noted that the settings might, in various embodiments, be split to specific settings per an operation type. Accordingly, for example, there might be one setting regarding search requests and or replies, and another setting for more bandwidth demanding operations, such as, for instance, upload and download of entities.
- users may be costs and or bandwidths
- the user could be presented with a total cost and or average bandwidth. Alternately or additionally, the user could be presented with a cost and/or bandwidth for each hop. Where multiple alternatives are available for performing a network operation (e.g., one path involving a single UMTS hop, and another involving several Bluetooth hops), the user could be presented with cost and/or bandwidth information for each alternative, the presentation perhaps being as just described.
- presentation could be in such a way that could highlight certain properties.
- the user could, in addition to or as an alterative to presentation ofthe sort just described, be presented with indications as to, for instance, which alterative would cost the least money, which would provide the highest bandwidth, and or the like.
- network operations performed by a user could cause another user to incur costs such as, for example, network use costs. Such could be the case, for example, in certain cases where a user requests an entity that is dispatched via the nodes of one or more other users.
- functionality might, in various embodiments, be provided whereby a user could be informed of, for instance, the costs she would cause others to incur in performing a particular network operation. The user could be so informed, for instance, in a manner analogous to that just described.
- the node could present its user with a listing ofthe groups of which she is a member, and request that she indicates with respect to which of these groups the search should be performed.
- the user could make the choice via the GUI or other interface (step 203).
- the user could, in various embodiments ofthe present invention, choose to indicate to her node metadata keywords, and/or other parameters corresponding to the entities that should be found (step 205).
- a wide variety of metadata could be specifiable.
- specifiable metadata could be metadata related to groups and group services like chat, metadata related to searched entities like name, size, genre,
- the user could be able to specify that the search be performed periodically. The frequency for such might be selected by the node, and/or could be specifiable by the user. Further, in certain embodiments ofthe present invention, a user could specify a time and date at which searching should commence. Also, in various embodiments, operations related to a search could be specified to execute on a node at times a user is not interacting with the node. As another example, in various embodiments, a search operation could be specified to be always active. Operations related to such searches could, for instance, execute as a background process, perhaps such that appropriate user interface software modules are not active and the user is not actively doing any effort.
- the user's node could, in various embodiments, act to send via already established communication channels one or more messages containing information of downloadable entities corresponding to one of more nodes belonging to selected groups.
- the user's node could act to determine the entities available for download with respect to the chosen group or groups and any specification of metadata and/or other parameters.
- Such functionality could be implemented in a number of ways.
- the user's node could then act to send via already established communication channels one or more messages requesting about information of downloadable entities regarding to the one or more nodes belonging to selected groups. If the user's node notices that there are no sufficient communication channels to reach enough nodes in the selected groups, the node could employ service discovery, perhaps ofthe sort noted above, to learn of
- the user's node could, via such service discovery, learn of network addresses or the like correspond to those nodes.
- the user's node could then act to send one or more messages requesting from one or more of those nodes information regarding entities available for download. Included in the request could be any user specification of metadata and/or other parameters.
- each such message could be sent, for example, via email, MMS messaging, SMS messaging, OBEX OPP, sending a dispatch message via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- those nodes could provide the user's node with information regarding entities available for download, and/or could send the request to other nodes in a group in a manner described in co-pending U.S. Application "System and Method for Message Handling in a Peer-To-Peer Environment", which is incorporated herein by reference.
- the user's node could receive information regarding entities available for download (step 207).
- information could include, in various embodiments, related unique identifiers, network addresses, and/or the like.
- information could arrive in a number of ways. For example, the information could arrive via messages sent via email, MMS messaging,
- SMS messaging via a network formed of nodes, and/or the like in a manner analogous to that discussed above.
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- Included in the received information could be, for instance, metadata and/or other parameters conesponding to the entities available for download. Also included could be, for instance, indications of numbers of network hops, types of networks hops, network use cost information, and/or the like corresponding to receipt ofthe
- the node could present to its user, perhaps via a GUI or other interface, all
- the presentation could be in accordance with the specifications.
- the presentation could be in accordance with the specifications.
- the node might act to only present information regarding entities that could be retrieved in compliance with those specifications. It is noted that in various embodiments a further search results could be requested. For such
- die GUI or other interface could present the user with the option to request such further searching.
- the user's node could act as discussed above to comply with the request.
- the user's node could act, perhaps in a manner analogous to that just described, to present all or some of the received data, and perhaps to again present the option for further searching.
- the first phase search result presentation might contain surrogates related to content
- the GUI or other interface could, in various embodiments, further act to allow the user to select from the presented entities one or more entities for receipt (step 211).
- the user's node could act to request receipt of such selected entities in a number of ways. For example, the user's node could dispatch one or more such requests via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. The requests could be directed toward unique identifiers, network addresses and/or the like " corresponding to the nodes offering the desired entities.
- the unique identifiers, network addresses and/or the like might be known, for example, by examination of messages received via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes andor the like regarding available entities.
- the knowledge could be acquired by sending and receiving search and search reply messages. It is noted that messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the user's node could receive the requested entities.
- the requested entities could be dispatched to the user's node in a number of ways.
- the entities could be dispatched by the nodes possessing them via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes , and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the user in selecting entities for download, the user could specify a desire to perform a conditional download. For instance, the user might be able to specify that a particular entity only be downloaded when her node is capable of directly contacting the node holding the entity (e.g., via direct Bluetooth communication).
- the user's node could act to comply with such a request in a number of ways. For example, where the user's node knew the identity ofthe node holding the entity, the user's node could periodically perform device discovery in an attempt to find the node holding the entity, and act to have the entity received upon the node holding the entity being so found. As another example, where the user's node knew the identity ofthe node holding the entity, the user's node could periodically perform device discovery in an attempt to find the node holding the entity, and act to have the entity received upon the node holding the entity being so found. As another
- the user's node could periodically repeat the search until such a result
- the user's node might perform such searching to discover a source for the
- downloading might be activated once there was a Bluetooth connection from user's node available to other nodes providing access to this node holding the entity.
- a user and/or a user's node could specify that different parts ofthe entity be received in different ways.
- the user could specify, perhaps via a GUI or other interface, that a first portion ofthe entity should be
- the user and or the user's node could further specify portion sizes.
- the user and/or the user's node might be able to specify that the first portion be of a specified size in bytes and/or be a specified fraction ofthe whole.
- the first portion might, for
- the portion sizes might be chosen such that by the time the user had made use ofthe first portion ofthe entity, the other portions would have already arrived.
- the guidelines might, for example, be based on preferences set by the node's user (e.g., via a GUI) and/or be based upon default settings.
- the default settings might, for example, be loaded upon the node during initial set-up and/or placed thereupon at a later time (e.g., via network transfer of appropriate data).
- the default settings might be provided by a service provider, system administrator, and/or the like.
- a node specifies that different parts of an entity be received in different ways might, in various embodiments, be performed by one or more software modules operating on the node. It is further noted that such functionality might be part of an
- a node might, perhaps, act in a manner that is tolerant of
- a user may not need to manipulate such settings.
- a user may be provided with a set of default settings for her node providing acceptable operation such that, if the user was not
- her node described herein Such default settings might, for example, be provided to her node at time of manufacture and/or initial sign-up. It is further noted that, in various embodiments, a user may be able to place settings, for example when taking possession of her node for the first time, and then update those settings periodically and/or by her own volition.
- a user need not wait for various network operations described herein (e.g., operations related to joining groups, operations related to search, operations relating to sharing, operations relating to messaging, and operations relating to chat) to complete before doing something else with her node.
- network operations described herein e.g., operations related to joining groups, operations related to search, operations relating to sharing, operations relating to messaging, and operations relating to chat
- a user could act to move to another part ofthe application running on her node or alternately to another application, have another network operation performed, and/or the like while one or more network operations described herein are done, for instance, as a background process or the like.
- the user might, in various embodiments, receive and/or request status for and/or notification of completion of such one or more network operations, for instance, acting as background processes.
- Such status and/or notification might, for instance, be presented in a non- disturbing manner (e.g., via presentation of small icons, the icons perhaps being associated with a status bar or the like).
- a user wishing to make entities such as files, media items, programs, folders (e.g., including a plurality of entities), and/or the like available from her node for receipt by other nodes could, according to various embodiments ofthe present
- step 301 first indicate a desire to do so to her node via a GUI or other interface.
- her node could allow the user to select one or more entities to be made available.
- functionality could be provided in a number of ways. For instance, the user could be allowed to
- step 303 navigate through the node's file system via a GUI or other interface and to select those entities to be shared.
- the node could, in various embodiments, query the user as to which groups the entity should be made available for download. For example, the node
- I could provide for each entity a GUI checkbox or the like conesponding to each group allowing for downloads of which the user was a member (step 305). Further for each selected entity, the node could, in various embodiments, prompt the user for conesponding metadata and/or other
- the node might not perform such an operation in the case where it determined that metadata and/or other parameters were already associated with
- Metadata and/or other parameters associated with an entity could include a unique identifier. Accordingly, the node might next act to create a unique identifier conesponding to each selected entity and to append it to the entity's metadata.
- identifier creation could be performed in a number of ways. For example, random number
- the node might, in various embodiments, next act to
- entity e ; g., file
- conesponding metadata and/or other information could be
- the node might maintain such a folder with respect to each group for which its user is a member and is making entities available for download. As a next step, the node could
- node could, in various embodiments, perform appropriate operations
- the node could perform appropriate operations to prepare itself to download. Further, the node could perform appropriate operations to prepare itself to download. Further, the node could perform appropriate operations to prepare itself to download. Further, the node could perform appropriate operations to prepare itself to download. Further, the node could perform appropriate operations to prepare itself to download.
- messages requesting information regarding entities available for download might, for instance be received via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- a node could act to receive an entity or entity portion for the purpose of passing it on to another node, and such entities or entity portions could be cached with a unique identifier and made available for further downloads by other nodes belonging to any ofthe peer-to-peer groups. It is further noted that a node could act to decide whether or not to perform such caching based, for example, on specifications regarding available storage space. It is still further noted that, in various embodiments, entities or entity portions could be provided
- search request and/or item receipt requests arriving at her node The user might be able to make
- a user might be able to specify that she be informed by her node of each
- her node in the process of so informing her of an incoming request.
- a user wanting to avoid extra costs, and/or excess processor use, power use, bandwidth use, and/or the like related to usage of her node's access link might specify that uploading of files and/or metadata describing those files should be minimized. Different combinations of optimization techniques can be utilized.
- an entity is marked to be shared, replicas ofthe entity's metadata and/or the entity itself could, in various embodiments, be transfe ⁇ ed to other nodes
- Those nodes could, for instance, be other users nodes or nodes of a service provider. Such operation could have benefits such as, for example, improving
- a short-range radio link e.g., wherein the nodes are positioned in closed proximity to each other.
- the node could, in various embodiments, act to determine whether it possesses the requested entity and/or any other entities conesponding to, or with a close match to, the requested entity. Thereafter, in various embodiments, the node could dispatch the search reply and add descriptive metadata describing the entity to the reply.
- the metadata or part of it including for example the unique identifier andor network address ofthe node, and/or the unique identifier ofthe entity itself, might, in various embodiments, be copied to caches of intermediate nodes transporting the search reply to the requesting node.
- the actual search reply delivered to the requesting node might, perhaps, contain only a subset of uploaded metadata description.
- the upload of an entity by a node to other nodes might happen only when the node receives a first request regarding that specific item.
- the entity could be uploaded, and perhaps copied to caches of other nodes and/or linked with the already uploaded metadata. It is noted that, in such embodiments, in the case where no upload request was ever received, the entity might never be moved over the access link. Messaging Operations
- step 401 search for a conesponding recipient via a GUI or other interface provided by her node.
- the user could additionally specify one or more of its node's interfaces
- the node could present its user with a listing ofthe groups of which she is a member, and request that she indicate of which one or more of these groups the recipient of her instant message should be a member.
- the user could make the choice via the GUI or other interface (step 403).
- the user could, in various embodiments ofthe present invention, choose to indicate to her node metadata and/or other parameters conesponding to
- step 405 the user's node could act to determine potential recipients with respect to the chosen group or groups and any specification of metadata and/or other parameters. Such functionality could be implemented in a number of ways (step 406)
- the node could employ service discovery, perhaps ofthe sort
- the user's node could, via such service discovery, learn of unique identifiers
- the user's node could learn of metadata and/or
- the node could present to its user, perhaps via a GUI or other interface, all or some ofthe received information regarding potential recipients (step 409).
- the user's node could operate in a manner analogous to that
- the user's node might automatically act to receive further search results, perhaps in an attempt to learn of all relevant potential recipients.
- the GUI or other interface presenting potential recipients to the user could further act to allow the user to select one or more ofthe potential recipients as instant message recipients
- the node might first allow the user to compose a conesponding instant message. For instance, the node could present its user with a GUI window or the like into which text could be entered and/or files (e.g., multimedia files or program files) could be dragged.
- files e.g., multimedia files or program files
- the user's node could act to send the created message (step 413).
- Such functionality could be implemented in a number of ways.
- the instant message could be dispatched, perhaps in a manner analogous to that discussed above, via email, MMS, messaging via a network formed of nodes messaging, SMS messaging, OBEX OPP, messaging via a network of nodes, and/or the hke. Messaging via the network of nodes might be via peer-to-
- user's node could present her with a listing of potential recipients that were already known to it.
- the node might know of such potential recipients by their unique identifiers, network addresses,
- Such information may be obtained, for example, via previous search operations, previous message send operations, an associated store, and/or the like.
- the search operations may be obtained, for example, via previous search operations, previous message send operations, an associated store, and/or the like.
- the message send operations may be obtained, for example, via previous search operations, previous message send operations, an associated store, and/or the like.
- the associated store may be obtained, for example, via previous search operations, previous message send operations, an associated store, and/or the like.
- Such sufficient information could include, for instance, a network address, a unique
- all cunently active members in a peer group could act to select the peer group as recipient, and the user's node could respond, for instance, by mapping the unique identifier ofthe group to the message.
- the node could perform appropriate operations to allow service discovery operations of the sort described above to find it and/or its user as potential recipients.
- search for joinable chat boards might indicate a desire to do so via a GUI or other interface
- the user could additionally specify one or more of
- her node's interfaces as employable in the searching for instant messaging recipients and/or
- the node could present its user with a-listing ofthe groups
- the node could act, perhaps in accordance with any user indications ofthe
- the node could learn of various available chat boards.
- the user does not need to search for available chat boards, and the user's node is automatically informed of cunently active chat
- the node could act to present to its user received information regarding available chat boards.
- the node could allow the user to indicate a desire to join one or more ofthe chat boards.
- the user's node could act to dispatch a message regarding its user's wish to join the board to the appropriate node.
- Such dispatch could be performed in a number of ways. For example, such dispatch could
- Messaging via the network of nodes might be via peer-to-peer and
- Included in the message could be metadata and/or other
- the metadata perhaps including a unique identifier
- each recipient node could act to add some or all ofthe metadata and/or other parameters to a maintained store containing data conesponding to all members of the board.
- each recipient node could act to dispatch to nodes of its cu ⁇ ent members
- each recipient node could act to
- the board the data being sufficient to allow the user's node to send messages to the nodes
- the recipient nodes could send the messages to the nodes of
- SMS messaging via a network formed of nodes, and/or the like could be employed.
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the user could employ her node to participate in a joined chat board.
- the node could, for example, employ a GUI or other interface to present to its user joined chat boards and to allow the user to select one or more ofthe chat boards for participation.
- the user's node could allow her to,
- the user could employ her node to compose the message. For instance, the user could enter
- appropriate text and/or drag appropriate files e.g., multimedia files
- appropriate files e.g., multimedia files
- user could further indicate to her node that the message
- the user's node could dispatch the message in a manner analogous to that
- the user's node could be one ofthe multiple recipients of
- a node's user might
- rules set by a system administrator or other individual could govern whether or a user was allowed to create a new chat board.
- a user wishing to so create a new chat board might first employ a GUI or other interface to indicate her desire to do so to her node.
- the node could, in various embodiments, query the user for metadata
- the node might further query the user for specification of a group with respect to which the chat board should be created. After receiving the user's responses, the node could, where necessary, perform service discovery, perhaps in a manner analogous to that discussed above, to learn of one or more nodes handling chat board membership. Where the node's user indicated a particular group for which the chat board should be created, the user's node could act in the service discovery to learn of one or
- message could be, for instance, metadata and/or other parameters conesponding to the user,
- included in the metadata and or other parameters may be parameters
- identifiers ofthe included in the metadata and/or other parameters are identifiers ofthe
- the message could be dispatched, for example, via email, MMS
- SMS messaging SMS messaging
- OBEX OPP messaging via a network formed of nodes
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the appropriate node Upon receipt ofthe message, the appropriate node could, in various embodiments, first act to see if the user was permitted to create a new chat board. Accordingly, the appropriate node might access an associated store, another node, and/or the like to consult any conesponding rules. In the case where the appropriate node found that the user was not permitted to create a
- new chat board it could dispatch a message containing an indication of such to the user's node.
- the message might be dispatched, for example, via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the appropriate node determined that the user was permitted to create a new chat board, and/or in embodiments where no such determination was performed, the appropriate node could act to
- the appropriate node might, for example, perform
- all users interested in playing games may belong to general group conesponding to gaming, and/or each might possess a conesponding certificate.
- Such a gaming general group and/or conesponding certificate could operate in a manner analogous to the general group and conesponding certificate discussed above.
- a user belonging to such a gaming general group could search
- a user wishing to join in a multiplayer game could act to have a search for groups conesponding to appropriate game instances performed. Such a search for
- the user could supply the name of a game she
- the user's node could act to process the user's entry.
- the user's node might act, perhaps in a manner analogous to that discussed above, to associate freely written text based keywords, other types of information, and/or the like could
- the user's node could act to perform appropriate operations so as to have search performed for groups in accordance with the user's entries. Such operations could, for example, be performed in a manner analogous to that discussed above. It is noted that, in various embodiments, the user's node might add parameters to a message or the like sent in carrying out the appropriate operations. Such parameters might,
- node type for instance relate to node type, a node identifier, and/or the user (e.g., user alias name). It is
- the node might, in various embodiments, make
- connections might, for instance, involve
- Messaging via a network formed of nodes might be via
- peer-to-peer and perhaps, when available, direct links.
- the connections could, in various combinations
- embodiments involve the use of different types of transmission links.
- various information could be received. For instance, various metadata and/or other information relating to the groups could be received.
- Received, for example, with respect to a group could be a challenge directed towards players interested in joining an in progress virtual motorcycle race.
- received with respect to a group could be a challenge directed towards players interested in joining a virtual motorcycle race set to start at an indicated time.
- the user could next indicate a desire to join one ofthe groups conesponding to joinable games, and her node could act to comply with her request.
- Such functionality could operate, for instance, in a manner analogous to that discussed above.
- operations might be performed so that the node could receive the appropriate modules and/or the like.
- appropriate modules and/or the like might be delivered by messaging via a network formed of nodes. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- a message containing group information could be dispatched to other users without those users requesting such information.
- a message might be dispatched, for instance, by action of a conesponding group manager, group member, and/or the like, perhaps with a particular goal in mind (e.g., increasing group membership).
- analogous messages could be sent out with respect to groups conesponding to game instances. Accordingly, for instance, such might be dispatched with respect to a particular group
- manager, group member, and/or the like might act to have such a message sent, for example, via
- an interface provided by, for instance, one or more program modules employable for playing the game associated with the group.
- Such a group manager, group member, and/or the like might specify additional information relating to the sort of users sought. Such information could
- such information might specify that only users that had earned at least a specified score in a specified game and/or with respect to a specified game type were sought.
- the message could be sent out in a manner analogous to that discussed above. Accordingly, for instance, the message might be sent out by way of email, MMS messaging,
- SMS messaging OBEX OPP, sending a dispatch message via a network formed of nodes, and/or the like.
- Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the message could, in various embodiments, be routed via nodes to those nodes
- the message could be any message belonging to the group, hi various embodiments, inside each such node, the message could be any message belonging to the group, hi various embodiments, inside each such node, the message could be any message belonging to the group, hi various embodiments, inside each such node, the message could be any message belonging to the group, hi various embodiments, inside each such node, the message could be any message belonging to the group, hi various embodiments, inside each such node, the message could be
- software modules might, for instance, conespond to a group router handling game messages for
- the one or more appropriate software modules could act to route the message to the group.
- modules employable for playing the game might act to decide wither or not the node's user
- a user may request that a new group be created. With the request, the user might be able to ask to be a group manager for the new group. The user could make such a request, for instance, via a GUI or other interface provided by her node.
- the user's node could, in various embodiments, query the user for metadata and/or other parameters conesponding to the group to be created. Included in the metadata could be, for instance, a group name and/or a group description. In various embodiments, the node could act to create a unique identifier or the like and associate it with the
- the node could, in various embodiments, query the user as to whether
- the node could request that
- the node could, for instance, present the user with a
- GUI or other interface whereby the user could indicate the questions to be asked of and/or
- gatherable by such an application could be billing data.
- Such functionality might be employed, for example, in the provision of groups for which subscription was required.
- the node could, in various embodiments, query the user for group
- the user could, via a GUI or other interface, provide the node with specified appropriate responses, ranges of appropriate responses, and/or the like.
- Additional group rules sought by the node could be, for example, an expiration date for the group, a maximum number of members, and/or whether or not the group should be findable by searching operations.
- the user may be able to specify
- prefened values for such perhaps in accordance with ranges established, for instance, by a service provider, software, and/or the like. Further sought could be information regarding the services to be provided for the group, and perhaps specifics conesponding to the provision of those services. For instance, it might be possible for the user to specify which one or more of
- the node could query the user
- the query could ask the user if she
- the node could send a message to a service provider node or the like
- the message could be data conesponding to the user.
- the message could, for example, be sent via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the service provider node or the like might act to determine if the user was entitled to create a new group. Accordingly, the service provider node or the like could, for instance, act to consult one or more appropriate rules.
- the rules might, for example, be provided by a system administrator and/or the hke.
- the service provider node or the like might, in various embodiments, act to perform any necessary charging or billing operations regarding the user's request. Accordingly the service provider node or the like might act to bill the user for the creation ofthe group. Billing could be in accordance with one or more established rules, the rules perhaps provided by a system administrator or the like.
- the service provider node or the like could act to send a message to the user informing her of such.
- the message could be sent, for instance, via email, MMS messaging, SMS messaging, OBEX OPP, messaging via a network formed of nodes, and/or the like. Messaging via the network of nodes might be via peer-to-peer and perhaps, when available, direct links.
- the service provider node could act to create the group.
- the service provider's node could act to create a unique identifier or the like for the group, and associate it with the user-supplied metadata and/or other parameters. Creation ofthe unique identifier could, for instance, be performed in a manner analogous to that discussed above. Accordingly, the service provider node or the like could, where the user requested
- the user's node provides one or more appropriate certificates to the user's node.
- the user's node provides one or more appropriate certificates to the user's node.
- certificate could be a group management certificate. Further, the service provider node or the like could perform appropriate operations so that one or more nodes could act as discussed above to present the new group as a joinable group.
- service provider node or the like could, in various embodiments, act to allow for membership application functionality ofthe sort described above. Accordingly, the service provider node or the like could, for example, act to have a Java application or the Hke
- the service provider node or the like could do such in a number of ways.
- the service provider node or the like could create the Java application or the like could using automatic code generation techniques known in the art.
- the service provider node or the like could act to communicate with a secure server or the Hke to have the
- the service provider node or the like might act to inform one or more individuals of a need to have such tasks performed.
- service providers could act to accept or reject group rules, and/or to
- groups for which subscription was required might include groups created by
- An expiration data could, in various embodiments, be set for a group. By appropriately choosing an expiration date, a group which could be thought of as a "temporary group" could be created. Such a temporary group could be employed for a number of purposes
- gatherings and special occasions including, for example, gatherings and special occasions.
- groups include, for instance, groups related to clubs, groups related to hobbies, business-to-business (B2B) groups and business-to-consumer groups
- operations allowing for the merging of groups could be performed. For example, system administrators, group managers, and/or others might be able to specify that one or more groups be merged to create a new group, the new group perhaps being specified to replace the one or more groups.
- various operations could be performed. For instance, operations could take place such
- group metadata might be combined, perhaps in accordance with semantic mappings
- the merged group metadata could be updated to nodes of members ofthe new
- mappings might, for instance, be provided by a system administrator, software, and/or
- operations might take place so that downloadable entities and/or the like that were made available with respect to the one or more groups would be made available with respect to the new group. Such operations might, for instance, involve directory-level actions. It is noted that in various embodiments, for such a merging to take place, permission might need to be received from the managers associated with each ofthe one or more groups.
- operation may be such that use of services, such as entity sharing and the other services described above, would not be anonymous.
- services such as entity sharing and the other services described above
- a user might be required to present a certificate in order to make use of a service, wherein the certificate contains information identifying the user.
- one or more identifiers could be associated with shared entities. Such an identifier might, for example, serve to identify the user that initially made the entity available for sharing. As another example, such an identifier might serve to identify a producer and/or owner ofthe content conesponding to the entity. As a specific example, for a music media file entity, such an identifier might indicate the copyright holder.
- Such identifiers could, in various embodiments, be associated with a shared entity in such a way that it could not be easily changed by unauthorized users.
- the identifiers could be digitally signed.
- shared entities could be digitally signed and/or encrypted.
- various embodiments could allow for the purchase of entities.
- Such functionality could, for instance, involve performance of associated billing operations such as interface with credit card and/or banking systems, perhaps via use of one or more techniques known in the art.
- an event log could be maintained regarding entities received by users.
- the event log could, for instance, be employed as a detenent for illegal entity sharing and/or as a tool to track down users that performed illegal entity sharing. It is noted that, in various embodiments, groups and/or users could elirninated in the case of improper behavior, illegal activity, and/or the Hke.
- Event log functionality could be implanted in a number, of ways.
- each node could be configured to maintain a log ofthe entities it received and the entities it provides to other nodes, and to periodically transmit the log to a central server or the like.
- the central server or the like could act to compile the received logs into one or more master logs.
- a user could specify a node to act as a proxy for her node in performing various operations.
- the user could perform such specification, for example, via a GUI or other interface provided by her node.
- a user could, according to various embodiments, be able to specify a proxy for her node with respect to receiving entities.
- a request for receipt of an item ofthe sort noted above could include an indication that the entity should be delivered to the proxy. For instance, included in the email, MMS message, SMS message, OBEX OPP transmission, messaging via a network formed of nodes , and/or the like could be a network address, a unique identifier with associated metadata, and/or the like sufficient for the entity to be directed towards the proxy node.
- the user could be able to specify that all entities be delivered to the proxy.
- the user could be able to specify rules according to which it would be decided wither an entity would be delivered to the user's node or to the conesponding proxy.
- the user could be able to specify, perhaps via a GUI or other interface provided by her node, that only entities meeting certain specified size and/or type criteria be delivered to the proxy, and that all others be delivered to her node.
- a user could, in various embodiments, be able to specify a proxy for her node with respect to providing entities to other nodes.
- a search reply message or other messages ofthe sort noted above regarding available entities might indicate that the proxy would perform the necessary operations.
- the indication for example, might, as above be a network address, a unique identifier with associated metadata, and or the like sufficient for the necessary operations to occur with respect to the proxy.
- a proxy node specified for entity provision operations might also be employed in related search operations.
- proxy functionality could be applicable under a number of circumstances. For instance, a user might employ such functionality in the case where her node lacked adequate processing power, energy resources, storage space, network connectivity, and/or the like to receive and or dispatch entities in a manner satisfactory to the user.
- multiple service providers can anange service interoperability for roaming users.
- each such service providers could act to advertise each other's groups (e.g., public groups).
- such service providers could act to allow for interoperability of associated public keys.
- such service providers could act to distribute each other's public keys.
- such service providers could act to agree upon the ports to be established for use in
- service providers can, in various embodiments,
- a user upon her becoming a member of that group.
- a general access certificate could be given to a user.
- a certificate proving membership in that group be presented.
- message dispatches conesponding to joining a group could be performed without respect to a particular group. Accordingly, in various such embodiments it could be required, for example,
- connection between nodes might, for example, further be used for transporting
- traffic described herein not limited to common groups.
- a connection between two peer nodes verified with generic access certificates and/or specific group membership certificates, and secret and public keys conesponding to the nodes could be used to transport in a multiplexed way traffic of specific groups.
- a certificate conesponding to a particular group could, for example, include sections signed with a secret key possessed by a service provider and/or the like, and/or could include sections digitally signed with a secret key possessed by a group manager associated with
- FIG. 5 Shown in Fig. 5 is an exemplary group membership certificate wherein a section containing a group manger's public key and group rules set by a service provider is signed with
- the service provider's secret key while a section containing a public key of a user to which the certificate is given and group rules set by the group manager is signed by the group manager's secret key.
- secret keys and/or public keys could be created, for example,
- Certificates, secret keys, and pubHc keys are thus, in various combinations
- Shown in Fig. 6 is an exemplary authentication procedure employable in various
- FIG. 7 is an exemplary authentication procedure employable in various embodiments ofthe present invention wherein a second peer node acts to authenticate a first peer node, and shown in Fig. 7 is an exemplary authentication procedure employable in various embodiments ofthe present invention wherein a second peer node acts to authenticate a first peer node, and shown in Fig. 7 is an exemplary authentication procedure employable in various embodiments ofthe present invention wherein a second peer node acts to authenticate a first peer node, and shown in Fig. 7 is an exemplary authentication procedure employable in various embodiments of the present invention wherein a second peer node acts to authenticate a first peer node, and shown in Fig. 7 is an exemplary authentication procedure employable in various embodiments of the present invention wherein a second peer node acts to authenticate a first peer node, and shown in Fig. 7 is an exemplary authentication procedure employable in various embodiments of the present invention wherein a second peer node acts to authenticate a first peer node, and shown in Fig.
- FIG. 7 An authentication procedure such as that shown in Fig. 7 could, for instance, take place after an authentication procedure such as that shown in Fig. 6 has successfully completed.
- the first peer first initiates a connection with the second peer (step 601).
- the second peer sends a random challenge RC 2 to the first peer (step 603).
- the first peer sends an appropriate group
- the first peer uses its secret key Ski to encrypt the challenge RC 2 sent by the second peer (i.e., the first peer calculates Sk ⁇ (RC 2 ) (step 607).
- the first peer sends the encrypted challenge Sk ⁇ (RC 2 ) to the second peer (step 609).
- the first peer sends a challenge RQ to the second peer (step 611).
- the first peer uses its secret key Ski to encrypt the challenge RC 2 sent by the second peer (i.e., the first peer calculates Sk ⁇ (RC 2 ) (step 607).
- the first peer sends the encrypted challenge Sk ⁇ (RC 2 ) to the second peer (step 609).
- the first peer sends a challenge RQ to the second peer (step 611).
- the first peer uses its secret key Ski to encrypt the challenge RC 2 sent by the second peer (i.e., the first peer calculates Sk ⁇ (RC 2 ) (step 607).
- the first peer sends the encrypted challenge Sk ⁇ (RC 2 ) to the second peer
- second peer checks the group membership certificate G received from the first peer (step 613).
- the second peer acts to close the
- connection step 615.
- the check finds GQ to be satisfactory, a determination
- step 617 From one point of view, this might be thought of as a determination of
- second peer acts to decrypt the encrypted challenge with the first peer's public key (i.e., the first peer's public key).
- the second peer calculates Pk ⁇ (Sk ⁇ (RC 2 )) (step 619). Next, the second peer determines if the
- the authentication procedure such as that shown in Fig. 7 may take place after successful completion of an authentication procedure such as that shown in Fig. 6.
- the second peer uses its secret key Sk 2 to encrypt the challenge RQ sent by the first peer (i.e., the second peer calculates Sk 2 (RQ) (step 701).
- the second peer uses its secret key Sk 2 to encrypt the challenge RQ sent by the first peer (i.e., the second peer calculates Sk 2 (RQ) (step 701).
- the second peer uses its secret key Sk 2 to encrypt the challenge RQ sent by the first peer (i.e., the second peer calculates Sk 2 (RQ) (step 701).
- the second peer uses its secret key Sk 2 to encrypt the challenge RQ sent by the first peer (i.e., the second peer calculates Sk 2 (RQ) (step 701).
- the second peer uses its secret key Sk 2 to encrypt the challenge RQ sent by the first peer (i.e., the second peer calculates Sk 2 (RQ) (step
- the first peer sends its group membership certificate GQ, conesponding to the same group to which GQ conesponds, to the first peer (step 703).
- the first peer checks the group membership certificate GC 2 received from the second peer (step 705). In the case where the check finds GC 2 to be unsatisfactory, the first peer acts to close the connection (step 707). In the case where the check finds GC 2 to be satisfactory, the first peer acts to decrypt the encrypted challenge with the second peer's public key (i.e., the first peer calculates Pk 2 (Sk 2 (RQ)) (step 709).
- the first peer calculates Pk 2 (Sk 2 (RQ)
- the first peer acts to close the connection (step 707).
- Performing calculations ofthe sort noted above can, in various embodiments, prove energy, processor, and or resource intensive for a node.
- the second peer does not perform any
- the first peer must perform calculations early on (e.g., the calculation of step 607).
- Such behavior might be beneficial, for instance, in the case where the first peer is a hostile peer, as the second peer would not need to perform the calculations while the first, hostile peer would.
- a general public group might not require as high security as a private group. Accordingly, in various embodiments, different authentication levels maybe provided for different groups. For instance, a highest authentication level might involve exchange of group membership certificates, secret key and pubhc key exchange, the and use of an PIN (Personal Identification Number), secret code, and/or the like. As an additional security step, the PIN, secret code, and or the Hke might, perhaps, be communicated only in the case of a
- certificate chaining might be performed.
- a group manager could provide chained group management certificates to delegate
- the chained certificate could only grant membership to others in the case where the group
- a user might request from a group manager
- chained certificate for later use, for example, in the case where the group manager came to be not reachable.
- chained certificate for later use, for example, in the case where the group manager came to be not reachable.
- fees could be charged with respect to various operations.
- fees could be charged for operations such as
- joining groups creating groups, joining chat boards, creating chat boards, sending instant messages, receiving instant messages, making entities available for receipt, and/or receiving
- fees could be charged, for example, for a user's receipt of
- a service provider might collect fees for granting group manager
- the size ofthe fee could depend, for instance, on group
- certificate e.g., operations allowed in group (e.g., sharing and/or chat), visibility (e.g., public or private) of a group, amount of members, etc).
- a group e.g., sharing and/or chat
- visibility e.g., public or private
- service provider might be able to set and/or control the limits of how many groups a user can be a
- node might need to be upgraded in order to enhance the number of possible groups. Such might,
- manager software modules might, in various embodiments, act to collect information of actions like joining and resigning a groups, and execute charging on its own and/or via a service provider (e.g., by transmitting charging events to service provider).
- Metadata there may be one or more defined sets and/or schemas of acceptable metadata values, fields, and/or the like.
- a user may enter metadata for various purposes (e.g., search). Such entry might, for instance, be via appropriate GUI elements and/or the like. Accordingly, for example, a user might be able to enter
- Metadata conesponding to defined sets and or schemas (e.g., subject, title, format, creator,
- a user may be able to enter freely
- GUI elements might, for instance, involve appropriate GUI elements.
- operations e.g., search
- the user's node might, for instance, act to dispatch an appropriate message or the like (e.g., a query message or the like). It is noted that, in various embodiments, the user's node might add parameters to the query or the like describing, for instance, the node's capabilities relating to handling of various content
- the user's node may act to associate
- the user's node might include in the appropriate message or the like entered freely written text based keywords, other types of information, and/or the, and the
- recipient node could act to perform such association.
- a group may have it's own defined practices
- a group-specific metadata set and/or schema could be a subset of a set and/or schema, for instance, made available to all groups and or by a system administrator, service provider, and or the like.
- a group might have a set and/or schema relating to music sharing that is a subset of a file sharing set and/or schema made available to all groups and or the like, the music sharing set and/or schema containing only metadata values, fields, and/or the like appropriate for music sharing.
- a group-specific metadata set and/or schema might be an extension of a set and/or schema made available, for example, to all groups and/or the like.
- Such a group-specific metadata set and/or schema might, for instance, contain added metadata values,
- a group conesponding to music might add metadata values, fields, and or the like relating to music genres
- a group conesponding to photography might add metadata values, fields, and/or the like
- amateur radio might add metadata values, fields, and/or the Hke relating to DX radio codes.
- group-specific metadata sets and/or schemas could be distributed.
- a node might receive the latest version of a
- a node associated with a group might act to receive, perhaps via the action of one or more appropriate software modules, updates to group-specific sets and/or schemas conesponding to joined groups. Such might, for instance, occur periodically.
- GUI Graphic User Interface
- FIG. 8 Shown in Fig. 8 are various exemplary GUI screens relating to a user viewing entities that she has made available for receipt by other nodes.
- screen 801 it is indicated that the user is making 32 entities available with respect to six groups to which she belongs.
- the user could be presented with screen 803 wherein she could select an entity type.
- the user could be presented with various entities and folders of entities that she had made available with respect to the groups to which she belongs (screen 805).
- Screen 805 could allow the user to select a displayed folder made available to view the conesponding entities contained therein.
- the entities displayed in screen 805 have conesponding graphical indicators showing sharing status (e.g., blocked, not shared, or shared for certain groups). In this example, selecting the folder
- Fig. 9 Shown in Fig. 9 are various exemplary GUI screens relating to various operations performable by a user with respect to entities.
- the user may select entities, and via screen 903 the user can indicate a desire to share the selected entities.
- the user is queried as to the groups with respect to which the selected entities should be made available, and in screen 907, the user can indicate additional settings for sharing.
- screen 909 the user is presented with an indication that appropriate operations are being performed in response to the user's indications.
- screen 911 the user is informed that the operations have successfully completed.
- Screen 913 allows the user to block or unblock sharing of a file.
- Screen 915 presents a query in the case where a user specifies to forbid sharing of an entity. The user selecting the unblock option results in her being presented with screen 917. Upon the user affirmatively answering to the question posed in screen 917, sharing ofthe entity is enabled.
- screen 921 the user is allowed to indicate a desire to delete an entity.
- screen 925 the user is asked to confirm the deletion request. Where the user indicated in screen 925 that deletion should proceed, the node could perform the deletion.
- Screen 927 allows the user to indicate a desire to view details associated with a particular entity.
- screens 929 and 931 the user is presented with a listing that displays the details associated with the entity.
- Screen 933 allows the user to indicate a desire to rename an entity, and in screen 935 the user is prompted for entering a new name for the entity. After entering the new name, a confirmation is displayed to the user as illustrated in screen 937.
- 939 allows the user to indicate a desire to view entities that are being shared only to a certain
- Screen 941 presents a listing in which the use can select an appropriate group.
- Figs. 10 and 11 Shown in Figs. 10 and 11 are various exemplary GUI screens relating to entity search operations performable by a node's user.
- Nia screen 1001 of Fig. 10 the user is able to indicate a desire to search for entities.
- screen 1003 the user is prompted as to the sort of entity for which she wishes to search.
- Screens 1004, 1010, and 1015 present listings of search attributes selectable by the user.
- Nia screen 1005 the user is able to indicate keywords conesponding to
- the user may select from which groups the search is being made. Nia screen 1006, the user may additionally specify that search be made with respect to her own node.
- the user is able to specify size metadata relating to the entities for which she wishes to search.
- the user is able to specify media type metadata relating to the entities for which she wishes to search.
- the user is able to specify additional metadata relating to the entities for which she wishes to search.
- screen 1013 the user is able to specify one or more network interfaces to be employed in searching for and/or receiving entities.
- Nia screens 1016 and 1017 the user is able to indicate a time and date at which searching should commence.
- screen 1101 of Fig. 11 the user is provided with indication that searching is being performed.
- searching yields found entities the user is presented with screen 1103 where the user is notified that searching has completed and told how many entities have been found.
- Nia screen 1107 the user is presented with the found entities and given the opportunity to select one or more for receipt.
- the entities displayed in screen 1107 have conesponding graphical indicators imparting bandwidth and connection information.
- the user selects one or more files for receipt she is presented with screen 1109 where she is asked to confirm this desire.
- searching yielded no found entities the user is presented with screen 1105 where the user is notified that searching has completed but that no entities had been found and presented with an option to save the query for later use.
- Figs. 12 and 13 Shown in Figs. 12 and 13 are various exemplary GUI screens relating to instant messaging operations performable by a node's user.
- Nia screen 1201 the user is able to indicate a
- screen 1205 the user is presented with various instant messaging operations and is prompted to choose one.
- the operations offered are one in which a new message is
- screen 1207 is displayed where the user is presented with one or more potential recipients and prompted to choose one or more of them as recipients ofthe new message. It is noted that, in various embodiments, the user might instead act to search for potential recipients.
- Nia screen 1209 the user is able to compose the message and to indicate a desire to dispatch the message. Where the user selects to dispatch the message, she is presented with screen 1211 indicating that dispatch is occurring and screen 1213 indicating that dispatch has " completed. In the case where the user, via screen 1205, selected the operation relating to viewing
- Shown in Fig. 14 are various exemplary GUI screens relating to group creation.
- Nia screen 1401 a user could indicate a desire to create a new group.
- Nia screen 1403 the user is
- Nia screen 1405 the user is able to specify a maximum number of members for the new group.
- Nia screen 1407 the user is able to
- chat board (“Chat) and instant messaging (“IM”) services are offered for selection.
- IM instant messaging
- Nia screen 1409 the user is able to specify information regarding group managers
- screen 1409 the user is offered with the choices of only her being a group
- Nia screen 1411 the user is able to specify whether or not a user wishing to join the new group would need to fill out a membership application form. In the case where the user indicated that such an application form would be required, she could be presented with a screen allowing her to define the application form. In defining the application form, the user might be able to choose from and or modify existing membership application forms.
- Nia screen 1413 the user might be able to choose from and or modify existing membership application forms.
- the user could indicate whether or not the new group should be findable by searching operations.
- the user could indicate an expiration date conesponding to the new group.
- Fig. 15 Shown in Fig. 15 are various exemplary GUI screens relating to searching for groups.
- Nia screen 1501 a user could indicate a desire to search for a group.
- screen 1503 the user is able to specify name metadata relating to the groups for which she wishes to search.
- name metadata relating to the groups for which she wishes to search.
- the user is able to specify keywords conesponding to metadata relating to the
- searching yields found groups the user is presented with screen 1511 where the user is notified that searching has completed and told how many groups have
- Nia screen 1513 the user is presented with the found groups and given the
- Screen 1515 is shown in the case
- Fig. 16 Shown in Fig. 16 are various exemplary GUI screens relating to searching for users and/or conesponding nodes.
- Nia screen 1601 a user could indicate a desire to search for users and/or conesponding nodes.
- screen 1603 the user is able to specify name metadata relating to the users and/or conesponding nodes for which she wishes to search.
- screen 1605 the user is able to specify name metadata relating to the users and/or conesponding nodes for which she wishes to search.
- the user is able to specify keywords conesponding to metadata relating to the users and/or conesponding nodes for which she wishes to search.
- the user is able to specify additional metadata relating to the users and/or conesponding nodes for which she wishes to
- searching yields found users and/or conesponding nodes
- the user is presented with screen 1611 where the user is notified that searching has completed and told how many users and/or conesponding nodes have been found. In the case that no members have been
- the user is prompted with an option to save the query for later use in screen 1615.
- Fig. 17 Shown in Fig. 17 is exemplary GUI screen 1701 whereby a user is able to indicate
- the particular group could, for instance, be one found via
- GUI screen 1703 informing her
- a user need not need to wait for operations, results, and/or the like requested via a user interface to complete, be presented, and/or the Hke before doing something else with her node. Accordingly, for instance, the user could act to perform other operations described herein (e.g., by moving to
- a user could be informed via a user interface ofthe costs she would incur and/or bandwidths she would enjoy in performing a particular network operation. For example, as noted above, where multiple hops were involved in
- the user could be presented with a total cost and/or average
- the user could be presented with cost and/or bandwidth
- a node user might be accessed by a node user, for example, via a joystick or the like (e.g., a 5-way joystick), a touch screen, and/or a keypad provided by that node.
- a joystick or the like e.g., a 5-way joystick
- a touch screen e.g., a touch screen
- a keypad e.g., a keypad provided by that node.
- user interfaces may be implemented
- group-based downloadable entities e.g., content such as media, files,
- user interfaces maybe implemented such that
- user interfaces may be implemented such that a user is not allowed to mix downloadable entities (e.g., content) between groups.
- downloadable entities e.g., content
- a node user maybe presented with a GUI main menu providing a list of available operations. Included in the list could be, for instance, "Browse Newest Content”, “Access Local Content”, “Groups”, and/or "Application- Wide Functions”.
- a user selecting "Browse Newest Content" could, for instance, be able to access and/or browse a downloadable entities inbox or the like whereby the user could, for example,
- implementation of downloadable entities inbox functionahty maybe such that the inbox holds
- browsing the inbox might be viewed as receiving
- a user browsing the inbox may be presented with
- indications of received downloadable entities the indications divided into categories based on
- graphical symbols or the like might, for instance, conespond to indications of transport carrier, cost, and/or the like.
- a user selecting "Access Local Content” could, in various embodiments, be able
- GUI display to the user could be such that the user is presented with a list of downloadable entities, and for each one a graphical symbol or the like
- a user selecting "Groups" could, according to various embodiments, be able to perform a number of operations. For example, the user could be able to perform group
- management operations such as, for instance, operations conesponding to invitations such as inviting members to a group and/or joining a group via a received invitation.
- operations relating to group creation such as, for instance, the ability to access templates for group application forms.
- operations relating to joining a group such as, for instance, automatic pre-fiU of
- available to the user could be operations relating to searching and or accessing group
- a user selecting "Application- Wide Functions" could, according to various embodiments, be able to perform a number of operations.
- the user could be able to perform operations with respect to ongoing download (e.g., view progress, pause, cancel, and/or delete), and/or perform operations with respect to ongoing uploads (e.g., view progress, pause, cancel, and/or delete).
- the user could be able to perform searches (e.g., using metadata and/or keywords) for downloadable content, perform searches (e.g., using metadata and/or keywords) for group members, perform searches (e.g., using metadata and/or keywords) for groups (e.g., public groups), and/or set conesponding settings.
- the user could be able to save search queries for later use, and or set personal information employable, for instance, in the automatic pre-fill discussed above.
- Certain operations and the like described herein may be executed by and/or with the help of computers. Further, the nodes described herein may be and/or may incorporate computers.
- the phrases "computer”, "general purpose computer”, and the like, as used herein, refer but are not limited to a processor card smart card, a media device, a personal computer, an engineering workstation, a PC, a Macintosh, a PDA, a computerized watch, a wired or wireless terminal, a server, a network access point, a network multicast point, or the like, perhaps running an operating system such as OS X, Linux, Darwin, Windows CE, Windows XP, Windows Server 2003, Palm OS, Symbian OS, or the like, perhaps employing the Series 60 Platform, and perhaps
- processors are not limited to, one or more processors operatively connected to one or more memory or
- memory or storage may contain data, algorithms, and/or program code
- processors may execute the program code and/or manipulate the program
- exemplary computer 18000 as shown in Fig. 18 includes system bus 18050 which operatively connects two processors 18051 and 18052, random
- I/O interfaces 18057 and 18058 may be an Ethernet, IEEE 1394,
- IEEE 1394b IEEE 802.11a, IEEE 802.11b, IEEE 802.1 lg, IEEE 802.16a, IEEE 802.20, Bluetooth, te ⁇ estrial digital video broadcast (DNB-T), satellite digital video broadcast (DNB-S), digital audio broadcast (DAB), general packet radio service (GPRS), Universal Mobile Telecommunications Service (UMTS), DNB-X, IrDA (Infrared Data Association), or other mterface known in the art.
- DNS te ⁇ estrial digital video broadcast
- DVB-S satellite digital video broadcast
- DAB digital audio broadcast
- GPRS general packet radio service
- UMTS Universal Mobile Telecommunications Service
- IrDA Infrared Data Association
- Mass storage 18063 maybe a hard drive, optical drive, or the like.
- 18057 and 18058 may each be a commonly known processor such as an IBM or Motorola
- a touch screen 18001 includes a touch screen 18001 and a keyboard 18002.
- a mouse includes a touch screen 18001 and a keyboard 18002.
- a keyboard includes a touch screen 18001 and a keyboard 18002.
- a mouse includes a keyboard 18001 and a keyboard 18002.
- a mouse includes a keyboard 18001 and a mouse.
- Computer 18000 may additionally
- a computer may run one or more
- modules might, for example, be programmed using languages such as Java, Objective C, C, C#,
- Conesponding program code might be placed on media such as, for example, DVD, CD-ROM, and/or floppy disk. It is noted that any described division of operations among particular software modules is for purposes of illustration, and that alternate divisions of operation may be employed. Accordingly, any operations discussed as being performed by one software module might instead be performed by a plurality of software modules. Similarly, any operations discussed as being performed by a
- plurality of modules might instead be performed by a single module. It is noted that operations disclosed as being performed by a particular computer might instead be performed by a plurality of computers. It is further noted that, in various embodiments, grid computing techniques maybe employed.
- FIG. 19 Shown in Fig. 19 is a functional block diagram of an exemplary terminal
- Terminal 19000 of Fig. 19 maybe used in any/all ofthe embodiments
- the terminal 19000 comprises a processing unit CPU 1903, a multi-carrier
- the multi-carrier signal terminal part 1905 and a user interface (1901, 1902).
- the user interface (1901, 1902) comprises a display and a keyboard to
- the user interface (1901, 1902) comprises a
- 1902 may also comprise voice recognition (not shown).
- the processing unit CPU 1903 comprises a microprocessor (not shown), memory
- the software can be stored in the memory 1904.
- the microprocessor controls, on the basis of the software, the operation ofthe terminal 19000, such as the receiving ofthe data stream, the tolerance ofthe impulse burst noise in the data reception, displaying output in the user interface and the reading of inputs received from the user interface. The operations are described above.
- the hardware contains circuitry for detecting the signal, circuitry
- circuitry for demodulation circuitry for detecting the impulse, circuitry for blanking those samples ofthe symbol where significant amount of impulse noise is present, circuitry for calculating estimates,
- the terminal 19000 can be a hand-held device which the user can comfortably carry.
- the terminal 19000 can be a cellular mobile phone which comprises the
- the terminal 19000 may possibly interact with the service providers.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/446,574 US20040243665A1 (en) | 2003-05-27 | 2003-05-27 | System and method for services provision in a peer-to-peer environment |
US10/446,576 US20040243672A1 (en) | 2003-05-27 | 2003-05-27 | System and method for user interaction in a peer-to-peer environment |
PCT/US2004/016544 WO2004107124A2 (en) | 2003-05-27 | 2004-05-26 | System and method for user interaction in a peer-to-peer environment |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1631879A2 true EP1631879A2 (en) | 2006-03-08 |
Family
ID=33493036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04753386A Withdrawn EP1631879A2 (en) | 2003-05-27 | 2004-05-26 | System and method for user interaction in a peer-to-peer environment |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1631879A2 (zh) |
KR (1) | KR100757976B1 (zh) |
CN (1) | CN1823492A (zh) |
WO (1) | WO2004107124A2 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316088B2 (en) | 2004-07-06 | 2012-11-20 | Nokia Corporation | Peer-to-peer engine for object sharing in communication devices |
CN100401683C (zh) * | 2005-07-11 | 2008-07-09 | 华为技术有限公司 | 网络中对等资源接纳控制子系统实体之间的上报方法 |
EP1826695A1 (en) | 2006-02-28 | 2007-08-29 | Microsoft Corporation | Secure content descriptions |
GB0607294D0 (en) | 2006-04-11 | 2006-05-24 | Nokia Corp | A node |
US20080091771A1 (en) * | 2006-10-13 | 2008-04-17 | Microsoft Corporation | Visual representations of profiles for community interaction |
KR100848289B1 (ko) * | 2007-01-05 | 2008-10-10 | 엠피에스리서치(주) | 무선망에서 피투피 기반의 확장성 있는 실시간 이동그룹통신 서비스 관리 시스템 및 방법 |
KR101409991B1 (ko) | 2007-04-16 | 2014-06-20 | 삼성전자주식회사 | P2p 통신 환경에서의 데이터 전송 방법 및 장치 |
CN101425982A (zh) * | 2007-10-30 | 2009-05-06 | 华为技术有限公司 | 一种实现聊天的方法、系统及装置 |
CN101674380A (zh) * | 2008-09-12 | 2010-03-17 | 深圳华为通信技术有限公司 | 一种基于条件的用户选择方法、装置及服务器 |
KR101635615B1 (ko) * | 2009-10-30 | 2016-07-05 | 삼성전자 주식회사 | 모바일 기기 및 모바일 기기의 제어 방법 |
US8301895B2 (en) * | 2009-12-02 | 2012-10-30 | Microsoft Corporation | Identity based network policy enablement |
KR101582693B1 (ko) * | 2009-12-11 | 2016-01-11 | 엘지전자 주식회사 | 이동 통신 단말기에서의 데이터 수신 방법 및 이를 적용한 이동 통신 단말기 |
CN102316127B (zh) | 2010-06-29 | 2014-04-23 | 阿尔卡特朗讯 | 无线通信系统中基于分布式存储的文件传输方法 |
US20120269185A1 (en) * | 2011-04-19 | 2012-10-25 | Pbx Central Corpotation | System and method for computer based collaboration initiated via a voice call |
CN103532825A (zh) * | 2012-12-18 | 2014-01-22 | 鹤山世达光电科技有限公司 | 基于群组的用户管理方法及用户管理系统 |
US10003659B2 (en) * | 2014-10-31 | 2018-06-19 | Qualcomm Incorporated | Efficient group communications leveraging LTE-D discovery for application layer contextual communication |
US10034169B2 (en) * | 2014-11-12 | 2018-07-24 | Qualcomm Incorporated | Method to authenticate peers in an infrastructure-less peer-to-peer network |
CN104935564B (zh) * | 2015-04-14 | 2018-01-16 | 闪联信息技术工程中心有限公司 | 使基于mDNS协议的设备及服务在局域网中互相发现的方法 |
CN106201735A (zh) * | 2016-06-27 | 2016-12-07 | 北京票之家科技有限公司 | 消息传输方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944662B2 (en) * | 2000-08-04 | 2005-09-13 | Vinestone Corporation | System and methods providing automatic distributed data retrieval, analysis and reporting services |
US7383433B2 (en) * | 2001-07-31 | 2008-06-03 | Sun Microsystems, Inc. | Trust spectrum for certificate distribution in distributed peer-to-peer networks |
US20040133571A1 (en) * | 2002-12-20 | 2004-07-08 | Martin Horne | Adaptive item search and user ranking system and method |
-
2004
- 2004-05-26 KR KR1020057022638A patent/KR100757976B1/ko not_active IP Right Cessation
- 2004-05-26 CN CNA2004800200407A patent/CN1823492A/zh active Pending
- 2004-05-26 WO PCT/US2004/016544 patent/WO2004107124A2/en active Application Filing
- 2004-05-26 EP EP04753386A patent/EP1631879A2/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
See references of WO2004107124A2 * |
Also Published As
Publication number | Publication date |
---|---|
KR100757976B1 (ko) | 2007-09-11 |
WO2004107124A3 (en) | 2006-01-26 |
KR20060015313A (ko) | 2006-02-16 |
CN1823492A (zh) | 2006-08-23 |
WO2004107124A2 (en) | 2004-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040243672A1 (en) | System and method for user interaction in a peer-to-peer environment | |
US7660864B2 (en) | System and method for user notification | |
EP1494432A2 (en) | System and method for weblog and file sharing in a peer-to-peer environment | |
US20040243580A1 (en) | System and method for message handling in a peer-to-peer environment | |
US20040243665A1 (en) | System and method for services provision in a peer-to-peer environment | |
KR100757976B1 (ko) | P2p환경에서의 사용자 대화를 위한 시스템 및 방법 | |
AU2006242410B2 (en) | Methods and apparatus for enabling a dynamic network of interactors according to personal trust levels between interactors | |
US10264095B2 (en) | Control for inviting an unauthenticated user to gain access to display of content that is otherwise accessible with an authentication mechanism | |
JP5656983B2 (ja) | 仮想ユニバーサルプラグアンドプレイシステムを作成するシステムおよび方法 | |
US10062054B2 (en) | Computerized method and system for establishing a network connection based on a contact list automatically seeded from network behavioral analysis of a user | |
JP5324567B2 (ja) | 個人化された社交ネットワーク用アプリケーションコンテンツ | |
US8886817B2 (en) | Federation and interoperability between social networks | |
US20080071875A1 (en) | Systems and methods for multimedia messaging | |
US9654595B2 (en) | Dynamically aggregating and configuring access to social networking contacts | |
CN113132344B (zh) | 广播和管理呼叫参与 | |
US20120240062A1 (en) | Text-based messaging application cloud | |
US20090216859A1 (en) | Method and apparatus for sharing content among multiple users | |
CN101218626A (zh) | 通过“我附近的人”来捕捉联系人 | |
CN101840562A (zh) | 跨社区邀请和多提供商产品信息处理系统 | |
US8244855B1 (en) | Application state aware mediating server | |
JP2015114698A (ja) | ソーシャルネットワーキングサービス提供システムおよびサーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
PUAK | Availability of information related to the publication of the international search report |
Free format text: ORIGINAL CODE: 0009015 |
|
17P | Request for examination filed |
Effective date: 20051220 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL HR LT LV MK |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 9/00 20060101AFI20060403BHEP |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20101202 |