Patents by Inventor Santosh Sampath
Santosh Sampath has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10862978Abstract: A system for maintaining a state of a session of a network application across different client device is disclosed. A first client application establishes sessions of a user to a network application. Each of the sessions is accessed via a first embedded browser of a first client application. The first client application stores a state of the sessions to a workspace service in association with the user, and a context of the user to a workspace hub. A second client application establishes the sessions to the network application based on the state of the sessions obtained via the workspace service that are each accessed via a second embedded browser of the second client application. The second client application updates the state of the sessions to a second state based on detection of a state change and a context of the user obtained from the workspace hub.Type: GrantFiled: September 19, 2018Date of Patent: December 8, 2020Assignee: Citrix Systems, Inc.Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200320991Abstract: Described embodiments provide systems and methods for capture and translation of voice commands into user interface commands and gestures. A transducer of a device, such as a microphone, may receive an audible or spoken command from a user and may translate the input audio into text via a speech-to-text engine, either as part of the operating system of the device or via a separate agent (which may be executed by the device or a remote server). The text may be interpreted via a natural language parser (either on the device or the remote server) to identify a command, such as scrolling, panning, zooming, or other such gestures. A context may be retrieved, such as coordinates of a cursor or other interface element within a hosted application or SaaS application, and the command may be applied based on the coordinates of the cursor.Type: ApplicationFiled: April 3, 2019Publication date: October 8, 2020Inventors: Vipin Borkar, Santosh Sampath
-
Publication number: 20200218583Abstract: Embodiments described include systems and methods for calling an application programming interface of a client application for a network application via an embedded browser of the client application. The method includes establishing, by a client application on a client device, one or more sessions to one or more network applications accessed via an embedded browser of the client application. The client application providing a plurality of application program interfaces (APIs). The client application can intercept a first API called by a network application of the one or more network applications and identify a policy for using the plurality of APIs of the client application. The client application can determine, based at least on the policy, a second API of the plurality of APIs to use for the intercepted first API, and execute, for the intercepted first API call, the second API of the plurality of APIs of the client application.Type: ApplicationFiled: March 16, 2020Publication date: July 9, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200162471Abstract: Embodiments described include systems and methods for securely managing browser plugins via embedded browser. The solution enables a client application or embedded browser to dynamically load the browser components into the embedded browser based on a risk or security profile and one or more policies. The policies can be centrally managed to enable only allowed browser components to be loaded within the embedded browser for a given risk profile. Based on the risk profile, a session established by the embedded browser can be transferred from the client application to a hosted browser at a secure sever. When the session is transferred to the hosted browser, the present system can also redirect the browser component configurations to the hosted browser such that the same browser components are enabled, disabled, or modified at the hosted browser.Type: ApplicationFiled: November 16, 2018Publication date: May 21, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200162359Abstract: Embodiments described include systems and methods for determining the compatibility of network applications with different browser engines. For example, SaaS and web application can be deployed using different web browsers and on different cloud service platforms. These different web browsers and different could service platforms can have different compatibility and security profiles when executing a web application. The compatibility issues can cause security challenges and can prevent the web application from being properly executed or rendered.Type: ApplicationFiled: November 16, 2018Publication date: May 21, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200142660Abstract: Systems and methods of using an embedded browser for displaying content from a network application in presentation mode on a secondary display are described. A method includes establishing, by a client application on a client device having a primary display and a secondary display, a session to a network application accessed via an embedded browser of the client application. The method further includes detecting, by the client application, selection of a the presentation mode while displaying a web page of the network application on a primary display of the client device. The method further includes displaying, by the embedded browser responsive to the presentation mode, content of the network application for the presentation mode on the secondary display of the client device while displaying the web page of the network application on the primary display.Type: ApplicationFiled: November 6, 2018Publication date: May 7, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200145510Abstract: Methods, systems, and computer-readable media for optimizing web pages using a rendering engine are presented. In some embodiments, a cloud service computing platform may receive, via a communication interface and from a user device, a request for a web page. Subsequently, the cloud service computing platform may retrieve, via the communication interface, and from a server, the web page. Further, the cloud service computing platform may render, using a headless browser, the web page to identify a plurality of content parts associated with the web page. Next, the cloud service computing platform may optimize the plurality of content parts associated with the web page. Additionally, the cloud service computing platform may transmit, via the communication interface and to the user device, the plurality of optimized content parts associated with the web page. Subsequently, the user device may render the plurality of optimized content parts associated with the web page.Type: ApplicationFiled: January 8, 2020Publication date: May 7, 2020Inventors: Santosh Sampath, Vipin Borkar
-
Publication number: 20200142552Abstract: Embodiments described include systems and methods for displaying overlays for a network application. A client application on a client device can establish a session to a network application accessed via an embedded browser of the client application. The embedded browser of the client application may receive and display a web page of the network application. Based on one or more conditions and/or policies, the client application may identify and display overlay content over the web page in the embedded browser. The overlay content may include, but is not limited to, training videos, tutorials, social options (e.g., emoticons, likes), form help text, form autofill suggestions, and/or navigation assistance. Once the overlay content is presented, feedback can be received in order to modify the subsequent overlays.Type: ApplicationFiled: November 6, 2018Publication date: May 7, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200143016Abstract: Embodiments described include systems and methods for incorporating tags in content of network applications. An embedded browser, which is executable on one or more processors of a client device, may detect content from a network application accessed via the embedded browser. A DRM engine of the embedded browser identifies a DRM scheme for the network application from the plurality of DRM schemes and according to the network application. The DRM engine generates a DRM tag for the content according to the DRM scheme identified for the network application. The DRM tag includes a classification of the content. The DRM engine incorporates the DRM tag into the content for managing usage of the content according to the classification.Type: ApplicationFiled: November 6, 2018Publication date: May 7, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200117489Abstract: Embodiments described include systems and methods for delivering a network application. An intermediary device between a client device and a server hosting a network application establishes a connection with the network application. The intermediary device receives encoded application data and decodes the encoded application data. The application data is encoded graphics data or audio data. The decoded application data is renderable at the client device. The intermediary device transmits the decoded application graphics and/or audio data to a client application of the client application for rendering to provide user access to the network application.Type: ApplicationFiled: October 11, 2018Publication date: April 16, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200097337Abstract: Embodiments described include systems and methods for calling an application programming interface of a client application for a network application via an embedded browser of the client application. The method includes establishing, by a client application on a client device, one or more sessions to one or more network applications accessed via an embedded browser of the client application. The client application providing a plurality of application program interfaces (APIs). The client application can intercept a first API called by a network application of the one or more network applications and identify a policy for using the plurality of APIs of the client application. The client application can determine, based at least on the policy, a second API of the plurality of APIs to use for the intercepted first API, and execute, for the intercepted first API call, the second API of the plurality of APIs of the client application.Type: ApplicationFiled: September 21, 2018Publication date: March 26, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200097614Abstract: Embodiments described include systems and methods for providing a preview for a link in a network application. A client application operating on a client device provides access to a network application. The client application includes an embedded browser for accessing the network application. The embedded browser displays a link within a user interface for the network application. When a user provides a user action on the link, a preview engine for the embedded browser detects the user action. The preview engine provides a preview of the link by rendering a preview in a preview region of the embedded browser.Type: ApplicationFiled: September 21, 2018Publication date: March 26, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200097612Abstract: Embodiments described include systems and methods of determining one or more links of one or more network applications to access to perform a task is provided. The method can include receiving, by a server, a request from a client application on a client device. The request can identify a name of a task to be performed. The client application can include an embedded browser for accessing one or more network applications. The method can include determining, by the server, one or more links of the one or more network applications hosted on one or more third party servers that are to be used to perform a task identified by the name of the task. The method can include causing, responsive to the request and to perform the task, the embedded browser of the client application on the client device to access the one or more links of the one or more network applications hosted on the one or more third party servers.Type: ApplicationFiled: September 21, 2018Publication date: March 26, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200099738Abstract: Embodiments described include systems and methods for performing an action between diverse applications. A client application executing on a client device can establish a bridge connection between a plurality of applications accessible from the client device via the client application. The bridge connection can couple the plurality of applications with each other and each of the applications can have one or more different properties. The client application can receive a request from the client device to perform a first action on a first application using properties of a second application. The client application can identify the second application based on properties of the second application corresponding to the first action. The client application can cause the first action to be executed via the second application, and transfer, to the first application, data corresponding to the first action from the second application through the bridge connection.Type: ApplicationFiled: September 24, 2018Publication date: March 26, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Patent number: 10599486Abstract: Embodiments described include systems and methods for calling an application programming interface of a client application for a network application via an embedded browser of the client application. The method includes establishing, by a client application on a client device, one or more sessions to one or more network applications accessed via an embedded browser of the client application. The client application providing a plurality of application program interfaces (APIs). The client application can intercept a first API called by a network application of the one or more network applications and identify a policy for using the plurality of APIs of the client application. The client application can determine, based at least on the policy, a second API of the plurality of APIs to use for the intercepted first API, and execute, for the intercepted first API call, the second API of the plurality of APIs of the client application.Type: GrantFiled: September 21, 2018Date of Patent: March 24, 2020Assignee: Citrix Systems, Inc.Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200089898Abstract: Embodiments described include systems and methods for using an HTML-based application integrated with an embedded browser on a client device, for trusted data transfer for instance. An HTML-based application within an embedded browser of a client device can provide access to a network application and its resources. The HTML-based application can establish a secure session for the network application between a server and the HTML-based application. The embedded browser can determine that the HTML-based application is a trusted application via application of one or more policies. With the secure session established and responsive to determining that the HTML-based application is a trusted application, the embedded browser may establish at least one virtual channel between the embedded browser and the HTML-based application. Using the at least one virtual channels, the embedded browser can transfer data between the secure session of the network application and the operating system (OS) of the client device.Type: ApplicationFiled: September 19, 2018Publication date: March 19, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Publication number: 20200092382Abstract: A system for maintaining a state of a session of a network application across different client device is disclosed. A first client application establishes sessions of a user to a network application. Each of the sessions is accessed via a first embedded browser of a first client application. The first client application stores a state of the sessions to a workspace service in association with the user, and a context of the user to a workspace hub. A second client application establishes the sessions to the network application based on the state of the sessions obtained via the workspace service that are each accessed via a second embedded browser of the second client application. The second client application updates the state of the sessions to a second state based on detection of a state change and a context of the user obtained from the workspace hub.Type: ApplicationFiled: September 19, 2018Publication date: March 19, 2020Inventors: Vipin Borkar, Santosh Sampath, Deepak Sharma, Arvind SankaraSubramanian
-
Patent number: 10567537Abstract: Methods, systems, and computer-readable media for optimizing web pages using a rendering engine are presented. In some embodiments, a cloud service computing platform may receive, via a communication interface and from a user device, a request for a web page. Subsequently, the cloud service computing platform may retrieve, via the communication interface, and from a server, the web page. Further, the cloud service computing platform may render, using a headless browser, the web page to identify a plurality of content parts associated with the web page. Next, the cloud service computing platform may optimize the plurality of content parts associated with the web page. Additionally, the cloud service computing platform may transmit, via the communication interface and to the user device, the plurality of optimized content parts associated with the web page. Subsequently, the user device may render the plurality of optimized content parts associated with the web page.Type: GrantFiled: May 15, 2017Date of Patent: February 18, 2020Assignee: Citrix Systems, Inc.Inventors: Santosh Sampath, Vipin Borkar
-
Publication number: 20190260853Abstract: Systems and methods for energy aware transmission of data to a client device in a cloud environment during a remote session. The method includes, by a processor: establishing a remote session between the client device and a server, receiving a battery status corresponding to the client device, determining a battery profile associated with the received battery status for the client device, accessing a rule set to determine if there is at least one action associated with the battery profile. The at least one action corresponds to transmission of data from the server to the client device. The method further includes executing the at least one action if there is at least one action associated with the battery profile.Type: ApplicationFiled: February 20, 2018Publication date: August 22, 2019Inventors: Revathi Ayyadurai, Santosh Sampath
-
Publication number: 20180332132Abstract: Methods, systems, and computer-readable media for optimizing web pages using a rendering engine are presented. In some embodiments, a cloud service computing platform may receive, via a communication interface and from a user device, a request for a web page. Subsequently, the cloud service computing platform may retrieve, via the communication interface, and from a server, the web page. Further, the cloud service computing platform may render, using a headless browser, the web page to identify a plurality of content parts associated with the web page. Next, the cloud service computing platform may optimize the plurality of content parts associated with the web page. Additionally, the cloud service computing platform may transmit, via the communication interface and to the user device, the plurality of optimized content parts associated with the web page. Subsequently, the user device may render the plurality of optimized content parts associated with the web page.Type: ApplicationFiled: May 15, 2017Publication date: November 15, 2018Inventors: Santosh Sampath, Vipin Borkar