Socket-like communication API for C

Saved in:
Bibliographic Details
Title: Socket-like communication API for C
Patent Number: 7,580,915
Publication Date: August 25, 2009
Appl. No: 11/013278
Application Filed: December 14, 2004
Abstract: A system and method are described for performing data processing using shared memory and socket-like application programming interface. In one embodiment, a plurality of handles is employed and associated with a plurality of processes. The plurality of handles may serve as communication end-points for communication of data. Further, an application programming interface is employed to present the plurality of handles as the application programming interface for sockets for facilitating the communication of data compatible with a programming language.
Inventors: Braun, Bernhard (Ramemberg, DE); Luik, Oliver (Baden-Wurttemberg, DE)
Assignees: SAP AG (Walldorf, DE)
Claim: 1. A method comprising: integrating at an application server first processes and second processes via a communication system of the application server, the communication system having a shared memory, the first processes including specialized processes of an operating system of the application server, and the second processes including specialized processes of the operating system, the first processes and the second processes are independent of each other, the first processes executing first transactions via a first programming engine of the application server, and the second processes executing second transactions via a second programming engine of the application server, wherein the first transactions are independent of the second transactions, facilitating bi-directional and unduplicated communication between the first and second processes via sockets of the shared memory, the sockets of shared memory serving as a common communication interface for the first and second processes when communicating bi-directionally, wherein at least one socket of the sockets is associated with each of the first and second processes, and the sockets are further to serve as a user interface to expose the first and second processes to a user; creating a handle to serve as a communication end-point for communication of data via the shared memory; the application server providing to a client system an application programming interface (API) for accessing the handle, wherein the API is presented to the client system as the API for accessing a socket; wherein the communication interface and API for accessing the handle comprise one or more a C-based interface, a C++-based interface, a C#-based interface, a Visual Basic-based interface, and a Java-based interface; receiving at a network communication manager of the application server the client request via the provided API for accessing the handle; and sending the received client request from the network communication manager of the application server to one of the first programming engine and second programming engine via the shared memory, wherein each of the first and second programming engines is associated with a programming language, wherein the first programming engine includes an Advanced Business Application Programming (ABAP) engine, and the second programming engine includes a Java 2 Enterprise Edition (J2EE) engine, wherein the first transactions include ABAP-related transactions, and the second transactions include Java-related transactions.
Claim: 2. A system comprising: a server having a processor and a storage medium coupled with the processor, the server further having an application server, the application server to integrate first processes and second processes via a communication system of the application server, the communication system having a shared memory, the first processes including specialized processes of an operating system of the application server, and the second processes including specialized processes of the operating system, the first processes and the second processes are independent of each other, the first processes executing first transactions via a first programming engine of the application server, and the second processes executing second transactions via a second programming engine of the application server, wherein the first transactions are independent of the second transactions; the application server further to facilitate bi-directional and unduplicated communication between the first and second processes via sockets of the shared memory, the sockets of shared memory serving as a common communication interface for the first and second processes when communicating bi-directionally, wherein at least one socket of the sockets is associated with each of the first and second processes, and the sockets are further to serve as a user interface to expose the first and second processes to a user the application server further to create a handle to serve as a communication end-point for communication of data via the shared memory, the application server further to provide to a client system an application programming interface (API) for accessing the handle, wherein the API is presented to the client system as an API for accessing a socket; wherein the communication interface and API for accessing the handle comprise one or more of a C-based interface, a C++-based interface, a C#-based interface, a Visual Basic-based interface, and a Java-based interface; a network communication manager of the application server to receive a client request via the provided API for accessing the handle, the network communication manager further to send the received client request to one of the first programming engine and second programming engine via the shared memory, wherein each of the first and second programming engines is associated with a programming language, wherein the first programming engine includes an Advanced Business Application Programming (ABAP) engine, and the second programming engine includes a Java 2 Enterprise Edition (J2EE) engine, wherein the first transactions include ABAP-related transactions and Java-related transactions.
Claim: 3. A machine-readable storage medium comprising instructions which, when executed, cause a machine to perform a method comprising: integrating at an application server first processes and second processes via a communication system of the application server, the communication system having a shared memory, the first processes including specialized processes of an operating system of the application server, and the second processes including specialized processes of the operating system, the first processes and the second processes are independent of each other, the first processes executing first transactions via a first programming engine of the application server, and the second processes executing second transactions via a second programming engine of the application server, wherein the first transactions are independent of the second transactions; facilitate bi-directional and unduplicated communication between the first and second processes via sockets of the shared memory, the sockets of shared memory serving as a common communication interface for the first and second processes when communicating bi-directionally, wherein at least one socket of the sockets is associated with each of the first and second processes, and the sockets are further to serve as a user interface to expose the first and second processes to a user; creating a handle to serve as a communication end-point for communication of data via the shared memory; the application server providing to a client system an application programming interface (API) for accessing the handle, wherein the API is presented to the client system as the API for accessing a socket; wherein the communication interface and API for accessing the handle comprise one or more of a C-based interface, a C++-based interface, a C#-based interface, a Visual Basic-based interface, and a Java-based interface; receiving at a network communication manager of the application server the client request via the provided API for accessing the handle; and sending the received client request from the network communication manager of the application server to one of the first programming engine and second programming engine via the shared memory, wherein each of the first and second programming engines is associated with a programming language, wherein the first programming engine includes an Advanced Business Application Programming (ABAP) engine, and the second programming engine includes a Java 2 Enterprise Edition (J2EE) engine, wherein the first transactions include ABAP-related transactions, and the second transactions include Java-related transactions.
Current U.S. Class: 707/1
Patent References Cited: 5331318 July 1994 Montgomery
5566302 October 1996 Khalidi et al.
5566315 October 1996 Milillo et al.
5617570 April 1997 Russell et al.
5682328 October 1997 Roeber et al.
5692193 November 1997 Jagannathan et al.
5710909 January 1998 Brown et al.
5745778 April 1998 Alfieri
5805790 September 1998 Nota et al.
5905868 May 1999 Baghai et al.
5909540 June 1999 Carter et al.
5926834 July 1999 Carlson et al.
5944781 August 1999 Murray
5951643 September 1999 Shelton et al.
5999179 December 1999 Kekic et al.
6038571 March 2000 Numajiri et al.
6065006 May 2000 deCarmo et al.
6092171 July 2000 Relph
6115712 September 2000 Islam et al.
6115721 September 2000 Nagy
6167423 December 2000 Chopra et al.
6199179 March 2001 Kauffman et al.
6216212 April 2001 Challenger et al.
6256712 July 2001 Challenger
6272598 August 2001 Arlitt et al.
6282566 August 2001 Lee, Jr. et al.
6295582 September 2001 Spencer
6330709 December 2001 Maynard et al.
6336170 January 2002 Dean et al.
6345386 February 2002 Delo et al.
6349344 February 2002 Sauntry et al.
6356529 March 2002 Zarom
6356946 March 2002 Clegg et al.
6412045 June 2002 DeKoning et al.
6415364 July 2002 Bauman et al.
6424828 July 2002 Collins et al.
6425057 July 2002 Cherkasova et al.
6438654 August 2002 Elko et al.
6467052 October 2002 Kaler et al.
6519594 February 2003 Li
6553377 April 2003 Eschelbeck et al.
6587937 July 2003 Jensen et al.
6591347 July 2003 Tischler et al.
6601112 July 2003 O'Rourke et al.
6615253 September 2003 Bowman-Amuah
6640244 October 2003 Bowman-Amuah
6643802 November 2003 Frost et al.
6651080 November 2003 Liang et al.
6654948 November 2003 Konuru et al.
6658478 December 2003 Singhal et al.
6681251 January 2004 Leymann et al.
6687702 February 2004 Vaitheeswaran et al.
6738977 May 2004 Berry et al.
6760911 July 2004 Ye
6766419 July 2004 Zahir et al.
6769022 July 2004 DeKoning et al.
6772409 August 2004 Chawla et al.
6795856 September 2004 Bunch
6799202 September 2004 Hankinson et al.
6854114 February 2005 Sexton et al.
6879995 April 2005 Chinta et al.
6970925 November 2005 Springmeyer et al.
7003770 February 2006 Pang et al.
7024512 April 2006 Franaszek et al.
7024695 April 2006 Kumar et al.
7058957 June 2006 Nguyen
7089566 August 2006 Johnson
7124170 October 2006 Sibert
7127713 October 2006 Davis et al.
7130891 October 2006 Bernardin et al.
7149741 December 2006 Burkey et al.
7155512 December 2006 Lean et al.
7165239 January 2007 Hejlsberg et al.
7191170 March 2007 Ganguly et al.
7194761 March 2007 Champagne
7203769 April 2007 Schnier
7216160 May 2007 Chintalapati et al.
7237140 June 2007 Nakamura et al.
7246167 July 2007 Kalmuk et al.
7254634 August 2007 Davis et al.
7296267 November 2007 Cota-Robles et al.
7302423 November 2007 De Bellis
7373647 May 2008 Kalmuk et al.
7386848 June 2008 Cavage et al.
7395338 July 2008 Fujinaga
2001/0029520 October 2001 Miyazaki et al.
2002/0046325 April 2002 Cai et al.
2002/0049767 April 2002 Bennett
2002/0052914 May 2002 Zalewski et al.
2002/0073283 June 2002 Lewis et al.
2002/0078060 June 2002 Garst et al.
2002/0093487 July 2002 Rosenberg
2002/0129264 September 2002 Rowland et al.
2002/0133805 September 2002 Pugh et al.
2002/0147888 October 2002 Trevathan
2002/0169926 November 2002 Pinckney et al.
2002/0174097 November 2002 Rusch et al.
2002/0181307 December 2002 Fifield et al.
2002/0198953 December 2002 O'Rourke et al.
2003/0009533 January 2003 Shuster
2003/0014521 January 2003 Elson et al.
2003/0014552 January 2003 Vaitheeswaran et al.
2003/0023827 January 2003 Palanca et al.
2003/0028671 February 2003 Mehta et al.
2003/0037178 February 2003 Vessey et al.
2003/0058880 March 2003 Sarkinen et al.
2003/0084248 May 2003 Gaither et al.
2003/0084251 May 2003 Gaither et al.
2003/0088604 May 2003 Kuck et al.
2003/0093487 May 2003 Czajkowski et al.
2003/0097360 May 2003 McGuire et al.
2003/0105887 June 2003 Cox et al.
2003/0115190 June 2003 Soderstrom et al.
2003/0120811 June 2003 Hanson et al.
2003/0131010 July 2003 Redpath
2003/0131286 July 2003 Kaler et al.
2003/0177356 September 2003 Abela
2003/0177382 September 2003 Ofek et al.
2003/0187927 October 2003 Winchell
2003/0191795 October 2003 Bernardin et al.
2003/0195923 October 2003 Bloch et al.
2003/0196136 October 2003 Haynes et al.
2003/0200526 October 2003 Arcand
2003/0212654 November 2003 Harper et al.
2003/0229760 December 2003 Doyle et al.
2004/0003033 January 2004 Kamen et al.
2004/0024610 February 2004 Fradkov et al.
2004/0024881 February 2004 Elving et al.
2004/0024971 February 2004 Bogin et al.
2004/0045014 March 2004 Radhakrishnan
2004/0117441 June 2004 Liu et al.
2004/0167980 August 2004 Doyle et al.
2004/0168029 August 2004 Civlin
2004/0181537 September 2004 Chawla et al.
2004/0187140 September 2004 Aigner et al.
2004/0205144 October 2004 Otake
2004/0205299 October 2004 Bearden
2004/0213172 October 2004 Myers et al.
2004/0215703 October 2004 Song et al.
2004/0215883 October 2004 Bamford et al.
2004/0221285 November 2004 Donovan et al.
2004/0221294 November 2004 Kalmuk et al.
2005/0021594 January 2005 Bernardin et al.
2005/0021917 January 2005 Mathur et al.
2005/0027943 February 2005 Steere et al.
2005/0044197 February 2005 Lai
2005/0044301 February 2005 Vasilevsky et al.
2005/0060704 March 2005 Bulson et al.
2005/0071459 March 2005 Costa-Requena et al.
2005/0086656 April 2005 Whitlock et al.
2005/0086662 April 2005 Monnie et al.
2005/0125503 June 2005 Iyengar et al.
2005/0138193 June 2005 Encarnacion et al.
2005/0160396 July 2005 Chadzynski
2005/0180429 August 2005 Ghahremani et al.
2005/0188068 August 2005 Kilian
2005/0198199 September 2005 Dowling
2005/0216502 September 2005 Kaura et al.
2005/0256880 November 2005 Nam Koong et al.
2005/0262181 November 2005 Schmidt et al.
2005/0262493 November 2005 Schmidt et al.
2005/0262512 November 2005 Schmidt et al.
2005/0268238 December 2005 Quang et al.
2005/0278274 December 2005 Kovachka-Dimitrova et al.
2005/0278346 December 2005 Shang et al.
2006/0053112 March 2006 Chitkara et al.
2006/0053425 March 2006 Berkman et al.
2006/0059453 March 2006 Kuck et al.
2006/0064545 March 2006 Wintergerst
2006/0064549 March 2006 Wintergerst
2006/0070051 March 2006 Kuck et al.
2006/0092165 May 2006 Abdalla et al.
2006/0094351 May 2006 Nowak et al.
2006/0129512 June 2006 Braun et al.
2006/0129546 June 2006 Braun et al.
2006/0129981 June 2006 Dostert et al.
2006/0143328 June 2006 Fleischer et al.
2006/0143359 June 2006 Dostert et al.
2006/0143389 June 2006 Kilian et al.
2006/0143392 June 2006 Petev et al.
2006/0143609 June 2006 Stanev
2006/0143618 June 2006 Fleischer et al.
2006/0143619 June 2006 Galchev et al.
2006/0150197 July 2006 Werner
2006/0155867 July 2006 Kilian et al.
2006/0159197 July 2006 Kraut et al.
2006/0167980 July 2006 Werner
2006/0168646 July 2006 Werner
2006/0168846 August 2006 Juan
2006/0206856 September 2006 Breeden et al.
2006/0294253 December 2006 Linderman
2007/0150586 June 2007 Kilian et al.
2007/0156907 July 2007 Galchev et al.
2007/0266305 November 2007 Cong et al.
0 459 931 December 1991
1380941 January 2004
1027796 June 2004
2365553 February 2002
WO 00/23898 April 2000
WO03073204 September 2003
WO2004038586 May 2004





















































































































































Other References: White Paper: ‘Using Rules-based Object Caching’, spiritsoft/spiritcache 4.0 2004, (2004). cited by other
“JSR: 107: JCACHE”, JSR 107: JCACHE—Java Temporary Caching API, Website, http://web1.jcp.org/en;jsr/detail?id=107, Nov. 28, 2004, 4. cited by other
“What is LDAP?”, http://www.gracion.com/server/whatldap.html, (Dec. 7, 2004). cited by other
Barrett, Ryan, Barrett, Ryan, P4 Protocol Specification, Sep. 2001, p. 1-12. cited by other
Casavant, T. L., et al., ““A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems””, Casavant, T.L., and Kuhl, J.G., “A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems” IEEE 14(2):141-154, (1988) XP000039761., (1988), 141-154. cited by other
Dandamudi, S. P., “Reducing Run Queue Contention in Shared Memory Multipocessors”, Dandamudi, S.P., “Reducing Run Queue Contention in Shared Memory Multipocessors,” IEEE pp. 82-89 (1997) XP000657329., (1997), 82-89. cited by other
Handy, Jim , “The Cache Memory Book”, 1998, Academic Press Inc, 2nd Edition, pp. 60, (1998), vii-229. cited by other
Hennessy, John , et al., “Computer Organization and Design”, 1998, Morgan Kaufmann Publishers Inc., 2nd Edition, pp. 575-576. cited by other
Jagannathan, et al., “High-Level Abstraction for Efficient Concurrent Systems”, NEC Research Institute, Section 5.2, (Mar. 1994), 20. cited by other
Pasin, Marcia , et al., “High-Available Enterprise JavaBeans Using Group Communication System Support”, Pasin, et al., “High-Available Enterprise JavaBeans Using Group Communication System Support”, pp. 1-6, XP002285985 1-6. cited by other
Polk, Jennifer , et al., “Oracle Database Net Services Administrator's Guide 10g Release 1 (10.1)”, URL: http://download-west.oracle.com/docs/cd/B19306—01/network.102/b14212.pdf>; Oct. 2005; retrieved on Apr. 26, 2007., reference No. XP002431369, (Oct. 2005), 1-29. cited by other
Rosenberg, David , “Bringing Java to the Enterprise: Oracle on its Java Server Strategy”, IEEE Internet Computing IEEE USA, vol. 2, No. 2; Database accession No. 5902816, XP002431362; ISSN: 1089-7801,Mar. 2, 1998 52-59. cited by other
Salo, Timo , et al., “Object Persistence Beyond Serialization”, Increasing Productivity and Reducing Maintenance, Dr. Dobb's Journal, M7T Publ., vol. 24, No. 5, May 1999, pp. 5, XP000925486. ISSN: 1044-789X. cited by other
Salo, Timo , et al., “Persistence in Enterprise JavaBeans Applications”, pp. 3, JOOP, Jul. 1999, XP-002142904. cited by other
Smits, Thomas , “Unbreakable Java—The Java Server that Never Goes Down”, Thomas Smits, “Unbreakable Java”, The Java Server that Never Goes Down, Nov. 2004, pp. 1-5., Source Date: Nov. 2004. FIP Program made me elect a day I chose day 1 because I couldn't get to the next screen to load art. Carla Vignola Jul. 10, 2007, (Nov. 2004), 5. cited by other
Srinivasan, V., et al., “Object Persistence in Object-Oriented Applications”, IBMSystems Journal, IBM Corp., vol. 36, No. 1, 1997, pp. 11, XP000685709, ISSN: 0018-8670. cited by other
Stark, Ian , “CS2 Advanced Programming in Java Note 9”, 2002, pp. 1-5. cited by other
Tanenbaum, A. S., “Multimedia Operating Systems”, Tanenbaum, A.S., Modern Operating Systems, 2nd Edition, Upper Saddle River, New Jersey: Prentice-Hall, Inc., pp. 531-578 (2001). English Translation of: Moderne Betriebssysteme, vol. 2, pp. 539-617, (2002) XP002385695., (2002), 539-617. cited by other
Tuttle, Steven , et al., “Understanding LDAP Design and Implemenation”, IBM.com Redbooks, (Jun. 2004), 1-774. cited by other
Werner, Randolf , “Connection of Clients For Management of Systems”, U.S. Appl. No. 11/026,604, filed Dec. 30, 2004. cited by other
Werner, Randolf , “Interface For External System Management”, U.S. Appl. No. 11/027,812, filed Dec. 29, 2004. cited by other
Werner, Randolf , “Security For External System Management”, U.S. Appl. No. 11/026,323, filed Dec. 29, 2004. cited by other
Yue, K. K., et al., “An Effective Processor Allocation Strategy for Multiprogrammed Shared-Memory Multiprocessors”, Yue, K.K. and Lilja, D.J., “An Effective Processor Allocation Strategy for Multiprogrammed Shared-Memory Multiprocessors,” IEEE 8(12):1246-1258, (1997)., (1997), 1246-1258. cited by other
““Design Overview””, 2003 Sun Microsystems, http://java.sun.com.j2se/1.5.0/docs/guied/jni/spec/design.html; retrieved on Jan 18, 2008. cited by other
“6570P189 OA Mailed Mar. 31, 2008 for U.S. Appl. No. 11/025,378”, Whole Document. cited by other
“6570P207 FOA Mailed Aug. 17, 2007 for U.S. Appl. No. 11/013,277”, Whole Document. cited by other
“6570P207 OA Mailed Jan. 7, 2008 for U.S. Appl. No. 11/013,277”, Whole Document. cited by other
“6570P207 OA Mailed Mar. 12, 2007 for U.S. Appl. No. 11/013,277”, Whole Document. cited by other
“6570P209 FOA Mailed Aug. 28, 2007 for U.S. Appl. No. 11/012,803”, Whole Document. cited by other
“6570P209 OA Mailed Jan. 24, 2008 for U.S. Appl. No. 11/012,803”, Whole Document. cited by other
“6570P209 OA Mailed Mar. 16, 2007 for U.S. Appl. No. 11/012,803”, Whole Document. cited by other
“6570P216 OA Mailed Jan. 24, 2008 for U.S. Appl. No. 11/024,393”, Whole Document. cited by other
“6570P217 OA Mailed Feb. 21, 2008 for U.S. Appl. No. 11/027,812”, Whole Documents. cited by other
“6570P220 OA Mailed Jan. 10, 2008 for U.S. Appl. No. 11/027,387”, Whole Document. cited by other
“6570P220 OA Mailed Apr. 19, 2007 for U.S. Appl. No. 11/027,387”, Whole Document. cited by other
“All Classes”, http://www.jdocs.com/osche/2.0.2/api/com/opensymphony/oscache/base/allclases-frame.html, (Jan. 2004), 1. cited by other
“All Classes, Packages”, http://www.jdocs.com/osche/2.0.2/api/overview-frame.html, OSCache 2.0.2, (Jan. 2004), 1. cited by other
“Caching with IBM WebSphereMQ”, spiritcache, Use Case & Code Example, article, (Nov. 19, 2004), 1-9. cited by other
“Class AbstractCacheAdministrator”, http://www.jdocs.com/osche/2.0.2/api/com/opensymphony/oscache/base/AbstractCache.html, (Jan. 2004), 1-11. cited by other
“Class Cache”, http://www.jdocs.com/osche/2.0.2/api/com/opensymphony/oscache/base/Cache.html, (Jan. 2004), 1-16. cited by other
“Class CacheEntry”, http://www.jdocs.com/osche/2.0.2/api/com/opensymphony/oscache/base/CacheEntry.html, (Jan. 2004), 1-8. cited by other
“Class Config”, http://www.jdocs.com/osche/2.0.2/api/com/opensymphony/oscache/base/Config.html, (Jan. 2004), 1-4. cited by other
“EP 05027361, European Search Report”, (Mar. 28, 2006), Whole Document. cited by other
“Failover for Clustered RMI-P4 Remote Objects”, SAP Library, http://help.sap.com/saphelp—nw04/helpdata/en/f6/4ef11ab3a52f408aa8a133f33d6cf1/cont, (Nov. 2004), 1-3. cited by other
“Failover for Enterprise Beans”, SAP Library, http://help.sap.com/saphelp—nw04/helpdata/en/8f/d6e45953a494499ea1b79ab16321d2/cont. (Nov. 2004), 1-3. cited by other
“Failover System”, SAP Library, http://help.sap.com/saphelp—nw04/helpdata/en/d7/57af0cce55143be5de3a6e4911186.cont, (Nov. 2004), 2. cited by other
“High Availability and Failover”, SAP Library, http://help.sap.com/saphelp—nw04/helpdata/en/6c/209da105668c45be12f1d9cc412e2b/cont. (Nov. 2004), 1-2. cited by other
“Http Sessions and Failover of Web Application”, SAP Library, http://help.sap.com/saphelp—nw04/helpdata/en/90/044cc585eaba42b649f16181b0fdf/cont., (Nov. 2004), 1. cited by other
“Introducing Cache-Forward Architecture”, ObjectStore, paper,(Jan. 1, 2004), 1-23. cited by other
“Java Technology in SAP Web Application Server”, SAP Library, http://help.sap.com/saphelp—nw04/helpdata/en/0d/a3bbeff62847ae10000000a114084/cont. (Nov. 2004), 1-3. cited by other
“Java VineetB-log.java”, http://homepage.mac.com/vineetb/iblog/C684524823/, (Dec. 18, 2003), 1. cited by other
“JCS Plugin Overview”, http://jakarta.apache.org/jcs/Plugins.html, (Jul. 2004), 2. cited by other
“Load Balancing of the SAP Web As for Java Applications”, SAP Library, http://help.sap.com/saphelp—nw04/helpdata/en/b5/e8239ef7bd494f896a84625d4b688f/cont., (Nov. 2004), 2. cited by other
“Managers—Intro”, http://db.apache.org/torque-32/managers-cache.html, (Apr. 11, 2002), 1-4. cited by other
“Open Source Cache Solutions in Java”, http://java-source.net/open-source/cache-solutions, (Nov. 2004), 1-3. cited by other
“OSCache”, http://www.opensymphony.com/oscache, (Nov. 2004), 1. cited by other
“OSCache 2.0.2”, http://www.jdocs.com/osche/2.0.2/api/com/opensymphony/oscache/base/overview-frame.html, (Jan. 2004), 1. cited by other
“OSCache, V 2.0.2 API Specification”, http://www.jdocs.com/osche/2.0.2/api/com/opensymphony/oscache/base/overview-sum.html, (Jan. 2004), 2. cited by other
“SAP Beefs Up Java Support Capabilities For New NetWeaver”, News Story, (Computerworld). http:www.computerworld.com/printthis/2004/0,4814,96558,00.html, (Oct. 11, 2004), 1-2. cited by other
“SAP NetWever Makes Standard Java Robust”, http://www.sap.com/company/press/press.epx?pageview=print&pressid=3069, (Oct. 5, 2004), 1-2. cited by other
“SAP Presents New Capabilities For Netweaver”, InfoWorld, http://www.infoworld.com/article/04/10/06/HNsapnetweaver—1.html, (Oct. 6, 2004), 1-5. cited by other
“Shared disk I/O cache”, IP.Com Journal, IP.Com Inc., West Henrietta, XP013014199 ISSN: 1533-0001, (Jan. 29, 2004), 6. cited by other
“spiritcache”, http://www.spirit-soft.com/index.do?id=30, (Nov. 2004), 1. cited by other
“System and Method for Shared Memory/File System Java ObjectGroup Clustered JVM”, http://www.priorartdatabase.com/IPCOM/000021597/, (Jan. 2004), 3. cited by other
“turbine-jcs-dev”, http://www.mail-archive.com/turbine-jcs-dev@jakarta.apache.org/msg00647.html, (Jul. 13, 2004), 1-3. cited by other
“Using Rules-based Object Caching: Allocating dataresources for best service levels to profitable customers”, spiritcache, White paper, (Nov. 2004), 1-8. cited by other
“WebLogic RMI Features and Guidelines”, eDocs, http://e-docs.bea.com/wls/docs90/rmi/rmi—api.html, (Nov. 2004), 1-7. cited by other
Barker, et al., ““A load balancing framework for adaptive and asynchronous applications””, Parallet and Distributed Systems, IEEE Transactions on vol. 15, Issue 2, (Feb. 2004), pp. 183-192. cited by other
Bortvedt, Jerry , “Functional Specification for Object Caching Service for Java (OCS4J), 2.0”, (Aug. 9, 2000), pp. 1-27. cited by other
Bresch, Stefan , “Object-relational mapping system and method for generic relationships”, 6570P165 U.S. Appl. No. 10/864,185, filed Jun. 8, 2004—Final Office Action mailed Mar. 17, 2008. cited by other
Bryce, Ciaran , “Isolates: A New Approach to Multi-Programming in Java Platforms”, LogOn Technology Transfer, Kronerg, Germany, Experts' Corner, (May 2004), 7. cited by other
Conter, Thomas , “Implementing OSCache”, http://www.pas.net/tom/articles/oscache/en/, (Jun. 2002), 1-4. cited by other
Czajowski, Grzegorz , et al., “A Multi-User Virtual Machine”, Paper, Sun Microsystems Laboratories and S3 Lab, Purdue University, West Lafayette, IN, (2003), 14. cited by other
Czajkowski, Grzegorz , “Multitasking without Compromise: A Virtual Machine Evolution”, Paper, Sun Microsystems Laboratories, (2001), 1-14. cited by other
Dagfinn, Parnas , “SAP Virtual Machine Container”, https://weblogs.sdn.sap.com/pub/wlg/940, (Oct. 23, 2004), 1-4. cited by other
Davies, Robert , “Data Caching: A Prerequisite to the Enterprise Service Bus”, Business Integration Journal, (Oct. 2003), 41-44. cited by other
Dillenbeger, D. , et al., “Building a java Virtual Machine For Serve Applications: The Jvm On Os/390”, IBM Systems Journal, vol. 39, No. 1, (2000), 194-210. cited by other
Doyle, Patrick , et al., “A Modular and Extensible JVM Infrastructure”, Paper, Edward S. Rogers Sr. Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada, (Jul. 2002), 14. cited by other
Dwarkadas, Sandhya , et al., “Cashmere-VLM: Remote Memory Paging for Software Distributed Shared Memory”, Paper, Compaq Cambridge Research Lab, Cambridge, MA and Department of Computer Science, University of Rochester, Rochester, NY, (Apr. 1999), 7. cited by other
Ferguson, Renee B., “SAP Preps New NetWeaver Capabilities”, eWeek.com, http://www.eweek.com/article2/0,1759,1668146,00.asp, (Oct. 7, 2004), 1-6. cited by other
Galchev, Galin , “Plug-in Based Caching Architecture Capable of Implementing Multiple Cache Regions Per Application”, U.S. Appl. No. 11/024,554, filed Dec. 28, 2004—Non-Final Office Action mailed May 28, 2008, 7 pgs. cited by other
Gontmakher, Alex , et al., “Characterizations for Java Memory Behavior”, Paper, Computer Science Department, Technion, (1997), 5. cited by other
Jagannathan, “High-Level Abstraction for Efficient Concurrent Systems”, NEC Research Institute, Section 5.2, (Mar. 1994), 20. cited by other
Jordan, Mick , et al., “Extending a J2EE Server with Dynamic and Flexible Resource Management”, Paper, Sun Microsystems, Inc, and School of Computer Science, University of Warterloo, Waterloo, ON, Canada, (Oct. 2004), 20. cited by other
Jordan, Mick , et al., “Scaling J2EE Application Servers with the Multi-Tasking Virtual Machine”, Paper, Sun Microsystems, SMLI TR-2004-135, Jun. 2004, pp. 1-19, Paper, Sun Microsystems, SMLI TR-2004-135, 1-19. cited by other
JSR 107: JCACHE, “JSR 107: JCACHE-Java Temporary Caching API”, http://.jcp.org/en/jsr/detail?id=107, (Mar. 20, 2001), 5. cited by other
Kuck, Norbert , et al., “SAP VM Container: Using Process Attachable Virtual machines to Provide Isolation and Scalability For Large Servers”, Article, SAP AG, Walldorf, Germany, (2002), 1-2. cited by other
Loosco, Marcelo , et al., “A New Distributed Java Virtual Machine for Cluster Computing”, Notes in Computer Science, Springer-Verlag, v. 2790, (2003), 1207-1215. cited by other
Luck, Greg , “Ehcache 1.0 released”, http://www.theserverside.com/news, (Oct. 9, 2004), 1-5. cited by other
March, Andres , “OSCache: Change Log”, http://www.opensymphony.com/oscache/wiki/Change%20Log.html, (Jan. 18, 2004), 1-11. cited by other
Marinescu, Floyd , “SpiritSoft Announces Availability of SpiritCache 2.0”, http://www.theserverside.com/news.thread.tss?thread—id=18483, (Mar. 21, 2003), 1-5. cited by other
Movva, Sudhir , et al., “Transparent Clustered Database Failover Using JAVA”, http://www.quest-pipelines.com/newsletter-v5/0604—A.html, (Apr. 2004), 11. cited by other
Nikolov, Nikolai , “Execution of modified byte code for debugging, testing and/or monitoring of object oriented software”, 6570P041 U.S. Appl. No. 10/749,617, filed Dec. 30, 2003—Non-Final Office ction mailed Apr. 9, 2008. cited by other
Parnas, Dagfinn , “SAP Virtual Machine Container”, https://weblogs.sdn.sap.com/pub/wlg/940, (Oct. 23, 2004), 1-4. cited by other
Penchikala, Srini , “J2EE Object-Caching Frameworks”, http://www.javaworld.com/javaworld/jw-05-2004/jw-0531-cache—p.html, (May 31, 2004), Whole Document. cited by other
Penchikala, Srini , “Object Caching in a Web Portal Application Using JCS”, http://www.onjava.com/pub/a/onjava/2003/caching.html, (Dec. 23, 2003), 1-18. cited by other
Petev, Petio G., et al., “First in First Out Eviction Implementation”, 6570P255 U.S. Appl. No. 11/024,546, filed on Dec. 28, 2004, the Office Action mailed Apr. 6, 2007, claims as they stood in the application prior to the mailing of the Office Action an cl, (Dec. 28, 2004), Whole Document. cited by other
Petev, Petio , et al., “Least frequently used eviction implementation”, U.S. Appl. No. 11/024,565, filed Dec. 28, 2004—Non-Final Office Action mailed Jun. 19, 2008, 20. cited by other
Petev, Petio G., “Programming Models For Storage Plug-Ins”, U.S. Appl. No. 11/024,651, filed Dec. 28, 2004—Non-Final Office Action mailed Mar. 14, 2008, 11 pgs. cited by other
Petev, Petio G., et al., “Size Based Eviction Implementation”, U.S. Appl. No. 11/024,591, filed on Dec. 28, 2004 the Office Action mailed Apr. 13, 2007, claims as they stood in the application prior to the mailing of the Office Action and claims pr, (Dec. 28, 2004), Whole Document. cited by other
Smits, Thomas , “Unbreakable Java-The Java Server that Never Goes Down”, Article, SAP TechED, Nov. 2004, San Diego and Munich, (Nov. 2004), 1-5. cited by other
Stark, “Concurrent Programming in Java”, CS2 Advanced Programming in Java note 9, S2Bh, (Jan. 3, 2002), 1-5. cited by other
Surdeanu, et al., ““Design and performance analysis of a distributed Java Virtual Machine””, Parallel and Distributed Systems, IEEE Transactions on vol. 13, Issue 6, (Jun. 2002), pp. 611-627. cited by other
Tullman, Patrick , et al., “Janos: A Java-Oriented OS for Active Network Nodes”, Paper, Flux Research Group, University of Utah, (Mar. 2001), 14. cited by other
USPTO, “6570P189 FOA Mailed Aug. 14, 2008 for U.S. Appl. No. 11/025,378”, Whole Document. cited by other
USPTO, “6570P214 OA Mailed Jun. 27, 2008 for U.S. Appl. No. 11/024,391”, Whole Document. cited by other
USPTO, “6570P216 FOA Mailed Aug. 6, 2008 for U.S. Appl. No. 11/024,393”, Whole Document. cited by other
USPTO, “6570P217 FOA Mailed Aug. 19, 2008, for U.S. Appl. No. 11/027,812”, Whole Document. cited by other
USPTO, “6570P218 OA Mailed Sep. 4, 2008 for U.S. Appl. No. 11/026,323”, Whole Document. cited by other
USPTO, “6570P222 FOA Mailed Sep. 17, 2008 for U.S. Appl. No. 11/024,392”, Whole Document. cited by other
USPTO, “6570P222 OA Mailed Apr. 4, 2008 for U.S. Appl. No. 11/024,392”, Whole Document. cited by other
USPTO, “Non-Final Office Action”, U.S. Appl. No. 11/322,057, Whole document. cited by other
Wintergerst, Michael , et al., “Programming Models for Eviction Policies”, U.S. Appl. No. 11/025,178, filed on Dec. 28, 2004, the Office Action mailed Feb. 1, 2007, claims as they stood in the application prior to the mailing of the Office Action, (Dec. 28, 2004), Whole Document. cited by other
Non-Final Office Action for U.S. Appl. No. 11/024,924, Mailed Apr. 24, 2009, 15 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/024,394 dated Apr. 27, 2009; 33 pages. cited by other
Final Office Action for U.S. Appl. No. 11/024,524 dated Apr. 27, 2009; 21 pages. cited by other
Non-Final Office Action mailed Oct. 6, 2008 for U.S. Appl. No. 11/119,08, Whole Document. cited by other
Non-Final Office Action for U.S. Appl. No. 11/024,524 Mailed Nov. 12, 2008, 31 pages. cited by other
Non-Final Office Action for U.S. Appl No. 11/024,393 Mailed Nov. 26, 2008, 29 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/012,803, Mailed Dec. 23, 2008, 22 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/026,604, Mailed Dec. 30, 2008, 18 pages. cited by other
Final Office Action for U.S. Appl. No. 11/025,514, Mailed Jan. 8, 2009, 10 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/322,596, Mailed Jan. 23, 2009, 12 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/026,604, Mailed Jan. 27, 2009, 18 pages. cited by other
Office Action for U.S. Appl. No. 11/024,591, mailed Mar. 11, 2008, p. 15. cited by other
Office Action for U.S. Appl. No. 11/024,546, mailed Mar. 17, 2008, p. 18. cited by other
Office Action for U.S. Appl. No. 11/024,565, mailed Jun. 19, 2008, p. 22. cited by other
Non-Final Office Action for U.S. Appl. No. 11/024,924, Mailed Apr. 10, 2008, 16 pages. cited by other
Final Office Action for U.S. Appl. No. 11/024,924, Mailed Oct. 8, 2008, 9 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/025,525, Mailed Feb. 19, 2009, 15 pages. cited by other
Notice of Allowance for U.S. Appl. No. 11/027,387, Mailed Feb. 23, 2009, 8 pages. cited by other
Notice of Allowance for U.S. Appl. No. 11/026,323, Mailed Feb. 25, 2009, 19 pages. cited by other
USPTO, “OA Mailed Oct. 3, 2008 for U.S. Appl. No. 11/027,387”, Whole Document. cited by other
Notice of Allowance for U.S. Appl. No. 11/024,392, Mailed Mar. 12, 2009, 11 pages. cited by other
Final Office Action for U.S. Appl. No. 11/012,803, Mailed Jul. 22, 2008, 22 pages. cited by other
Final Office Action for U.S. Appl. No. 11/013,277, Mailed Aug. 7, 2008, 22 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/013,277, Mailed Jan. 6, 2009, 22 pages. cited by other
Notice of Allowance for U.S. Appl. No. 11/024,393, Mailed Apr. 1, 2009, 8 pages. cited by other
Office Action for U.S. Appl. No. 11/025,200, Mailed Mar. 24, 2009, 14 pages. cited by other
Office Action for U.S. Appl. No. 11/025,514, Mailed Apr. 3, 2009, 12 pages. cited by other
Non-Final Office Action for U.S. Appl. No. 11/027,812, Mailed Apr. 2, 2009, 19 pages. cited by other
Bortvedt, Jerry , “Functional Specification for Object Caching Service for Java (OCS4J) 2.0”, retrieved from http://jcp.org/en/jsr/detail?id=107, (Mar. 2001). cited by other
Cheung, KC , et al., “Lightweight Trace and Interpreter for Inter-process Timing Problems”, IP.Com Journal, IP.Com Inc., West Henrietta, NY US, XP013096988, ISSN: 1533-0001, (Jun. 1, 1992), Whole Document. cited by other
EPO, “6570P210EP EP Search Report Mailed Jun. 4, 2008 for EP Patent Application 05027365.5-1225”, (Jun. 4, 2008), Whole Document. cited by other
USPTO, “6570P171 OA Mailed Oct. 29, 2008 for U.S. Appl. No. 11/149,562”, Whole Document. cited by other
USPTO, “6570P189 FOA Mailed Aug. 22, 2007 for U.S. Appl. No. 11/025,378”, Whole Document. cited by other
USPTO, “6570P189 OA Mailed Jan. 21, 2009 for U.S. Appl. No. 11/025,378”, Whole Document. cited by other
USPTO, “6570P189 OA Mailed Apr. 19, 2007 for U.S. Appl. No. 11/025,378”, Whole Document. cited by other
Viswananthan, D. , et al., “Java Virtual Machine Profiler Interface”, IBM Systems Journal IBM USA, vol. 39, No. 1, XP002481425, ISSN: 0018-8670, (2000), 82-95. cited by other
Wolczko, Mario , “Using a Tracing Java Virtual Machine to Gather Data on the Behavior of Java Programs”, Internet Citation, XP002375976, http://research.sun.com/people/mario/tracing-jvm/tracing.pdf, (Retrieved on Apr. 6, 2006), Whole Document. cited by other
Assistant Examiner: Hwa, Shyue Jiunn
Primary Examiner: Y, Truong Cam
Attorney, Agent or Firm: Blakely Sokoloff Taylor & Zafman
Accession Number: edspgr.07580915
Database: USPTO Patent Grants
Description
Abstract:A system and method are described for performing data processing using shared memory and socket-like application programming interface. In one embodiment, a plurality of handles is employed and associated with a plurality of processes. The plurality of handles may serve as communication end-points for communication of data. Further, an application programming interface is employed to present the plurality of handles as the application programming interface for sockets for facilitating the communication of data compatible with a programming language.