IP Library Patent Application 11588849
Patent Application
App. No. 11/588,849

Mobility system and method for messaging and inter-process communication

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/588,849
Abstract

System, method, architecture, network device, and computer programs and computer program products for inter-process communications. Message structure, procedure for generating the message structure, applications of the message structure and messaging method for obtaining status, statistics, and other information and for performing an information or parameter set operation across one or more process boundaries, and to other device and system architectures and methods for utilizing the messages and messaging methodology.

Claims (61)

1 . A method for automatically generating an implementation data structure for an inter-process message to achieve a communication between a first process and a second process, the method comprising:

adopting a message input specification for specifying a message input language and a message input format;

adopting at least one rule for converting any input message complying with the message input specification into at least one executable message structure in a message implementation language different from the message input language;

receiving a particular input message complying with the message input specification; and

automatically generating a particular executable message implementation data structure corresponding to the particular input message from the particular input specification.

2 . A method according to claim 1 , wherein the automatically generating includes processing the received input message through a message converter to generate the executable message implementation data structure.

3 . A method according to claim 1 , wherein the message converter comprises a message compiler and the executable message implementation data structure comprises a executable implementation file and an interface file.

4 . A method according to claim 1 , wherein the input message includes XML language elements, the message compiler comprises an XML-language to C-language compiler, and the executable implementation language file comprises a C-language file.

5 . A method according to claim 1 , wherein the message input language comprises a high-level programming language file and the implementation data structure includes a low-level executable program code file; and the low-level executable program code file is generated from the high-level programming language specification of the message without programmer coding.

6 . A method according to claim 1 , wherein the message input language comprises an XML programming language and the input message is defined in a document type definition file.

7 . A method according to claim 1 , wherein the implementation data structure comprises at least one executable program code file.

8 . A method according to claim 1 , wherein the executable program code comprises executable program code in a C-programming language.

9 . A method according to claim 1 , wherein the executable program code comprises executable program code in a C-programming language and includes a plurality of C-language program components selected from the set of program components consisting of functions, routines, subroutines, procedures, libraries, and combinations thereof.

10 . A method according to claim 1 , wherein the implementation data structure further comprises an interface data structure.

11 . A method according to claim 1 , wherein the interface data structure comprises a header file.

12 . A method according to claim 1 , wherein said adopting a message input specification for specifying a message input language and a message input format, further comprises: defining said message input specification for specifying a message input language and a message input format.

13 . A method according to claim 1 , wherein said adopting at least one rule for converting any input message complying with the message input specification into at least one executable message structure in a message implementation language different from the message input language, further comprises: defining said at least one rule for converting any input message complying with the message input specification into at least one executable message structure in a message implementation language different from the message input language.

14 . A method according to claim 1 , further comprising preparing the particular input message complying with the message input specification; and the automatically generating a particular executable message implementation data structure is performed without human intervention.

15 . A method according to claim 1 , wherein the high-level message specification and rules completely enable automated generation of an executable message and any interface that may be required.

16 . A method according to claim 1 , wherein at least one rule for converting any input message includes at least one rule for marshalling message elements into a complete message.

17 . A method according to claim 1 , wherein the marshalled message is hardware agnostic.

18 . A method according to claim 1 , wherein at least one rule for converting any input message includes at least one rule for generating a message catalog.

19 . A method according to claim 18 , wherein a message catalog contains messages, messages contain parameters, parameters may optionally include sub-parameters, parameters have a parameter identifier (ID), and each parameter has a parameter type selected from among a set of defined parameter types.

20 . A method according to claim 1 , wherein the message input specification for specifying a message input language and a message input format comprises a formal specification that defines how to specify the message in terms of a high-level XML language so that executable code to implement the specified message may automatically be generated without human coding or intervention.

21 . A method according to claim 1 , wherein the message is an interprocess message.

22 . A computer readable medium encoded with a computer program for directing a computer to generate a particular executable message implementation data structure corresponding to the particular input message from a particular input message, the computer program including a module that includes executable instructions for:

accessing at least one rule for converting an input message complying with a known message input specification into at least one executable message structure in a message implementation language different from the message input language;

receiving a particular input message complying with the message input specification; and

automatically generating a particular executable message implementation data structure corresponding to the particular input message from the particular input specification.

23 . An inter-process message definition structure comprising:

a formal message input specification wherein an interprocess message is defined in terms of a document type definition (dtd) file;

at least one message catalog element including a catalog name;

at least one parameter for at least one message catalog element; and

an optional sub parameter for at least one parameter.

24 . An inter-process message catalog data structure comprising:

an XML version element;

a message catalog name element;

a message catalog call name element; and

at least one message parameter identifier element and at least one message parameter type element.

25 . A method for communicating a message between a first process and a second process, the method comprising:

generating (marshalling) an encoded inter-process message data set, the inter-process message data set including an encoded message interface file and an encoded message implementation file; sending the encoded message from the sending first process to the destination second process, the sending first process not being required to wait for a response from the destination second process;

receiving a response from the destination;

processing the received response; and

optionally extracting a state information.

26 . A method according to claim 25 , wherein the generation of the message includes marshalling of message elements into a message to be sent.

27 . A method according to claim 25 , wherein the processing of the received response includes unmarshalling the received response.

28 . A method according to claim 25 , wherein there is no client-server dependency relationship between the first process and the second process or between the second process and the first process.

29 . A method according to claim 25 , wherein the messaging between the first process and the second process is a peer-to-peer symmetric messaging.

30 . A method according to claim 25 , wherein the message may be sent from the first process to the second process and/or from the second process to the first process and is not a remote procedure call.

31 . A method according to claim 25 , wherein there is no dependency on the processing behavior or timing on either the sending first process side or the receiving destination second process side.

32 . A method according to claim 25 , wherein the message does not have a dependency on a processing behavior on either the sending first process side or on the destination receiving second process side.

33 . A method according to claim 1 , wherein for each message sent by a sender process, a response back to the sender process from the destination receiving process is optional and non-receipt of a response does not degrade operation in the first sending process.

34 . A method according to claim 1 , wherein in messaging, a message is sent, a acknowledgement of delivery may be returned, and a response may or may not be returned.

35 . A method for sending an interprocess communication from a sending process to an external second process, the method comprising:

generating an encoded inter-process message data set, the inter-process message data set including an encoded message interface file and an encoded message implementation file, the generation of the message includes marshalling of message elements into a message to be sent; and

sending the encoded message from the sending first process to the destination second process, the sending first process not being required to wait for a response from the destination second process.

36 . A network device adapted for coupling to a network including a plurality of other network devices by a communications link, the network device comprising:

a processor and random access memory coupled to the processor, the processor for executing computer program code instructions;

a persistent non-volatile memory for storing configuration information and said computer program code instructions;

a communications port for sending and receiving messages with other ones of said other network devices; and

means for sending and receiving messages.

Assignments (2)
CHANGE OF NAME Recorded Feb 25, 2010
From: TRAPEZE NETWORKS, INC.
To: BELDEN INC.
Reel/Frame 023985/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2007
From: ZELDIN, PAUL E.; WILLIAMS, JOSEPH P.
To: TRAPEZE NETWORKS, INC.
Reel/Frame 018760/0211 →