Interdomain network aware peer-to-peer protocol
Summary by NHIP
Interdomain Peer Selection
The method selects a peer by comparing network distances derived from service provider compilations. It prioritizes a first peer over a second when both exceed a distance threshold and are absent from the stored network distance table.
Claim Score by NHIP
Abstract
A method includes receiving network distance information, receiving a request from a client for an identity of a peer providing content, and identifying a first peer and a second peer providing the content. The network distance information includes a compilation of network distance information provided by a plurality of service providers. The method further includes determining that a network distance between the first peer and the client is less than a network distance between the second peer and the client based on the network distance information, and providing the identity of the first peer to the client.

Term
Projected expiry 21 January 2029.
- Priority
- Filed
- Granted
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 52, average(NHIP)A method comprising:obtaining network distance information including a compilation of network distance information provided by a plurality of service providers;storing the network distance information in a network distance table;receiving a request from a client for an identity of a peer providing content;identifying a first peer and a second peer providing the content;determining a first network distance between the first peer and the client and a second network distance between the second peer and the client;determining that the first peer and the second peer are both distant potential peers to the client based on the first network distance and the second network distance not being included in the network distance table, wherein the distant potential peers have a network distance above a threshold;utilizing the distant potential peers when no non-distant potential peers are identified;and providing the identity of the first peer to the client.
- 8A system comprising:a memory including a network distance table having network distance information including a compilation of network distance information provided by a plurality of service providers;and a processor configured to: receive a request from a client for an identity of a peer providing content;identify a first peer and a second peer providing the content;determine a first network distance between the first peer and the client and a second network distance between the second peer and the client;determine that the first peer and the second peer are both distant potential peers to the client based on the first network distance and the second network distance not being included in the network distance table, wherein the distant potential peers have a network distance above a threshold;utilize the distant potential peers when no non-distant potential peers are identified;and provide the identity of the first peer to the client.
- 15An apparatus comprising:a processor;and a memory having instructions to manipulate the processor, the instructions comprising: instructions to obtain network distance information including a compilation of network distance information provided by a plurality of service providers;instructions to store the network distance information in a network distance table;instructions to identify a first peer and a second peer providing content;instructions to determine a first network distance between the first peer and the client and a second network distance between the second peer and the client;instructions to determine that the first peer and the second peer are both distant potential peers to the client based on the first network distance and the second network distance not being included in the network distance table, wherein the distant potential peers have a network distance above a threshold;instructions to utilize the distant potential peers when no non-distant potential peers are identified;instructions to send a request for content from the device to the first peer;and instructions to receive the content at the device from the first peer.
Independent claims3
37 paragraphs in 5 sections, as filed
CROSS REFERENCE TO RELATED APPLICATIONS
0001This application is a continuation of U.S. patent application Ser. No. 12/271,014, entitled “Interdomain Network Aware Peer-to-Peer Protocol,” filed on Nov. 14, 2008, the disclosure of which is hereby expressly incorporated by reference in its entirety.
FIELD OF THE DISCLOSURE
0002The present disclosure generally relates to communications networks, and more particularly relates to systems and methods for interdomain network aware peer-to-peer protocol.
BACKGROUND
0003Peer-to-peer (P2P) networks use diverse connectivity between participants in a network and the cumulative bandwidth of network participants, rather than conventional centralized resources where a relatively low number of servers provide a service or application. A pure P2P network does not have traditional clients or servers, but only equal peer nodes that simultaneously function as both “clients” and “servers” to the other nodes on the network.
0004P2P networks can be useful for sharing content files containing audio, video, or other data in digital format. It is estimated that P2P file sharing, such as BitTorrent, represents greater than 20% of all broadband traffic on the Internet.
BRIEF DESCRIPTION OF THE DRAWINGS
0005It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the Figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements. Embodiments incorporating teachings of the present disclosure are shown and described with respect to the drawings presented herein, in which:
0006<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram illustrating a communications network in accordance with one embodiment of the present disclosure;
0007<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram illustrating a system for determining network distances in accordance with one embodiment of the present disclosure;
0008<figref idref="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating an exemplary method for providing network distances;
0009<figref idref="DRAWINGS">FIG. 4</figref> is a flow diagram illustrating an exemplary method for combining network distances from multiple sources;
0010<figref idref="DRAWINGS">FIG. 5</figref> is a flow diagram illustrating an exemplary method for P2P file sharing;
0011<figref idref="DRAWINGS">FIG. 6</figref> is a flow diagram illustrating another exemplary method for P2P file sharing; and
0012<figref idref="DRAWINGS">FIG. 7</figref> is an illustrative embodiment of a general computer system.
0013The use of the same reference symbols in different drawings indicates similar or identical items.
DETAILED DESCRIPTION OF THE DRAWINGS
0014The numerous innovative teachings of the present application will be described with particular reference to the presently preferred exemplary embodiments. However, it should be understood that this class of embodiments provides only a few examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed inventions. Moreover, some statements may apply to some inventive features but not to others.
0015<figref idref="DRAWINGS">FIG. 1</figref> shows a communications network <b>100</b>, such as the Internet. Communications network <b>100</b> can include autonomous systems (ASs) <b>102</b> and <b>104</b>. AS <b>102</b> can include routers <b>106</b> and <b>108</b> that communicate with each other and communicate with the rest of communication network <b>100</b> through a peering link at router <b>106</b>. Additionally, AS <b>102</b> can include peer systems <b>110</b> and <b>112</b> that are connected to the communications network <b>100</b> through router <b>108</b>. Similarly, AS <b>104</b> can include router <b>114</b> and peer systems <b>116</b> and <b>118</b>. Peer systems <b>116</b> and <b>118</b> can be connected to the rest of communications network <b>100</b> through a peering link at router <b>108</b>. Peer systems <b>110</b>, <b>112</b>, <b>116</b>, and <b>118</b> can form a P2P file-sharing network. In a P2P file-sharing network, for example, peer system <b>110</b> can request a data file from peer system <b>118</b>. When peer system <b>118</b> has the data file, peer system can provide the data file to peer system <b>118</b>.
0016In an embodiment, communications network <b>100</b> can include a network-mapping server <b>120</b> and P2P server <b>122</b>. ASs <b>102</b> and <b>104</b> can provide network-mapping server <b>120</b> with information about the network, including network distance information between systems. For example, AS <b>102</b> can provide a network distance between peer system <b>110</b> and <b>112</b> and network distances from each of peer system <b>110</b> and <b>112</b> to the peering link at router <b>106</b>. The network-mapping server <b>120</b> can combine the network distance information provided by ASs <b>102</b> and <b>104</b> to obtain network distance information between pairs of peer systems in communications network <b>100</b>. The P2P network can use the network distance information to identify relatively close peers to more efficiently transfer data files and other content. For example, if peer system <b>110</b> requests a data file and both peer systems <b>112</b> and <b>118</b> can provide the data file, the network distance information can be used to direct peer system <b>110</b> to preferentially obtain the data file from peer system <b>112</b> thereby reducing network costs and the time required for peer system <b>110</b> to retrieve the data file.
0017P2P server <b>122</b> can maintain a list of peer systems that can provide at least a portion of a data file or other content. A peer system, such as peer system <b>110</b> can request information from P2P server <b>122</b> about which peer systems can provide the content. The P2P server <b>122</b> can provide peer system <b>110</b> with a list of peers that can provide the data file. In an embodiment, the P2P server <b>122</b> can use network distance information provided by network-mapping server <b>120</b> to provide peer system <b>110</b> with a list of closest peers that can provide the content. In an alternate embodiment, the P2P server <b>122</b> can provide the peer system <b>110</b> with the list of peers and peer system <b>110</b> can use network distance information provide by network-mapping server <b>120</b> to identify a closest peer that can provide the content. Once peer system <b>110</b> has received the content, the peer system <b>110</b> can notify P2P server <b>122</b> that the content can be provided by peer system <b>110</b>.
0018<figref idref="DRAWINGS">FIG. 2</figref> illustrates a system <b>200</b> for determining network distances. A service provider <b>202</b> can have a network <b>204</b> including a number of endpoints and at least one peering point. The endpoints may be individual systems or may be a router or firewall providing network address translation for one or more systems. Additionally, service provider <b>202</b> can have a data collection module <b>206</b> that obtains network distance information for endpoints in network <b>204</b>. Similarly, a service provider <b>208</b> can have a network <b>210</b> including a number of endpoints and a data collection module <b>212</b> that obtains network distance information for endpoints in network <b>210</b>.
0019The system <b>200</b> can include a network-mapping module <b>214</b>. Network-mapping module <b>214</b> can receive network distance information from data collection modules <b>206</b> and <b>208</b>. Additionally, the network-mapping module <b>214</b> may receive policies <b>216</b>. The policies <b>216</b> may indicate preferred routes. For example, Border Gateway Protocol (BGP) information may be used to define preferred routes between networks <b>204</b> and <b>210</b>. Additionally, the policies <b>216</b> may define methods of combining different network distance information. In an embodiment, service provider <b>202</b> may utilize a different method than service provider <b>208</b> for obtaining or determining network distance information. For example, service provider <b>202</b> may utilize network latency measurements and service provider <b>208</b> may utilize number of hops to provide network distance information. As such, policies <b>216</b> may define a scaling factor to utilize when combining the network distance information from service providers <b>202</b> and <b>208</b>.
0020The network-mapping module <b>214</b> can combine the network distance information from each service provider <b>202</b> and <b>208</b> to obtain a network distance table <b>218</b>. The network distance table <b>218</b> can include network distance information for respective pairs of endpoints located throughout networks <b>204</b> and <b>210</b>. At least a portion of network distance table <b>218</b> can be provided to each of service providers <b>202</b> and <b>208</b>. In an embodiment, a portion of the network distance table <b>218</b> may be provided to peer systems within networks <b>204</b> and <b>210</b>. The network distance table can be used to select endpoints with relatively small network distances, such as for P2P file sharing.
0021<figref idref="DRAWINGS">FIG. 3</figref> shows a method of determining network distances. At <b>302</b>, a starting endpoint in an AS can be identified. The endpoint can be a client system, such as client system <b>110</b>, or a peering point, such as router <b>106</b>. Alternatively, the endpoint can be a terminal router, such as router <b>106</b>, which provides connectivity to multiple client systems. At <b>304</b>, a destination endpoint in the AS can be identified. At <b>306</b>, the network distance between the starting endpoint and the destination endpoint can be determined. The network distance can include the network cost, the bandwidth of the network links between the two endpoints, the number of hops between the two endpoints, the roundtrip time between the two endpoints, or any combination thereof. In an embodiment, routing tables including the preferred paths between the two endpoints can be used to identify the network distance. In another embodiment, a router along the path between the two endpoints can determine the network distance from the router to each endpoint. For example, the router may collect information about network traffic to and from each endpoint. The network distance between the two endpoints can be determined by combining the network cost from the router to each endpoint. Further, a map can be made of the network using information from a plurality of routers in the AS. The map can include a network distance for each link in the network and the network distance between the two endpoints can be determined by summing the network distance of each link along a preferred path between the two endpoints.
0022At <b>308</b>, the system can determine if there are any additional destination endpoints. When there are additional destination endpoints, another destination endpoint can be selected, as illustrated at <b>304</b>. Alternatively, when there are no additional destination endpoints, the system can determine if there are any additional starting endpoints, as illustrated at <b>310</b>. When there are additional starting endpoints, the system can identify another starting endpoint at <b>302</b>. Alternatively, the system can provide a distance matrix such as to the network-mapping server <b>120</b>, as illustrated at <b>312</b>.
0023<figref idref="DRAWINGS">FIG. 4</figref> illustrates an exemplary method of combining network distance information. At <b>402</b>, a plurality of distance matrices can be received from a plurality of service providers by a mapping module, such as network-mapping server <b>120</b>. The distance matrices can include network distance information between endpoints within each service provider's network. At <b>404</b>, a starting peer can be identified and at <b>406</b>, a destination peer can be identified. Each peer can be a peer system such as peer system <b>110</b>. At <b>408</b>, the mapping module can determine if both peers are within the same service provider network. When both peers are in the same service provider's network, the network distance between the two peers can be the network distance provided by the service provider, as illustrated at <b>410</b>. At <b>412</b>, the mapping module can determine if there are any additional destination peers. When there are additional destination peers, the mapping module can select another destination peer at <b>406</b>. Alternatively, the mapping module can select another starting peer at <b>404</b>.
0024Returning to <b>408</b>, when both peers are not within the same service provider network, the mapping module identifies possible pathways between the peers, as illustrated at <b>414</b>. The possible pathways can include pathways that cross peering points directly connecting the two service providers' networks and pathways that travel across additional networks to connect the two service providers' networks. In an embodiment, policies can be used to indicate preferred paths. For example, a service provider may have a primary peering point that is preferred over a secondary peering point. A policy may indicate that the network distance should be calculated using a path through the primary peering point rather than a path through a secondary peering point. Any path through the secondary peer can be excluded from further consideration.
0025At <b>416</b>, the mapping module can determine the path with the shortest network distance and use that network distance as the network distance between the peers. In an embodiment, the paths between the two peers may be asymmetric. For example, traffic from the starting peer may travel through a peering point close to the starting peer and distant from the destination peer while traffic from the destination peer may travel through a peering point close to the destination peer and distant from the starting peer. The mapping module can calculate the network distance separately for the two directions. At <b>412</b>, the mapping module can determine if there are any additional destination peers.
0026<figref idref="DRAWINGS">FIG. 5</figref> illustrates an exemplary embodiment of a method for selecting an optimal peer for providing content. At <b>502</b>, a P2P server can receive a network distance table. The P2P server can be a server that provides a peer with a list of other peers for downloading content. For example, a BitTorrent tracker can provide a peer with a list of peers having at least a portion of the content. In another example, the P2P server may provide a peer with a list of neighbor peers to connect to for joining the P2P network.
0027At <b>504</b>, the P2P server can receive a request from a peer. At <b>506</b>, the P2P server can identify potential peers, such as peers that have the requested content. At <b>508</b>, the P2P server can determine the network distance between the requesting peer and each potential peer. When the network distance is asymmetric, the P2P server may utilize a network distance from the requesting peer, a network distance from the potential peer, an average of the network distances, or any combination thereof. In an embodiment, the network distance from the potential peer may be preferred as a larger amount of traffic can travel from the potential peer while downloading content.
0028At <b>510</b>, the P2P server can provide the requesting peer with a list of peers with the smallest network distance. In an embodiment, the list of peers may be ranked by network distance. At <b>504</b>, the P2P server can receive another request.
0029<figref idref="DRAWINGS">FIG. 6</figref> illustrates another exemplary embodiment of a method for selecting an optimal peer for providing content. At <b>602</b>, a peer system, such as peer system <b>110</b> can receive a network distance table. The network distance table may be a partial network distance table including only network distance information related to the peer system. Additionally, the network distance table may only include network distance information for relatively close peers, such as peers having a network distance below a threshold. In an embodiment, the network distance table may include only network distance information from an endpoint to the peer system.
0030At <b>604</b>, the peer system can identify peers that may have desired content. The peer system can send a request to a P2P server to identify potential peers having desired content. Alternatively, the peer system may broadcast a request to the P2P network to identify peers having the desired content. At <b>606</b>, the peer system can determine the network distance for each peer having the desired content. When the network distance is asymmetric, the peer system may utilize a network distance to the potential peer, a network distance from the potential peer, an average of the network distances, or any combination thereof. In an embodiment, the network distance from the potential peer may be preferred as a larger amount of traffic can travel from the potential peer while downloading content. At <b>608</b>, the peer system may request the desired content from the potential peer with the smallest network distance. Alternatively, the peer system may request portions of the desired content from a number of potential peers having a relatively small network distance.
0031In an embodiment, when the network distance table does not include distance information for a potential peer, the peer system may assume that the potential peer is a distant potential peer. Distant potential peers can have a network distance above a threshold. The peer system may utilize distant potential peers only when no non-distant potential peers are identified.
0032<figref idref="DRAWINGS">FIG. 7</figref> shows an illustrative embodiment of a general computer system <b>700</b>. The computer system <b>700</b> can include a set of instructions that can be executed to cause the computer system to perform any one or more of the methods or computer based functions disclosed herein. The computer system <b>700</b> may operate as a standalone device or may be connected, such as by using a network, to other computer systems or peripheral devices.
0033In a networked deployment, the computer system may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a P2P (or distributed) network environment. The computer system <b>700</b> can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, an STB, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system <b>700</b> can be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system <b>700</b> is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
0034The computer system <b>700</b> may include a processor <b>702</b>, such as a central processing unit (CPU), a graphics processing unit (GPU), or both. Moreover, the computer system <b>700</b> can include a main memory <b>704</b> and a static memory <b>706</b> that can communicate with each other via a bus <b>708</b>. As shown, the computer system <b>700</b> may further include a video display unit <b>710</b> such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid-state display, or a cathode ray tube (CRT). Additionally, the computer system <b>700</b> may include an input device <b>712</b> such as a keyboard, and a cursor control device <b>714</b> such as a mouse. Alternatively, input device <b>712</b> and cursor control device <b>714</b> can be combined in a touchpad or touch sensitive screen. The computer system <b>700</b> can also include a disk drive unit <b>716</b>, a signal generation device <b>718</b> such as a speaker or remote control, and a network interface device <b>720</b> to communicate with a network <b>726</b>. In a particular embodiment, the disk drive unit <b>716</b> may include a computer-readable medium <b>722</b> in which one or more sets of instructions <b>724</b>, such as software, can be embedded. Further, the instructions <b>724</b> may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions <b>724</b> may reside completely, or at least partially, within the main memory <b>704</b>, the static memory <b>706</b>, and/or within the processor <b>702</b> during execution by the computer system <b>700</b>. The main memory <b>704</b> and the processor <b>702</b> also may include computer-readable media.
0035The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the FIGs. are to be regarded as illustrative rather than restrictive.
0036The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description of the Drawings, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description of the Drawings, with each claim standing on its own as defining separately claimed subject matter.
0037The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments which fall within the true spirit and scope of the present disclosed subject matter. Thus, to the maximum extent allowed by law, the scope of the present disclosed subject matter is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
Contents5
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2002141343A1 | Cites | United States of America | Applicant |
| US2002141378A1 | Cites | United States of America | Applicant |
| US2002143951A1 | Cites | United States of America | Applicant |
| US2002143989A1 | Cites | United States of America | Applicant |
| US2002169890A1 | Cites | United States of America | Applicant |
| US2003009587A1 | Cites | United States of America | Applicant |
| US2003101278A1 | Cites | United States of America | Applicant |
| US2003204619A1 | Cites | United States of America | Applicant |
| US2005041591A1 | Cites | United States of America | Search report |
| US2005047353A1 | Cites | United States of America | Applicant |
| US2005152333A1 | Cites | United States of America | Search report |
| US2007153764A1 | Cites | United States of America | Search report |
| US2007294422A1 | Cites | United States of America | Applicant |
| US2008133767A1 | Cites | United States of America | Applicant |
| US2008256175A1 | Cites | United States of America | Applicant |
| US2009106393A1 | Cites | United States of America | Applicant |
| US2009144416A1 | Cites | United States of America | Applicant |
| US2009144422A1 | Cites | United States of America | Applicant |
| US2010125643A1 | Cites | United States of America | Applicant |
| US6724733B1 | Cites | United States of America | Applicant |
| US6820133B1 | Cites | United States of America | Applicant |
| US6839769B2 | Cites | United States of America | Applicant |
| US6959333B2 | Cites | United States of America | Applicant |
| US7002917B1 | Cites | United States of America | Search report |
| US7006453B1 | Cites | United States of America | Search report |
| US7028083B2 | Cites | United States of America | Applicant |
| US7065587B2 | Cites | United States of America | Applicant |
| US7139242B2 | Cites | United States of America | Applicant |
| US7159035B2 | Cites | United States of America | Search report |
| US7251688B2 | Cites | United States of America | Applicant |
| US7260645B2 | Cites | United States of America | Applicant |
| US7274658B2 | Cites | United States of America | Applicant |
| US7359985B2 | Cites | United States of America | Applicant |
| US7532623B2 | Cites | United States of America | Search report |
| US7552233B2 | Cites | United States of America | Applicant |
| US7664876B2 | Cites | United States of America | Applicant |
| US7668146B2 | Cites | United States of America | Search report |
| US7697454B2 | Cites | United States of America | Search report |
| US7720996B2 | Cites | United States of America | Applicant |
| US7778235B2 | Cites | United States of America | Search report |
| US7895345B2 | Cites | United States of America | Applicant |
| US20020141343A1 | Cites | United States of America | Applicant |
| US20020141378A1 | Cites | United States of America | Applicant |
| US20020143951A1 | Cites | United States of America | Applicant |
| US20020143989A1 | Cites | United States of America | Applicant |
| US20020169890A1 | Cites | United States of America | Applicant |
| US20030009587A1 | Cites | United States of America | Applicant |
| US20030101278A1 | Cites | United States of America | Applicant |
| US20030204619A1 | Cites | United States of America | Applicant |
| US20050041591A1 | Cites | United States of America | Search report |
| US20050047353A1 | Cites | United States of America | Applicant |
| US20050152333A1 | Cites | United States of America | Search report |
| US20070153764A1 | Cites | United States of America | Search report |
| US20070294422A1 | Cites | United States of America | Applicant |
| US20080133767A1 | Cites | United States of America | Applicant |
| US20080256175A1 | Cites | United States of America | Applicant |
| US20090106393A1 | Cites | United States of America | Applicant |
| US20090144416A1 | Cites | United States of America | Applicant |
| US20090144422A1 | Cites | United States of America | Applicant |
| US20100125643A1 | Cites | United States of America | Applicant |
4 members in 1 office
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 27101408 | United States of America | A |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2010125643A1 | United States of America | A1 | |
| US8219706B2 | United States of America | B2 | |
| US2012246308A1 | United States of America | A1 | |
| US8533359B2This record | United States of America | B2 |
35 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Terminal Disclaimer FiledDIST | DIST | |
| terminal disclaimer fee paidTDP | TDP | |
| Response after Non-Final ActionA... | A... | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Sent to Classification ContractorPGPC | PGPC | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Cleared by OIPE CSRL194 | L194 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- 8533359
- Application
- 13490683
Titles
- English
- Interdomain network aware peer-to-peer protocol
Patent term adjustment
- A delay
- +68 daysthe office missed an examination deadline
- Net adjustment
- 68 days
Classification
- CPC, 1
- H04L12/66
- IPC, 1
- G06F15 173