1460888792-c6130b44-0787-4e75-b104-e2f044461f1f

What is claimed is:

1. A programmable device for use in a communications network, the programmable device comprising:
a subsystem interconnect operable to connect the programmable device to computer;
a message processor coupled to the subsystem interconnect, the message processor having an instruction set architecture that includes a data path configured to reduce hardware requirements and increase memory management capabilities; and
a codec coupled to the message processor.
2. The programmable device as claimed in claim 1, wherein the programmable device also includes;
an instruction data buffer coupled to the message processor; and
a signal conditioner coupled to the codec.
3. The programmable device as claimed in claim 1, wherein the programmable device is re-programmable.
4. The programmable device as claimed in claim 1, wherein the message processor is operable to access external memory.
5. The communications network comprising:
a transmission media for exchanging data and information;
a plurality of terminals coupled to the transmission media and coupled to at least one subsystem operable to generate signals for transmission on the transmission media and to receive information from the transmission media;
a bus controller coupled to the transmission media and operable to generate and transmit at least one signal on the transmission media, whereby the at least one signal represents a command for the at least one subsystem coupled to at least one of said plurality of terminals,
wherein each of the plurality of terminals includes a programmable device operable to process data corresponding to a signal generated by the at least one subsystem or by the bus controller, having an instruction set architecture that includes a data path configured to minimize hardware requirements, and including
a message processor; and
a codec coupled to the message processor.
6. The communications network of claim 5, wherein the programmable device also includes
a subsystem interconnect;
a message processor;
a codec; and
an instruction data buffer;
wherein the message processor is coupled to the subsystem interconnect and operable to access memory located in at least one subsystem.
7. The communications network of claim 5, wherein a bus monitor is coupled to the transmission media and operable to store information based on transmitted data.
8. The communications network of claim 5, wherein one of the plurality of terminals may be designated as the bus monitor.
9. The communications network of claim 5, wherein the transmission media includes a twisted shielded pair transmission line having a main bus and a number of branches.
10. The communications network of claim 5, wherein the transmission media includes a wireless data transmission system.
11. The communications network of claim 5, wherein one of the plurality of terminals is designated as a bus controller.
12. The communications network of claim 5, wherein a terminal may be embedded in a subsystem.
13. A method of integrating a communications core on a programmable device using a design synthesis tool, the method comprising:
entering a communications core design having a reduced instruction set architecture;
implementing the communications core design for a designated target programmable device;
downloading information based on the communications core design to the target programmable device;
wherein the communications core design includes a message processor, a subsystem interconnect, and a codec.
14. A method of implementing a communications core protocol on a programmable device, the method comprising:
creating a communications core architecture in one or more files, each file having a logical design file format, the communications core architecture supporting a constant instruction size, at least two general purpose registers, and 16-bit, non-pipelined addressing and data communication;
verifying design parameters of the architecture;
converting the one or more files in a logical design file format to one or more files in a physical file format;
creating bit-stream data files; and
loading formatted data to a memory.
15. The method as claimed in claim 14, wherein the act of creating a communications core architecture include using an item selected from the group of schematics, text-based entries, or both.
16. The method as claimed in claim 14, wherein the act of creating a communications core architecture includes representing a processor architecture using hardware description language.
17. The method as claimed in claim 14, wherein the act of verifying design parameters includes one of the group of using a constraint file, HDL code, a schematic, or combination thereof.
18. The method as claimed in claim 14, wherein the act of verifying design parameters includes simulating a communications core having the communications core architecture.
19. The communications core implemented on a single programmable device, the communications core operable to provide communication interfaces, and to decode, encode, process, and buffer messages.
20. The communications core as claimed in claim 19, wherein the communications core is further operable to support a singular mode and a simultaneous mode of a bus controller.
21. The communications core as claimed in claim 20, wherein the communications core is further operable to support a monitor and one or more remote terminals.
22. The communications core having a predetermined protocol implemented on a single programmable device, the communications core configured to be programmed in one or more instances on the single programmable device and operable to decode, encode, message process, and buffer messages and to support a operations of a bus controller in singular and simultaneous modes.
23. The communication core as claimed in claim 22, the communications core further operable to condition signals.
24. The communications core as claimed in claim 22, wherein the predetermined protocol is a 1553 protocol.
25. The communications core as claimed in claim 22, wherein the predetermined protocol is a 1773 protocol.
26. A method of implementing a codec in a programmable device, the programmable device coupled to at least one subsystem and a communications network having a data bus and a bus controller, the method comprising:
receiving a signal from the data bus;
decoding the signal to extract information based on a command executable by the at least one subsystem;
receiving information from the at least one subsystem in response to the decoded signal received from the data bus;
encoding the information for transmission onto the data bus; and
transmitting an encoded signal receivable by the data bus.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A data processing apparatus, comprising:
a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto;
one or more processors;
a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface;
a non-transitory computer-readable storage medium having stored thereon a plurality of authentication methods and a policy that associates the authentication methods with respective message types, and a plurality of user credential location definitions that specify locations of user credentials for various types of application messages;
authentication and authorization logic comprising one or more stored sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform:
receiving, by the data processing apparatus, one or more packets containing an application message of OSI layer 5 or above, wherein the application message comprises one or more user credential elements and wherein the one or more packets containing the application message are addressed to an endpoint device other than the data processing apparatus;
determining a particular type of the application message;
identifying one or more user credential elements in the application message;
selecting, based on the policy and the particular type of the application message, a particular authentication method, and validating the application message using the one or more user credential elements and the particular authentication method;
wherein identifying the one or more user credential elements includes selecting a particular user credential location definition and performing the identifying based on the particular user credential location definition;
wherein the data processing apparatus is a router forwarding data packets below OSI layer 5.
2. The apparatus of claim 1, wherein the one or more packets comprise one or more protocol headers, and wherein a subset of the one or more user credential elements is located in the one or more protocol headers.
3. The apparatus of claim 1, wherein the application message comprises an application message header, and wherein a subset of the one or more user credential elements is located in the application message header.
4. The apparatus of claim 1, wherein the authentication and authorization logic further comprises sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform extracting an application message payload from the application message, and identifying a subset of the one or more user credential elements in the application message payload.
5. The apparatus of claim 1, wherein the authentication and authorization logic further comprises sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform forwarding an outgoing message associated with the application message to a destination.
6. The apparatus of claim 1, wherein the authentication and authorization logic further comprises sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform authenticating an identity associated with the one or more user credential elements.
7. The apparatus of claim 6, wherein the authentication and authorization logic further comprises sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform executing the particular authentication method by sending the user credential elements to an authentication service provider and requesting authentication of the user credential elements.
8. The apparatus of claim 6, wherein the authentication and authorization logic further comprises sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform authorizing one or more privileges associated with the identity.
9. The apparatus of claim 8, wherein the non-transitory computer-readable medium has stored thereon a plurality of authorization methods, wherein the policy associates the authorization methods with the respective message types, and wherein the authentication and authorization logic further comprises sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform selecting, based on the policy and the particular type of the application message, a particular authorization method, and executing the particular authorization method by sending the identity to an authorization service provider and requesting authorization of the one or more privileges associated with the identity.
10. The apparatus of claim 1, wherein the apparatus comprises any of a packet data router and a packet data switch in a packet-switched network.
11. The apparatus of claim 1, wherein the one or more stored sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform determining a particular type of the application message; enabling a user to define an association between a particular authentication method with a corresponding message type.
12. A machine-implemented method, comprising:
receiving, by a data processing apparatus, one or more packets containing an application message of OSI layer 5 or above, wherein the application message comprises one or more user credential elements and wherein the one or more packets are addressed to an endpoint device other than the data processing apparatus;
determining a particular type of the application message;
identifying one or more user credential elements in the application message;
selecting, based on a policy and the particular type of the application message, a particular authentication method, wherein the policy associates a plurality of authentication methods with respective message types; and
validating the application message using the one or more user credential elements and the particular authentication method;
wherein identifying the one or more user credential elements includes selecting a particular user credential location definition and performing the identifying based on the particular user credential location definition, and wherein the particular user credential location definition specifies locations of user credentials for various types of application messages;
wherein the data processing apparatus is a router forwarding data packets below OSI layer 5;
wherein the machine-implemented method is performed by one or more computing devices comprising at least one processor.
13. The method of claim 12, wherein the one or more packets comprise one or more protocol headers, and wherein a subset of the one or more user credential elements is located in the one or more protocol headers.
14. The method of claim 12, wherein the application message comprises an application message header, and wherein a subset of the one or more user credential elements is located in the application message header.
15. The method of claim 12, further comprising the steps of extracting an application message payload from the application message and identifying a subset of the one or more user credential elements in the application message payload.
16. The method of claim 12, further comprising the step of forwarding an outgoing message associated with the application message to a destination.
17. The method of claim 12, further comprising the step of authenticating an identity associated with the one or more user credential elements.
18. The method of claim 17, further comprising the step of executing the particular authentication method by sending the user credential elements to an authentication service provider and requesting authentication of the user credential elements.
19. The method of claim 17, further comprising the step of authorizing one or more privileges associated with the identity.
20. The method of claim 19, further comprising the steps of selecting, based on the policy and the particular type of the application message, a particular authorization method, and executing the particular authorization method by sending the identity to an authorization service provider and requesting authorization of the one or more privileges associated with the identity.
21. The method of claim 12, wherein the step of determining a particular type of the application message further comprises enabling a user to define a plurality of message types and wherein the step of selecting a particular authentication method further comprises enabling a user to define an association between a particular authentication method with a corresponding message type.
22. A computer-readable storage device carrying one or more sequences of instructions, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
receiving, by a data processing apparatus, one or more packets containing an application message of OSI layer 5 or above, wherein the application message comprises one or more user credential elements and wherein the one or more packets are addressed to an endpoint device other than the data processing apparatus;
determining a particular type of the application message;
identifying one or more user credential elements in the application message;
selecting, based on the policy and the particular type of the application message, a particular authentication method; and
validating the application message using the one or more user credential elements and the particular authentication method;
wherein identifying the one or more user credential elements includes selecting a particular user credential location definition and performing the identifying based on the particular user credential location definition, and wherein the particular user credential location definition specifies locations of user credentials for various types of application messages;
wherein the data processing apparatus is a router forwarding data packets below OSI layer 5.
23. A data processing apparatus, comprising:
a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto;
one or more processors;
a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface;
a non-transitory computer-readable storage medium having stored thereon a plurality of authentication methods and a policy that associates the authentication methods with respective message types, and a plurality of user credential location definitions that specify locations of user credentials for various types of application messages;
means for receiving, by the data processing apparatus, one or more packets containing an application message of OSI layer 5 or above, wherein the application message comprises one or more user credential elements and wherein the one or more packets containing the application message are addressed to an endpoint device other than the data processing apparatus;
means for determining a particular type of the application message;
means for identifying one or more user credential elements in the application message;
means for selecting, based on the policy and the particular type of the application message, a particular authentication method; and
means for validating the application message using the one or more user credential elements and the particular authentication method;
wherein the means for identifying the one or more user credential elements includes selecting a particular user credential location definition and performing the identifying based on the particular user credential location definition;
wherein the data processing apparatus is a router forwarding data packets below OSI layer 5.
24. The apparatus of claim 23, wherein the one or more packets comprise one or more protocol headers, and wherein a subset of the one or more user credential elements is located in the one or more protocol headers.
25. The apparatus of claim 23, wherein the application message comprises an application message header, and wherein a subset of the one or more user credential elements is located in the application message header.
26. The apparatus of claim 23, further comprising means for extracting an application message payload from the application message, and means for identifying a subset of the one or more user credential elements in the application message payload.
27. The apparatus of claim 23, further comprising means for forwarding an outgoing message associated with the application message to a destination.
28. The apparatus of claim 23, further comprising means for authenticating an identity associated with the one or more user credential elements.
29. The apparatus of claim 28, further comprising means for authorizing one or more privileges associated with the identity.
30. The method of claim 23, wherein the means for determining a particular type of the application message further comprises means for enabling a user to define a plurality of message types and wherein the means for selecting a particular authentication method further comprises means for enabling a user to define an association between a particular authentication method with a corresponding message type.