1. An information processing system including a plurality of information processing apparatuses that mutually exchange information via a network and an information management apparatus that manages exchange of information performed between the plurality of the information processing apparatuses, wherein:
the information management apparatus comprises:
a receiving means for receiving a request for registration from the information processing apparatus connected to the network, as a representative apparatus;
a determination means for determining presence or absence of the registration of the representative apparatus;
a registration means for registering the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
a rejecting means for rejecting the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered; and
at least one of the information processing apparatuses includes:
a requesting means for requesting the information management apparatus to make the registration as the representative apparatus; and
a forwarding means for forwarding information directly transmitted thereto from another one of the above-mentioned information processing apparatuses, as a sender, to another one of the information processing apparatuses other than the sender, if registered in the information management apparatus as the representative apparatus.
2. An information processing method of an information processing apparatus including a plurality of information processing apparatuses that mutually exchange information via a network and an information management apparatus that manages exchange of information performed between the plurality of the information processing apparatuses, wherein:
the information management apparatus performs the steps of:
receiving a request for registration, as a representative apparatus, from the information processing apparatus connected to the network;
determining presence or absence of the registration of the representative apparatus;
registering the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
rejecting the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered; and
at least one of the information processing apparatuses performs the steps of:
requesting the information management apparatus to make the registration as the representative apparatus; and
forwarding information directly transmitted thereto from another one of the information processing apparatuses, as a sender, to another one of the information processing apparatuses other than the sender, if registered in the information management apparatus as the representative apparatus.
3. An information management apparatus for managing mutual exchange of information performed by a plurality of information processing apparatuses via a network, comprising:
a receiving means for receiving a request for registration from the information processing apparatus connected to the network, as a representative apparatus;
a determination means for determining presence or absence of the registration of the representative apparatus;
a registration means for registering the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
a rejecting means for rejecting the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered.
4. The information management apparatus according to claim 4, wherein the receiving means may further include a deleting means for further receiving a request for deletion of the registration from the information processing apparatus as the representative apparatus, and deleting the registration of the information processing apparatus as the representative apparatus when the request for the deletion of the registration is received.
5. The information management apparatus according to claim 4, wherein the deleting means deletes the registration of the representative apparatus, and the registration means registers a designated information processing apparatus as a candidate for a new representative apparatus, when the receiving means receives a request for deletion of registration of the representative apparatus, as a result of designation of the new representative apparatus.
6. The information management apparatus according to claim 4, wherein the registration means registers a single representative apparatus in a single community of an instant messaging system.
7. An information management method of an information management apparatus for managing exchange of information performed between a plurality of information processing apparatus that intercommunicate via a network, the method comprising the steps of:
receiving a request for registration, as a representative apparatus, from the information processing apparatus connected to the network;
determining presence or absence of the registration of the representative apparatus;
registering the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
rejecting the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered.
8. A recording medium containing a computer-readable program for causing an information management apparatus for managing exchange of information performed between a plurality of information processing apparatus that intercommunicate via a network perform the steps of:
receiving a request for registration, as a representative apparatus, from the information processing apparatus connected to the network;
determining presence or absence of the registration of the representative apparatus;
registering the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
rejecting the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered.
9. A computer program product in a storage medium for use in an information management apparatus for managing exchange of information performed between a plurality of information processing apparatus that intercommunicate via a network, the computer program product comprising:
a code that receives a request for registration, as a representative apparatus, from the information processing apparatus connected to the network;
a code that determines presence or absence of the registration of the representative apparatus;
a code that registers the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
a code that rejects the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered.
10. An information processing apparatus connected with other information processing apparatuses to an information management apparatus via a network and exchanging information with the other information processing apparatuses, the information processing apparatus comprising:
a communication means for communicating with the information management apparatus via the network;
a first requesting means for requesting the information management apparatus to make a registration as a representative apparatus via the network;
a forwarding means for forwarding information directly transmitted thereto from one of the other information processing apparatuses as a sender to another information processing apparatus other than the sender, when registered in the information management apparatus as the representative apparatus; and
a transmission means for transmitting information to be transmitted to other information processing apparatuses to the other information processing apparatus registered as the representative apparatus, when not registered in the information management apparatus as the representative apparatus.
11. The information processing apparatus according to claim 10, wherein the information management apparatus further comprises a deleting means for requesting deletion of the registration as the representative apparatus.
12. The information processing apparatus according to claim 11, wherein the deleting means designates a new representative apparatus and requests deletion of its own registration as the representative apparatus.
13. The information processing apparatus according to claim 11, further comprising:
an acquisition means for acquiring information related to information exchanging capability of the other information processing apparatuses from the information management apparatus;
a search means for searching another information processing apparatus from the other information processing apparatuses, which has a function as the representative apparatus, and which has a relatively highest capability regarding exchange of information; and
a second requesting means for requesting registration of the searched other information processing apparatus as the new representative apparatus; wherein
the deleting means designates the searched other information processing apparatus as the new representative apparatus.
14. The information processing apparatus according to claim 11, further comprising:
a receiving means for receiving a notice on deletion of the registration as the representative apparatus from the information management apparatus; and
a notification means for notifying the other information processing apparatus of the deletion of the registration, when receiving the notice on the deletion of the registration.
15. The information processing apparatus according to claim 14, further comprising a transmission means for transmitting a reply to a request for registration as the new representative apparatus when receiving the request for registration from another information processing apparatus currently registered as the representative apparatus; wherein
the first requesting means requests a registration of the new representative apparatus to the information management apparatus, when receiving a notice of deletion of the registration as the representative apparatus from the other information processing apparatus currently registered as the representative apparatus.
16. The information processing apparatus according to claim 10, further comprising an exchanging means for exchanging connection information required for direct connection with another information processing apparatus, with another information processing apparatus via the information management apparatus.
17. An information processing method of an information processing apparatus connected to an information management apparatus via a network along with other information processing apparatuses, and which exchanges information with the other information processing apparatuses, the information processing method comprising the steps of:
communicating with the information management apparatus via the network;
requesting the information management apparatus via the network register a representative apparatus;
forwarding information directly transmitted from another of the information processing apparatuses as a sender to another information processing apparatus other than the sender, when the representative apparatus is registered in the information management apparatus; and
transmitting information to be transmitted to other information processing apparatuses, to the other information processing apparatus registered as the representative apparatus, when the representative apparatus is not registered in the information management apparatus.
18. A recording medium containing a computer-readable program for causing an information processing apparatus connected to an information management apparatus via a network along with other information processing apparatuses, and which exchanges information with the other information processing apparatuses, perform the steps of:
communicating with the information management apparatus via the network;
requesting the information management apparatus via the network register a representative apparatus;
forwarding information directly transmitted from another of the information processing apparatuses as a sender to another information processing apparatus other than the sender, when the representative apparatus is registered in the information management apparatus; and
transmitting information to be transmitted to other information processing apparatuses, to the other information processing apparatus registered as the representative apparatus, when the representative apparatus is not registered in the information management apparatus.
19. A computer program product in a storage medium for use in an information processing apparatus connected to an information management apparatus via a network along with other information processing apparatuses, and which exchanges information with the other information processing apparatuses, the computer program product comprising:
a code that communicates with the information management apparatus via the network;
a code that requests the information management apparatus via the network register a representative apparatus;
a code that forwards information directly transmitted from another of the information processing apparatuses as a sender to another information processing apparatus other than the sender, when the representative apparatus is registered in the information management apparatus; and
a code that transmits information to be transmitted to other information processing apparatuses, to the other information processing apparatus registered as the representative apparatus, when the representative apparatus is not registered in the information management apparatus.
20. An information processing system including a plurality of information processing apparatuses that mutually exchange information via a network and an information management apparatus that manages exchange of information performed between the plurality of the information processing apparatuses, wherein:
the information management apparatus comprises:
a receptor configured to receive a request configured to registration from the information processing apparatus connected to the network, as a representative apparatus;
a determination unit configured to determine presence or absence of the registration of the representative apparatus;
a registration unit configured to register the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
a rejecting unit configured to reject the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered; and
at least one of the information processing apparatuses includes:
a requesting unit configured to request the information management apparatus to make the registration as the representative apparatus; and
a forwarding unit configured to forward information directly transmitted thereto from another one of the information processing apparatuses, as a sender, to another one of the information processing apparatuses other than the sender, if registered in the information management apparatus as the representative apparatus.
21. An information management apparatus for managing mutual exchange of information performed by a plurality of information processing apparatuses via a network, comprising:
a receiver configured to receive a request for registration from the information processing apparatus connected to the network, as a representative apparatus;
a determination unit configured to determining presence or absence of the registration of the representative apparatus;
a registration unit configured to registering the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is not registered; and
a rejecting unit configured to rejecting the registration of the information processing apparatus for which the request for the registration has been received, as the representative apparatus, when it is determined that the representative apparatus is registered.
22. An information processing apparatus connected with other information processing apparatuses to an information management apparatus via a network and exchanging information with the other information processing apparatuses, the information processing apparatus comprising:
a communication unit configured to communicating with the information management apparatus via the network;
a first requesting unit configured to requesting the information management apparatus to make a registration as a representative apparatus via the network;
a forwarding unit configured to forwarding information directly transmitted thereto from one of the other information processing apparatuses as a sender to another information processing apparatus other than the sender, when registered in the information management apparatus as the representative apparatus; and
a transmitter configured to transmitting information to be transmitted to other information processing apparatuses to the other information processing apparatus registered as the representative apparatus, when not registered in the information management apparatus as the representative apparatus.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for transmitting data as a number of segments in separate packets, each packet including a sequence number field, the method comprising:
generating a sequence number that includes a plurality of portions, with at least one portion of the sequence number identifying a particular segment of the data within a file, the at least one portion of the sequence number being based on predictable processing performed by the receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol;
transmitting to a receiving device a data packet including the particular segment of the data and the associated sequence number;
receiving a corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet; and
determining an offset that corresponds to the next segment of the data within the file to transmit based on one or more portions of the received acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
2. The method of claim 1, wherein the at least one portion of the acknowledgement sequence number includes an incremented version of the at least one portion of the sequence number transmitted to the receiving device and the determining step further includes identifying the next segment to transmit based on the incremented version.
3. The method of claim 1, wherein the transmitting step includes transmitting the data packet using transmission control protocolInternet protocol (TCPIP).
4. The method of claim 1, further comprising:
repeating the transmitting, receiving and determining steps for additional segments of the data until all the segments of the data have been transmitted.
5. The method of claim 1, wherein the transmitting step includes transmitting the data packet without storing information identifying the segment being transmitted to the receiving device.
6. The method of claim 1, wherein the plurality of portions includes a least significant portion, wherein the partitioning step includes setting the length of the least significant portion based on the length of the segments transmitted.
7. The method of claim 6, wherein the setting step includes:
setting the length of the least significant portion to n bits when the length of the segments transmitted is 2n bits.
8. A system for transmitting data in a network, the data including a number of segments transmitted in separate packets, the system comprising:
a memory configured to store instructions; and
a processor configured to execute the instructions to:
generate a sequence number including a plurality of portions, at least one portion indicating a particular segment of the data within a file, the at least one portion of the sequence number being based on predictable processing performed by a receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol,
transmit a data packet including the particular segment of the data and the sequence number to the receiving device,
receive a corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet, and
determine an offset to a next segment of the data in the file to transmit based on one or more portions of the acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
9. The system of claim 8, wherein the at least one portion of the acknowledgement sequence number includes an incremented version of the at least one portion of the sequence number transmitted to the receiving device and wherein when determining, the processor:
identifies the next segment to transmit based on the incremented at least one portion of the sequence number.
10. The system of claim 8, wherein when transmitting, the processor: transmits the data packet using transmission control protocolInternet protocol (TCPIP).
11. The system of claim 8, wherein the processor is further configured to: repeat the transmitting, receiving and determining for additional segments of the data until all the segments of the data have been transmitted and acknowledged.
12. The system of claim 8, wherein when transmitting, the processor: transmits the data packet without storing information identifying the segment being transmitted to the receiving device.
13. The system of claim 8, wherein the plurality of portions includes a first portion, and the processor is further configured to:
set the length of the first portion based on the length of the segments transmitted.
14. The system of claim 13, wherein when setting, the processor is configured to:
set the length of the first portion to n bits when the length of the segments transmitted is 2n bits.
15. A computer-readable medium having stored thereon a plurality of sequences of instructions, said sequences of instructions including instructions which, when executed by at least one processor, cause said processor to perform the steps of:
generating a sequence number including a plurality of portions, at least one portion identifying a particular segment of data within a file, the at least one portion of the sequence number being based on predictable processing performed by the receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol;
transmitting a data packet including the particular segment of the data and the sequence number to a receiving device;
receiving corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet; and
determining an offset to a next segment of the data in the file to transmit based on one or more portions of the acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
16. The computer-readable medium of claim 15, wherein the at least one portion of the acknowledgement sequence number includes an incremented version of the at least one portion of the sequence number transmitted to the receiving device and wherein the determining includes
identifying the next segment to transmit based on the incremented at least one portion of the sequence number.
17. The computer-readable medium of claim 15, wherein the transmitting includes:
transmitting the data packet using transmission control protocolInternet protocol (TCPIP).
18. The computer-readable medium of claim 15, including instructions for causing the processor to perform the further steps of:
repeating the transmitting, receiving and determining for additional segments of the data until all the segments of the data have been transmitted.
19. The computer-readable medium of claim 15, wherein the transmitting includes:
transmitting the data packet without storing information identifying the segment being transmitted to the receiving device.
20. The computer-readable medium of claim 15, wherein the plurality of portions includes a least significant portion, the computer-readable medium including instructions for causing said processor to perform the further steps of:
setting the length of the least significant portion based on the length of the segments transmitted.
21. The computer-readable medium of claim 20, wherein the setting includes: setting the length of the least significant portion to n bits when the length of the segments transmitted is 2n bits.
22. A system for transmitting a data stream as a number of discrete packets, each packet including a sequence number, the system comprising:
means for generating a sequence number including a plurality of portions, at least one portion identifying a particular segment of the data stream, the at least one portion of the sequence number being based on predictable processing performed by the receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol;
means for sending a data packet including a first segment of the data stream and the associated sequence number to a receiving device;
means for obtaining a corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet; and
means for determining an offset that corresponds to the next segment of the data stream within the file to transmit based on one or more portions of the received acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
23. A method for transmitting a data stream in a number of discrete packets, each packet including a segment of the data stream and at least one header field, the method comprising:
providing a first function to generate the header field in compliance with a transmission control protocol;
generating the header field using the first function and including in the header field information that represents an associated file offset the information being generated based on predictable processing performed by a receiving device;
transmitting to the receiving device a data packet including the segment of the data stream that corresponds to the offset within the file and the header field;
receiving an acknowledgement packet from the receiving device, the acknowledgment packet including a file offset value that is based on the predictable processing of the associated file;
applying a second function to a portion of the acknowledgement packet corresponding to the header field; and
identifying file offset information relating to a next data segment from results of applying the second function.
24. The method of claim 1, wherein the data represents at least one of a data file, a data message and application generated data.
25. The system of claim 8, wherein the data represents at least one of a data file, a data message and application generated data.
26. The computer-readable medium of claim 15, wherein the data represents at least one of a data file, a data message and application generated data.