WO2006095184B1 - Data processing system - Google Patents
Data processing systemInfo
- Publication number
- WO2006095184B1 WO2006095184B1 PCT/GB2006/000852 GB2006000852W WO2006095184B1 WO 2006095184 B1 WO2006095184 B1 WO 2006095184B1 GB 2006000852 W GB2006000852 W GB 2006000852W WO 2006095184 B1 WO2006095184 B1 WO 2006095184B1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data processing
- processing system
- data
- descriptor
- operating system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Abstract
A data processing system comprising: an operating system for supporting processes, each process being associated with one or more resources, the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated, and being responsive to instructions of a certain type to re-initialise a process; an interface for interfacing between each process and the operating system; and a memory for storing state information for at least one process, the state information being associated with a resource; the interface being arranged to analyse instructions from the processes to the operating system, and being arranged to, on detecting an instruction to re-initialise a process so as to be associated with a resource that is associated with pre-existing state information, cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialised process and to be associated with the resource.
Claims
AMENDED CLAIMS Received by International Bureau on 25 April 2007
1. A data processing system comprising: an operating system for supporting processes, each process being associated with one or more resources, the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated, and being responsive to instructions of a certain type to re-initialise a process; an interface for interfacing between each process and the operating system; and a memory for storing state information for at least one process, the state information being associated with a resource; the interface being arranged to analyse instructions from the processes to the operating system, and being arranged to, on detecting an instruction to re-initialise a process so as to be associated with a resource that is associated with pre-existing state information, cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialised process and to be associated with the resource.
2. A data processing system as claimed in claim 1 , wherein the said instructions include execQ instructions.
3. A data processing system as claimed in claim 1 or 2, wherein the interface is arranged to, when two or more resources are associated with the process, cause the said state information corresponding to the said pre-existing state information to be associated with the resource in response to an attempt to access the resource.
4. A data processing system as claimed in any preceding claim, wherein the operating system is responsive to instructions of another type to duplicate a process.
5. A data processing system as claimed in claim 4 wherein the said instructions of another type include fork() instructions.
6. A data processing system as claimed in any preceding claim, wherein the resource with which the state information is associated is a memory area storing data for transmission and/or reception by the data processing system.
7. A data processing system as claimed in claim 6, wherein the state information is one or more of: data transmission information, reception state information, information defining a virtual hardware interface, TCP windows, information defining unacknowledged buffers and information defining timeout values.
8. A data processing system as claimed in any preceding claim, wherein the system is arranged to be capable of using the state information to form a memory mapping onto the resource.
9. A data processing system as claimed in any preceding claim, wherein the operating system has a table indicating which state information is associated with which resource.
10. A data processing system as claimed in any preceding claim, wherein the interface is arranged to, on detecting an instruction to re-initialise a process so as to be associated with a resource that is associated with pre-existing state information, store a record of that instruction and then pass the instruction to the operating system.
11. A data processing system as claimed in claim 10, wherein the operating system is arranged to call the interface to configure state information for a reinitialised process, and the interface is arranged to, on being called to configure state information for a process to check whether it has a record of there having been an instruction to re-initialise that process so as to be associated with a resource that is associated with pre-existing state information; and if so, cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the process and to be associated with the resource, and otherwise generate fresh state information for the process.
108
12. A data processing system as claimed in any preceding claim, wherein each resource is identifiable by means of a file descriptor.
13. A data processing system as claimed in claim 12, wherein a resource can be identifiable by multiple file descriptors.
14. A data processing system as claimed in claim 13, wherein the operating system is arranged to, in response to instructions to re-initialise a process and allocate a new file descriptor to that process, preferentially allocate a new resource to that process, identifiable by the new file descriptor.
15. A data processing system as claimed in any preceding claim, wherein the state information is stored in memory that is shared between the operating system and the interface.
16. A data processing system as claimed in any preceding claim wherein the interface is a library.
17. A data processing system as claimed in any preceding claim wherein the interface is an application program interface.
18. An interface for use by a data processing system comprising an operating system for supporting processes, each process being associated with one or more resources, the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated, and being responsive to instructions of a certain type to reinitialise a process and a memory for storing state information for at least one process, the state information being associated with a resource; the interface being for interfacing between each process and the operating system; and being arranged to analyse instructions from the processes to the operating system, and being arranged to, on detecting an instruction to re-initialise a process so as to be associated with a resource that is associated with pre-existing state information, cause state information corresponding to that pre-existing state
109
information to be stored in the memory as state information for the re-initialised process and to be associated with the resource.
19. A data carrier storing program data defining an interface as claimed in claim 18.
20. A method for processing instructions in a data processing system comprising: an operating system for supporting processes, each process being associated with one or more resources, the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated, and being responsive to instructions of a certain type to reinitialise a process; an interface for interfacing between each process and the operating system; and a memory for storing state information for at least one process, the state information being associated with a resource; the method comprising the steps of: analysing instructions from the processes to the operating system; and on detecting an instruction to re-initialise a process so as to be associated with a resource that is associated with pre-existing state information, causing state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialised process and to be associated with the resource.
21. A data processing system substantially as described in section A with reference to figures 1 to 6 of the accompanying drawings.
22. An interface substantially as described in section A with reference to figures 1 to 6 of the accompanying drawings.
23. A data carrier substantially as described in section A with reference to figures 1 to 6 of the accompanying drawings.
24. A method for processing instructions substantially as described in section A with reference to figures 1 to 6 of the accompanying drawings.
110
25. A data processing system comprising: an operating system that stores a first network routing table comprising one or more entries each indicating at least part of a route over a network to a respective destination; a transmission support function internal to the operating system arranged to maintain a copy of the first network routing table; and a network data transmission function arranged to transmit data in accordance with the copy network routing table and without accessing the first network routing table.
27. A data processing system as claimed in claim 25 or 26 wherein the network data transmission function is external to the operating system.
28. A data processing system as claimed in any of claims 25 to 27 wherein the network data transmission function is at user level.
29. A data processing system as claimed in any of claims 25 to 28 wherein the first network routing table comprises data enabling routing using address resolution protocol.
30. A data processing system as claimed in any of claims 25 to 29 wherein the first network routing table comprises data enabling routing using transmission control protocol and/or user datagram protocol.
31. A data processing system as claimed in any of claims 25 to 30 wherein the operating system is arranged to signal to the transmission support function when data stored in the first network routing table is updated.
32. A data processing system as claimed in any of claims 25 to 31 wherein the transmission support function is arranged to check the first network routing table for updates.
111
33. A data processing system as claimed in any of claims 25 to 32 wherein the network data transmission function is arranged to read the copy network routing table by means of memory mapping.
34. A data processing system as claimed in claim 33 wherein the memory mapping is read only memory mapping.
35. A data processing system as claimed in any of claims 25 to 34 further comprising a network endpoint, wherein the system is arranged such that the network endpoint is unable to access the first network routing table directly.
36. A data processing system as claimed in any of claims 25 to 35 wherein the system has a counter and is arranged to maintain the counter by incrementing it each time a change is made to the first network routing table.
37. A data processing system as claimed in any of claims 25 to 36 wherein the operating system is arranged to transmit data using the first network routing table.
38. A data processing system as claimed in any of claims 25 to 37 wherein the network data transmission function is arranged to transmit the said data in accordance with the copy network routing table in the form of packets and to create packet headers for such packets based on information in the copy network routing table.
39. A data processing system as claimed in any of claims 25 to 38 wherein the operating system is arranged to delete entries from the first network routing table if they are unused.
40. A data processing system as claimed in claim 39 wherein the operating system is arranged to periodically delete, with a first frequency, unused entries from the first network routing table.
112
41. A data processing system as claimed in claim 39 or claim 40 wherein the network data transmission function is arranged to transmit to the operating system signals for causing the operating system to maintain entries in the network routing table.
42. A data processing system as claimed in claim 41 wherein the signals are dedicated messages for maintaining tables in the operating system.
43. A data processing system as claimed in claim 41 or claim 42 wherein the signals are address resolution protocol reinforce messages.
44. A data processing system as claimed in any of claims 41 to 43 wherein the signals are sent periodically with a second frequency.
45. A data processing system as claimed in claim 44 as dependent on claim 40 wherein the second frequency is greater than the first frequency.
46. Software for execution by a data processing system comprising: an operating system that stores a first network routing table comprising one or more entries each indicating at least part of a route over a network to a respective destination; the software defining: a transmission support function internal to the operating system arranged to maintain a copy of the first network routing table; and a network data transmission function arranged to transmit data in accordance with the copy network routing table and without accessing the first network routing table.
47. A data carrier carrying software as claimed in claim 46.
113
48. A data processing system arranged to control access by a plurality of processes to a region of shared memory, the data processing system being arranged to: prevent more than one process from concurrently accessing the region of shared memory; establish a data structure for holding items of a first type each comprising an indication of another of the plurality of processes, which is attempting to access the region of shared memory, and a definition of an operation on the region of shared memory; and on a process finishing accessing the region of shared memory, action an item in the data structure by performing the defined operation by other than the process indicated in that item.
49. A data processing system arranged to control access by a plurality of processes to a region of shared memory, the data processing system being arranged to: prevent more than one process from concurrently accessing the region of shared memory; establish a data structure for holding items of a first type each comprising an indication of another of the plurality of processes, which is attempting to access the region of shared memory, and a definition of an operation on the region of shared memory; and on a process becoming permitted to access the region of shared memory, action an item in the data structure by performing the defined operation by other than the process indicated in that item.
50. A data processing system as claimed in claim 48 or 49, wherein the data structure is a lockless data structure.
114
51. A data processing system as claimed in any of claims 48 to 50, wherein the said operation is one of: an operation for storing data in the region of shared memory; and an operation for transmitting data from the region of shared memory.
52. A data processing system as claimed in any of claims 48 to 50, wherein the data structure is further arranged to hold items of a second type each comprising an indication of another of the plurality of processes, which is attempting to access the region of shared memory, and an operation of waking the indicated process; the data processing system being further arranged to, on a process finishing accessing the region of shared memory, action an item in the data structure by waking the indicated process.
53. A data processing system as claimed in claim 52, wherein the items of the second type held in the data structure are accessible only by an operating system arranged to control the data processing system.
54. A data processing system as claimed in any of claims 48 to 53, wherein the data structure is stored in the region of shared memory.
55. A data processing system as claimed in any of claims 48 to 54 wherein the data structure is accessible by the operating system and at least some of the plurality of processes.
56. A data processing system as claimed in claim 55, wherein the content of the data structure can be modified by the operating system and at least some of the plurality of processes.
57. A data processing system as claimed in claim 54 or claim 55, wherein the data structure can be read by the operating system and at least some of the plurality of processes.
58. A data processing system as claimed in any of claims 48 to 57, wherein the data processing system is arranged to: on a process finishing accessing the region of
115
shared memory, action the next item in order in the data structure by: if the item is of the first type, performing the defined operations on the region of shared memory by an operating system of the data processing system.
59. A data processing system as claimed in any of claims 48 to 58, wherein the data processing system is arranged to: on a process finishing accessing the region of shared memory, action the next item in order in the data structure by: if the item is of the first type, performing the defined operations on the region of shared memory by another of the plurality of processes
60. A data processing system as claimed in claim 58 wherein the operating system is provided with application specific code for enabling the operating system to perform at least some of the defined operations.
61. A method for controlling access by a plurality of processes to a region of shared memory data in a data processing system, the method comprising: preventing more than one process from concurrently accessing the region of shared memory; establishing a data structure for holding items of a first type each comprising an indication of another of the plurality of processes, which is attempting to access the region of shared memory, and a definition of an operation on the region of shared memory; and on a process finishing accessing the region of shared memory, actioning an item in the data structure by performing the defined operation by other than the process indicated in that item.
62. A method for controlling access by a plurality of processes to a region of shared memory in a data processing system, the method comprising: preventing more than one process from concurrently accessing the region of shared memory; establishing a data structure for holding items of a first type each comprising an indication of another of the plurality of processes, which is attempting to access
116
the region of shared memory, and a definition of an operation on the region of shared memory; and on a process becoming permitted to access the region of shared memory, actioning an item in the data structure by performing the defined operation by other than the process indicated in that item.
63. A data processing system substantially as described in section C with reference to figures 10 to 12 of the accompanying drawings.
64. A method substantially as described in section C with reference to figures 10 to 12 of the accompanying drawings.
65. A data processing system comprising: an operating system for supporting processes, the operating system being arranged to output data by addressing the data to a descriptor corresponding to the intended destination of the data; an interface for interfacing between each process and the operating system; a memory including one or more address spaces, there being an address space corresponding to each of the processes for use by the respective process; and a data communication stack for one of the processes, the stack being located in the address space corresponding to the respective process and having a descriptor allocated to it; the interface being arranged to analyse requests to alter the allocation of a descriptor sent by the processes towards the operating system to identify whether such a request relates to altering the allocation of the descriptor allocated to the stack, and if it does, allocate a different descriptor to the stack and subsequently permit the request to be processed.
66. A data processing system according to claim 65 wherein the said request is a Dup2() system call.
67. A data processing system according to claim 65 or claim 66 wherein the changing of the descriptor allocated to the stack is carried out by means of a Dup2() system call.
68. A data processing system according to claim 67 wherein a failure of the changing of the descriptor by means of a Dup2() system call is reported to the said respective process as a failure of the said request.
69. A data processing system according to any of claims 65 to 68 wherein each process is associated with a corresponding stack.
118
70. A data processing system according to any of claims 65 to 69 wherein the descriptor allocated to the stack is flagged by the operating system as being allocated to a stack.
71. A data processing system according to any of claims 65 to 70 wherein the stack is implemented at user-level.
72. A data processing system according to any of claims 65 to 71 wherein the interface is a library.
73. A data processing system according to any of claims 65 to 72 wherein the interface is an application program interface.
74. An interface for a data processing system comprising an operating system for supporting processes, the operating system being arranged to output data by addressing the data to a descriptor corresponding to the intended destination of the data and a memory including one or more address spaces, there being an address space corresponding to each of the processes for use by the respective process, and a data communication stack for one of the processes, the stack being located in the address space corresponding to the respective process and having a descriptor allocated to it; the interface being for interfacing between each process and the operating system and being arranged to analyse requests to alter the allocation of a descriptor sent by the processes towards the operating system to identify whether such a request relates to altering the allocation of the descriptor allocated to the stack, and if it does, allocate a different descriptor to the stack and subsequently permit the request to be processed.
75. A data carrier storing program data defining an interface as claimed in claim 74.
76. A method for processing requests sent by processes in a data processing system comprising:
119
an operating system for supporting processes, the operating system being arranged to output data by addressing the data to a descriptor corresponding to the intended destination of the data; an interface for interfacing between each process and the operating system; a memory including one or more address spaces, there being an address space corresponding to each of the processes for use by the respective process; and a data communication stack for one of the processes, the stack being located in the address space corresponding to the respective process and having a descriptor allocated to it; the method comprising the steps of: analysing requests to alter the allocation of a descriptor sent by the processes towards the operating system to identify whether such a request relates to altering the allocation of the descriptor allocated to the stack; and if it does, allocating a different descriptor to the stack and subsequently permitting the request to be processed.
77. A data processing system substantially as described in section D with reference to figures 13 to 19 of the accompanying drawings.
78. An interface substantially as described in section D with reference to figures 13 to 19 of the accompanying drawings.
79. A data carrier storing program data defining an interface substantially as described in section D with reference to figures 13 to 19 of the accompanying drawings.
80. A method for processing requests sent by processes in a data processing system substantially as described in section D with reference to figures 13 to 19 of the accompanying drawings.
120
81. A method of compiling a data structure in a computer system, the computer system being arranged to perform protocol processing and transmit data via an interface on the basis of instructions in accordance with a route, the method comprising: receiving a first instruction including an indication of a descriptor; determining a route indicated by the first instruction; identifying an interface within the determined route; attempting to determine the ownership of the interface; and causing an entry to be made in the data structure, the entry including an identifier of the descriptor and a state of the descriptor, wherein the state represents the result of the said attempting step and is a state from a list including A and B, where:
A indicates ownership by a kernel of an operating system in the computer system; and
B indicates ownership by a user-level stack.
82. A method as claimed in claim 81 performed by a socket library in the computer system.
83. A method as claimed in claim 81 or claim 82 wherein the socket library contains a TCP/IP stack.
84. A method as claimed in any of claims 81 to 83 wherein the state is a state from a list that further includes C, where:
C indicates unknown ownership.
85. A method as claimed in any of claims 81 to 84 wherein the first instruction is a system call.
86. A method as claimed in any of claims 81 to 85 wherein the descriptor is a file descriptor.
121
87. A method as claimed in any of claims 81 to 86 wherein the determined ownership of the interface is taken to be the ownership of the descriptor.
88. A method as claimed in any of claims 81 to 87 wherein the step of attempting to determine the ownership of the interface includes accessing system-wide rules defining routes for transmitting data.
89. A method as claimed in any of claims 81 to 88 further comprising: receiving a second instruction including an indication of the said descriptor; accessing the data structure to determine the state of the descriptor; and routing the second instruction based on the determined state of the descriptor.
90. A method as claimed in claim 84 further comprising: receiving an indication that the ownership of the descriptor may have changed; and changing the entry in the data structure to indicate the state of the descriptor as C.
91. A method as claimed in claim 90 further comprising updating the state of the descriptor in the data structure by: receiving a third instruction including an indication of the descriptor; determining a route specified by the third instruction; identifying an interface within the determined route; attempting to determine the ownership of the interface; and based on the determined ownership of the interface, updating the said entry in the data structure to indicate the current ownership of the descriptor.
92. A data structure accessible by a socket library in a computer system, the data structure comprising one or more entries each including an identifier of a descriptor and a state of the descriptor, wherein the state represents the ownership of the descriptor and is a state from a list including A and B, where A indicates ownership by a kernel of an operating system in the computer system, and B indicates
122
ownership by a user-level stack; and wherein accessing the data structure can provide routing information relating to the descriptor.
93. A method of routing data in a computer system, the computer system being arranged to perform protocol processing and transmit data via an interface on the basis of instructions in accordance with a route, the method comprising: receiving a first instruction including an indication of a first descriptor; accessing a data structure storing, for each of one or more descriptors, an identifier of the descriptor and a state of the descriptor, wherein the state represents the ownership of the descriptor and is a state from a list including A and B, where A indicates ownership by a kernel of an operating system in the computer system, and B indicates ownership by a user-level stack; determining the state of the first descriptor; in accordance with the determined state, determining a route; and transmitting the first instruction in accordance with the determined route.
94. A method as claimed in claim 93 performed by a socket library in the computer system.
95. A method as claimed in claim 93 wherein the data structure is stored at the socket library.
96. A method as claimed in any of claims 93 to 95 wherein the state is a state from a list that further includes C, where:
C indicates unknown ownership.
97. A method as claimed in any of claims 93 to 96 wherein the first instruction is a system call.
98. A method as claimed in any of claims 93 to 97 wherein the descriptor is a file descriptor.
123
99. A method as claimed in any of claims 93 to 98 wherein the determined ownership of the interface is taken to be the ownership of the descriptor.
100. A program for programming a computer system to compile a data structure, the computer system being arranged to perform protocol processing and transmit data via an interface on the basis of instructions in accordance with a route, the program being arranged to cause the computer system to compile the data structure by a method comprising: receiving a first instruction including an indication of a descriptor; determining a route indicated by the first instruction; identifying an interface within the determined route; attempting to determine the ownership of the interface; and causing an entry to be made in the data structure, the entry including an identifier of the descriptor and a state of the descriptor, wherein the state represents the result of the said attempting step and is a state from a list including A and B, where:
A indicates ownership by a kernel of an operating system in the computer system; and
B indicates ownership by a user-level stack.
101. A computer system programmed with a program as claimed in claim 100.
102. A data carrier carrying a program as claimed in claim 100.
124
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06710062.8A EP1861778B1 (en) | 2005-03-10 | 2006-03-10 | Data processing system |
EP17167635.6A EP3217285B1 (en) | 2005-03-10 | 2006-03-10 | Transmitting data |
US11/900,377 US8650569B2 (en) | 2005-03-10 | 2007-09-10 | User-level re-initialization instruction interception |
US11/982,148 US8782642B2 (en) | 2005-03-15 | 2007-10-31 | Data processing system with data transmit capability |
US11/982,108 US7844782B2 (en) | 2005-03-10 | 2007-10-31 | Data processing system with memory access |
US11/982,109 US8868780B2 (en) | 2005-03-30 | 2007-10-31 | Data processing system with routing tables |
US11/982,110 US8006252B2 (en) | 2005-03-15 | 2007-10-31 | Data processing system with intercepting instructions |
US13/186,672 US8533740B2 (en) | 2005-03-15 | 2011-07-20 | Data processing system with intercepting instructions |
US14/151,642 US9063771B2 (en) | 2005-03-10 | 2014-01-09 | User-level re-initialization instruction interception |
US14/321,201 US9552225B2 (en) | 2005-03-15 | 2014-07-01 | Data processing system with data transmit capability |
US14/519,065 US9729436B2 (en) | 2005-03-30 | 2014-10-20 | Data processing system with routing tables |
US15/247,696 US10397103B2 (en) | 2005-03-30 | 2016-08-25 | Data processing system with routing tables |
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0504987.9A GB0504987D0 (en) | 2005-03-10 | 2005-03-10 | Memory access |
GB0504987.9 | 2005-03-10 | ||
GB0505299.8 | 2005-03-15 | ||
GB0505297.2 | 2005-03-15 | ||
GBGB0505297.2A GB0505297D0 (en) | 2005-03-15 | 2005-03-15 | Redirecting instructions |
GB0505299A GB0505299D0 (en) | 2005-03-15 | 2005-03-15 | Forking applications |
GBGB0505300.4A GB0505300D0 (en) | 2005-03-15 | 2005-03-15 | Transmitting data |
GB0505300.4 | 2005-03-15 | ||
GB0506403.5 | 2005-03-30 | ||
GB0506403A GB0506403D0 (en) | 2005-03-30 | 2005-03-30 | Routing tables |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/900,377 Continuation US8650569B2 (en) | 2005-03-10 | 2007-09-10 | User-level re-initialization instruction interception |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2006095184A2 WO2006095184A2 (en) | 2006-09-14 |
WO2006095184A3 WO2006095184A3 (en) | 2007-05-10 |
WO2006095184B1 true WO2006095184B1 (en) | 2007-06-28 |
Family
ID=36283987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2006/000852 WO2006095184A2 (en) | 2005-03-10 | 2006-03-10 | Data processing system |
Country Status (3)
Country | Link |
---|---|
US (2) | US8650569B2 (en) |
EP (2) | EP3217285B1 (en) |
WO (1) | WO2006095184A2 (en) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082468B1 (en) | 2008-12-15 | 2011-12-20 | Open Invention Networks, Llc | Method and system for providing coordinated checkpointing to a group of independent computer applications |
US7908364B2 (en) * | 2007-01-26 | 2011-03-15 | Bigfoot Networks, Inc. | Method storing socket state information in application space for improving communication efficiency of an application program |
US8001390B2 (en) * | 2007-05-09 | 2011-08-16 | Sony Computer Entertainment Inc. | Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode |
US8109414B2 (en) | 2008-10-07 | 2012-02-07 | Ing. Erich Pfeiffer Gmbh | Discharge device |
EP2309680B1 (en) * | 2009-10-08 | 2017-07-19 | Solarflare Communications Inc | Switching API |
US8910165B2 (en) * | 2009-10-14 | 2014-12-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Providing thread specific protection levels |
US8743877B2 (en) * | 2009-12-21 | 2014-06-03 | Steven L. Pope | Header processing engine |
US9251214B2 (en) * | 2010-04-08 | 2016-02-02 | Microsoft Technology Licensing, Llc | In-memory database system |
US8763018B2 (en) * | 2011-08-22 | 2014-06-24 | Solarflare Communications, Inc. | Modifying application behaviour |
US8782651B2 (en) * | 2011-09-26 | 2014-07-15 | International Business Machines Corporation | Dynamically redirecting a file descriptor of an executing process by another process by optionally suspending the executing process |
US20140068165A1 (en) * | 2012-09-06 | 2014-03-06 | Accedian Networks Inc. | Splitting a real-time thread between the user and kernel space |
GB2507339A (en) | 2012-10-29 | 2014-04-30 | Ibm | Accessing privileged objects in a server by means of semi privileged instruction |
US9313162B2 (en) | 2012-12-13 | 2016-04-12 | Microsoft Technology Licensing, Llc | Task completion in email using third party app |
US10528385B2 (en) | 2012-12-13 | 2020-01-07 | Microsoft Technology Licensing, Llc | Task completion through inter-application communication |
US20140173602A1 (en) * | 2012-12-14 | 2014-06-19 | Microsoft Corporation | Matching Opportunity to Context |
US9110917B2 (en) * | 2013-01-11 | 2015-08-18 | Red Hat, Inc. | Creating a file descriptor independent of an open operation |
US9569223B2 (en) * | 2013-02-13 | 2017-02-14 | Red Hat Israel, Ltd. | Mixed shared/non-shared memory transport for virtual machines |
US8793628B1 (en) * | 2013-03-11 | 2014-07-29 | Cadence Design Systems, Inc. | Method and apparatus of maintaining coherency in the memory subsystem of an electronic system modeled in dual abstractions |
US9953006B2 (en) | 2015-06-23 | 2018-04-24 | International Business Machines Corporation | Lock-free processing of stateless protocols over RDMA |
CN105141603B (en) * | 2015-08-18 | 2018-10-19 | 北京百度网讯科技有限公司 | Communication data transmission method and system |
US9600336B1 (en) * | 2015-08-28 | 2017-03-21 | International Business Machines Corporation | Storing service level agreement compliance data |
US10102036B2 (en) * | 2016-02-05 | 2018-10-16 | International Business Machines Corporation | Providing additional thread context to assist memory locality |
US20180129994A1 (en) | 2016-11-06 | 2018-05-10 | Microsoft Technology Licensing, Llc | Efficiency enhancements in task management applications |
US10560373B2 (en) | 2017-04-06 | 2020-02-11 | Gvbb Holdings S.A.R.L. | System and method for timely and uniform distribution for real-time packet transmission |
US10467151B2 (en) | 2017-09-05 | 2019-11-05 | NGINX, Inc. | Using shared memory to transport data between server processes |
US11765257B1 (en) * | 2017-11-08 | 2023-09-19 | Juniper Networks, Inc. | Socket replication between nodes of a network device without operating system kernel modification |
US11042424B1 (en) | 2018-04-24 | 2021-06-22 | F5 Networks, Inc. | Pipelined request processing using shared memory |
US11150817B2 (en) * | 2019-02-08 | 2021-10-19 | International Business Machines Corporation | Integrating kernel-bypass user-level file systems into legacy applications |
US11570116B1 (en) | 2021-03-10 | 2023-01-31 | Juniper Networks, Inc. | Estimating standby socket window size during asynchronous socket replication |
Family Cites Families (217)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB408876A (en) | 1932-10-25 | 1934-04-19 | Jean Noeel Cordebas | Process and apparatus for mixing fluids |
US4574350A (en) | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US5226161A (en) * | 1987-08-21 | 1993-07-06 | Wang Laboratories, Inc. | Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types |
ATE157182T1 (en) | 1989-06-19 | 1997-09-15 | Digital Equipment Corp | ARRANGEMENT FOR INTEGRATING APPLICATION PROGRAMS IN A DIGITAL DATA PROCESSING SYSTEM |
US5452455A (en) | 1992-06-15 | 1995-09-19 | International Business Machines Corporation | Asynchronous command support for shared channels for a computer complex having multiple operating systems |
US5325532A (en) * | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
US5696899A (en) * | 1992-11-18 | 1997-12-09 | Canon Kabushiki Kaisha | Method and apparatus for adaptively determining the format of data packets carried on a local area network |
DE4238942C1 (en) | 1992-11-19 | 1994-01-05 | Luwa Fahrzeugklimatech Gmbh | Quick-closing valve for arrangement at intake and exhaust openings of ventilation systems |
EP0610677A3 (en) * | 1993-02-12 | 1995-08-02 | Ibm | Bimodal communications device driver. |
US5272599A (en) | 1993-03-19 | 1993-12-21 | Compaq Computer Corporation | Microprocessor heat dissipation apparatus for a printed circuit board |
JPH07110749A (en) | 1993-04-16 | 1995-04-25 | Hewlett Packard Co <Hp> | Dynamic construction method of dialog box |
JP3270216B2 (en) * | 1993-10-08 | 2002-04-02 | 富士通株式会社 | File name detection method |
US5606668A (en) | 1993-12-15 | 1997-02-25 | Checkpoint Software Technologies Ltd. | System for securing inbound and outbound data packet flow in a computer network |
US5550816A (en) * | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US5535216A (en) | 1995-01-17 | 1996-07-09 | Digital Equipment Corporation | Multiplexed gapped constant bit rate data transmission |
US5721876A (en) * | 1995-03-30 | 1998-02-24 | Bull Hn Information Systems Inc. | Sockets application program mechanism for proprietary based application programs running in an emulation environment |
US5680586A (en) | 1995-04-18 | 1997-10-21 | International Business Machines Corporation | Method and system for storing and accessing user-defined attributes within a data processing system |
US5802320A (en) | 1995-05-18 | 1998-09-01 | Sun Microsystems, Inc. | System for packet filtering of data packets at a computer network interface |
US6098112A (en) * | 1995-10-19 | 2000-08-01 | Hewlett-Packard Company | Streams function registering |
US6170018B1 (en) | 1995-11-27 | 2001-01-02 | Sun Microsystems, Inc. | Remote procedure calling using an existing descriptor mechanism |
US5742817A (en) * | 1995-12-08 | 1998-04-21 | Emc Corporation | Method and apparatus for file server addressing |
US6145088A (en) * | 1996-06-18 | 2000-11-07 | Ontrack Data International, Inc. | Apparatus and method for remote data recovery |
US6070219A (en) | 1996-10-09 | 2000-05-30 | Intel Corporation | Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller |
US6687762B1 (en) * | 1996-10-10 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Network operating system adapted for simultaneous use by different operating systems |
US6085217A (en) * | 1997-03-28 | 2000-07-04 | International Business Machines Corporation | Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system |
US5886872A (en) * | 1997-04-23 | 1999-03-23 | Compaq Computer Corporation | Pivotable support and heat sink apparatus removably connectable without tools to a computer processor |
US6021446A (en) | 1997-07-11 | 2000-02-01 | Sun Microsystems, Inc. | Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine |
US6785888B1 (en) * | 1997-08-29 | 2004-08-31 | International Business Machines Corporation | Memory allocator for a multiprocessor computer system |
US7185266B2 (en) | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
US7284070B2 (en) | 1997-10-14 | 2007-10-16 | Alacritech, Inc. | TCP offload network interface device |
SE511098C2 (en) * | 1997-12-08 | 1999-08-02 | Ericsson Telefon Ab L M | Communication system and method for sending messages in a communication system |
US6160554A (en) | 1998-03-19 | 2000-12-12 | Hewlett Packard Company | Computer file content preview window |
US6002804A (en) | 1998-03-26 | 1999-12-14 | Hewlett-Packard Company | Tone dependent variable halftoning with adjustable algorithm selection |
US6498791B2 (en) | 1998-04-03 | 2002-12-24 | Vertical Networks, Inc. | Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same |
US6988274B2 (en) | 1998-06-12 | 2006-01-17 | Microsoft Corporation | Method, system, and computer program product for representing and connecting an underlying connection-oriented device in a known format |
US6260127B1 (en) * | 1998-07-13 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for supporting heterogeneous memory in computer systems |
US6768996B1 (en) * | 1998-10-08 | 2004-07-27 | Hewlett-Packard Development Company, L.P. | System and method for retrieving an abstracted portion of a file without regard to the operating system of the current host computer |
US6424621B1 (en) * | 1998-11-17 | 2002-07-23 | Sun Microsystems, Inc. | Software interface between switching module and operating system of a data packet switching and load balancing system |
US6539027B1 (en) | 1999-01-19 | 2003-03-25 | Coastcom | Reconfigurable, intelligent signal multiplexer and network design and maintenance system therefor |
US6360241B1 (en) | 1999-02-01 | 2002-03-19 | Compaq Information Technologies Goup, L.P. | Computer method and apparatus for division and square root operations using signed digit |
US6356951B1 (en) | 1999-03-01 | 2002-03-12 | Sun Microsystems, Inc. | System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction |
EP1163777B1 (en) | 1999-03-01 | 2004-04-14 | Sun Microsystems, Inc. | Method and apparatus for identifying and classifying network traffic in a high performance network interface |
US6466952B2 (en) * | 1999-04-08 | 2002-10-15 | Hewlett-Packard Company | Method for transferring and indexing data from old media to new media |
US6502203B2 (en) | 1999-04-16 | 2002-12-31 | Compaq Information Technologies Group, L.P. | Method and apparatus for cluster system operation |
US6304945B1 (en) | 1999-05-13 | 2001-10-16 | Compaq Computer Corporation | Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses |
US6768992B1 (en) | 1999-05-17 | 2004-07-27 | Lynne G. Jolitz | Term addressable memory of an accelerator system and method |
US7318102B1 (en) * | 1999-05-24 | 2008-01-08 | Hewlett-Packard Development Company, L.P. | Reliable datagram |
AU7036300A (en) | 1999-09-08 | 2001-04-10 | Mellanox Technologies Ltd. | Bridge between parallel buses over a packet-switched network |
US6751701B1 (en) | 2000-06-14 | 2004-06-15 | Netlogic Microsystems, Inc. | Method and apparatus for detecting a multiple match in an intra-row configurable CAM system |
US6484224B1 (en) * | 1999-11-29 | 2002-11-19 | Cisco Technology Inc. | Multi-interface symmetric multiprocessor |
US6560613B1 (en) * | 2000-02-08 | 2003-05-06 | Ensim Corporation | Disambiguating file descriptors |
US6675200B1 (en) | 2000-05-10 | 2004-01-06 | Cisco Technology, Inc. | Protocol-independent support of remote DMA |
EP1305687B1 (en) * | 2000-05-24 | 2008-07-30 | Voltaire Ltd. | Filtered application-to-application communication |
US7103626B1 (en) | 2000-05-24 | 2006-09-05 | Hewlett-Packard Development, L.P. | Partitioning in distributed computer system |
AU6420001A (en) * | 2000-06-02 | 2001-12-11 | Mellanox Technologies Ltd. | Dma doorbell |
US6690757B1 (en) * | 2000-06-20 | 2004-02-10 | Hewlett-Packard Development Company, L.P. | High-speed interconnection adapter having automated lane de-skew |
US6687849B1 (en) * | 2000-06-30 | 2004-02-03 | Cisco Technology, Inc. | Method and apparatus for implementing fault-tolerant processing without duplicating working process |
US7236740B2 (en) | 2000-07-05 | 2007-06-26 | Samsung Electronics Co., Ltd. | Data retransmission apparatus and method in a mobile communication system employing HARQ technique |
US7346702B2 (en) * | 2000-08-24 | 2008-03-18 | Voltaire Ltd. | System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics |
US6765922B1 (en) | 2000-09-08 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Speculative transmit for system area network latency reduction |
US20020059052A1 (en) * | 2000-09-12 | 2002-05-16 | Mellanox Technologies Ltd. | Co-simulation of network components |
US6732211B1 (en) * | 2000-09-18 | 2004-05-04 | Ensim Corporation | Intercepting I/O multiplexing operations involving cross-domain file descriptor sets |
US6349035B1 (en) * | 2000-09-29 | 2002-02-19 | Compaq Information Technologies Group, L.P. | Method and apparatus for tooless mating of liquid cooled cold plate with tapered interposer heat sink |
US6718392B1 (en) * | 2000-10-24 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Queue pair partitioning in distributed computer system |
AUPR108900A0 (en) | 2000-10-28 | 2000-11-23 | S4 Technology Pty Limited | Modular digital transmission assembly |
JP3601445B2 (en) | 2000-12-06 | 2004-12-15 | 日本電気株式会社 | Packet transfer apparatus, transfer information management method used therefor, and transfer information search method thereof |
US6728743B2 (en) * | 2001-01-04 | 2004-04-27 | Mellanox Technologies Ltd. | Modulo remainder generator |
US6976174B2 (en) | 2001-01-04 | 2005-12-13 | Troika Networks, Inc. | Secure multiprotocol interface |
US7254237B1 (en) | 2001-01-12 | 2007-08-07 | Slt Logic, Llc | System and method for establishing a secure connection |
US6950961B2 (en) * | 2001-02-13 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | Highly available, monotonic increasing sequence number generation |
US20020129293A1 (en) | 2001-03-07 | 2002-09-12 | Hutton John F. | Scan based multiple ring oscillator structure for on-chip speed measurement |
US20020140985A1 (en) | 2001-04-02 | 2002-10-03 | Hudson Kevin R. | Color calibration for clustered printing |
US7543290B2 (en) * | 2001-04-11 | 2009-06-02 | Mellanox Technologies Ltd. | Multiple queue pair access with single doorbell |
US20020152328A1 (en) | 2001-04-11 | 2002-10-17 | Mellanox Technologies, Ltd. | Network adapter with shared database for message context information |
US7185013B2 (en) * | 2001-04-12 | 2007-02-27 | International Business Machines Corporation | Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems |
US7042848B2 (en) * | 2001-05-04 | 2006-05-09 | Slt Logic Llc | System and method for hierarchical policing of flows and subflows of a data stream |
US6944168B2 (en) | 2001-05-04 | 2005-09-13 | Slt Logic Llc | System and method for providing transformation of multi-protocol packets in a data stream |
US6904057B2 (en) | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
US6901052B2 (en) * | 2001-05-04 | 2005-05-31 | Slt Logic Llc | System and method for policing multiple data flows and multi-protocol data flows |
US6438130B1 (en) * | 2001-06-28 | 2002-08-20 | Mellanox Technologies Ltd. | Forwarding database cache |
US7441017B2 (en) | 2001-06-29 | 2008-10-21 | Thomas Lee Watson | System and method for router virtual networking |
US6980328B2 (en) * | 2001-07-05 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Direction-dependent color conversion in bidirectional printing |
US7136397B2 (en) | 2001-08-20 | 2006-11-14 | Slt Logic Llc | Network architecture and system for delivering bi-directional xDSL based services |
US6744652B2 (en) | 2001-08-22 | 2004-06-01 | Netlogic Microsystems, Inc. | Concurrent searching of different tables within a content addressable memory |
US7099275B2 (en) | 2001-09-21 | 2006-08-29 | Slt Logic Llc | Programmable multi-service queue scheduler |
US7151744B2 (en) | 2001-09-21 | 2006-12-19 | Slt Logic Llc | Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover |
US7161719B2 (en) * | 2001-09-26 | 2007-01-09 | Hewlett-Packard Development Company, L.P. | Generalized color calibration architecture and method |
US6904534B2 (en) * | 2001-09-29 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Progressive CPU sleep state duty cycle to limit peak power of multiple computers on shared power distribution unit |
US7023584B2 (en) * | 2001-10-02 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | Color calibration method and apparatus |
US20030065856A1 (en) * | 2001-10-03 | 2003-04-03 | Mellanox Technologies Ltd. | Network adapter with multiple event queues |
US7054035B2 (en) * | 2001-10-29 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Method and system for management of color through conversion between color spaces |
US7240350B1 (en) * | 2002-01-07 | 2007-07-03 | Slt Logic, Llc | System and method for providing communications to processes |
US7194495B2 (en) * | 2002-01-11 | 2007-03-20 | Sun Microsystems, Inc. | Non-blocking memory management mechanism for supporting dynamic-sized data structures |
US7719980B2 (en) | 2002-02-19 | 2010-05-18 | Broadcom Corporation | Method and apparatus for flexible frame processing and classification engine |
US7055085B2 (en) | 2002-03-07 | 2006-05-30 | Broadcom Corporation | System and method for protecting header information using dedicated CRC |
US8244890B2 (en) | 2002-03-08 | 2012-08-14 | Broadcom Corporation | System and method for handling transport protocol segments |
US7093158B2 (en) * | 2002-03-11 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Data redundancy in a hot pluggable, large symmetric multi-processor system |
US7245627B2 (en) * | 2002-04-23 | 2007-07-17 | Mellanox Technologies Ltd. | Sharing a network interface card among multiple hosts |
US6705703B2 (en) | 2002-04-24 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Determination of control points for construction of first color space-to-second color space look-up table |
US6667918B2 (en) | 2002-05-01 | 2003-12-23 | Mellanox Technologies Ltd. | Self-repair of embedded memory arrays |
US7149227B2 (en) | 2002-05-31 | 2006-12-12 | Mellanox Technologies Ltd. | Round-robin arbiter with low jitter |
US8005966B2 (en) | 2002-06-11 | 2011-08-23 | Pandya Ashish A | Data processing system using internet protocols |
US7171439B2 (en) | 2002-06-14 | 2007-01-30 | Integrated Device Technology, Inc. | Use of hashed content addressable memory (CAM) to accelerate content-aware searches |
US7263103B2 (en) | 2002-07-23 | 2007-08-28 | Mellanox Technologies Ltd. | Receive queue descriptor pool |
US7143412B2 (en) | 2002-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for optimizing performance in a multi-processing system |
US7313667B1 (en) | 2002-08-05 | 2007-12-25 | Cisco Technology, Inc. | Methods and apparatus for mapping fields of entries into new values and combining these mapped values into mapped entries for use in lookup operations such as for packet processing |
US7631106B2 (en) | 2002-08-15 | 2009-12-08 | Mellanox Technologies Ltd. | Prefetching of receive queue descriptors |
WO2004017220A1 (en) | 2002-08-19 | 2004-02-26 | Broadcom Corporation | One-shot rdma |
US7299266B2 (en) | 2002-09-05 | 2007-11-20 | International Business Machines Corporation | Memory management offload for RDMA enabled network adapters |
US7386619B1 (en) * | 2003-01-06 | 2008-06-10 | Slt Logic, Llc | System and method for allocating communications to processors in a multiprocessor system |
US7316017B1 (en) * | 2003-01-06 | 2008-01-01 | Slt Logic, Llc | System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system |
US7343541B2 (en) | 2003-01-14 | 2008-03-11 | Broadcom Corporation | Data integrity in protocol offloading |
US7190827B2 (en) * | 2003-01-22 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Color space conversion using interpolation |
GB2398134A (en) * | 2003-01-27 | 2004-08-11 | Hewlett Packard Co | Applying a data handing policy to predetermined system calls |
US7082563B2 (en) | 2003-01-31 | 2006-07-25 | Italtel S.P.A. | Automated method for generating the cyclic redundancy check for transmission of multi-protocol packets |
GB0304807D0 (en) | 2003-03-03 | 2003-04-09 | Cambridge Internetworking Ltd | Data protocol |
US7502826B2 (en) * | 2003-03-27 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | Atomic operations |
US7554993B2 (en) * | 2003-03-27 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing connection management with multiple stacks |
US8023520B2 (en) | 2003-03-27 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Signaling packet |
US7103744B2 (en) | 2003-03-27 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Binding a memory window to a queue pair |
US20040210754A1 (en) | 2003-04-16 | 2004-10-21 | Barron Dwight L. | Shared security transform device, system and methods |
US20040223462A1 (en) | 2003-05-09 | 2004-11-11 | International Business Machines Corporation | Auto negotiate extension for ethernet infrastructure |
US20040249957A1 (en) * | 2003-05-12 | 2004-12-09 | Pete Ekis | Method for interface of TCP offload engines to operating systems |
US20050021558A1 (en) | 2003-06-11 | 2005-01-27 | Beverly Harlan T. | Network protocol off-load engine memory management |
US20040252685A1 (en) | 2003-06-13 | 2004-12-16 | Mellanox Technologies Ltd. | Channel adapter with integrated switch |
US7356818B2 (en) | 2003-06-24 | 2008-04-08 | International Business Machines Corporation | Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor |
US7251736B2 (en) | 2003-06-25 | 2007-07-31 | International Business Machines Corporation | Remote power control in a multi-node, partitioned data processing system via network interface cards |
US7388840B2 (en) | 2003-06-30 | 2008-06-17 | Intel Corporation | Methods and apparatuses for route management on a networking control plane |
US7352893B2 (en) * | 2003-07-09 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Representing extended color gamut information |
US7446901B2 (en) * | 2003-07-21 | 2008-11-04 | Hewlett-Packard Development Company | Conforming output intensities of pens |
JP4161267B2 (en) * | 2003-08-06 | 2008-10-08 | セイコーエプソン株式会社 | Surface acoustic wave device |
BRPI0413316A (en) | 2003-08-08 | 2006-10-10 | Sony Corp | communication system, communication terminal device, control method for a communication terminal device, program, and communication method for a communication terminal device |
US7484209B2 (en) * | 2003-08-12 | 2009-01-27 | Hewlett-Packard Development Company, L.P. | Instrumenting java code by modifying bytecodes |
US20050039171A1 (en) | 2003-08-12 | 2005-02-17 | Avakian Arra E. | Using interceptors and out-of-band data to monitor the performance of Java 2 enterprise edition (J2EE) applications |
US7496903B2 (en) * | 2003-08-12 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Synthesizing application response measurement (ARM) instrumentation |
US7617376B2 (en) * | 2003-08-14 | 2009-11-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for accessing a memory |
US7757232B2 (en) * | 2003-08-14 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for implementing work request lists |
US7139894B1 (en) | 2003-09-12 | 2006-11-21 | Microsoft Corporation | System and methods for sharing configuration information with multiple processes via shared memory |
US7404190B2 (en) * | 2003-09-18 | 2008-07-22 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing notification via multiple completion queue handlers |
US7437738B2 (en) | 2003-11-12 | 2008-10-14 | Intel Corporation | Method, system, and program for interfacing with a network adaptor supporting a plurality of devices |
US7739684B2 (en) | 2003-11-25 | 2010-06-15 | Intel Corporation | Virtual direct memory access crossover |
US7653754B2 (en) | 2004-01-05 | 2010-01-26 | Mellanox Technologies Ltd. | Method, system and protocol that enable unrestricted user-level access to a network interface adapter |
US20050172181A1 (en) * | 2004-01-16 | 2005-08-04 | Mellanox Technologies Ltd. | System and method for production testing of high speed communications receivers |
US7251744B1 (en) * | 2004-01-21 | 2007-07-31 | Advanced Micro Devices Inc. | Memory check architecture and method for a multiprocessor computer system |
US20050219278A1 (en) | 2004-03-30 | 2005-10-06 | Hudson Kevin R | Image formation with a flexible number of passes |
US7168784B2 (en) | 2004-03-30 | 2007-01-30 | Hewlett-Packard Development Company, L.P. | Formation of images |
US7929161B2 (en) | 2004-04-15 | 2011-04-19 | Hewlett-Packard Development Company, L.P. | Image processing system and method |
GB0408876D0 (en) | 2004-04-21 | 2004-05-26 | Level 5 Networks Ltd | User-level stack |
US7656870B2 (en) | 2004-06-29 | 2010-02-02 | Damaka, Inc. | System and method for peer-to-peer hybrid communications |
US7447861B2 (en) | 2004-07-14 | 2008-11-04 | International Business Machines Corporation | Integrated multi-function object locks |
US7650386B2 (en) * | 2004-07-29 | 2010-01-19 | Hewlett-Packard Development Company, L.P. | Communication among partitioned devices |
US20060045098A1 (en) * | 2004-08-31 | 2006-03-02 | Krause Michael R | System for port mapping in a network |
US7835380B1 (en) | 2004-10-19 | 2010-11-16 | Broadcom Corporation | Multi-port network interface device with shared processing resources |
US7551614B2 (en) * | 2004-12-14 | 2009-06-23 | Hewlett-Packard Development Company, L.P. | Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network |
US7403535B2 (en) * | 2004-12-14 | 2008-07-22 | Hewlett-Packard Development Company, L.P. | Aggregation of network resources providing offloaded connections between applications over a network |
US7886076B2 (en) | 2005-01-12 | 2011-02-08 | International Business Machines Corporation | Bypassing routing stacks using mobile internet protocol |
US20060193318A1 (en) * | 2005-02-28 | 2006-08-31 | Sriram Narasimhan | Method and apparatus for processing inbound and outbound quanta of data |
US7674564B2 (en) | 2005-04-11 | 2010-03-09 | Hewlett-Packard Development Company, L.P. | Color filter |
US7580415B2 (en) | 2005-04-27 | 2009-08-25 | Hewlett-Packard Development Company, L.P. | Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections |
US7580495B2 (en) | 2005-06-30 | 2009-08-25 | Slt Logic Llc | Mixer-based phase control |
US7573967B2 (en) | 2005-07-01 | 2009-08-11 | Slt Logic Llc | Input threshold adjustment in a synchronous data sampling circuit |
JP4544072B2 (en) | 2005-07-20 | 2010-09-15 | ブラザー工業株式会社 | Node device, computer program, information distribution system, and network participation method |
US8645964B2 (en) * | 2005-08-23 | 2014-02-04 | Mellanox Technologies Ltd. | System and method for accelerating input/output access operation on a virtual machine |
US7285996B2 (en) | 2005-09-30 | 2007-10-23 | Slt Logic, Llc | Delay-locked loop |
US7813460B2 (en) | 2005-09-30 | 2010-10-12 | Slt Logic, Llc | High-speed data sampler with input threshold adjustment |
US20070110034A1 (en) | 2005-11-14 | 2007-05-17 | Broadcom Corporation, A California Corporation | Pathways analysis and control in packet and circuit switched communication networks |
US20070124545A1 (en) | 2005-11-29 | 2007-05-31 | Anton Blanchard | Automatic yielding on lock contention for multi-threaded processors |
US9104894B2 (en) | 2005-12-16 | 2015-08-11 | Hewlett-Packard Development Company, L.P. | Hardware enablement using an interface |
US7827442B2 (en) | 2006-01-23 | 2010-11-02 | Slt Logic Llc | Shelf management controller with hardware/software implemented dual redundant configuration |
US7518164B2 (en) * | 2006-03-29 | 2009-04-14 | Mellanox Technologies Ltd. | Current-triggered low turn-on voltage SCR |
US9111602B2 (en) * | 2006-04-07 | 2015-08-18 | Mellanox Technologies, Ltd. | Accurate global reference voltage distribution system with local reference voltages referred to local ground and locally supplied voltage |
US7514978B2 (en) | 2006-05-08 | 2009-04-07 | Mellanox Technologies Ltd. | Terminated input buffer with offset cancellation circuit |
US7567267B2 (en) * | 2006-07-31 | 2009-07-28 | Hewlett-Packard Development Company, L.P. | System and method for calibrating a beam array of a printer |
US7822594B2 (en) * | 2006-08-07 | 2010-10-26 | Voltaire Ltd. | Service-oriented infrastructure management |
US7801027B2 (en) | 2006-08-30 | 2010-09-21 | Mellanox Technologies Ltd. | Auto-negotiation by nodes on an infiniband fabric |
US8948199B2 (en) | 2006-08-30 | 2015-02-03 | Mellanox Technologies Ltd. | Fibre channel processing by a host channel adapter |
US8522042B2 (en) * | 2006-10-31 | 2013-08-27 | Hewlett-Packard Development Company, L.P. | Method and apparatus for enforcement of software licence protection |
US20080115217A1 (en) * | 2006-10-31 | 2008-05-15 | Hewlett-Packard Development Company, L.P. | Method and apparatus for protection of a computer system from malicious code attacks |
US8296849B2 (en) * | 2006-10-31 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | Method and apparatus for removing homogeneity from execution environment of computing system |
JP4380686B2 (en) * | 2006-11-02 | 2009-12-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | E-mail transmission terminal apparatus, e-mail transmission method, and e-mail transmission program |
US8233380B2 (en) * | 2006-11-06 | 2012-07-31 | Hewlett-Packard Development Company, L.P. | RDMA QP simplex switchless connection |
US8244825B2 (en) | 2006-11-06 | 2012-08-14 | Hewlett-Packard Development Company, L.P. | Remote direct memory access (RDMA) completion |
US7562075B2 (en) | 2006-12-07 | 2009-07-14 | International Business Machines Corporation | Change approvals for computing systems |
US20080135774A1 (en) * | 2006-12-08 | 2008-06-12 | Asml Netherlands B.V. | Scatterometer, a lithographic apparatus and a focus analysis method |
US8909742B2 (en) * | 2006-12-18 | 2014-12-09 | Hewlett-Packard Development Company, L.P. | Distributed configuration of network interface cards |
US7848322B2 (en) | 2007-03-26 | 2010-12-07 | Voltaire Ltd. | Device, system and method of UDP communication |
US7864787B2 (en) * | 2007-03-26 | 2011-01-04 | Voltaire Ltd. | Device, system and method of multicast communication |
US7856488B2 (en) | 2007-03-30 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Electronic device profile migration |
US20090097200A1 (en) | 2007-04-11 | 2009-04-16 | Viswa Sharma | Modular blade for providing scalable mechanical, electrical and environmental functionality in the enterprise using advancedtca boards |
US8817817B2 (en) | 2007-06-06 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | Method for ethernet power savings on link aggregated groups |
US7802071B2 (en) | 2007-07-16 | 2010-09-21 | Voltaire Ltd. | Device, system, and method of publishing information to multiple subscribers |
US20090165003A1 (en) * | 2007-12-21 | 2009-06-25 | Van Jacobson | System and method for allocating communications to processors and rescheduling processes in a multiprocessor system |
US8903989B2 (en) * | 2008-04-28 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Adjustable server-transmission rates over fixed-speed backplane connections within a multi-server enclosure |
US8248930B2 (en) | 2008-04-29 | 2012-08-21 | Google Inc. | Method and apparatus for a network queuing engine and congestion management gateway |
US8520686B2 (en) * | 2008-05-08 | 2013-08-27 | Hewlett-Packard Development Company, L.P. | Method for interfacing a fibre channel network with an ethernet based network |
US8108538B2 (en) | 2008-08-21 | 2012-01-31 | Voltaire Ltd. | Device, system, and method of distributing messages |
US20100088437A1 (en) * | 2008-10-06 | 2010-04-08 | Mellanox Technologies Ltd | Infiniband adaptive congestion control adaptive marking rate |
CN102177440B (en) | 2008-10-27 | 2013-11-06 | 西门子公司 | Fault location in electrical power supply grids using the distance protection principle |
US7921178B2 (en) * | 2008-12-04 | 2011-04-05 | Voltaire Ltd. | Device, system, and method of accessing storage |
US8201168B2 (en) * | 2008-12-25 | 2012-06-12 | Voltaire Ltd. | Virtual input-output connections for machine virtualization |
US8370675B2 (en) * | 2009-01-28 | 2013-02-05 | Mellanox Technologies Ltd. | Precise clock synchronization |
US20110289210A1 (en) | 2009-01-29 | 2011-11-24 | Kelley Keith L | Connecting ports of one or more electronic devices to different subsets of networks based on different operating modes |
US8000336B2 (en) | 2009-04-21 | 2011-08-16 | Voltaire Ltd. | Spanning tree root selection in a hierarchical network |
US8255475B2 (en) | 2009-04-28 | 2012-08-28 | Mellanox Technologies Ltd. | Network interface device with memory management capabilities |
US8407478B2 (en) * | 2009-07-07 | 2013-03-26 | Mellanox Technologies Ltd. | Control message signature for device control |
US8365057B2 (en) * | 2009-07-30 | 2013-01-29 | Mellanox Technologies Ltd | Processing of data integrity field |
US8644140B2 (en) * | 2009-09-09 | 2014-02-04 | Mellanox Technologies Ltd. | Data switch with shared port buffers |
US8225182B2 (en) * | 2009-10-04 | 2012-07-17 | Mellanox Technologies Ltd. | Processing of block and transaction signatures |
US7934959B2 (en) * | 2009-10-06 | 2011-05-03 | Mellanox Technologies Ltd. | Adapter for pluggable module |
WO2011043768A1 (en) | 2009-10-07 | 2011-04-14 | Ziebel, As | Combination injection string and distributed sensing string |
US8576715B2 (en) * | 2009-10-26 | 2013-11-05 | Mellanox Technologies Ltd. | High-performance adaptive routing |
CN102575906B (en) | 2009-10-30 | 2013-09-25 | 惠普发展公司,有限责任合伙企业 | Thermal bus bar for blade enclosure |
CN102576313A (en) | 2009-11-02 | 2012-07-11 | 惠普发展公司,有限责任合伙企业 | Multiprocessing computing with distributed embedded switching |
US9110860B2 (en) * | 2009-11-11 | 2015-08-18 | Mellanox Technologies Tlv Ltd. | Topology-aware fabric-based offloading of collective functions |
US8811417B2 (en) * | 2009-11-15 | 2014-08-19 | Mellanox Technologies Ltd. | Cross-channel network operation offloading for collective operations |
US8213315B2 (en) * | 2009-11-19 | 2012-07-03 | Mellanox Technologies Ltd. | Dynamically-connected transport service |
US20110173352A1 (en) * | 2010-01-13 | 2011-07-14 | Mellanox Technologies Ltd | Power Reduction on Idle Communication Lanes |
-
2006
- 2006-03-10 EP EP17167635.6A patent/EP3217285B1/en active Active
- 2006-03-10 EP EP06710062.8A patent/EP1861778B1/en active Active
- 2006-03-10 WO PCT/GB2006/000852 patent/WO2006095184A2/en not_active Application Discontinuation
-
2007
- 2007-09-10 US US11/900,377 patent/US8650569B2/en active Active
-
2014
- 2014-01-09 US US14/151,642 patent/US9063771B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8650569B2 (en) | 2014-02-11 |
EP1861778A2 (en) | 2007-12-05 |
US20140130060A1 (en) | 2014-05-08 |
EP1861778B1 (en) | 2017-06-21 |
WO2006095184A2 (en) | 2006-09-14 |
US9063771B2 (en) | 2015-06-23 |
US20080072236A1 (en) | 2008-03-20 |
EP3217285B1 (en) | 2021-04-28 |
WO2006095184A3 (en) | 2007-05-10 |
EP3217285A1 (en) | 2017-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006095184B1 (en) | Data processing system | |
US8005022B2 (en) | Host operating system bypass for packets destined for a virtual machine | |
EP1999892B1 (en) | Network interface routing using computational context | |
US7730488B2 (en) | Computer resource management method in distributed processing system | |
US8286193B2 (en) | Processing received data | |
US7515596B2 (en) | Full data link bypass | |
US20190306231A1 (en) | Container cluster management | |
JP2020515987A (en) | Intelligent thread management across isolated network stacks | |
JP2002169694A (en) | Method and system for automatic allocation of boot server to pxe client on network via dhcp server | |
CN112416737B (en) | Container testing method, device, equipment and storage medium | |
US20030028515A1 (en) | Proxy processing method | |
US8006252B2 (en) | Data processing system with intercepting instructions | |
CN112532538A (en) | Flow control method and device, electronic equipment and computer readable storage medium | |
US7451219B2 (en) | Determining server resources accessible to client nodes using information received at the server via a communications medium | |
US9552225B2 (en) | Data processing system with data transmit capability | |
US20050010683A1 (en) | Apparatus, system and method for performing table maintenance | |
US10397103B2 (en) | Data processing system with routing tables | |
US11277376B2 (en) | Systems and methods for utilizing an internet protocol (IP) address scanning model to identify available IP addresses | |
US7363383B2 (en) | Running a communication protocol state machine through a packet classifier | |
US20040267967A1 (en) | Method, system, and program for managing requests to a network adaptor | |
CN117319481B (en) | Port resource reverse proxy method, system and storage medium | |
KR102409272B1 (en) | Method for sharing public ip based on communication taget ip in virtual platform enviroment and host device thereof | |
US20140164639A1 (en) | Method and System for Transparent Network Acceleration | |
KR20230096615A (en) | Edge cloud operating system for large-scale multi-cluster provisioning | |
CN117640583A (en) | DNS service method and device for multi-view CPU scheduling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2006710062 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006710062 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: RU |
|
WWP | Wipo information: published in national office |
Ref document number: 2006710062 Country of ref document: EP |