Patents by Inventor Arash Ghanaie-Sichanie
Arash Ghanaie-Sichanie 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: 9680964Abstract: An application executing in a virtual environment, such as a web browser, may be serviced by an application host, such as a webserver that maintains application resources or provides runtime services to the application. However, it may be difficult to configure the application to operate suitably when the application host is unavailable. Techniques for facilitating such operation include the storing of application resources in a computing environment (such as the local file system or a deployable mesh or cloud environment) while also initiating the application within the virtual environment in the context of the application host, which may reduce difficulties with isolation policies imposed by the virtual environment (e.g., cross-domain restrictions imposed by the web browser.) This configuration may promote the servicing of the application alongside other applications and data objects, e.g.Type: GrantFiled: March 11, 2009Date of Patent: June 13, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Publication number: 20160080358Abstract: An application host (such as a web application server) may execute a set of applications on behalf of a set of users. Such applications may not be fully trusted, and a two-way isolation of the distributed resources of an application (e.g., the executing application, the application user interface on the user's computer, and server- and client-side stored resources) from other applications may be desirable. This isolation may be promoted utilizing the cross-domain restriction policies of each user's computer by allocating a distinct subdomain of the application host for each application. The routing of network requests to a large number of distinct subdomains may be economized by mapping all distinct subdomains to the address of the domain of the application host. Moreover, the application user interfaces may be embedded in an isolation construct (e.g., an IFRAME HTML element) to promote two-way isolation among application user interfaces and client-side application resources.Type: ApplicationFiled: November 19, 2015Publication date: March 17, 2016Inventors: Arash Ghanaie-Sichanie, Matthew S. Augustine, Dharma K. Shukla, Hari Krishnan, Matthew J. Burdick
-
Patent number: 9197417Abstract: An application host (such as a web application server) may execute a set of applications on behalf of a set of users. Such applications may not be fully trusted, and a two-way isolation of the distributed resources of an application (e.g., the executing application, the application user interface on the user's computer, and server- and client-side stored resources) from other applications may be desirable. This isolation may be promoted utilizing the cross-domain restriction policies of each user's computer by allocating a distinct subdomain of the application host for each application. The routing of network requests to a large number of distinct subdomains may be economized by mapping all distinct subdomains to the address of the domain of the application host. Moreover, the application user interfaces may be embedded in an isolation construct (e.g., an IFRAME HTML element) to promote two-way isolation among application user interfaces and client-side application resources.Type: GrantFiled: April 24, 2009Date of Patent: November 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Arash Ghanaie-Sichanie, Matthew S. Augustine, Dharma K. Shukla, Hari Krishnan S, Matthew J. Burdick
-
Patent number: 9003059Abstract: Systems and methods for implementing online and offline applications are described. Such systems and methods may in some cases provide the same programming interface, regardless of whether the application is online or offline. Such systems and methods may also or instead in some cases provide additional or other possible capabilities, including installation without elevated privileges, simplified data synchronization, sharing of applications and application data, access to data from other applications, and richer client functionality than may be provided by an application such as a web browser.Type: GrantFiled: March 31, 2008Date of Patent: April 7, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Raymond E. Ozzie, Jack E. Ozzie, George P. Moromisato, Raman Narayanan, Matthew S. Augustine, Dharma K. Shukla, Ori M. Amiga, Ming Liu, Arash Ghanaie-Sichanie
-
Publication number: 20150046519Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.Type: ApplicationFiled: August 18, 2014Publication date: February 12, 2015Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Patent number: 8812451Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.Type: GrantFiled: March 11, 2009Date of Patent: August 19, 2014Assignee: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Patent number: 8505084Abstract: Portions of a computing environment (such as a user's mesh) may restrict accessing to particular types of access by particular applications. The computer may support applications executing within a virtual environment (such as a web browser) by brokering such access through a token-based system. When an application requests a particular type of access (e.g., writing to a particular data object), the computer may contact an authorization server with the credentials of the application to request the specified access, and may receive and store an authorization token. The computer may then access the computing environment with the authorization token, and may return the results to the application within the virtual environment. Additional features may further support such applications; e.g., a programmatic interface may be provided in a familiar language, such as JavaScript, whereby applications can request access to particular data objects and identify authorized access capabilities.Type: GrantFiled: April 6, 2009Date of Patent: August 6, 2013Assignee: Microsoft CorporationInventors: Dharma K. Shukla, Matthew J. Burdick, Arash Ghanaie-Sichanie, Matthew S. Augustine, Hari Krishnan
-
Patent number: 8413139Abstract: Applications executing on computer systems may execute in a virtual environment, such as a web application executing in a web browser. An application may access the actual computing environment (such as the filesystem), but this accessing may be complicated; e.g., the computing environment may be deployed across many computers and devices, and may be synchronized for offline access via a local cache. A computing environment component may service the complex computing environment (e.g., by managing the cache and retrieving remotely stored data objects) and expose it as a well-organized set of data objects. A virtual environment interface (e.g., a web browser plug-in) may allow applications hosted in the virtual environment to access the computing environment through the computing environment component. Programmatic interfaces may also be implemented to permit such accessing via familiar programming languages and techniques, such as JavaScript libraries exposed to web applications in the web browser.Type: GrantFiled: March 11, 2009Date of Patent: April 2, 2013Assignee: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Publication number: 20100274910Abstract: An application host (such as a web application server) may execute a set of applications on behalf of a set of users. Such applications may not be fully trusted, and a two-way isolation of the distributed resources of an application (e.g., the executing application, the application user interface on the user's computer, and server- and client-side stored resources) from other applications may be desirable. This isolation may be promoted utilizing the cross-domain restriction policies of each user's computer by allocating a distinct subdomain of the application host for each application. The routing of network requests to a large number of distinct subdomains may be economized by mapping all distinct subdomains to the address of the domain of the application host. Moreover, the application user interfaces may be embedded in an isolation construct (e.g., an IFRAME HTML element) to promote two-way isolation among application user interfaces and client-side application resources.Type: ApplicationFiled: April 24, 2009Publication date: October 28, 2010Applicant: Microsoft CorporationInventors: Arash Ghanaie-Sichanie, Matthew S. Augustine, Dharma K. Shukla, Hari Krishnan S., Matthew J. Burdick
-
Publication number: 20100257578Abstract: Portions of a computing environment (such as a user's mesh) may restrict accessing to particular types of access by particular applications. The computer may support applications executing within a virtual environment (such as a web browser) by brokering such access through a token-based system. When an application requests a particular type of access (e.g., writing to a particular data object), the computer may contact an authorization server with the credentials of the application to request the specified access, and may receive and store an authorization token. The computer may then access the computing environment with the authorization token, and may return the results to the application within the virtual environment. Additional features may further support such applications; e.g., a programmatic interface may be provided in a familiar language, such as JavaScript, whereby applications can request access to particular data objects and identify authorized access capabilities.Type: ApplicationFiled: April 6, 2009Publication date: October 7, 2010Applicant: Microsoft CorporationInventors: Dharma K. Shukla, Matthew J. Burdick, Arash Ghanaie-Sichanie, Matthew S Augustine, Hari Krishnan
-
Publication number: 20100235830Abstract: Applications executing on computer systems may execute in a virtual environment, such as a web application executing in a web browser. An application may access the actual computing environment (such as the filesystem), but this accessing may be complicated; e.g., the computing environment may be deployed across many computers and devices, and may be synchronized for offline access via a local cache. A computing environment component may service the complex computing environment (e.g., by managing the cache and retrieving remotely stored data objects) and expose it as a well-organized set of data objects. A virtual environment interface (e.g., a web browser plug-in) may allow applications hosted in the virtual environment to access the computing environment through the computing environment component. Programmatic interfaces may also be implemented to permit such accessing via familiar programming languages and techniques, such as JavaScript libraries exposed to web applications in the web browser.Type: ApplicationFiled: March 11, 2009Publication date: September 16, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Publication number: 20100235321Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.Type: ApplicationFiled: March 11, 2009Publication date: September 16, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Publication number: 20100235829Abstract: An application executing in a virtual environment, such as a web browser, may be serviced by an application host, such as a webserver that maintains application resources or provides runtime services to the application. However, it may be difficult to configure the application to operate suitably when the application host is unavailable. Techniques for facilitating such operation include the storing of application resources in a computing environment (such as the local file system or a deployable mesh or cloud environment) while also initiating the application within the virtual environment in the context of the application host, which may reduce difficulties with isolation policies imposed by the virtual environment (e.g., cross-domain restrictions imposed by the web browser.) This configuration may promote the servicing of the application alongside other applications and data objects, e.g.Type: ApplicationFiled: March 11, 2009Publication date: September 16, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Patent number: 7680848Abstract: In a multi-tenant environment, synchronous processing requests from clients associated with tenants are handled by middle tier servers, which forward requests for asynchronous processing to queues associated with organizational databases for each tenant directed by a locator service. A group of independent asynchronous processing servers are used to perform the asynchronous processing interacting with the databases in a distributed manner. The allocation of the requests among the asynchronous servers is managed by an exponential back off for organizations with no waiting requests algorithm combined with a quota system based on historic load for organizations that have requests. The independence of the synchronous and asynchronous processing servers, as well as the distributed interaction between the asynchronous processing servers and the databases enables scalability of the system based on request types and implementation of reliable recovery mechanisms.Type: GrantFiled: March 29, 2007Date of Patent: March 16, 2010Assignee: Microsoft CorporationInventors: Akezyt Janedittakarn, Alexander Tkatch, Arash Ghanaie-Sichanie, Michael James Ott, David Robert Shutt
-
Patent number: 7669205Abstract: A method of extending the functionality of an API in a CRM program and system to implement the method is disclosed. The method may allow a user to use request and response messages to be communicated with a single interface that may be exposed as a CRM web service module to create new business logic and operations by extending previously defined classes.Type: GrantFiled: November 30, 2005Date of Patent: February 23, 2010Assignee: Microsoft CorporationInventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin M. Whittenberger, Michael J. Ott, Michaeljon Miller
-
Publication number: 20090248695Abstract: Systems and methods for implementing online and offline applications are described. Such systems and methods may in some cases provide the same programming interface, regardless of whether the application is online or offline. Such systems and methods may also or instead in some cases provide additional or other possible capabilities, including installation without elevated privileges, simplified data synchronization, sharing of applications and application data, access to data from other applications, and richer client functionality than may be provided by an application such as a web browser.Type: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Applicant: MICROSOFT CORPORATIONInventors: Raymond E. Ozzie, Jack E. Ozzie, George P. Moromisato, Raman Narayanan, Matthew S. Augustine, Dharma K. Shukla, Ori M. Amiga, Ming Liu, Arash Ghanaie-Sichanie
-
Patent number: 7523461Abstract: An extensible architecture that allows the users to extend, change or replace the existing business logic of the business application is disclosed.Type: GrantFiled: November 30, 2005Date of Patent: April 21, 2009Assignee: Microsoft CorporationInventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin M. Whittenberger, Michael J. Ott, Michaeljon Miller, Xinguang Albert Chen, Youg Lu, Mohammad Mushtaque Silat
-
Publication number: 20070006237Abstract: A method of extending the functionality of an API in a CRM program and system to implement the method is disclosed. The method may allow a user to use request and response messages to be communicated with a single interface that may be exposed as a CRM web service module to create new business logic and operations by extending previously defined classes.Type: ApplicationFiled: November 30, 2005Publication date: January 4, 2007Applicant: MICROSOFT CORPORATIONInventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin Whittenberger, Michael Ott, Michaeljon Miller
-
Publication number: 20070005642Abstract: An extensible architecture that allows the users to extend, change or replace the existing business logic of the business application is disclosed.Type: ApplicationFiled: November 30, 2005Publication date: January 4, 2007Applicant: MICROSOFT CORPORATIONInventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin Whittenberger, Michael Ott, Michaeljon Miller, Xinguang Chen, Youg Lu, Mohammad Silat