Legal claims defining the scope of protection, as filed with the USPTO.
1. A communication interface for providing an interface between a data link and first data processing apparatus including a memory, the communication interface being arranged to support a plurality of first mappings each of a respective first range of one or more virtual memory locations in the first data processing apparatus on to a respective second range of one or more memory locations in a second data processing apparatus connected to the communication interface by the link, and for each such first mapping a respective further mapping of the respective one or more virtual memory locations on to one or more physical memory locations in the memory of the first data processing apparatus, the communication interface comprising: a translation interface for translating accesses to or from each of the said ranges of one or more virtual memory locations into accesses to or from the respective one or more physical memory locations in the memory of the first data processing apparatus and for translating accesses to or from each of the one or more physical memory locations in the memory of the first data apparatus into accesses to or from the respective ranges of one or more virtual memory locations; and a mapping memory arranged to store specifications of the said further mappings, the mapping memory comprising a first mapping memory local to the translation interface and storing specifications of a number of the further mappings, and a second mapping memory less local to the translation interface than the first mapping memory and storing specifications of all of the further mappings; wherein the communication interface is arranged to establish each first mapping of a first range of one or more virtual memory locations in the first data processing apparatus on to a second range of one or more memory locations in the second data processing apparatus, and to establish each further mapping of the one or more virtual memory locations on to one or more physical memory locations in the memory of the first data processing apparatus, the communication interface establishing each first mapping by: allocating an identity to an aperture representing a first range of virtual memory locations, the identity being reusable for subsequent mappings of the aperture to different data processing apparatuses; generating random number check data for the second data processing apparatus; and transmitting the identity and the check data to the second data processing apparatus and a request to connect to the second data processing apparatus; wherein the communication interface is arranged to reject subsequent communications over the first mapping which do not indicate the check data.
2. A communication system including a communication interface as claimed in claim 1 , and a data processor, the data processor being capable of supporting an operating system and a user application, and the system comprising a data store which stores items of data defining operation parameters for communications over the data link to transmit data stored in the first range or receive data for storage in the first range.
3. A communication system as claimed in claim 2 , wherein the operating system is arranged to permit a user application to access one or more items of data in the data store dependent on a level of trust granted to the application.
4. A communication system as claimed in claim 3 , wherein the check data is stored as one of the items of data in the data store, the operating system is arranged to permit at least some user applications to have write access to that item of data, and the communication interface is arranged to, in order to determine the check data, read the content of that item of data and treat it as the check data.
5. A communication system as claimed in claim 3 , wherein items of data in the data store define the start and end points of the first range of memory locations in the memory of the first data processing apparatus and store the start and end points of the second range of memory locations in the memory of the second data processing apparatus, and the operating system is arranged to permit applications having one or more levels of trust to have write access to the items of data in the data store.
6. A communication interface as claimed in claim 1 , wherein the communication interface is arranged to modify the check data, according to a predefined scheme, during the operation of the first mapping.
7. A communication interface as claimed in claim 6 , wherein the check data represents a number and the predefined scheme is to increment the number represented by the check data by a predefined amount each time a predefined number of communications over the first mapping are accepted.
8. A communication interface as claimed in claim 1 , wherein the first mapping memory is an associative memory.
9. A communication interface as claimed in claim 1 , wherein the translation interface is arranged to, in order to translate between an access to or from one of the said ranges of one or more virtual memory locations and an access to or from the respective one or more physical memory locations in the memory of the first data processing apparatus, access the first mapping memory to implement the translation, and if the specification of the mapping of the range of virtual memory locations the subject of the access is not stored in the first mapping memory to access the second mapping memory to implement the translation.
10. A communication interface as claimed in claim 1 , wherein the communication interface is arranged to store specifications of the most recently used said further mappings in the first mapping memory.
11. A communication interface as claimed in claim 1 , wherein the communication interface is capable of communicating by means of data messages which specify a destination port to which data they contain is to be applied.
12. A communication interface as claimed in claim 1 , wherein to indicate the check data a communication includes the check data.
13. A communication interface as claimed in claim 1 , wherein the communication interface is arranged to reject subsequent communications over the first mapping which indicate a request for accessing data outside the first range.
Unknown
June 28, 2011
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.