IP Library Granted Patent US 8,990,342
Granted Patent B2
US 8,990,342 · App. 13/487,124 · Granted Mar 24, 2015

System and method for client-server communication facilitating utilization of network-based procedure call

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,990,342
App. No.
13/487,124
Granted
Mar 24, 2015
Kind
B2
Abstract

System and method for communicating data are disclosed. Method includes facilitating receiving, from a module of a client computing device, a first message in a universal format. Method includes generating a first encoded message by encoding the first message into a network-based procedure call interface associated with a server, based on a stored encoding for the network-based procedure call interface. Method includes facilitating transmitting the first encoded message to a module of the server. Method includes facilitating receiving, from a module of the server, a second message encoded in the network-based procedure call interface associated with the server. Method includes generating a second decoded message by decoding the second message into the universal format, based on the stored encoding for the network-based procedure call interface. Method includes facilitating transmitting the second decoded message to a module of the client computing device.

Claims (44)

1. A computer-implemented method for communicating data, the method comprising:

facilitating receiving, from a module of a client computing device, a first message in a universal format;

generating a first encoded message by encoding the first message into a network-based procedure call interface associated with a server, based on a stored encoding for the network-based procedure call interface, wherein generating the first encoded message comprises replacing a header of the first message that is in a first layer of an open systems interconnection (OSI) model with a header of the first encoded message that is associated with network-based procedure call interface;

facilitating transmitting the first encoded message to a module of the server;

facilitating receiving, from a module of the server, a second message encoded in the network-based procedure call interface associated with the server;

generating a second decoded message by decoding the second message into the universal format, based on the stored encoding for the network-based procedure call interface; and

facilitating transmitting the second decoded message to a module of the client computing device,

wherein an operating system of the server is configured to read messages in the network-based procedure call interface, and wherein an operating system of the client computing device is not configured to read messages in the network-based procedure call interface.

2. A non-transitory machine-readable medium comprising instructions stored therein, the instructions executable by one or more processors to perform one or more operations, the instructions comprising:

code for causing the one or more processors to facilitate receiving, from a module of a client computing device, a first message in a universal format;

code for causing the one or more processors to generate a first encoded message by encoding the first message into a network-based procedure call interface associated with a server, based on a stored encoding for the network-based procedure call interface, wherein generating the first encoded message comprises replacing a header of the first message that is in a first layer of an open systems interconnection (OSI) model with a header of the first encoded message that is associated with network-based procedure call interface;

code for causing the one or more processors to facilitate transmitting the first encoded message to a module of the server;

code for causing the one or more processors to facilitate receiving, from a module of the server, a second message encoded in the network-based procedure call interface associated with the server;

code for causing the one or more processors to generate a second decoded message by decoding the second message into the universal format, based on the stored encoding for the network-based procedure call interface; and

code for causing the one or more processors to facilitate transmitting the second decoded message to a module of the client computing device,

wherein an operating system of the server is configured to read messages in the network-based procedure call interface, and wherein an operating system of the client computing device is not configured to read messages in the network-based procedure call interface.

3. The non-transitory machine-readable medium of claim 2 , wherein the code for causing the one or more processors to generate the second decoded message by decoding the second message into the universal format, based on the stored encoding for the network-based procedure call interface comprises:

code for causing the one or more processors to copy data blocks of a first layer of an open systems interconnection (OSI) model stack for the second message into data blocks of a second layer of the open systems interconnection (OSI) model stack for the second decoded message, wherein the second layer is a higher number layer than the first layer.

4. The non-transitory machine-readable medium of claim 3 , wherein the first layer is layer 5, which is a session layer, and the second layer is layer 7, which is an application layer.

5. The non-transitory machine-readable medium of claim 4 , wherein a protocol associated with the first layer (which is layer 5) of the OSI model for the second message is Remote Procedure Call (RPC), and wherein a protocol associate with the second layer (which is layer 7) of the OSI model is Hypertext Transfer Protocol (HTTP).

6. The non-transitory machine-readable medium of claim 2 , wherein the first layer is layer 5, which is a session layer, and wherein the network-based procedure call interface is RPC.

7. The non-transitory machine-readable medium of claim 2 , wherein an operating system of the server is incompatible with an operating system of the client computing device.

8. The non-transitory machine-readable medium of claim 2 , wherein the code for causing the one or more processors to facilitate transmitting the first encoded message to the module of the server comprises:

code for causing the one or more processors to facilitate transmitting the first encoded message to the module of the server via an application layer protocol in an open systems interconnection (OSI) model.

9. The non-transitory machine-readable medium of claim 2 , wherein the code for causing the one or more processors to facilitate transmitting the second decoded message to the module of the client computing device comprises:

code for causing the one or more processors to facilitate transmitting the second decoded message to the module of the client computing device via an application layer protocol in an open systems interconnection (OSI) model.

10. The non-transitory machine-readable medium of claim 2 , wherein the code for causing the one or more processors to facilitate transmitting the first encoded message to the module of the server comprises:

code for causing the one or more processors to facilitate transmitting the first encoded message to the module of the server over a firewall.

11. The non-transitory machine-readable medium of claim 2 , wherein the code for causing the one or more processors to facilitate transmitting the second decoded message to the module of the client computing device comprises:

code for causing the one or more processors to facilitate transmitting the second decoded message to the module of the client computing device over a firewall.

12. The non-transitory machine-readable medium of claim 2 , wherein the universal format is hypertext transfer protocol secure (HTTPS).

13. The non-transitory machine-readable medium of claim 2 , wherein the network-based procedure call interface comprises a remote procedure call.

14. The non-transitory machine-readable medium of claim 2 , wherein the one or more processors reside on the client computing device.

15. The non-transitory machine-readable medium of claim 2 , wherein the one or more processors reside on the server.

16. The non-transitory machine-readable medium of claim 2 , wherein the one or more processors reside on a first machine, and wherein the first machine is different from the client computing device and different from the server.

17. The non-transitory machine-readable medium of claim 2 , wherein the one or more processors reside within a router, the router being configured to establish a port forward or a virtual private network through a gateway service.

18. An apparatus comprising:

one or more modules configured to facilitate receiving, from a module of a client computing device, a first message in a universal format;

one or more modules configured to generate a first encoded message by encoding the first message into a network-based procedure call interface associated with a server, based on a stored encoding for the network-based procedure call interface, wherein generating the first encoded message comprises replacing a header of the first message that is in a first layer of an open systems interconnection (OSI) model with a header of the first encoded message that is associated with network-based procedure call interface;

one or more modules configured to facilitate transmitting the first encoded message to a module of the server;

one or more modules configured to facilitate receiving, from a module of the server, a second message encoded in the network-based procedure call interface associated with the server;

one or more modules configured to generate a second decoded message by decoding the second message into the universal format, based on the stored encoding for the network-based procedure call interface; and

one or more modules configured to facilitate transmitting the second decoded message to a module of the client computing device,

wherein an operating system of the server is configured to read messages in the network-based procedure call interface, and wherein an operating system of the client computing device is not configured to read messages in the network-based procedure call interface.

Assignments (17)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
CHANGE OF NAME Recorded Nov 15, 2013
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 031645/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2012
From: FAUSAK, ANDREW T.
To: WYSE TECHNOLOGY INC.
Reel/Frame 028704/0166 →