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: 9680964
    Abstract: 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: Grant
    Filed: March 11, 2009
    Date of Patent: June 13, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20160080358
    Abstract: 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: Application
    Filed: November 19, 2015
    Publication date: March 17, 2016
    Inventors: Arash Ghanaie-Sichanie, Matthew S. Augustine, Dharma K. Shukla, Hari Krishnan, Matthew J. Burdick
  • Patent number: 9197417
    Abstract: 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: Grant
    Filed: April 24, 2009
    Date of Patent: November 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arash Ghanaie-Sichanie, Matthew S. Augustine, Dharma K. Shukla, Hari Krishnan S, Matthew J. Burdick
  • Patent number: 9003059
    Abstract: 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: Grant
    Filed: March 31, 2008
    Date of Patent: April 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20150046519
    Abstract: 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: Application
    Filed: August 18, 2014
    Publication date: February 12, 2015
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 8812451
    Abstract: 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: Grant
    Filed: March 11, 2009
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 8505084
    Abstract: 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: Grant
    Filed: April 6, 2009
    Date of Patent: August 6, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma K. Shukla, Matthew J. Burdick, Arash Ghanaie-Sichanie, Matthew S. Augustine, Hari Krishnan
  • Patent number: 8413139
    Abstract: 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: Grant
    Filed: March 11, 2009
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20100274910
    Abstract: 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: Application
    Filed: April 24, 2009
    Publication date: October 28, 2010
    Applicant: Microsoft Corporation
    Inventors: Arash Ghanaie-Sichanie, Matthew S. Augustine, Dharma K. Shukla, Hari Krishnan S., Matthew J. Burdick
  • Publication number: 20100257578
    Abstract: 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: Application
    Filed: April 6, 2009
    Publication date: October 7, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma K. Shukla, Matthew J. Burdick, Arash Ghanaie-Sichanie, Matthew S Augustine, Hari Krishnan
  • Publication number: 20100235830
    Abstract: 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: Application
    Filed: March 11, 2009
    Publication date: September 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20100235321
    Abstract: 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: Application
    Filed: March 11, 2009
    Publication date: September 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20100235829
    Abstract: 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: Application
    Filed: March 11, 2009
    Publication date: September 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 7680848
    Abstract: 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: Grant
    Filed: March 29, 2007
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Akezyt Janedittakarn, Alexander Tkatch, Arash Ghanaie-Sichanie, Michael James Ott, David Robert Shutt
  • Patent number: 7669205
    Abstract: 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: Grant
    Filed: November 30, 2005
    Date of Patent: February 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin M. Whittenberger, Michael J. Ott, Michaeljon Miller
  • Publication number: 20090248695
    Abstract: 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: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 7523461
    Abstract: An extensible architecture that allows the users to extend, change or replace the existing business logic of the business application is disclosed.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: April 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin M. Whittenberger, Michael J. Ott, Michaeljon Miller, Xinguang Albert Chen, Youg Lu, Mohammad Mushtaque Silat
  • Publication number: 20070006237
    Abstract: 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: Application
    Filed: November 30, 2005
    Publication date: January 4, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin Whittenberger, Michael Ott, Michaeljon Miller
  • Publication number: 20070005642
    Abstract: An extensible architecture that allows the users to extend, change or replace the existing business logic of the business application is disclosed.
    Type: Application
    Filed: November 30, 2005
    Publication date: January 4, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Arash Ghanaie-Sichanie, Alexander Tkatch, Kevin Whittenberger, Michael Ott, Michaeljon Miller, Xinguang Chen, Youg Lu, Mohammad Silat