Patents by Inventor Xiongjian Fu

Xiongjian Fu 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: 11228615
    Abstract: Methods, systems, and devices for transparent data encryption are described. A transparent proxy may enforce a specific encryption policy for a data transmission from a source host to a target host, where the transparent proxy determines if the data transmission is encrypted according to a specific encryption policy prior to forwarding the data transmission to the target host. As such, if the data transmission is not encrypted according to the specific encryption policy, the transparent proxy may encrypt the data transmission and then forward it to the target host. Alternatively, if the transparent proxy determines that the data transmission is encrypted according to the specific encryption policy, then the transparent proxy may refrain from further encrypting the data transmission and forward the data transmission to the target host without the additional encryption.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: January 18, 2022
    Assignee: salesforce.com, inc.
    Inventors: Scott Wisniewski, David Lucey, David Murray, Xiongjian Fu
  • Patent number: 11057359
    Abstract: A set of hardware security modules (HSMs) in a database system may implement a key management system with a database storing encryption keys or other secrets. The set of HSMs may identify a first key encryption key (KEK) and a second KEK stored in the set of HSMs. The set of HSMs may retrieve, from the database, a set of encryption keys encrypted by the first KEK and decrypt each encryption key of the set of encryption keys using the first KEK. The set of HSMs may re-encrypt each encryption key of the set of encryption keys with the second KEK and transmit, to the database, the set of encrypted encryption keys encrypted by the second KEK for storage. Then, the set of HSMs may delete the first KEK from the set of HSMs.
    Type: Grant
    Filed: August 13, 2018
    Date of Patent: July 6, 2021
    Assignee: salesforce.com, inc.
    Inventors: Scott Wisniewski, David Murray, Xiongjian Fu, Harish Krishnamurthy
  • Patent number: 10956600
    Abstract: A system is provided for data object encryption. The system includes an encryption framework available across a plurality of runtime environments. The system is configured to receive a data object in one of the plurality of runtime environments, wherein the data object is capable of being encrypted using a content encryption key and determine an encryption module implemented in the encryption framework that is compatible with the one of the plurality of runtime environment, wherein the encryption module comprises a key service provider that provides a master key and a key wrapping algorithm for the content encryption key in the runtime environment. The system is further configured to encrypt the data object using the content encryption key, encrypt the content encryption key using the master key and key wrapping algorithm, and write the encrypted data object to networked database storage.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: March 23, 2021
    Assignee: salesforce.com, inc.
    Inventors: Lei Ye, David Baiyor Murray, Vineet Deokaran Chaudhary, Xiongjian Fu
  • Publication number: 20200134223
    Abstract: A system is provided for data object encryption. The system includes an encryption framework available across a plurality of runtime environments. The system is configured to receive a data object in one of the plurality of runtime environments, wherein the data object is capable of being encrypted using a content encryption key and determine an encryption module implemented in the encryption framework that is compatible with the one of the plurality of runtime environment, wherein the encryption module comprises a key service provider that provides a master key and a key wrapping algorithm for the content encryption key in the runtime environment. The system is further configured to encrypt the data object using the content encryption key, encrypt the content encryption key using the master key and key wrapping algorithm, and write the encrypted data object to networked database storage.
    Type: Application
    Filed: October 31, 2018
    Publication date: April 30, 2020
    Inventors: Lei YE, David Baiyor MURRAY, Vineet Deokaran CHAUDHARY, Xiongjian FU
  • Publication number: 20200053065
    Abstract: A set of hardware security modules (HSMs) in a database system may implement a key management system with a database storing encryption keys or other secrets. The set of HSMs may identify a first key encryption key (KEK) and a second KEK stored in the set of HSMs. The set of HSMs may retrieve, from the database, a set of encryption keys encrypted by the first KEK and decrypt each encryption key of the set of encryption keys using the first KEK. The set of HSMs may re-encrypt each encryption key of the set of encryption keys with the second KEK and transmit, to the database, the set of encrypted encryption keys encrypted by the second KEK for storage. Then, the set of HSMs may delete the first KEK from the set of HSMs.
    Type: Application
    Filed: August 13, 2018
    Publication date: February 13, 2020
    Inventors: Scott Wisniewski, David Murray, Xiongjian Fu, Harish Krishnamurthy
  • Publication number: 20200045080
    Abstract: Methods, systems, and devices for transparent data encryption are described. A transparent proxy may enforce a specific encryption policy for a data transmission from a source host to a target host, where the transparent proxy determines if the data transmission is encrypted according to a specific encryption policy prior to forwarding the data transmission to the target host. As such, if the data transmission is not encrypted according to the specific encryption policy, the transparent proxy may encrypt the data transmission and then forward it to the target host. Alternatively, if the transparent proxy determines that the data transmission is encrypted according to the specific encryption policy, then the transparent proxy may refrain from further encrypting the data transmission and forward the data transmission to the target host without the additional encryption.
    Type: Application
    Filed: July 31, 2018
    Publication date: February 6, 2020
    Inventors: Scott Wisniewski, David Lucey, David Murray, Xiongjian Fu
  • Patent number: 8984244
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Grant
    Filed: November 13, 2013
    Date of Patent: March 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Publication number: 20140075141
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Application
    Filed: November 13, 2013
    Publication date: March 13, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Patent number: 8607009
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Grant
    Filed: July 13, 2006
    Date of Patent: December 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Patent number: 8191115
    Abstract: A method and apparatus for providing an extensible grouping mechanism for security applications for use in a computer system. Groups may be established and maintained by non-system administrators and used to control actions that are taken with respect to objects, such as files and other resources. The groups and associated security functions may be implemented across a plurality of different software products and optionally integrated into an existing security mechanism maintained by system administrators. Software products used in the system may be arranged to request authorization to perform requested actions with respect to objects access to which is not controlled by a systems administrator.
    Type: Grant
    Filed: January 10, 2005
    Date of Patent: May 29, 2012
    Assignee: Microsoft Corporation
    Inventors: Dennis W. Minium, Bulat Y. Shelepov, Xiongjian Fu
  • Patent number: 7827565
    Abstract: Architecture that facilitates interfacing non-integrated applications. The disclosed architecture comprises a set of APIs and conventions used to enable integration between tools that were not previously architected to be integrated. This provides the basis for server-based partner integration and client integration of tools, and can facilitate the foundation for building a third-party ecosystem. In support thereof, an artifact provider API exposes artifacts of a first application, and an artifact consumer API exposes a reference of a second application, which reference is associated with a link to one at least one of the artifacts of the artifact provider.
    Type: Grant
    Filed: March 12, 2004
    Date of Patent: November 2, 2010
    Assignee: Microsoft Corporation
    Inventors: Dennis W. Minium, Jr., Ozan Hafizogullari, Xiongjian Fu
  • Publication number: 20080022032
    Abstract: Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.
    Type: Application
    Filed: July 13, 2006
    Publication date: January 24, 2008
    Applicant: Microsoft Corporation
    Inventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
  • Patent number: 7302425
    Abstract: Query results are pre-cached for a substantial portion of or all queries that are likely to be issued by users. One query can be entirely different from another query, yet because corresponding query results are pre-cached, the database need not be accessed, improving response performance. Pre-cached queries are also distributed into multiple partitions to apportion work among multiple computing machines to further enhance performance and provide redundancy in case of the failure of any particular partition. Pre-cached query results are selectively refreshed so that users may enjoy up-to-date information by focusing on queries that are popular as well as queries that are old.
    Type: Grant
    Filed: June 9, 2003
    Date of Patent: November 27, 2007
    Assignee: Microsoft Corporation
    Inventors: Simon D. Bernstein, Xiongjian Fu, Nishant Dani
  • Publication number: 20060195492
    Abstract: In one embodiment, a method an apparatus for managing a system comprising at least one operational data store and a data warehouse that is associated with at least some of the data in the operational data set, comprising automatically updating the schema of the data warehouse to reflect a change to the schema of the at least one operational data store. In a further embodiment, a method and apparatus for requiring that a designer of a database system provide metadata that defines changes to be made to a data warehouse in response to a modification of an area in an operational store. In another embodiment, a method and apparatus for detecting schema changes to an operational store, so that appropriate action may be taken in a data warehouse. In a further embodiment, a method and apparatus for implementing changes to a data warehouse schema, comprising the execution of one or more lower level calls to appropriate APIs to modify the schemas of both a relational database and an OLAP database.
    Type: Application
    Filed: February 25, 2005
    Publication date: August 31, 2006
    Applicant: Microsoft Corporation
    Inventors: Allen Clark, Bryan MacFarlane, Xiongjian Fu
  • Publication number: 20060156020
    Abstract: A method and apparatus for providing an extensible grouping mechanism for security applications for use in a computer system. Groups may be established and maintained by non-system administrators and used to control actions that are taken with respect to objects, such as files and other resources. The groups and associated security functions may be implemented across a plurality of different software products and optionally integrated into an existing security mechanism maintained by system administrators. Software products used in the system may be arranged to request authorization to perform requested actions with respect to objects access to which is not controlled by a systems administrator. Permission information used to determine the authorization for a user to perform a requested action may be stored for a plurality of software products in a common location.
    Type: Application
    Filed: January 10, 2005
    Publication date: July 13, 2006
    Applicant: Microsoft Corporation
    Inventors: Dennis Minium, Bulat Shelepov, Xiongjian Fu
  • Publication number: 20060156021
    Abstract: A method and apparatus for providing an extensible grouping mechanism for security applications for use in a computer system. Groups may be established and maintained by non-system administrators and used to control actions that are taken with respect to objects, such as files and other resources. The groups and associated security functions may be implemented across a plurality of different software products and optionally integrated into an existing security mechanism maintained by system administrators. Software products used in the system may be arranged to request authorization to perform requested actions with respect to objects access to which is not controlled by a systems administrator, and/or provide information specifying an object or object type and actions that are performable with respect to the object or object type by the respective software product.
    Type: Application
    Filed: January 10, 2005
    Publication date: July 13, 2006
    Applicant: Microsoft Corporation
    Inventors: Dennis Minium, Bulat Shelepov, Xiongjian Fu
  • Publication number: 20060156384
    Abstract: A method and apparatus for providing an extensible grouping mechanism for security applications for use in a computer system. Groups may be established and maintained by non-system administrators and used to control actions that are taken with respect to objects, such as files and other resources. The groups and associated security functions may be implemented across a plurality of different software products and optionally integrated into an existing security mechanism maintained by system administrators. Software products used in the system may be arranged to request authorization to perform requested actions with respect to objects access to which is not controlled by a systems administrator.
    Type: Application
    Filed: January 10, 2005
    Publication date: July 13, 2006
    Applicant: Microsoft Corporation
    Inventors: Dennis Minium, Bulat Shelepov, Xiongjian Fu
  • Publication number: 20050235011
    Abstract: The present invention provides a system and method for unrelated tools to categorized elements they control according to a common centrally managed classification scheme. The invention also provides a mechanism for storing, retrieving, and modifying classifying information. Users of unrelated tools that employ the subject invention see a single and consisted user interface.
    Type: Application
    Filed: April 15, 2004
    Publication date: October 20, 2005
    Applicant: Microsoft Corporation
    Inventors: Dennis Minium, Bill Essary, Xiongjian Fu
  • Publication number: 20050204367
    Abstract: Architecture that facilitates interfacing non-integrated applications. The disclosed architecture comprises a set of APIs and conventions used to enable integration between tools that were not previously architected to be integrated. This provides the basis for server-based partner integration and client integration of tools, and can facilitate the foundation for building a third-party ecosystem. In support thereof, an artifact provider API exposes artifacts of a first application, and an artifact consumer API exposes a reference of a second application, which reference is associated with a link to one at least one of the artifacts of the artifact provider.
    Type: Application
    Filed: March 12, 2004
    Publication date: September 15, 2005
    Inventors: Dennis Minium, Ozan Hafizogullari, Xiongjian Fu
  • Patent number: 6665819
    Abstract: Data capture and analysis for debugging embedded systems is disclosed. On a target, there is at least one data collector, each of which publishes predetermined data of the target, and a collection manager for managing the data collectors. On a host, there is at least one viewer, each of subscribes to the predetermined data of a data collector, for processing thereof, and a viewer manager for managing the viewers. Data collectors and viewers can be added, such that an extensible data capture and analysis embedded system architecture is provided.
    Type: Grant
    Filed: April 24, 2000
    Date of Patent: December 16, 2003
    Assignee: Microsoft Corporation
    Inventors: Yadhu N. Gopalan, Xiongjian Fu, David M. Sauntry, James A. Stulz