U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Method and system for dynamic proxy classes

Patent 6877163 Issued on April 5, 2005. Estimated Expiration Date: Icon_subject June 14, 2019. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Multi-station token pass communication system
Patent #: 4491946
Issued on: 01/01/1985
Inventor: Kryskow, Jr. ,   et al.

Communication system control arrangement
Patent #: 4713806
Issued on: 12/15/1987
Inventor: Oberlander ,   et al.

Privilege level checking instruction for implementing a secure hierarchical computer system
Patent #: 4809160
Issued on: 02/28/1989
Inventor: Mahon ,   et al.

Local area network for digital data processing system
Patent #: 4823122
Issued on: 04/18/1989
Inventor: Mann ,   et al.

Time sliced vector processing
Patent #: 4939638
Issued on: 07/03/1990
Inventor: Stephenson, et al.

4956773

Real time, concurrent garbage collection system and method
Patent #: 5088036
Issued on: 02/11/1992
Inventor: Ellis, et al.

Distributed computer system with network and resource status monitoring
Patent #: 5109486
Issued on: 04/28/1992
Inventor: Seymour

Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
Patent #: 5187787
Issued on: 02/16/1993
Inventor: Skeen, et al.

Remote procedure calls in heterogeneous systems
Patent #: 5218699
Issued on: 06/08/1993
Inventor: Brandle, et al.

More ...

Inventors

Assignee

Application

No. 09332029 filed on 06/14/1999

US Classes:

719/332, Object oriented dynamic linking, late binding719/331, DYNAMIC LINKING, LATE BINDING719/315, Object oriented message719/316Managed object system

Examiners

Primary: An, Meng-Ai T.
Assistant: Ho, The Thanh

Attorney, Agent or Firm

Foreign Patent References

  • 0 300 516 EP 01/01/1989
  • 0 351 536 EP 01/01/1990
  • 0 384 339 EP 08/01/1990
  • 0 472 874 EP 03/01/1992
  • 0 474 340 EP 03/01/1992
  • 0 555 997 EP 08/01/1993
  • 0 565 849 EP 10/01/1993
  • 0 569 195 EP 11/01/1993
  • 0 603 880 EP 12/01/1993
  • 0 625 750 EP 11/01/1994
  • 0 635 792 EP 01/01/1995
  • 0 651 328 EP 05/01/1995
  • 0 660 231 EP 06/01/1995
  • 0 697 655 EP 02/01/1996
  • 0 718 761 EP 06/01/1996
  • 0 767 432 EP 04/01/1997
  • 0 778 520 EP 06/01/1997
  • 0 794 493 EP 09/01/1997
  • 0 803 810 EP 10/01/1997
  • 0 803 811 EP 10/01/1997
  • 0 805 393 EP 11/01/1997
  • 0 810 524 EP 12/01/1997
  • 0 817 020 EP 01/01/1998
  • 0 817 022 EP 01/01/1998
  • 0 817 025 EP 01/01/1998
  • 0 836 140 EP 04/01/1998
  • 2 253 079 GB 08/01/1992
  • 2 262 825 GB 06/01/1993
  • 2 305 087 GB 03/01/1997
  • 11-45187 JP 02/01/1999
  • WO9207335 WO 04/01/1992
  • WO9209948 WO 06/01/1992
  • WO9403855 WO 02/01/1994
  • WO9603692 WO 02/01/1996
  • WO9610787 WO 04/01/1996
  • WO9618947 WO 06/01/1996
  • WO9624099 WO 08/01/1996
  • WO9802814 WO 01/01/1998
  • WO9804971 WO 02/01/1998
  • WO 98/44414 WO 10/01/1998

International Class

G06F009/00

Abstract

In an object-oriented data processing system, methods and systems in accordance with the present invention provide a proxy class dynamically generated at runtime that implements a list of interfaces specified at runtime such that a method invocation through an interface on an instance of the class is encoded and dispatched uniformly to an object that performs the invocation of the requested method. The generation of the proxy class at runtime and the specification at runtime of the list of interfaces implemented by the proxy class allow the interfaces to be used to be chosen at runtime before generation of the proxy class. Since the proxy class does not need to be created before compile time, the interface list implemented by the proxy class does not need to be known at the time the source code is written.

Other References

  • “Java (TM) Remote Method Invocation Specification,” Sun Microsystems, Inc., , 1997.
  • “Transparent Network Computing,” Locus Computing Corporation, Jan. 5, 1995.
  • Agha et al., “Actorspaces: An Open Distributed Programming Paradigm,” University of Illinois, Report No. UIUCDCS-R-92-1766, Open Systems Laboratory TR No. 8, pp. 1-12, Nov. 1992.
  • Ahmed et al., “A Program Building Tool for Parallel Applications,” Yale University, pp. 1-23, Dec. 1, 1993.
  • Alexander et al., “Active Bridging,” Proceedings of the ACM/SIGCOMM'97 Conference, Cannes, France, Sep. 1997.
  • Anderson et al., “Persistent Linda: Linda + Transactions + Query Processing,” Proceedings of the 13th Symposium on Fault Tolerant Systems, pp. 93-109, 1991.
  • Anonymous, “Change-Notification Service for Shared Files,” IBM Technical Disclosure Bulletin, vol. 36, No. 8, pp. 77-82, XP002108713, New York, US, Aug. 1993.
  • Anonymous, “Resource Preemption for Priority Scheduling,” IBM Technical Disclosure Bulletin, vol. 16, No. 6, p. 1931, XP002109435 New York, US, Nov. 1973.
  • Beech et al., “Object Databases as Generalizations of Relational Databases,” Computer Standards & Interfaces, vol. 13, Nos. 1/3, pp. 221-230, Amsterdam, NL, Jan. 1991.
  • Bertino et al., “Object-Oriented Database Management Systems: Concepts and Issues,” Computer, vol. 24, No. 4, pp. 33-47, Los Alamitos, CA, Apr. 1991.
  • Betz et al., “Interoperable Objects: Laying the Foundation for Distributed Object Computing,” Dr. Dobb's Journal, vol. 19, No. 11, p. 18(13), Oct. 1994.
  • Bevan et al., “An Efficient Reference Counting Solution To The Distributed Garbage Collection Problem,” Parallel Computing, NL, Elsevier Science Publishers, Amsterdam, vol. 9, No. 2, pp. 179-192, Jan. 1989.
  • Birrell et al., “Distributed Garbage Collection for Network Objects,” Digital Systems Research Center, No. 116, pp. 1-18, Dec. 15, 1993.
  • Birrell et al., “Grapevine: An Exercise in Distributed Computing,” Communications of the ACM, vol. 25, No. 4, pp. 260-274, Apr. 1982.
  • Birrell et al., “Implementing Remote Procedure Calls,” ACM Transactions on Computer Systems, vol. 2, No. 1, pp. 39-59, Feb. 1984.
  • Birrell et al., “Network Objects,” DEC SRC Research Report 115, Feb. 28, 1994.
  • Birrell et al., “Network Objects,” Operating Systems Review, 27(5), pp. 217-230, Dec. 1993.
  • Cannon et al., “Adding Fault-Tolerant Transaction Processing to LINDA,” Software-Practice and Experience, vol. 24(5), pp. 449-466, May 1994.
  • Cardelli, “Obliq, A Lightweight Language For Network Objects,” Digital SRC, pp. 1-37, Nov. 5, 1993.
  • Carriero et al., “Distributed Data Structures in Linda,” Principles of Programming Language, pp. 1-16, 1986.
  • Carriero et al., “Distributed Data Structures in Linda,” Yale Research Report YALEU/DCS/RR-438, Nov. 1985.
  • Chung et al., “A ‘Tiny’ Pascal Compiler: Part 1: The P-Code Interpreter,” BYTE Publications, Inc., Sep. 1978.
  • Chung et al., “A ‘Tiny’ Pascal Compiler: Part 2: The P-Compiler,” BYTE Publications, Inc., Oct. 1978.
  • Coulouris et al., “Distributed Systems Concepts and Designs,” Second Ediition, Addison-Wesley, 1994.
  • Dave et al., “Proxies, Application Interface, And Distributed Systems,” Proceedings International Workshop On Object Orientation In Operating Systems, pp. 212-220, Sep. 24, 1992.
  • Deux et al., “The O2 System,” Communications Of The Association For Computing Machinery, vol. 34, No. 10, pp. 34-48, Oct. 1, 1991.
  • Dijkstra, “Self-stabilizing Systems in Spite of Distributed Control,” Communications of the ACM, vol. 17, No. 11, pp. 643-644, Nov. 1974.
  • Dolev et al., “On the Minimal Synchronism Needed for Distributed Consensus,” Journal of the ACM, vol. 34, No. 1, pp. 77-97, Jan. 1987.
  • Dourish, “A Divergence-Based Model of Synchrony and Distribution in Collaborative Systems,” Xerox Technical Report EPC-1194-102, pp. 1-10, 1994.
  • Drexler et al., “Incentive Engineering for Computational Resource Management,” The Ecology of Computation, Elsevier Science Publishers B.V., pp. 231-266, 1988.
  • Droms, “RFC 1541 Dynamic Host Configuration Protocol,” , pp. 1-33, Oct. 1993.
  • Emms, “A Definition Of An Access Control Systems Language,” Computer Standards And Interfaces, vol. 6, No. 4, pp. 443-454, Jan. 1, 1987.
  • Gelernter et al., “Parallel Programming in Linda,” Yale University, pp. 1-21, Jan. 1985.
  • Gelernter, “Generative Communication in Linda,” ACM Transactions on Programming Languages and Systems, vol. 7, No. 1, pp. 80-112, Jan. 1985.
  • Gosling et al., “The Java (TM) Language Specification,” Addison-Wesley, 1996.
  • Gottlob et al., “Extending Object-Oriented Systems with Roles,” ACM Transactions On Information Systems, vol. 14, No. 3, pp. 268-296, Jul. 1996.
  • Gray et al., “Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency,” ACM, pp. 202-210, 1989.
  • Guth, “JavaOne: Sun to Expand Java Distributed Computing Effort,” , XP-002109935, P.1, Feb. 20, 1998.
  • Hamilton et al., “Subcontract: A Flexible Base For Distributed Programming,” Proceedings of 14th Symposium of Operating System Principles, Dec. 1993.
  • Hamilton, “Java and the Shift to Net-Centric Computing,” Computer, pp. 31-39, Aug. 1996.
  • Harris et al., “Proposal for a General Java Proxy Class for Distributed Systems and Other Uses,” Netscape Communications Corp., Jun. 25, 1997.
  • Hartman et al., “Liquid Software: A New Paradigm For Networked Systems,” Technical Report 96-11, Department of Comp. Sci., Univ. of Arizona, Jun. 1996.
  • Howard et al., “Scale and Performance in a Distributed File System,” ACM Transactions on Computer Systems, vol. 6, No. 1, pp. 51-81, Feb. 1988.
  • Hunt, “IDF: A Graphical Data Flow Programming Language for Image Processing and Computer Vision,” Proceedings of the International Conference on Systems, Man, and Cybernetics, pp. 351-360, Los Angeles, Nov. 4-7, 1990.
  • IBM (TM) Technical Disclosure Bulletin, “Object Location Algorithm,” vol. 36, No. 09B, pp. 257-258, Sep. 1993.
  • IBM (TM) Technical Disclosure Bulletin, “Retrieval of Qualified Variables Using Extendible Hashing,” vol. 36, No. 12, pp. 301-303, Dec. 1993.
  • IBM, “Chapter 6—Distributed SOM (DSOM),” SOMobjects Developer Toolkit Users Guide, Version 2.1, pp. 6-1—6-90, Oct. 1994.
  • Jaworski, “Java 1.1 Developer's Guide, 2nd Edition,” Sams.net, 1997.
  • Jones et al., “Garbage Collection: Algorithms for Automatic Dynamic Memory Management,” pp. 165-175, John Wiley & Sons, 1996.
  • Kambhatla et al., “Recovery with Limited Replay: Fault-Tolerant Processes in Linda,” Oregon Graduate Institute, Technical Report CSIE 90-019, pp. 1-16, Sep. 1990.
  • Kay et al., “An Overview of the Raleigh Object-Oriented Database System,” ICL Technical Journal, vol. 7, No. 4, pp. 780-798, Oxford, GB, Nov. 1991.
  • Kougiouris et al., “Support for Space Efficient Object Invocation in Spring,” Sep. 1994.
  • Krasner, “The Smalltalk-80 Virtual Machine,” BYTE Publications Inc., pp. 300-320, Aug. 1991.
  • Lamport et al., “The Byzantine Generals Problem,” ACM Transactions on Programming Languages and Systems, vol. 4, No. 3, pp. 382-401, Jul. 1982.
  • LINDA Database Search, pp. 1-68, Jul. 20, 1995.
  • Lindholm et al., “The Java (TM) Virtual Machine Specfication,” Addison Wesley, 1996.
  • Liskov et al., “Distributed Object Management in Thor,” International Workshop on Distributed Object Management, p. 12, 1992.
  • McDaniel, “An Analysis of a Mesa Instruction Set,” Xerox Corporation, May 1982.
  • Mitchell et al., “An Overview of the Spring System,” Feb. 1994.
  • Mullender, “Distributed Systems,” Second Edition, Addison-Wesley, 1993.
  • Mummert et al., “Long Term Distributed File Reference Tracing: Implementation and Experience,” Carnegie Mellon University School of Computer Science, pp. 1-28, Nov. 1994.
  • Orfali et al., “The Essential Distributed Objects Survival Guide,” Chapter 11: Corba Commercial ORBs, pp. 203-215, John Wiley & Sons, Inc., 1996.
  • Ousterhout et al., “The Sprite Network Operating System,” Computer, IEEE, pp. 23-36, Feb. 1988.
  • Pier, “A Retrospective on the Dorando, A High-Performance Personal Computer,” IEEE Conference Proceedings, The 10th Annual International Symposium on Computer Architecture, 1983.
  • Pier, “A Retrospective on the Dorando, A High-Performance Personal Computer,” Xerox Corporation, Aug. 1983.
  • Pinakis, “Using Linda as the Basis of an Operating System Microkernel,” University of Western Australia, Department of Computer Science, pp. 1-165, Aug. 1993.
  • Riggs et al., “Pickling State in the Java (TM) System,” USENIX Association Conference on Object-Oriented Technologies and Systems, XP-002112719, pp. 241-250, Jun. 17-21, 1996.
  • Rosenberry et al., “Understanding DCE,” Chapters 1-3, 6, 1992.
  • Sharrott et al., “ObjectMap: Integrating High Performance Resources into a Distributed Object-oriented Environment,” ICODP, 1995.
  • Thompson, “Regular Expression Search Algorithm,” Communications of the ACM, vol. II, No. 6, p. 149 et seq., Jun. 1968.
  • Venners, “Jini Technology, Out of the Box,” JAVAWORLD, 'Online!, pp. 1-4, Dec. 1998.
  • Waldo et al., “Events In An RPC Based Distributed System,” Proceedings Of The 1995 USENIX Technical Conference, Proceedings USENIX Winter 1995 Technical Conference, New Orleans, LA, USA, 16-20, pp. 131-142, Jan. 1995.
  • Wilson et al., “Design of the Opportunistic Garbage Collector,” Proceedings of the Object Oriented Programming Systems Languages And Applications Conference, New Orleans, vol. 24, No. 10, Oct. 1989.
  • Wu, “A Type System For An Object-Oriented Database System,” Proceedings of the International Computer Software and Applications Conference (COMPSAC), Tokyo, Japan, pp. 333-338, Sep. 11-13, 1991.
  • Yemini et al., “Towards Programmable Networks,” IFIP/IEEE International Workshop on Distributed Systems: Operations and Management, L'Aquila, Italy, Oct. 1996.
  • Yin et al., “Using Leases to Support Server Driven Consistency in Large-Scale Systems,” Computer Services Department, University of Texas at Austin, p. 285-294, May 26-28, 1998.
  • Chambers, Craig, “An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes,” OOPSLA '89 Proceedings, vol. 24, No. 10, pp. 49-70 (Oct. 1989) XP 000299230.
  • Gamma et al., “Design Patterns,” Addison-Wesley, pp. 139-145, XP002159736.
  • Mezini, Mira, “Maintaining the Consistency of Class Libraries During Their Evolution,” ACM 0-89791-908, vol. 32, No. 10, pp. 1-21 XP-000723417.
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$16.95more info
 
Sign InRegister
Username  
Password   
forgot password?