WO1999003036A1 - Traduction d'appel de procedure a distance - Google Patents
Traduction d'appel de procedure a distance Download PDFInfo
- Publication number
- WO1999003036A1 WO1999003036A1 PCT/EP1998/004275 EP9804275W WO9903036A1 WO 1999003036 A1 WO1999003036 A1 WO 1999003036A1 EP 9804275 W EP9804275 W EP 9804275W WO 9903036 A1 WO9903036 A1 WO 9903036A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- rpc
- translation
- platform
- level language
- appropriate
- Prior art date
Links
- 238000013519 translation Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 abstract description 11
- 230000014616 translation Effects 0.000 description 34
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Definitions
- This invention pertains to translation between data structures operative on differing but communicating computerized platforms.
- the constituent computer systems of such a product are typically each considered to be a "platform", and are connected by a physical communications link such as a cable.
- Each platform executes software in the form of sets of instructions coded in accordance with a particular software or programming language.
- the platforms are typically configured for differing purposes.
- software executed by one platform may comprise hardware "drivers" for controlling actual hardware equipment, while the software executed by another platform may be managerial or administrative.
- An example is a telecommunications access product, in which one platform controls a piece of telecommunications hardware while another platform performs administrative or supervisory functions.
- the software or programming language for one platform is more "high level” than the programming language for the other platform.
- “high level” is meant that the programming language is more sophisticated, more complex, or more specialized than the programming language of the other platform.
- each platform has one or more data structures in its programming language.
- the two platforms must nevertheless communicate, e.g., data from the differing data structures must be passed back and forth between the platforms.
- data from the differing data structures must be passed back and forth between the platforms.
- RPC remote procedure call
- a remote procedure call (RPC) client operates on a first level language platform and forwards a request for a RPC service to a second level language platform.
- the RPC client includes a RPC service table having a plurality of keys stored therein as well as translation description memory having a plurality of translation descriptions.
- a main interface process of the RPC client obtains an appropriate one of the keys from the RPC service table and uses the appropriate one of the keys to select an appropriate one of the plurality of translation descriptions.
- a translation engine uses the appropriate one of the plurality of translation descriptions to prepare a protocol formatted message for forwarding to the second level language platform.
- the protocol formatted message includes the appropriate one of the keys.
- a response from the RPC service of the second level language platform also includes a key which is used by the RPC client to translate the response back to the first level language.
- Fig. 1 is a schematic view of two differing computerized platforms, one of the platforms including a PRC server and the other of the platforms including a RPC client.
- Fig. 2 is a schematic view of an embodiment of the RPC client of Fig. 1.
- Fig. 1 shows two computerized platforms, particularly platform B and platform A.
- Platform B known as the lower level language platform, has a RPC server 20 and a plurality of RPC services 22A - 22N.
- Platform A known as the higher level language platform, has a RPC client 30 and a plurality of applications 32A - 32C (three such applications being shown as an example) .
- RPC server 20 and RPC client 30 are connected by communications link 40 for which there is a protocol P for translation between platform A and platform B.
- RPC service interface 42 Between RPC client 30 and applications 32A - 32C is an RPC service interface 42.
- An example of the lower level language executing on platform B can be an imperative language such as the "C" programming language, while a higher level language such as Prolog, Lisp, or variants thereof may be executing on platform A.
- PRC server 20 of platform B is included in software executing on platform B.
- PRC server 20 dispatches RPC requests received from platform A to different ones of the PRC services 22.
- PRC client 30 of the present invention performs a simple and flexible translation of the higher level language data structures employed on platform A towards protocol P.
- PRC client 30 provides a transparent interface to other applications executing on platform A.
- Fig. 2 shows PRC client 30 as including main interface process 50; translation description memory 51; RPC service table 52; translation engine 54; an add/remove/lookup service 56; and, communication interface 58.
- Communication interface 58 is connected to communications link 40.
- RPC service table 52 is stored in a memory (e.g., RAM) and has, at corresponding addresses, a plurality of RPC items represented by items 60A - 60K. Each item has as one of its fields an RPC service identifier as a key, e.g., keys 62A - 62K being shown in Fig. 2.
- one of the applications 32 running on platform A requests one of the RPC services 22 executing on platform B.
- the request in the form of a remote procedure call, can include procedure arguments, e.g., parameters to be passed to the RPC service 22 for utilization thereby in performance of the PRC service.
- the request by the calling application 32 is made over interface 42 to main interface process 50 of platform A.
- main interface process 50 uses add/remove/lookup service 56 to consult RPC service table 52 in order to locate an appropriate one of the items 60 in RPC service table 52 for the RPC service request. Once the appropriate item 60 is located in RPC service table 52, a key 62 is extracted therefrom. The extracted key 62 is then given to main interface process 50, which retrieves a translation description based on this key from translation description memory 51.
- translation description memory has a different translation description for each key. In essence, each translation description includes instructions or criteria for enabling a translation from the higher level language of platform A to protocol P.
- the translation description and arguments for the PRC service are sent by main interface process 50 to translation engine 54.
- Translation engine 54 uses the translation description and RPC arguments of the higher level language of platform A to prepare a protocol P-formatted message.
- the key 62 is also included in the protocol P-formatted message.
- the protocol P-formatted message is applied via communications interface 58 to link 40 for transmission to RPC server 20 of platform B.
- the protocol P-formatted message is processed, interpreted by RPC server 20, and forwarded to a particular one of the RPC services in accordance with the request from the calling applications program 32.
- the particular RPC service which was invoked by the calling applications program prepares a response which is forwarded in a protocol P- formatted response message over link 40 to platform A.
- the forwarded response also includes a key 62, which in some cases can be the same key which was transmitted from platform A to platform B in connection with the RPC service request.
- the protocol P-formatted response message received on link 40 is received at communication interface 58 where it is processed and forwarded to main interface process 50.
- main interface process 50 the key 62 included in the response message is extracted. Based on the extracted key 62, a suitable translation description is obtained from translation description memory 51. The translation description and the P-formatted response message are then forwarded to translation engine 54 for translation back to the higher level language data structure utilized by the calling application. After preparation of the translation in the higher level language, the translated response is sent by main interface process 50 to the calling application 32, i.e., the application that requested the RPC service.
- RPC service table 52 is dynamically configurable so that new items can be added, old items removed, or existing items retrieved and/or modified, e.g., in accordance with the particular services 22 provided on platform B.
- Add/remove/lookup service 56 facilitates these operations, and communicates over interface 42 with the applications programs 32.
- the present invention provides a cost effective implementation of RPC service where different platforms pose translation problems for the communication protocol.
- the present invention is particularly suitable for higher level language implementations and provides straightforward translations of symbols, lists, and complex data structures.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU86312/98A AU8631298A (en) | 1997-07-11 | 1998-07-09 | Remote procedure call translation |
SE0000044A SE0000044L (sv) | 1997-07-11 | 2000-01-11 | Proceduranropsomvandling på avstånd |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5235097P | 1997-07-11 | 1997-07-11 | |
US60/052,350 | 1997-07-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1999003036A1 true WO1999003036A1 (fr) | 1999-01-21 |
Family
ID=21977043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP1998/004275 WO1999003036A1 (fr) | 1997-07-11 | 1998-07-09 | Traduction d'appel de procedure a distance |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU8631298A (fr) |
SE (1) | SE0000044L (fr) |
WO (1) | WO1999003036A1 (fr) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601110B2 (en) * | 1998-03-17 | 2003-07-29 | Sun Microsystems, Inc. | System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server |
EP1363187A1 (fr) * | 2002-05-15 | 2003-11-19 | Sony International (Europe) GmbH | Envoi d'instructions d'une application dans un environnement client/serveur |
WO2007147207A1 (fr) * | 2006-06-21 | 2007-12-27 | Richard Slamkovic | Courtier d'intergiciel |
US7334038B1 (en) | 2000-04-04 | 2008-02-19 | Motive, Inc. | Broadband service control network |
US7353295B1 (en) * | 2000-04-04 | 2008-04-01 | Motive, Inc. | Distributed services architecture through use of a dynamic service point map |
US7765281B1 (en) | 2003-03-10 | 2010-07-27 | Motive, Inc. | Large-scale targeted data distribution system |
US8041782B1 (en) | 2000-08-31 | 2011-10-18 | Alcatel Lucent | System of automated configuration of network subscribers for broadband communication |
US9198749B2 (en) | 2006-10-12 | 2015-12-01 | C. R. Bard, Inc. | Vascular grafts with multiple channels and methods for making |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0414624A2 (fr) * | 1989-08-24 | 1991-02-27 | International Business Machines Corporation | Système pour l'appel des procédures sur un noeud de réseau à distance |
WO1997008616A1 (fr) * | 1995-08-29 | 1997-03-06 | Bell Communications Research, Inc. | Systeme et methode d'analyse et d'elaboration de signaux de donnees |
-
1998
- 1998-07-09 AU AU86312/98A patent/AU8631298A/en not_active Abandoned
- 1998-07-09 WO PCT/EP1998/004275 patent/WO1999003036A1/fr active Application Filing
-
2000
- 2000-01-11 SE SE0000044A patent/SE0000044L/xx not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0414624A2 (fr) * | 1989-08-24 | 1991-02-27 | International Business Machines Corporation | Système pour l'appel des procédures sur un noeud de réseau à distance |
WO1997008616A1 (fr) * | 1995-08-29 | 1997-03-06 | Bell Communications Research, Inc. | Systeme et methode d'analyse et d'elaboration de signaux de donnees |
Non-Patent Citations (3)
Title |
---|
DAVE A ET AL: "PROXIES, APPLICATION INTERFACE, AND DISTRIBUTED SYSTEMS", PROCEEDINGS INTERNATIONAL WORKSHOP ON OBJECT ORIENTATION IN OPERATING SYSTEMS, 24 September 1992 (1992-09-24), pages 212 - 220, XP002009478 * |
HERRICK J. JOHNSON: "Each piece in its place", UNIX REVIEW, vol. 5, no. 5, June 1987 (1987-06-01), pages 66 - 75, XP002082766 * |
NARENDER V R ET AL: "DYNAMIC RPC FOR EXTENSIBILITY", PROCEEDINGS OF THE ANNUAL INTERNATIONAL PHOENIX CONFERENCE ON COMPUTERS AND COMMUNICATIONS, SCOTTSDALE, APR. 1 - 3, 1992, no. CONF. 11, 1 April 1992 (1992-04-01), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 93 - 100, XP000310598 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601110B2 (en) * | 1998-03-17 | 2003-07-29 | Sun Microsystems, Inc. | System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server |
US7334038B1 (en) | 2000-04-04 | 2008-02-19 | Motive, Inc. | Broadband service control network |
US7353295B1 (en) * | 2000-04-04 | 2008-04-01 | Motive, Inc. | Distributed services architecture through use of a dynamic service point map |
US8041782B1 (en) | 2000-08-31 | 2011-10-18 | Alcatel Lucent | System of automated configuration of network subscribers for broadband communication |
EP1363187A1 (fr) * | 2002-05-15 | 2003-11-19 | Sony International (Europe) GmbH | Envoi d'instructions d'une application dans un environnement client/serveur |
US7398527B2 (en) | 2002-05-15 | 2008-07-08 | Sony Deutschland Gmbh | Dispatching application steps of an application running on an application server in a client/server environment |
US7765281B1 (en) | 2003-03-10 | 2010-07-27 | Motive, Inc. | Large-scale targeted data distribution system |
WO2007147207A1 (fr) * | 2006-06-21 | 2007-12-27 | Richard Slamkovic | Courtier d'intergiciel |
AU2007262660B2 (en) * | 2006-06-21 | 2013-01-31 | Richard Slamkovic | Middleware broker |
US9198749B2 (en) | 2006-10-12 | 2015-12-01 | C. R. Bard, Inc. | Vascular grafts with multiple channels and methods for making |
Also Published As
Publication number | Publication date |
---|---|
SE0000044L (sv) | 2000-03-10 |
SE0000044D0 (sv) | 2000-01-11 |
AU8631298A (en) | 1999-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5341499A (en) | Method and apparatus for processing multiple file system server requests in a data processing network | |
EP0767563B1 (fr) | Méthode et appareil pour l'opération en multiprotocole dans un système client-serveur | |
EP1027794B1 (fr) | Procede et systeme destines a faciliter un developpement logiciel reparti non affecte par la repartition | |
US6230004B1 (en) | Remote procedure calls using short message service | |
US6134600A (en) | Method and apparatus for dynamic derivatives desktops | |
US6862735B1 (en) | Mechanism by which platform independent software may bind to and access platform dependent software | |
EP0600235A1 (fr) | Interface de traitement coopératif et courtier de communication pour environnement hétérogène | |
EP0478942A2 (fr) | Contrôle à distance d'un processeur d'ordinateur | |
US7165202B2 (en) | Method and apparatus to perform customized error handling | |
JPH10214189A (ja) | オブジェクト要求ブローカの異なるインプリメンテーション間で通信を実施するブリッジ | |
US5454109A (en) | Data processing system with interface between application programs and external tools residing in separate environments | |
EP0767428B1 (fr) | Méthode et dispositif pour charger dynamiquement le code d'exception d'un appel à une méthode | |
WO1999003036A1 (fr) | Traduction d'appel de procedure a distance | |
US6546431B1 (en) | Data processing system and method for sharing user interface devices of a provider assistive technology application with disparate user assistive technology applications | |
EP1514401B1 (fr) | Procede et systeme permettant de mettre en oeuvre des services de telephonie a l'aide du xml vocal | |
EP0193933B1 (fr) | Appareil pour la commande d'un système ordinateur par un autre système ordinateur | |
EP0280893B1 (fr) | Systéme évitant le verrouillage d'une base de données relationelle | |
EP1229470B1 (fr) | Suivi de données relatives à des cours d'apprentissage sur ordinateur | |
KR100482316B1 (ko) | 운영체제상에서의콘솔서버방법및장치 | |
IE981035A1 (en) | An Inter-Computer Communications Apparatus | |
KR920001900A (ko) | 교환기 설치시 하드웨어 시험 프로그램의 터미널 입력지원방법 | |
KR100233258B1 (ko) | 메시지 분배장치에서 고유 식별자를 이용한 공통선 메시지 분배 방법 | |
KR910005777B1 (ko) | 퍼스널컴퓨터 접속 처리장치의 n회선 처리방법 | |
KR100442599B1 (ko) | 교환 시스템에서 워크스테이션의 분산 객체를 이용한메시지 처리 장치 및 방법 | |
KR20010046954A (ko) | 원격지 기지국 매니저와 마스터 기지국 매니저 시스템 및구현 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
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: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 00000448 Country of ref document: SE |
|
WWP | Wipo information: published in national office |
Ref document number: 00000448 Country of ref document: SE |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: CA |