CA2102747A1 - Remote Procedure Call Pooling with Shared Memory - Google Patents

Remote Procedure Call Pooling with Shared Memory

Info

Publication number
CA2102747A1
CA2102747A1 CA2102747A CA2102747A CA2102747A1 CA 2102747 A1 CA2102747 A1 CA 2102747A1 CA 2102747 A CA2102747 A CA 2102747A CA 2102747 A CA2102747 A CA 2102747A CA 2102747 A1 CA2102747 A1 CA 2102747A1
Authority
CA
Canada
Prior art keywords
dispatcher
worker
shared memory
remote procedure
request
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CA2102747A
Other languages
French (fr)
Other versions
CA2102747C (en
Inventor
Edward A. Russell
Raymond Ting-Foo Tang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spotware Technology Corp
Original Assignee
Wang Laboratories Inc
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
Application filed by Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of CA2102747A1 publication Critical patent/CA2102747A1/en
Application granted granted Critical
Publication of CA2102747C publication Critical patent/CA2102747C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Abstract

A server for executing operation calls by a client, including a dispatcher, a plurality of worker tasks, and a dispatcher shared memory area and worker control block for each worker task. Each operation call provided from a client is a sequence or one or more remote procedure call requests and each includes a packed buffer containing parameters. The dispatcher receives a buffer directly into the dispatcher shared memory space of the worker task selected to execute the remote procedure call request. sets the semaphore and sends a request acceptance response. The selected worker task unpacks the buffer into its memory space, executes the request, places the results into a packed buffer in its dispatcher shared memory area and sends a remote procedure call to the dispatcher.
The dispatcher executes a remote procedure call to the client and sends the result buffer directly from the shared memory area. The server further includes a dispatcher state save mechanism and the remote procedure call from the worker task includes an identifier of the corresponding saved dispatcher state for the request. The packed buffer associated with a request includes client information and each worker task stores the client information in a worker shared memory space common to the worker tasks and each request of an operation call may be assigned to a different worker task.
CA002102747A 1993-11-03 1993-11-09 Remote procedure call pooling with shared memory Expired - Fee Related CA2102747C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/143,161 US5617570A (en) 1993-11-03 1993-11-03 Server for executing client operation calls, having a dispatcher, worker tasks, dispatcher shared memory area and worker control block with a task memory for each worker task and dispatcher/worker task semaphore communication
US08/143,161 1993-11-03

Publications (2)

Publication Number Publication Date
CA2102747A1 true CA2102747A1 (en) 1995-05-04
CA2102747C CA2102747C (en) 2000-11-07

Family

ID=22502854

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002102747A Expired - Fee Related CA2102747C (en) 1993-11-03 1993-11-09 Remote procedure call pooling with shared memory

Country Status (2)

Country Link
US (1) US5617570A (en)
CA (1) CA2102747C (en)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289390B1 (en) * 1993-08-18 2001-09-11 Microsoft Corporation System and method for performing remote requests with an on-line service network
JP2728033B2 (en) * 1995-05-23 1998-03-18 日本電気株式会社 Security method in computer network
US5889957A (en) * 1995-06-07 1999-03-30 Tandem Computers Incorporated Method and apparatus for context sensitive pathsend
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5956489A (en) * 1995-06-07 1999-09-21 Microsoft Corporation Transaction replication system and method for supporting replicated transaction-based services
US6901433B2 (en) * 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
US5933599A (en) * 1995-07-17 1999-08-03 Microsoft Corporation Apparatus for presenting the content of an interactive on-line network
US5956509A (en) * 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
JPH0962558A (en) * 1995-08-29 1997-03-07 Fuji Xerox Co Ltd Method and system for database management
US5671365A (en) * 1995-10-20 1997-09-23 Symbios Logic Inc. I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events
US6233704B1 (en) * 1996-03-13 2001-05-15 Silicon Graphics, Inc. System and method for fault-tolerant transmission of data within a dual ring network
US6321274B1 (en) * 1996-06-28 2001-11-20 Microsoft Corporation Multiple procedure calls in a single request
US6424991B1 (en) * 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US5684950A (en) * 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US5884316A (en) * 1996-11-19 1999-03-16 Microsoft Corporation Implicit session context system with object state cache
AP9901621A0 (en) * 1997-01-13 1999-09-30 John Overton Automated system for image archiving.
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6064667A (en) * 1997-02-10 2000-05-16 Genesys Telecommunications Laboratories, Inc. Apparatus and methods enhancing call routing to and within call centers
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6055639A (en) * 1997-10-10 2000-04-25 Unisys Corporation Synchronous message control system in a Kerberos domain
US6223205B1 (en) * 1997-10-20 2001-04-24 Mor Harchol-Balter Method and apparatus for assigning tasks in a distributed server system
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US6141759A (en) 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US7233978B2 (en) * 1998-07-08 2007-06-19 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US7103640B1 (en) 1999-09-14 2006-09-05 Econnectix, Llc Network distributed tracking wire transfer protocol
US7305451B2 (en) * 1998-08-24 2007-12-04 Microsoft Corporation System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
JP2000099332A (en) * 1998-09-25 2000-04-07 Hitachi Ltd Remote procedure call optimization method and program execution method using the optimization method
US6195682B1 (en) 1998-10-27 2001-02-27 International Business Machines Corporation Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US6651168B1 (en) 1999-01-29 2003-11-18 International Business Machines, Corp. Authentication framework for multiple authentication processes and mechanisms
US6529962B1 (en) * 1999-02-05 2003-03-04 International Business Machines Corporation Preserving thread identity during remote calls
US6587881B1 (en) * 1999-04-09 2003-07-01 Microsoft Corporation Software server usage governor
US7013465B1 (en) * 1999-08-17 2006-03-14 Emc Corporation System, device and method for interprocessor communication in a computer system
US6298451B1 (en) * 1999-11-02 2001-10-02 Idini Corporation Directory-based failure recovery and load balancing system
US7020845B1 (en) * 1999-11-15 2006-03-28 Gottfurcht Elliot A Navigating internet content on a television using a simplified interface and a remote control
US20060229930A9 (en) * 1999-11-15 2006-10-12 Gottfurcht Elliot A Method to generate advertising revenue based on time and location
US6600497B1 (en) * 1999-11-15 2003-07-29 Elliot A. Gottfurcht Apparatus and method to navigate interactive television using unique inputs with a remote control
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
US6970932B1 (en) * 1999-12-14 2005-11-29 Microsoft Corporation Non-delegable client requests to servers storing local information only
US20040150677A1 (en) * 2000-03-03 2004-08-05 Gottfurcht Elliot A. Method for navigating web content with a simplified interface using audible commands
US6611881B1 (en) * 2000-03-15 2003-08-26 Personal Data Network Corporation Method and system of providing credit card user with barcode purchase data and recommendation automatically on their personal computer
DE10016531A1 (en) * 2000-04-03 2001-10-11 Hubert Bauer Method for operating a data processing system
US6904601B1 (en) 2000-04-07 2005-06-07 International Business Machines Corporation Method and system for providing remote procedure calls in a multiprocessing system
US7346910B1 (en) * 2000-05-26 2008-03-18 International Business Machines Incorporation Administration of groups of computer programs, data processing systems, or system resources
US20080005275A1 (en) * 2000-06-02 2008-01-03 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
GB0014414D0 (en) * 2000-06-12 2000-08-09 Business Information Publicati Electronic deposit box system
US6829769B2 (en) * 2000-10-04 2004-12-07 Microsoft Corporation High performance interprocess communication
US20020055982A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Controlled server loading using L4 dispatching
US20020055983A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Computer server having non-client-specific persistent connections
US20030046394A1 (en) * 2000-11-03 2003-03-06 Steve Goddard System and method for an application space server cluster
US7028313B2 (en) * 2001-03-28 2006-04-11 International Business Machines Corporation Method for transmitting function parameters to a remote node for execution of the function thereon
US20040150676A1 (en) * 2002-03-25 2004-08-05 Gottfurcht Elliot A. Apparatus and method for simple wide-area network navigation
US7293270B1 (en) * 2002-11-19 2007-11-06 International Business Machines Corporation System and method for scheduling and coordinating tasks across application processes using shared memory
US20040268362A1 (en) * 2003-06-25 2004-12-30 International Business Machines Corporation Method, apparatus and program storage device for providing a two-step communication scheme
JP2005135382A (en) * 2003-08-19 2005-05-26 Toshiba Corp System and method for shared memory-based inter-process communication queue template having event-based notification
US20050288715A1 (en) * 2003-11-07 2005-12-29 Lilip Lau Cardiac harness for treating congestive heart failure and for defibrillating and/or pacing/sensing
US7743376B2 (en) * 2004-09-13 2010-06-22 Broadcom Corporation Method and apparatus for managing tasks in a multiprocessor system
US20060089866A1 (en) * 2004-10-27 2006-04-27 International Business Machines Corporation Computer system for exchanging workflows and methods thereof
US7593930B2 (en) * 2004-12-14 2009-09-22 Sap Ag Fast channel architecture
US7600217B2 (en) 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US7580915B2 (en) * 2004-12-14 2009-08-25 Sap Ag Socket-like communication API for C
US7933947B2 (en) * 2004-12-28 2011-04-26 Sap Ag Connection manager that supports failover protection
US7500133B2 (en) * 2004-12-28 2009-03-03 Sap Ag Connection manager for handling message oriented protocol-based requests
US7539821B2 (en) * 2004-12-28 2009-05-26 Sap Ag First in first out eviction implementation
US7694065B2 (en) * 2004-12-28 2010-04-06 Sap Ag Distributed cache architecture
US7971001B2 (en) * 2004-12-28 2011-06-28 Sap Ag Least recently used eviction implementation
US7552153B2 (en) * 2004-12-28 2009-06-23 Sap Ag Virtual machine monitoring using shared memory
US20060143256A1 (en) 2004-12-28 2006-06-29 Galin Galchev Cache region concept
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US7672949B2 (en) * 2004-12-28 2010-03-02 Sap Ag Connection manager having a common dispatcher for heterogeneous software suites
KR100645537B1 (en) * 2005-02-07 2006-11-14 삼성전자주식회사 Method of dynamic Queue management for the stable packet forwarding and Element of network thereof
US7853956B2 (en) * 2005-04-29 2010-12-14 International Business Machines Corporation Message system and method
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US7689660B2 (en) * 2005-06-09 2010-03-30 Sap Ag Application server architecture
US7966412B2 (en) * 2005-07-19 2011-06-21 Sap Ag System and method for a pluggable protocol handler
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US20070156907A1 (en) * 2005-12-30 2007-07-05 Galin Galchev Session handling based on shared session information
US8707323B2 (en) * 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
US20080071922A1 (en) * 2006-09-19 2008-03-20 International Business Machines Corporation Methods, systems, and computer program products to transparently dispatch requests to remote resources in a multiple application server environment
US20080127234A1 (en) * 2006-09-19 2008-05-29 International Business Machines Corporation Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models
US20080163063A1 (en) * 2006-12-29 2008-07-03 Sap Ag Graphical user interface system and method for presenting information related to session and cache objects
US8032587B2 (en) * 2007-08-28 2011-10-04 International Business Machines Corporation Method and apparatus for client-side aggregation of asynchronous fragmented requests
US9204293B2 (en) * 2008-02-21 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Apparatuses, methods, and computer program products for data retention and lawful intercept for law enforcement agencies
US8886787B2 (en) * 2009-02-26 2014-11-11 Microsoft Corporation Notification for a set of sessions using a single call issued from a connection pool
US8843682B2 (en) * 2010-05-18 2014-09-23 Lsi Corporation Hybrid address mutex mechanism for memory accesses in a network processor
US8230078B2 (en) * 2009-08-18 2012-07-24 International Business Machines Corporation Accept and receive enhancements
US9747197B2 (en) 2014-05-20 2017-08-29 Honeywell International Inc. Methods and apparatus to use an access triggered computer architecture
US10353681B2 (en) 2014-05-20 2019-07-16 Honeywell International Inc. Systems and methods for using error correction and pipelining techniques for an access triggered computer architecture
US10732865B2 (en) 2015-09-23 2020-08-04 Oracle International Corporation Distributed shared memory using interconnected atomic transaction engines at respective memory interfaces
JP7149731B2 (en) * 2017-08-28 2022-10-07 ハネウェル・インターナショナル・インコーポレーテッド Systems and methods for using error correction and pipelining techniques for access-triggered computer architectures
US11469890B2 (en) * 2020-02-06 2022-10-11 Google Llc Derived keys for connectionless network protocols
CN112114983B (en) * 2020-09-14 2022-04-19 深圳花儿数据技术有限公司 Communication method, device and equipment based on shared memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9012970D0 (en) * 1989-09-22 1990-08-01 Ibm Apparatus and method for asynchronously delivering control elements with pipe interface
US5265250A (en) * 1990-03-29 1993-11-23 At&T Bell Laboratories Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5321808A (en) * 1992-03-20 1994-06-14 Hewlett-Packard Company Dual process display server
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments

Also Published As

Publication number Publication date
CA2102747C (en) 2000-11-07
US5617570A (en) 1997-04-01

Similar Documents

Publication Publication Date Title
CA2102747A1 (en) Remote Procedure Call Pooling with Shared Memory
CA2102748A1 (en) Client/Server Connection Sharing
CA2136402A1 (en) Method and System for Executing Code Remotely
KR100291301B1 (en) Communication system with signal data processing system and method and signal data processing system
CA2049125A1 (en) Methods and apparatus for implementing server functions in a distributed heterogeneous environment
CA2132900A1 (en) Executing programs of a first system on a second system
CA2153827A1 (en) Method of Managing Memory Allocation in a Printing System
EP0362106A3 (en) Method for scheduling execution of distributed application programs at preset times in an sna lu 6.2 network environment
CA2066566A1 (en) Multiple facility operating system architecture
WO2002091128A3 (en) System and method for seminar reservations
JPS62182822A (en) Automatic operation system
JPS55156494A (en) Alternation system between exchange unit
JPS56147552A (en) Queuing processing system for busy outgoing trunk
JPS62118454A (en) Buffer resource controlling system in data processor
CA2037646A1 (en) Vector data store execution control system
JPS63149992A (en) Polling type supervisory and control system
CA2161733A1 (en) Method of controlling an exchange, as well as control facilities and pr ogram modules therefor, and exchange and switching system therewith
JPH1040118A (en) Client server system and client terminal equipment
JPH01246635A (en) Task switching system
CA2358807A1 (en) Multiple software-facility component operating system for co-operative processor control within a multiprocessor computer system
JPH0581048A (en) Management system for resource
JPS6029847A (en) Processing method of task
JPS6448164A (en) Processing end interrupt control system
KR19990052484A (en) Device and method for outputting message to console in multitasking operating system environment
JPS63296153A (en) System for controlling command concatenation of inter-program communication processing system

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed