WO2006095184B1 - Data processing system - Google Patents

Data processing system

Info

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
Application number
PCT/GB2006/000852
Other languages
French (fr)
Other versions
WO2006095184A2 (en
WO2006095184A3 (en
Inventor
Steven Leslie Pope
David James Riddoch
Greg Law
Original Assignee
Level 5 Networks Inc
Steven Leslie Pope
David James Riddoch
Greg Law
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0504987.9A external-priority patent/GB0504987D0/en
Priority claimed from GBGB0505300.4A external-priority patent/GB0505300D0/en
Priority claimed from GB0505299A external-priority patent/GB0505299D0/en
Priority claimed from GBGB0505297.2A external-priority patent/GB0505297D0/en
Priority claimed from GB0506403A external-priority patent/GB0506403D0/en
Priority to EP06710062.8A priority Critical patent/EP1861778B1/en
Priority to EP17167635.6A priority patent/EP3217285B1/en
Application filed by Level 5 Networks Inc, Steven Leslie Pope, David James Riddoch, Greg Law filed Critical Level 5 Networks Inc
Publication of WO2006095184A2 publication Critical patent/WO2006095184A2/en
Publication of WO2006095184A3 publication Critical patent/WO2006095184A3/en
Publication of WO2006095184B1 publication Critical patent/WO2006095184B1/en
Priority to US11/900,377 priority patent/US8650569B2/en
Priority to US11/982,108 priority patent/US7844782B2/en
Priority to US11/982,110 priority patent/US8006252B2/en
Priority to US11/982,109 priority patent/US8868780B2/en
Priority to US11/982,148 priority patent/US8782642B2/en
Priority to US13/186,672 priority patent/US8533740B2/en
Priority to US14/151,642 priority patent/US9063771B2/en
Priority to US14/321,201 priority patent/US9552225B2/en
Priority to US14/519,065 priority patent/US9729436B2/en
Priority to US15/247,696 priority patent/US10397103B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization 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
PCT/GB2006/000852 2005-03-10 2006-03-10 Data processing system WO2006095184A2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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