Patents Assigned to Sun Microsystems, Inc.
  • Publication number: 20110191787
    Abstract: A system and method for providing device data for use in developing application software for a microprocessor-based embedded device having at least one physical sensor using a software development environment include an agent executing on the target embedded device and a connectivity module executing within the software development environment to communicate sensor data from the embedded device to the software development environment. In one embodiment, the target device is a mobile phone that provides sensor data from an integrated physical sensor to a development computer executing mobile phone software within the development environment using the same API's within the development environment as used on the embedded device.
    Type: Application
    Filed: February 2, 2010
    Publication date: August 4, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Oren Poleg, Omer Pomerantz
  • Publication number: 20110191506
    Abstract: Methods and apparatus are provided for simultaneously supporting multiple hosts with a single communication port; each host may host multiple functions. The input/output device comprises multiple buffers; each buffer stores packets for one host, but can be dynamically reallocated to a different host. Multiple buffers may simultaneously support the same host and all of its functions. After a packet is received and classified, it is stored in at least one buffer, along with control information for processing the packet upon egress from the buffer. Egress managers for each buffer extract packets and transfer them to destination host/functions, by speculatively moving the packets forward even while DMA engines perform their processing to facilitate their transfer.
    Type: Application
    Filed: February 1, 2010
    Publication date: August 4, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Arvind Srinivasan
  • Publication number: 20110191508
    Abstract: A method for queuing thread update buffers to enhance garbage collection. The method includes providing a global update buffer queue and a global array with slots for storing pointers to filled update buffers. The method includes with an application thread writing to the update buffer and, when filled, attempting to write the pointer for the update buffer to the global array. The array slot may be selected randomly or by use of a hash function. When the writing fails due to a non-null slot, the method includes operating the application thread to add the filled update buffer to the global update buffer queue. The method includes, with a garbage collector thread, inspecting the global array for non-null entries and, upon locating a pointer, claiming the filled update buffer. The method includes using the garbage collector thread to claim and process buffers added to the global update buffer queue.
    Type: Application
    Filed: February 3, 2010
    Publication date: August 4, 2011
    Applicant: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, Paul H. Hohensee
  • Publication number: 20110191393
    Abstract: A method for garbage collection, involving identifying a first object referenced by a second object, determining whether the address of the first object is lower than a pointer position, in response to determining that the address of the first object is lower than the pointer position, adding an identifier for the first object to a mark stack, determining whether a number of identifiers in the mark stack has reached a flush threshold, in response to determining that the number of identifiers in the mark stack has reached the flush threshold, setting a set of marks included in a mark bitmap to grey, setting a region field of a rescan map to indicate that a region of the mark bitmap includes any of the set of marks, and performing a rescan of the region based on the region field.
    Type: Application
    Filed: February 1, 2010
    Publication date: August 4, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Thomas Schatzl, Laurent Phillipe Daynes
  • Publication number: 20110191518
    Abstract: Methods and apparatus are provided for simultaneously supporting multiple hosts with a single communication port; each host may host multiple functions. The input/output device comprises multiple buffers; each buffer stores packets for one host, but can be dynamically reallocated to a different host. Multiple buffers may simultaneously support the same host and all of its functions. After a packet is received and classified, it is distributed to buffer ingress managers. Within a set of ingress managers serving one buffer, each manager corresponds to one function of the buffer's corresponding host, and is programmed with criteria for identifying packets desired by that function. One copy of the packet is stored in a buffer if at least one of the buffer's ingress managers accepts it, along with control information for processing the packet upon egress from the buffer. Egress managers for each buffer extract packets and transfer them to destination host/functions.
    Type: Application
    Filed: February 1, 2010
    Publication date: August 4, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Arvind Srinivasan
  • Publication number: 20110184996
    Abstract: A method for migrating files involves receiving, from a client, a file system (FS) operation request for a target FS, making a first determination that migration for a source FS is not complete, making a second determination that the FS operation request specifies a directory and that a directory level attribute for the directory on the target FS specifies that the directory is un-migrated. In response to the first and second determination, creating, using the meta-data for content in the directory, a directory entry for a file in the directory on the target FS, where the directory entry for the file is associated with a file level attribute that specifies the file is un-migrated, and servicing, after the creating, the first FS operation request using target FS.
    Type: Application
    Filed: January 27, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Adam H. Leventhal, Eric Noah Schrock
  • Publication number: 20110184907
    Abstract: A method for migrating files including receiving, from a client, a file system (FS) operation request for a target FS, making a first determination that migration for a source FS is not complete, making a second determination that the FS operation request specifies a directory and that a directory level attribute for the directory on the target FS specifies that the directory is un-migrated. In response to the first and second determination, creating, using the meta-data for content in the directory, a directory entry for a file in the directory on the target FS, where the directory entry for the file is associated with a file level attribute that specifies the file is un-migrated, adding an unique identification (UID) for the file to a pending list, adding the UID for the directory to a removed list, and servicing, after the creating, the first FS operation request using target FS.
    Type: Application
    Filed: January 27, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Eric Noah Schrock, Adam H. Leventhal
  • Publication number: 20110185195
    Abstract: A system including a first physical network interface card (NIC) include a number of rings, where at least one of the rings is an active ring. The system further includes a host, operatively connected to the first NIC, and including Media Access Control (MAC) layer. The MAC layer is configured to obtain a power management policy, obtain a load associated with the active ring, determine, using the power management policy and the load, that the state associated with at least one of the rings must be changed, and change, in response to the determining, the state of at least one of the of rings.
    Type: Application
    Filed: January 26, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Sunay Tripathi, Nicolas G. Droux
  • Publication number: 20110185129
    Abstract: A computing system includes a first virtual machine associated with a memory region readable by the first virtual machine, and a first private memory region. A data object is created by the first virtual machine in the sharable memory region, readable and writeable by the first virtual machine and a second virtual machine. A mapping is established between the first virtual machine and a particular area of the shareable memory region. The computing system includes the second virtual machine associated with a second private memory region, and a reference to the particular area of the shareable memory region. The mapping enables both the first virtual machine and second virtual machine to read and write second data in the shareable memory region without creating a copy of the second data in the first and second private memory regions.
    Type: Application
    Filed: January 22, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Erez Landau, Daniel David Blaukopf, Omer Pomerantz
  • Publication number: 20110185344
    Abstract: One embodiment of the present invention provides a system that characterizes content in object code. During operation, the system receives the source code of a program. The system also receives one or more pieces of object code of the program, or creates one or more pieces of object code from the source code. Next, the system identifies a construct in the object code. The system then determines whether the construct is physically present in the source code. If the construct is not physically present, the system determines whether the construct is logically present in the source code, wherein a construct is logically present if it is required by the programming language. If so, the system sets a construct flag to indicate that the construct is “synthesized.” However, if not, the system sets the construct flag to indicate that the construct is “synthetic.” Finally, the construct flag is made available to a reflective API.
    Type: Application
    Filed: January 26, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Joseph D. Darcy, Alexander R. Buckley
  • Publication number: 20110185347
    Abstract: A method for executing a computer program involving obtaining a statement of the source code, where the statement comprises a method call, and where the source code is composed in a statically-typed programming language. The method also involves, upon entry into a loop included in the computer program: incrementing an entry counter by one; and, for each iteration of the loop, incrementing an iteration counter by one, incrementing a local counter by one to obtain an incremented value of the local counter, incrementing a summation variable by the incremented value of the local counter, and executing the iteration of the loop.
    Type: Application
    Filed: January 27, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: John Rose
  • Publication number: 20110185150
    Abstract: Systems and methods for performing single instruction multiple data (SIMD) operations on a data set. The methods may include examining a structure of the data set to determine what reorganization may be necessary to facilitate SIMD processing. The method may include selecting a stored bit mask corresponding to the organization of the data set and loading the bit mask into an application specific register (ASR). Subsequently, the data may be reorganized inline according to the ASR as the data is loaded into the SIMD functional unit such that the SIMD functional unit may operate on the data set. The results of the SIMD operation may be written to a results register.
    Type: Application
    Filed: January 26, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Lawrence A. Spracklen
  • Publication number: 20110185144
    Abstract: A method for queuing update buffers to enhance garbage collection. The method includes running an application thread and providing, for the application thread, a data structure including current and finished update buffer slots. The method includes providing an update buffer for the application thread and storing a pointer to the update buffer in the current update buffer slot. The method includes storing null in the finished update buffer slot and, with the application thread, writing to the update buffer. The thread may write a pointer to the filled update buffer in the finished update buffer slot after the buffer is filled. The method includes using a garbage collector thread to inspect the finished update buffer slot and claim filled buffers and change the pointer to null. The thread then obtains an empty update buffer and updates the current update buffer slot to point to the new buffer.
    Type: Application
    Filed: January 26, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Antonios Printezis, Paul H. Hohensee
  • Patent number: 7987269
    Abstract: A domain manager establishes an administrative domain for a network that has an associated set of assets and an associated set of users. The domain manager identifies at least one asset of the set of assets to be included in the administrative domain. An asset can be a hardware resource (e.g., computer, router, etc.) and/or a software resource (e.g., word processing application). In addition, the domain manager identifies at least one user of the set of users to be included in the administrative domain. The domain manager also establishes a set of roles within the administrative domain. For example, each role can define permissions (e.g., levels of accessibility) between a user and an asset (or group of assets) in the administrative domain.
    Type: Grant
    Filed: December 18, 2007
    Date of Patent: July 26, 2011
    Assignee: Sun Microsystems, Inc.
    Inventors: Martin Paul Mayhead, Michael J. Wookey, Brandon Eugene Taylor
  • Publication number: 20110179424
    Abstract: A system for self-tuning hardware resources includes a processor, a hardware resource, an operating system (OS), a metric monitoring unit (MMU), and a configuration engine (CE). The OS determines: the hardware resource; a metric for monitoring the hardware resource; a hardware resource management policy for the hardware resource; and a primary and secondary sub-ranges for the metric. The OS sends a hardware resource management policy directive to the CE. The MMU monitors the hardware resource to obtain data for the metric. The CE receives the hardware resource management policy directive, determines the primary and secondary sub-ranges from the hardware resource management policy directive, obtains data for the metric from the MMU. When data is outside the primary sub-range and inside the secondary sub-range, the CE determines and executes a hardware resource optimization routine to bring hardware resource utilization into compliance with the primary sub-range.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Eric C. Saxe, Darrin P. Johnson
  • Publication number: 20110179402
    Abstract: A method for compiling source code, involving: obtaining a statement of the source code comprising a method call, where the source code is composed in a statically-typed programming language; determining whether the method call is a dynamic method call; upon determining that the method call is a dynamic method call, compiling a dynamic method invocation without performing type checking on the method call; upon determining that the method call is not a dynamic method call: performing type checking on the method call, selecting a target method to invoke, and compiling a static method invocation to invoke the target method.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Alexander R. Buckley, John Rose, Joseph D. Darcy
  • Publication number: 20110179231
    Abstract: A system and method for controlling access to a shared storage device in a computing cluster having at least two nodes configured as cluster members provide fencing and quorum features without using the device controller hardware/firmware so fencing can be provided with storage devices that do not support disk reservation operations, such as with non-SCSI compliant disks. A polling thread on each node periodically reads a designated storage space on the shared storage device at a polling interval to determine if its corresponding node registration key is present, and halts the node if the key has been removed. A cluster membership agent removes a corresponding node registration key from the designated storage space of the shared storage device and publishes new membership information indicating that the corresponding node has departed the cluster only after delaying for a time period greater than the polling interval.
    Type: Application
    Filed: January 21, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Ellard Roush
  • Publication number: 20110179254
    Abstract: The described embodiments relate to a processor that speculatively executes instructions. During operation, the processor often executes instructions in a speculative-execution mode. Upon detecting an impending pipe-clearing event while executing instructions in the speculative-execution mode, the processor stalls an instruction fetch unit to prevent the instruction fetch unit from fetching instructions. In some embodiments, the processor stalls the instruction fetch unit until a condition that originally caused the processor to operate in the speculative-execution mode is resolved. In alternative embodiments, the processor maintains the stall of the instruction fetch unit until the pipe-clearing event has been completed (i.e., has been handled in the processor).
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Sherman H. Yip, Martin R. Karlsson, Shailender Chaudhry
  • Publication number: 20110179230
    Abstract: A method of read-set and write-set management distinguishes between shared and non-shared memory regions. A shared memory region, used by a transactional memory application, which may be shared by one or more concurrent transactions is identified. A non-shared memory region, used by the transactional memory application, which is not shared by the one or more concurrent transactions is identified. A subset of a read-set and a write-set that access the shared memory region is checked for conflicts with the one or more concurrent transactions at a first granularity. A subset of the read-set and the write-set that access the non-shared memory region is checked for conflicts with the one or more concurrent transactions at a second granularity. The first granularity is finer than the second granularity.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: Sun Microsystems, Inc.
    Inventor: Yuan C. Chou
  • Publication number: 20110176675
    Abstract: A method of protecting a media key including obtaining the media key, obtaining an auxiliary key, calculating a split key using the media key and the auxiliary key, encrypting the split key using a wrap key to generate an encrypted split key, assembling the encrypted split key and a communication key to obtain a data bundle, and sending the data bundle to a token, where the media key is extracted from the data bundle on the token to protect data on a storage device.
    Type: Application
    Filed: September 7, 2006
    Publication date: July 21, 2011
    Applicant: Sun Microsystems, Inc.
    Inventors: James P. Hughes, Alexander S. Stewart, Dwayne A. Edling