WO1999044121A3 - Method and apparatus for dynamic distributed computing over a network - Google Patents

Method and apparatus for dynamic distributed computing over a network Download PDF

Info

Publication number
WO1999044121A3
WO1999044121A3 PCT/US1999/004064 US9904064W WO9944121A3 WO 1999044121 A3 WO1999044121 A3 WO 1999044121A3 US 9904064 W US9904064 W US 9904064W WO 9944121 A3 WO9944121 A3 WO 9944121A3
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
code
applications
environment
Prior art date
Application number
PCT/US1999/004064
Other languages
French (fr)
Other versions
WO1999044121A2 (en
Inventor
Kenneth C R C Arnold
James H Waldo
Ann M Wollrath
Peter C Jones
Original Assignee
Sun Microsystems 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
Priority claimed from US09/030,840 external-priority patent/US6446070B1/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to JP2000533805A priority Critical patent/JP2002505462A/en
Priority to KR1020007009483A priority patent/KR20010034542A/en
Priority to AU27876/99A priority patent/AU2787699A/en
Priority to EP99908442A priority patent/EP1057101A2/en
Publication of WO1999044121A2 publication Critical patent/WO1999044121A2/en
Publication of WO1999044121A3 publication Critical patent/WO1999044121A3/en

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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
    • 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
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Abstract

In a client-server environment it would be desirable to have a number of servers capable of processing a broad range of applications such as compute intensive applications or graphic operations such as rendering. In a heterogeneous client-server environment, conventional systems statically store executables on a server for later execution. This required extensive storage as well as many programmer hours porting applications to the server machine from client machines which had different object modules. This invention solves these problems by creating a homogenous execution environment within a heterogeneous client-server network. Accordingly, this system dynamically downloads code on a compute server, executes the code on the computer server, and returns the results to the calling client method. This technique does not require multiple copies of code to be downloaded nor compiled since the server code can be executed on all the different systems. A system designed according to this technique is also efficient. The server code is generally compiled locally on the client and downloaded to the server as byte-codes and then executed.
PCT/US1999/004064 1998-02-26 1999-02-25 Method and apparatus for dynamic distributed computing over a network WO1999044121A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000533805A JP2002505462A (en) 1998-02-26 1999-02-25 Method and apparatus for dynamic distributed computing over a network
KR1020007009483A KR20010034542A (en) 1998-02-26 1999-02-25 Method and apparatus for dynamic distributed computing over a network
AU27876/99A AU2787699A (en) 1998-02-26 1999-02-25 Method and apparatus for dynamic distributed computing over a network
EP99908442A EP1057101A2 (en) 1998-02-26 1999-02-25 Method and apparatus for dynamic distributed computing over a network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US60/076,048 1998-02-26
US09/030,840 1998-02-26
US09/030,840 US6446070B1 (en) 1998-02-26 1998-02-26 Method and apparatus for dynamic distributed computing over a network

Publications (2)

Publication Number Publication Date
WO1999044121A2 WO1999044121A2 (en) 1999-09-02
WO1999044121A3 true WO1999044121A3 (en) 1999-10-21

Family

ID=26706519

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/004064 WO1999044121A2 (en) 1998-02-26 1999-02-25 Method and apparatus for dynamic distributed computing over a network

Country Status (6)

Country Link
EP (1) EP1057101A2 (en)
JP (1) JP2002505462A (en)
KR (1) KR20010034542A (en)
CN (1) CN1292118A (en)
AU (1) AU2787699A (en)
WO (1) WO1999044121A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460082B1 (en) 1999-06-17 2002-10-01 International Business Machines Corporation Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
US7783695B1 (en) * 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
JP2003534597A (en) * 2000-05-09 2003-11-18 サン・マイクロシステムズ・インコーポレイテッド Remote function invocation using messaging in a distributed computing environment
JP2001344199A (en) * 2000-06-02 2001-12-14 Nec Corp Distributed processing system and method, and recording medium
JP2002095071A (en) * 2000-09-13 2002-03-29 Sanyo Electric Co Ltd Network system and control method of apparatus
DE60135200D1 (en) 2001-01-31 2008-09-18 Hewlett Packard Co Method and device to create documents
KR20030021114A (en) * 2001-09-05 2003-03-12 주식회사 미리텍 Load sharing system
GB2380911B (en) 2001-10-13 2004-09-08 Hewlett Packard Co Performance of a multi-stage service within an information technology network
KR100497353B1 (en) * 2002-03-26 2005-06-23 삼성전자주식회사 Apparatus for processing image, apparatus and method for receiving processed image
CN100450256C (en) * 2002-10-28 2009-01-07 中兴通讯股份有限公司 Distribution analysis method of small area covering file in mobile communication network programme
SE0203297D0 (en) * 2002-11-05 2002-11-05 Ericsson Telefon Ab L M Remote service execution in a heterogeneous network
US20040122950A1 (en) * 2002-12-20 2004-06-24 Morgan Stephen Paul Method for managing workloads in an autonomic computer system for improved performance
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
JP2006004008A (en) * 2004-06-15 2006-01-05 Sony Computer Entertainment Inc Processing control unit, computer system, distributed processing method, and computer program
EP1875356A4 (en) * 2005-03-16 2012-07-25 Airscape Technology Pty Ltd Method for distributing computing between server and client
CN101146116B (en) * 2006-09-11 2010-11-10 河南科技大学 A CAD graph processing system based on the network
JP5368687B2 (en) * 2007-09-26 2013-12-18 キヤノン株式会社 Arithmetic processing apparatus and method
CN101140525B (en) * 2007-10-17 2010-12-08 中兴通讯股份有限公司 Distributed translate and edit method
US8638336B2 (en) 2007-10-20 2014-01-28 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphical data
US20090189892A1 (en) * 2008-01-27 2009-07-30 Nitin Desai Methods and systems for detecting a dirty region within a frame encompassing three dimensional graphics
US8751844B2 (en) 2009-09-24 2014-06-10 Citrix Systems, Inc. Systems and methods for attributing an amount of power consumption to a workload
US8539080B1 (en) * 2012-12-18 2013-09-17 Microsoft Corporation Application intelligent request management based on server health and client information
US10776325B2 (en) 2013-11-26 2020-09-15 Ab Initio Technology Llc Parallel access to data in a distributed file system
CN104794095B (en) * 2014-01-16 2018-09-07 华为技术有限公司 Distributed Calculation processing method and processing device
CN107194490B (en) * 2016-03-14 2022-08-12 商业对象软件有限公司 Predictive modeling optimization

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384339A2 (en) * 1989-02-24 1990-08-29 Digital Equipment Corporation Broker for computer network server selection
EP0718761A1 (en) * 1994-12-20 1996-06-26 Sun Microsystems, Inc. A platform independent object and object viewer loader and method
US5652888A (en) * 1993-11-16 1997-07-29 Microsoft Corporation System for interconnecting software components in an object oriented programming environment using a separate editor object for each run-time object instantiated for each selected component
US5689709A (en) * 1992-11-13 1997-11-18 Microsoft Corporation Method and system for invoking methods of an object
EP0810524A1 (en) * 1996-05-30 1997-12-03 Sun Microsystems, Inc. Apparatus and method for processing servlets
EP0817020A2 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. A name service for a redundant array of internet servers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384339A2 (en) * 1989-02-24 1990-08-29 Digital Equipment Corporation Broker for computer network server selection
US5689709A (en) * 1992-11-13 1997-11-18 Microsoft Corporation Method and system for invoking methods of an object
US5652888A (en) * 1993-11-16 1997-07-29 Microsoft Corporation System for interconnecting software components in an object oriented programming environment using a separate editor object for each run-time object instantiated for each selected component
EP0718761A1 (en) * 1994-12-20 1996-06-26 Sun Microsystems, Inc. A platform independent object and object viewer loader and method
EP0810524A1 (en) * 1996-05-30 1997-12-03 Sun Microsystems, Inc. Apparatus and method for processing servlets
EP0817020A2 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. A name service for a redundant array of internet servers

Also Published As

Publication number Publication date
CN1292118A (en) 2001-04-18
JP2002505462A (en) 2002-02-19
KR20010034542A (en) 2001-04-25
WO1999044121A2 (en) 1999-09-02
AU2787699A (en) 1999-09-15
EP1057101A2 (en) 2000-12-06

Similar Documents

Publication Publication Date Title
WO1999044121A3 (en) Method and apparatus for dynamic distributed computing over a network
EP0817046A2 (en) CORBA and Java-based distributed object oriented system
AU3722399A (en) Processing apparatus and method
EP0853279A3 (en) Method and apparatus for controlling software access to system resources
WO1999008419A3 (en) Method for loading a function provided by a first computer (server) onto a second computer (client)
CA2168762A1 (en) Flexible Multi-Platform Partitioning for Computer Applications
WO2005008431A3 (en) Software development kit for client server applications
WO1997027537A3 (en) A processor for executing instruction sets received from a network or from a local memory
EP0817043A3 (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
WO2001097029A3 (en) Method and apparatus for implementing an extended virtual machine
DE60006410D1 (en) METHOD AND SYSTEM FOR DISTRIBUTING OBJECT-ORIENTED COMPUTER PROGRAMS
EP0908819A3 (en) Method and apparatus for dynamically optimizing byte-coded programs
CA2207849A1 (en) Method and apparatus for providing simple, secure management of remote servers
CA2367977A1 (en) Distributed digital rule processor for single system image on a clustered network and method
CA2143672A1 (en) System and method for distributed computation based upon movement, execution and interaction of processes in a network
KR970007677A (en) Data processing method and apparatus
MXPA05003553A (en) System and method for sharing objects between computers over a network.
WO2001075589A3 (en) Resource creation method and tool
WO2000019341A3 (en) Data communication system and method
CN102981911B (en) Distributed message handling system and device and method thereof
GB0017328D0 (en) Automated software upgrade in distributed computing system
EP0841612A3 (en) Framework for software development
GB2334353B (en) An apparatus,method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction stat
EP0704796A3 (en) Capability engine method and apparatus for a microkernel data processing system
WO2005048109A3 (en) System, method, and computer program product for distributed testing of program code

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99803347.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN 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: A2

Designated state(s): GH GM KE LS MW SD SL 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

AK Designated states

Kind code of ref document: A3

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN 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: A3

Designated state(s): GH GM KE LS MW SD SL 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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2000 533805

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020007009483

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1999908442

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999908442

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020007009483

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1999908442

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1020007009483

Country of ref document: KR